From b5121fab62db523ee9f5675cc1e277cf2aa5cce2 Mon Sep 17 00:00:00 2001 From: Jeroen Peeters <jeroen.peeters@evance.be> Date: Wed, 18 Oct 2017 20:52:27 +0200 Subject: [PATCH] PropTypes refactor --- package.json | 3 +- react-d3-shape.js | 23482 +++++++++++--------------- react-d3-shape.min.js | 28 +- src/chart.jsx | 5 +- src/chartpie.jsx | 5 +- src/components/area.jsx | 5 +- src/components/area_stack.jsx | 5 +- src/components/brush.jsx | 4 +- src/components/line.jsx | 5 +- src/components/multi_line_brush.jsx | 3 +- src/components/scatter.jsx | 5 +- src/utils/rectangle.jsx | 3 +- 12 files changed, 10128 insertions(+), 13425 deletions(-) diff --git a/package.json b/package.json index e9efa84..abe356f 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,8 @@ }, "peerDependencies": { "react": "^0.14.7", - "react-dom": "^0.14.7" + "react-dom": "^0.14.7", + "prop-types": "^15.6.0" }, "dependencies": { "d3": "^3.5.6", diff --git a/react-d3-shape.js b/react-d3-shape.js index 8d939e0..065471f 100644 --- a/react-d3-shape.js +++ b/react-d3-shape.js @@ -43,7 +43,7 @@ var ReactD3Shape = /************************************************************************/ /******/ ([ /* 0 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -69,7 +69,7 @@ var ReactD3Shape = } }); - var _chartpie = __webpack_require__(56); + var _chartpie = __webpack_require__(58); Object.defineProperty(exports, 'ChartPie', { enumerable: true, @@ -78,7 +78,7 @@ var ReactD3Shape = } }); - var _brush = __webpack_require__(57); + var _brush = __webpack_require__(59); Object.defineProperty(exports, 'Brush', { enumerable: true, @@ -87,7 +87,7 @@ var ReactD3Shape = } }); - var _blank_chart = __webpack_require__(59); + var _blank_chart = __webpack_require__(61); Object.defineProperty(exports, 'BlankChart', { enumerable: true, @@ -96,7 +96,7 @@ var ReactD3Shape = } }); - var _line = __webpack_require__(61); + var _line = __webpack_require__(63); Object.defineProperty(exports, 'Line', { enumerable: true, @@ -105,7 +105,7 @@ var ReactD3Shape = } }); - var _area = __webpack_require__(64); + var _area = __webpack_require__(66); Object.defineProperty(exports, 'Area', { enumerable: true, @@ -114,7 +114,7 @@ var ReactD3Shape = } }); - var _area_stack = __webpack_require__(65); + var _area_stack = __webpack_require__(67); Object.defineProperty(exports, 'AreaStack', { enumerable: true, @@ -123,7 +123,7 @@ var ReactD3Shape = } }); - var _bar = __webpack_require__(66); + var _bar = __webpack_require__(68); Object.defineProperty(exports, 'Bar', { enumerable: true, @@ -132,7 +132,7 @@ var ReactD3Shape = } }); - var _bar_horizontal = __webpack_require__(67); + var _bar_horizontal = __webpack_require__(69); Object.defineProperty(exports, 'BarHorizontal', { enumerable: true, @@ -141,7 +141,7 @@ var ReactD3Shape = } }); - var _bar_group = __webpack_require__(68); + var _bar_group = __webpack_require__(70); Object.defineProperty(exports, 'BarGroup', { enumerable: true, @@ -150,7 +150,7 @@ var ReactD3Shape = } }); - var _bar_group_horizontal = __webpack_require__(69); + var _bar_group_horizontal = __webpack_require__(71); Object.defineProperty(exports, 'BarGroupHorizontal', { enumerable: true, @@ -159,7 +159,7 @@ var ReactD3Shape = } }); - var _bar_stack = __webpack_require__(70); + var _bar_stack = __webpack_require__(72); Object.defineProperty(exports, 'BarStack', { enumerable: true, @@ -168,7 +168,7 @@ var ReactD3Shape = } }); - var _bar_stack_horizontal = __webpack_require__(71); + var _bar_stack_horizontal = __webpack_require__(73); Object.defineProperty(exports, 'BarStackHorizontal', { enumerable: true, @@ -177,7 +177,7 @@ var ReactD3Shape = } }); - var _pie = __webpack_require__(72); + var _pie = __webpack_require__(74); Object.defineProperty(exports, 'Pie', { enumerable: true, @@ -186,7 +186,7 @@ var ReactD3Shape = } }); - var _scatter = __webpack_require__(73); + var _scatter = __webpack_require__(75); Object.defineProperty(exports, 'Scatter', { enumerable: true, @@ -195,7 +195,7 @@ var ReactD3Shape = } }); - var _multi_line_brush = __webpack_require__(74); + var _multi_line_brush = __webpack_require__(76); Object.defineProperty(exports, 'MultiLineBrushChart', { enumerable: true, @@ -208,9 +208,9 @@ var ReactD3Shape = return obj && obj.__esModule ? obj : { default: obj }; } -/***/ }, +/***/ }), /* 1 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -228,11 +228,11 @@ var ReactD3Shape = } function series(props, horizontal) { - var data = props.data; - var chartSeries = props.chartSeries; - var x = props.x; - var y = props.y; - var categoricalColors = props.categoricalColors; + var data = props.data, + chartSeries = props.chartSeries, + x = props.x, + y = props.y, + categoricalColors = props.categoricalColors; categoricalColors = categoricalColors || _d2.default.scale.category10(); @@ -275,19 +275,19 @@ var ReactD3Shape = return chartSeriesData; } -/***/ }, +/***/ }), /* 2 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { module.exports = d3; -/***/ }, +/***/ }), /* 3 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -317,12 +317,28 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _reactD3Core = __webpack_require__(5); + var _propTypes = __webpack_require__(5); - var _commonProps = __webpack_require__(47); + var PropTypes = _interopRequireWildcard(_propTypes); + + var _reactD3Core = __webpack_require__(15); + + var _commonProps = __webpack_require__(57); var _commonProps2 = _interopRequireDefault(_commonProps); + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {};if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + } + }newObj.default = obj;return newObj; + } + } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -351,39 +367,39 @@ var ReactD3Shape = function ChartSvg(props) { _classCallCheck(this, ChartSvg); - return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartSvg).call(this, props)); + return _possibleConstructorReturn(this, (ChartSvg.__proto__ || Object.getPrototypeOf(ChartSvg)).call(this, props)); } _createClass(ChartSvg, [{ key: 'render', value: function render() { - var _props = this.props; - var horizontal = _props.horizontal; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var xScale = _props.xScale; - var yScale = _props.yScale; - var xRange = _props.xRange; - var yRange = _props.yRange; - var xDomain = _props.xDomain; - var yDomain = _props.yDomain; - var xTicks = _props.xTicks; - var yTicks = _props.yTicks; - var xTickFormat = _props.xTickFormat; - var yTickFormat = _props.yTickFormat; - var xBandPaddingInner = _props.xBandPaddingInner; - var xBandPaddingOuter = _props.xBandPaddingOuter; - var yBandPaddingInner = _props.yBandPaddingInner; - var yBandPaddingOuter = _props.yBandPaddingOuter; - var xLabel = _props.xLabel; - var yLabel = _props.yLabel; - var stack = _props.stack; - var data = _props.data; - var svgClassName = _props.svgClassName; - var id = _props.id; - var x = _props.x; - var y = _props.y; + var _props = this.props, + horizontal = _props.horizontal, + height = _props.height, + width = _props.width, + margins = _props.margins, + xScale = _props.xScale, + yScale = _props.yScale, + xRange = _props.xRange, + yRange = _props.yRange, + xDomain = _props.xDomain, + yDomain = _props.yDomain, + xTicks = _props.xTicks, + yTicks = _props.yTicks, + xTickFormat = _props.xTickFormat, + yTickFormat = _props.yTickFormat, + xBandPaddingInner = _props.xBandPaddingInner, + xBandPaddingOuter = _props.xBandPaddingOuter, + yBandPaddingInner = _props.yBandPaddingInner, + yBandPaddingOuter = _props.yBandPaddingOuter, + xLabel = _props.xLabel, + yLabel = _props.yLabel, + stack = _props.stack, + data = _props.data, + svgClassName = _props.svgClassName, + id = _props.id, + x = _props.x, + y = _props.y; var xRange = xRange || [0, width - margins.left - margins.right]; var yRange = yRange || [height - margins.top - margins.bottom, 0]; @@ -468,14937 +484,11491 @@ var ReactD3Shape = svgClassName: 'react-d3-core__container_svg' }, _commonProps2.default); ChartSvg.propTypes = { - id: _react.PropTypes.string, - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - svgClassName: _react.PropTypes.string.isRequired + id: PropTypes.string, + width: PropTypes.number.isRequired, + height: PropTypes.number.isRequired, + margins: PropTypes.object.isRequired, + svgClassName: PropTypes.string.isRequired }; exports.default = ChartSvg; -/***/ }, +/***/ }), /* 4 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { module.exports = React; -/***/ }, +/***/ }), /* 5 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { - 'use strict'; + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ - Object.defineProperty(exports, "__esModule", { - value: true - }); + if (process.env.NODE_ENV !== 'production') { + var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' && + Symbol.for && + Symbol.for('react.element')) || + 0xeac7; - var _svg = __webpack_require__(6); + var isValidElement = function(object) { + return typeof object === 'object' && + object !== null && + object.$$typeof === REACT_ELEMENT_TYPE; + }; - Object.defineProperty(exports, 'Svg', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_svg).default; - } - }); + // By explicitly using `prop-types` you are opting into new development behavior. + // http://fb.me/prop-types-in-prod + var throwOnDirectAccess = true; + module.exports = __webpack_require__(7)(isValidElement, throwOnDirectAccess); + } else { + // By explicitly using `prop-types` you are opting into new production behavior. + // http://fb.me/prop-types-in-prod + module.exports = __webpack_require__(14)(); + } - var _title = __webpack_require__(17); + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6))) - Object.defineProperty(exports, 'Title', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_title).default; - } - }); +/***/ }), +/* 6 */ +/***/ (function(module, exports) { - var _chartContainer = __webpack_require__(18); + // shim for using process in browser + var process = module.exports = {}; - Object.defineProperty(exports, 'Chart', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_chartContainer).default; - } - }); + // cached from whatever global is present so that test runners that stub it + // don't break things. But we need to wrap it in a try catch in case it is + // wrapped in strict mode code which doesn't define any globals. It's inside a + // function because try/catches deoptimize in certain engines. - var _axis = __webpack_require__(37); + var cachedSetTimeout; + var cachedClearTimeout; - Object.defineProperty(exports, 'Axis', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_axis).default; - } - }); + function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); + } + function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); + } + (function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } + } ()) + function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } - var _xaxis = __webpack_require__(39); - Object.defineProperty(exports, 'Xaxis', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_xaxis).default; - } - }); + } + function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } - var _yaxis = __webpack_require__(41); - Object.defineProperty(exports, 'Yaxis', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_yaxis).default; - } - }); - var _label = __webpack_require__(40); + } + var queue = []; + var draining = false; + var currentQueue; + var queueIndex = -1; + + function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } + } - Object.defineProperty(exports, 'Label', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_label).default; - } - }); + function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; - var _legend = __webpack_require__(19); + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); + } - Object.defineProperty(exports, 'Legend', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_legend).default; - } - }); + process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } + }; - var _grid = __webpack_require__(42); + // v8 likes predictible objects + function Item(fun, array) { + this.fun = fun; + this.array = array; + } + Item.prototype.run = function () { + this.fun.apply(null, this.array); + }; + process.title = 'browser'; + process.browser = true; + process.env = {}; + process.argv = []; + process.version = ''; // empty string to avoid regexp issues + process.versions = {}; + + function noop() {} + + process.on = noop; + process.addListener = noop; + process.once = noop; + process.off = noop; + process.removeListener = noop; + process.removeAllListeners = noop; + process.emit = noop; + process.prependListener = noop; + process.prependOnceListener = noop; + + process.listeners = function (name) { return [] } + + process.binding = function (name) { + throw new Error('process.binding is not supported'); + }; - Object.defineProperty(exports, 'Grid', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_grid).default; - } - }); + process.cwd = function () { return '/' }; + process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); + }; + process.umask = function() { return 0; }; - var _xgrid = __webpack_require__(43); - Object.defineProperty(exports, 'Xgrid', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_xgrid).default; - } - }); +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ - var _ygrid = __webpack_require__(44); + 'use strict'; - Object.defineProperty(exports, 'Ygrid', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_ygrid).default; + var emptyFunction = __webpack_require__(8); + var invariant = __webpack_require__(9); + var warning = __webpack_require__(10); + var assign = __webpack_require__(11); + + var ReactPropTypesSecret = __webpack_require__(12); + var checkPropTypes = __webpack_require__(13); + + module.exports = function(isValidElement, throwOnDirectAccess) { + /* global Symbol */ + var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. + + /** + * Returns the iterator method function contained on the iterable object. + * + * Be sure to invoke the function with the iterable as context: + * + * var iteratorFn = getIteratorFn(myIterable); + * if (iteratorFn) { + * var iterator = iteratorFn.call(myIterable); + * ... + * } + * + * @param {?object} maybeIterable + * @return {?function} + */ + function getIteratorFn(maybeIterable) { + var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); + if (typeof iteratorFn === 'function') { + return iteratorFn; + } + } + + /** + * Collection of methods that allow declaration and validation of props that are + * supplied to React components. Example usage: + * + * var Props = require('ReactPropTypes'); + * var MyArticle = React.createClass({ + * propTypes: { + * // An optional string prop named "description". + * description: Props.string, + * + * // A required enum prop named "category". + * category: Props.oneOf(['News','Photos']).isRequired, + * + * // A prop named "dialog" that requires an instance of Dialog. + * dialog: Props.instanceOf(Dialog).isRequired + * }, + * render: function() { ... } + * }); + * + * A more formal specification of how these methods are used: + * + * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) + * decl := ReactPropTypes.{type}(.isRequired)? + * + * Each and every declaration produces a function with the same signature. This + * allows the creation of custom validation functions. For example: + * + * var MyLink = React.createClass({ + * propTypes: { + * // An optional string or URI prop named "href". + * href: function(props, propName, componentName) { + * var propValue = props[propName]; + * if (propValue != null && typeof propValue !== 'string' && + * !(propValue instanceof URI)) { + * return new Error( + * 'Expected a string or an URI for ' + propName + ' in ' + + * componentName + * ); + * } + * } + * }, + * render: function() {...} + * }); + * + * @internal + */ + + var ANONYMOUS = '<<anonymous>>'; + + // Important! + // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. + var ReactPropTypes = { + array: createPrimitiveTypeChecker('array'), + bool: createPrimitiveTypeChecker('boolean'), + func: createPrimitiveTypeChecker('function'), + number: createPrimitiveTypeChecker('number'), + object: createPrimitiveTypeChecker('object'), + string: createPrimitiveTypeChecker('string'), + symbol: createPrimitiveTypeChecker('symbol'), + + any: createAnyTypeChecker(), + arrayOf: createArrayOfTypeChecker, + element: createElementTypeChecker(), + instanceOf: createInstanceTypeChecker, + node: createNodeChecker(), + objectOf: createObjectOfTypeChecker, + oneOf: createEnumTypeChecker, + oneOfType: createUnionTypeChecker, + shape: createShapeTypeChecker, + exact: createStrictShapeTypeChecker, + }; + + /** + * inlined Object.is polyfill to avoid requiring consumers ship their own + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is + */ + /*eslint-disable no-self-compare*/ + function is(x, y) { + // SameValue algorithm + if (x === y) { + // Steps 1-5, 7-10 + // Steps 6.b-6.e: +0 != -0 + return x !== 0 || 1 / x === 1 / y; + } else { + // Step 6.a: NaN == NaN + return x !== x && y !== y; + } } - }); + /*eslint-enable no-self-compare*/ + + /** + * We use an Error-like object for backward compatibility as people may call + * PropTypes directly and inspect their output. However, we don't use real + * Errors anymore. We don't inspect their stack anyway, and creating them + * is prohibitively expensive if they are created too often, such as what + * happens in oneOfType() for any type before the one that matched. + */ + function PropTypeError(message) { + this.message = message; + this.stack = ''; + } + // Make `instanceof Error` still work for returned errors. + PropTypeError.prototype = Error.prototype; + + function createChainableTypeChecker(validate) { + if (process.env.NODE_ENV !== 'production') { + var manualPropTypeCallCache = {}; + var manualPropTypeWarningCount = 0; + } + function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { + componentName = componentName || ANONYMOUS; + propFullName = propFullName || propName; + + if (secret !== ReactPropTypesSecret) { + if (throwOnDirectAccess) { + // New behavior only for users of `prop-types` package + invariant( + false, + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use `PropTypes.checkPropTypes()` to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); + } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') { + // Old behavior for people using React.PropTypes + var cacheKey = componentName + ':' + propName; + if ( + !manualPropTypeCallCache[cacheKey] && + // Avoid spamming the console because they are often not actionable except for lib authors + manualPropTypeWarningCount < 3 + ) { + warning( + false, + 'You are manually calling a React.PropTypes validation ' + + 'function for the `%s` prop on `%s`. This is deprecated ' + + 'and will throw in the standalone `prop-types` package. ' + + 'You may be seeing this warning due to a third-party PropTypes ' + + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.', + propFullName, + componentName + ); + manualPropTypeCallCache[cacheKey] = true; + manualPropTypeWarningCount++; + } + } + } + if (props[propName] == null) { + if (isRequired) { + if (props[propName] === null) { + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); + } + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); + } + return null; + } else { + return validate(props, propName, componentName, location, propFullName); + } + } - var _scale = __webpack_require__(8); + var chainedCheckType = checkType.bind(null, false); + chainedCheckType.isRequired = checkType.bind(null, true); - Object.defineProperty(exports, 'scale', { - enumerable: true, - get: function get() { - return _scale.scale; + return chainedCheckType; } - }); - var _xDomain = __webpack_require__(45); + function createPrimitiveTypeChecker(expectedType) { + function validate(props, propName, componentName, location, propFullName, secret) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== expectedType) { + // `propValue` being instance of, say, date/regexp, pass the 'object' + // check, but we can offer a more precise error message here rather than + // 'of type `object`'. + var preciseType = getPreciseType(propValue); - Object.defineProperty(exports, 'xDomainCount', { - enumerable: true, - get: function get() { - return _xDomain.xDomain; + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); + } + return null; + } + return createChainableTypeChecker(validate); } - }); - var _yDomain = __webpack_require__(46); + function createAnyTypeChecker() { + return createChainableTypeChecker(emptyFunction.thatReturnsNull); + } - Object.defineProperty(exports, 'yDomainCount', { - enumerable: true, - get: function get() { - return _yDomain.yDomain; + function createArrayOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); + } + var propValue = props[propName]; + if (!Array.isArray(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); + } + for (var i = 0; i < propValue.length; i++) { + var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); + if (error instanceof Error) { + return error; + } + } + return null; + } + return createChainableTypeChecker(validate); } - }); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } + function createElementTypeChecker() { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + if (!isValidElement(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); + } + return null; + } + return createChainableTypeChecker(validate); + } -/***/ }, -/* 6 */ -/***/ function(module, exports, __webpack_require__) { + function createInstanceTypeChecker(expectedClass) { + function validate(props, propName, componentName, location, propFullName) { + if (!(props[propName] instanceof expectedClass)) { + var expectedClassName = expectedClass.name || ANONYMOUS; + var actualClassName = getClassName(props[propName]); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); + } + return null; + } + return createChainableTypeChecker(validate); + } - "use strict"; + function createEnumTypeChecker(expectedValues) { + if (!Array.isArray(expectedValues)) { + process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0; + return emptyFunction.thatReturnsNull; + } - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + for (var i = 0; i < expectedValues.length; i++) { + if (is(propValue, expectedValues[i])) { + return null; + } + } - Object.defineProperty(exports, "__esModule", { - value: true - }); + var valuesString = JSON.stringify(expectedValues); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); + } + return createChainableTypeChecker(validate); + } - var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i];for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; + function createObjectOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); + } + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); + } + for (var key in propValue) { + if (propValue.hasOwnProperty(key)) { + var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error instanceof Error) { + return error; + } + } } + return null; } - }return target; - }; + return createChainableTypeChecker(validate); + } - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor); + function createUnionTypeChecker(arrayOfTypeCheckers) { + if (!Array.isArray(arrayOfTypeCheckers)) { + process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0; + return emptyFunction.thatReturnsNull; } - }return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor; - }; - }(); - var _react = __webpack_require__(4); + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (typeof checker !== 'function') { + warning( + false, + 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + + 'received %s at index %s.', + getPostfixForTypeWarning(checker), + i + ); + return emptyFunction.thatReturnsNull; + } + } - var _react2 = _interopRequireDefault(_react); + function validate(props, propName, componentName, location, propFullName) { + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) { + return null; + } + } - var _commonProps = __webpack_require__(7); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); + } + return createChainableTypeChecker(validate); + } - var _commonProps2 = _interopRequireDefault(_commonProps); + function createNodeChecker() { + function validate(props, propName, componentName, location, propFullName) { + if (!isNode(props[propName])) { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); + } + return null; + } + return createChainableTypeChecker(validate); + } - var _scale = __webpack_require__(8); + function createShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + for (var key in shapeTypes) { + var checker = shapeTypes[key]; + if (!checker) { + continue; + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error) { + return error; + } + } + return null; + } + return createChainableTypeChecker(validate); + } - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } + function createStrictShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + // We need to check all keys in case some are required but missing from + // props. + var allKeys = assign({}, props[propName], shapeTypes); + for (var key in allKeys) { + var checker = shapeTypes[key]; + if (!checker) { + return new PropTypeError( + 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') + ); + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error) { + return error; + } + } + return null; + } - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); + return createChainableTypeChecker(validate); } - } - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; - } + function isNode(propValue) { + switch (typeof propValue) { + case 'number': + case 'string': + case 'undefined': + return true; + case 'boolean': + return !propValue; + case 'object': + if (Array.isArray(propValue)) { + return propValue.every(isNode); + } + if (propValue === null || isValidElement(propValue)) { + return true; + } - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } + var iteratorFn = getIteratorFn(propValue); + if (iteratorFn) { + var iterator = iteratorFn.call(propValue); + var step; + if (iteratorFn !== propValue.entries) { + while (!(step = iterator.next()).done) { + if (!isNode(step.value)) { + return false; + } + } + } else { + // Iterator will provide entry [k,v] tuples rather than values. + while (!(step = iterator.next()).done) { + var entry = step.value; + if (entry) { + if (!isNode(entry[1])) { + return false; + } + } + } + } + } else { + return false; + } - var ChartSvg = function (_Component) { - _inherits(ChartSvg, _Component); + return true; + default: + return false; + } + } - function ChartSvg(props) { - _classCallCheck(this, ChartSvg); + function isSymbol(propType, propValue) { + // Native Symbol. + if (propType === 'symbol') { + return true; + } - return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartSvg).call(this, props)); + // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' + if (propValue['@@toStringTag'] === 'Symbol') { + return true; + } + + // Fallback for non-spec compliant Symbols which are polyfilled. + if (typeof Symbol === 'function' && propValue instanceof Symbol) { + return true; + } + + return false; } - _createClass(ChartSvg, [{ - key: 'render', - value: function render() { - var _props = this.props; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var svgClassName = _props.svgClassName; - var id = _props.id; - var children = _props.children; + // Equivalent of `typeof` but with special handling for array and regexp. + function getPropType(propValue) { + var propType = typeof propValue; + if (Array.isArray(propValue)) { + return 'array'; + } + if (propValue instanceof RegExp) { + // Old webkits (at least until Android 4.0) return 'function' rather than + // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ + // passes PropTypes.object. + return 'object'; + } + if (isSymbol(propType, propValue)) { + return 'symbol'; + } + return propType; + } - var t = 'translate(' + margins.left + ', ' + margins.top + ')'; + // This handles more types than `getPropType`. Only used for error messages. + // See `createPrimitiveTypeChecker`. + function getPreciseType(propValue) { + if (typeof propValue === 'undefined' || propValue === null) { + return '' + propValue; + } + var propType = getPropType(propValue); + if (propType === 'object') { + if (propValue instanceof Date) { + return 'date'; + } else if (propValue instanceof RegExp) { + return 'regexp'; + } + } + return propType; + } - return _react2.default.createElement('svg', { - height: height, - width: width, - className: svgClassName, - id: id, - ref: 'svgContainer' - }, _react2.default.createElement('g', { - transform: t - }, children)); + // Returns a string that is postfixed to a warning about an invalid type. + // For example, "undefined" or "of type array" + function getPostfixForTypeWarning(value) { + var type = getPreciseType(value); + switch (type) { + case 'array': + case 'object': + return 'an ' + type; + case 'boolean': + case 'date': + case 'regexp': + return 'a ' + type; + default: + return type; } - }]); + } - return ChartSvg; - }(_react.Component); + // Returns class name of the object, if any. + function getClassName(propValue) { + if (!propValue.constructor || !propValue.constructor.name) { + return ANONYMOUS; + } + return propValue.constructor.name; + } - ChartSvg.defaultProps = _extends({ - svgClassName: 'react-d3-core__container_svg', - onZoom: function onZoom() {}, - scaleExtent: [1, 10] - }, _commonProps2.default); - ChartSvg.propTypes = { - id: _react.PropTypes.string, - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - svgClassName: _react.PropTypes.string.isRequired + ReactPropTypes.checkPropTypes = checkPropTypes; + ReactPropTypes.PropTypes = ReactPropTypes; + + return ReactPropTypes; }; - exports.default = ChartSvg; -/***/ }, -/* 7 */ -/***/ function(module, exports) { + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6))) + +/***/ }), +/* 8 */ +/***/ (function(module, exports) { "use strict"; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.default = { - width: 960, - height: 500, - margins: { top: 80, right: 100, bottom: 80, left: 100 } + /** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + + function makeEmptyFunction(arg) { + return function () { + return arg; + }; + } + + /** + * This function accepts and discards inputs; it has no side effects. This is + * primarily useful idiomatically for overridable function endpoints which + * always need to be callable, since JS lacks a null-call idiom ala Cocoa. + */ + var emptyFunction = function emptyFunction() {}; + + emptyFunction.thatReturns = makeEmptyFunction; + emptyFunction.thatReturnsFalse = makeEmptyFunction(false); + emptyFunction.thatReturnsTrue = makeEmptyFunction(true); + emptyFunction.thatReturnsNull = makeEmptyFunction(null); + emptyFunction.thatReturnsThis = function () { + return this; + }; + emptyFunction.thatReturnsArgument = function (arg) { + return arg; }; -/***/ }, -/* 8 */ -/***/ function(module, exports, __webpack_require__) { + module.exports = emptyFunction; + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ 'use strict'; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.scale = scale; + /** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ - var _d3Scale = __webpack_require__(9); + var validateFormat = function validateFormat(format) {}; - var _d3Scale2 = _interopRequireDefault(_d3Scale); + if (process.env.NODE_ENV !== 'production') { + validateFormat = function validateFormat(format) { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + }; + } - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; + function invariant(condition, format, a, b, c, d, e, f) { + validateFormat(format); + + if (!condition) { + var error; + if (format === undefined) { + error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error(format.replace(/%s/g, function () { + return args[argIndex++]; + })); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } } - function scale(props) { - var type = props.type; - var scale = props.scale; + module.exports = invariant; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6))) - var func; +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { - if (scale === 'linear') func = _d3Scale2.default.scaleLinear();else if (scale === 'identity') func = _d3Scale2.default.scaleIdentity();else if (scale === 'sqrt') func = _d3Scale2.default.scaleSqrt();else if (scale === 'pow') func = _d3Scale2.default.scalePow();else if (scale === 'log') func = _d3Scale2.default.scaleLog();else if (scale === 'quantize') func = _d3Scale2.default.scaleQuantize();else if (scale === 'quantile') func = _d3Scale2.default.scaleQuantile();else if (scale === 'ordinal') func = _d3Scale2.default.scaleOrdinal();else if (scale === 'band') func = _d3Scale2.default.scaleBand();else if (scale === 'time') func = _d3Scale2.default.scaleTime();else new Error('Please check your axis scale setting. "' + scale + '" scale is invalid. '); + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ - func = _mkScaleSettings(props, func); + 'use strict'; - return func; - } + var emptyFunction = __webpack_require__(8); - function _mkScaleSettings(props, func) { - var type = props.type; - var range = props.range; - var domain = props.domain; - var scale = props.scale; - var bandPaddingInner = props.bandPaddingInner; - var bandPaddingOuter = props.bandPaddingOuter; + /** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ - if (range) func.range(range); + var warning = emptyFunction; - if (domain) func.domain(domain); + if (process.env.NODE_ENV !== 'production') { + var printWarning = function printWarning(format) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } - if (scale === 'band') { + var argIndex = 0; + var message = 'Warning: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + }; - func.round(true); + warning = function warning(condition, format) { + if (format === undefined) { + throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); + } - if (bandPaddingInner) func.paddingInner(bandPaddingInner);else func.paddingInner(.1); + if (format.indexOf('Failed Composite propType: ') === 0) { + return; // Ignore CompositeComponent proptype check. + } - if (bandPaddingOuter) func.paddingOuter(bandPaddingOuter);else func.paddingOuter(.1); - } + if (!condition) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } - return func; + printWarning.apply(undefined, [format].concat(args)); + } + }; } -/***/ }, -/* 9 */ -/***/ function(module, exports, __webpack_require__) { + module.exports = warning; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6))) - (function (global, factory) { - true ? factory(exports, __webpack_require__(10), __webpack_require__(11), __webpack_require__(12), __webpack_require__(14), __webpack_require__(15), __webpack_require__(16), __webpack_require__(13)) : - typeof define === 'function' && define.amd ? define(['exports', 'd3-array', 'd3-collection', 'd3-interpolate', 'd3-format', 'd3-time', 'd3-time-format', 'd3-color'], factory) : - (factory((global.d3_scale = global.d3_scale || {}),global.d3_array,global.d3_collection,global.d3_interpolate,global.d3_format,global.d3_time,global.d3_time_format,global.d3_color)); - }(this, function (exports,d3Array,d3Collection,d3Interpolate,d3Format,d3Time,d3TimeFormat,d3Color) { 'use strict'; +/***/ }), +/* 11 */ +/***/ (function(module, exports) { - var array = Array.prototype; + /* + object-assign + (c) Sindre Sorhus + @license MIT + */ - var map$1 = array.map; - var slice = array.slice; + 'use strict'; + /* eslint-disable no-unused-vars */ + var getOwnPropertySymbols = Object.getOwnPropertySymbols; + var hasOwnProperty = Object.prototype.hasOwnProperty; + var propIsEnumerable = Object.prototype.propertyIsEnumerable; + + function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } - var implicit = {name: "implicit"}; + return Object(val); + } - function ordinal() { - var index = d3Collection.map(), - domain = [], - range = [], - unknown = implicit; + function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } - function scale(d) { - var key = d + "", i = index.get(key); - if (!i) { - if (unknown !== implicit) return unknown; - index.set(key, i = domain.push(d)); - } - return range[(i - 1) % range.length]; - } + // Detect buggy property enumeration order in older V8 versions. - scale.domain = function(_) { - if (!arguments.length) return domain.slice(); - domain = [], index = d3Collection.map(); - var i = -1, n = _.length, d, key; - while (++i < n) if (!index.has(key = (d = _[i]) + "")) index.set(key, domain.push(d)); - return scale; - }; + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line no-new-wrappers + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } - scale.range = function(_) { - return arguments.length ? (range = slice.call(_), scale) : range.slice(); - }; + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } - scale.unknown = function(_) { - return arguments.length ? (unknown = _, scale) : unknown; - }; + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } - scale.copy = function() { - return ordinal() - .domain(domain) - .range(range) - .unknown(unknown); - }; + return true; + } catch (err) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } + } - return scale; - } - - function band() { - var scale = ordinal().unknown(undefined), - domain = scale.domain, - ordinalRange = scale.range, - range = [0, 1], - step, - bandwidth, - round = false, - paddingInner = 0, - paddingOuter = 0, - align = 0.5; + module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; - delete scale.unknown; + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); - function rescale() { - var n = domain().length, - reverse = range[1] < range[0], - start = range[reverse - 0], - stop = range[1 - reverse]; - step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2); - if (round) step = Math.floor(step); - start += (stop - start - step * (n - paddingInner)) * align; - bandwidth = step * (1 - paddingInner); - if (round) start = Math.round(start), bandwidth = Math.round(bandwidth); - var values = d3Array.range(n).map(function(i) { return start + step * i; }); - return ordinalRange(reverse ? values.reverse() : values); - } + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } - scale.domain = function(_) { - return arguments.length ? (domain(_), rescale()) : domain(); - }; + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } - scale.range = function(_) { - return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice(); - }; + return to; + }; - scale.rangeRound = function(_) { - return range = [+_[0], +_[1]], round = true, rescale(); - }; - scale.bandwidth = function() { - return bandwidth; - }; +/***/ }), +/* 12 */ +/***/ (function(module, exports) { - scale.step = function() { - return step; - }; + /** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ - scale.round = function(_) { - return arguments.length ? (round = !!_, rescale()) : round; - }; + 'use strict'; - scale.padding = function(_) { - return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner; - }; + var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - scale.paddingInner = function(_) { - return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner; - }; + module.exports = ReactPropTypesSecret; - scale.paddingOuter = function(_) { - return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter; - }; - scale.align = function(_) { - return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align; - }; +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { - scale.copy = function() { - return band() - .domain(domain()) - .range(range) - .round(round) - .paddingInner(paddingInner) - .paddingOuter(paddingOuter) - .align(align); - }; + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ - return rescale(); - } + 'use strict'; - function pointish(scale) { - var copy = scale.copy; + if (process.env.NODE_ENV !== 'production') { + var invariant = __webpack_require__(9); + var warning = __webpack_require__(10); + var ReactPropTypesSecret = __webpack_require__(12); + var loggedTypeFailures = {}; + } - scale.padding = scale.paddingOuter; - delete scale.paddingInner; - delete scale.paddingOuter; + /** + * Assert that the values match with the type specs. + * Error messages are memorized and will only be shown once. + * + * @param {object} typeSpecs Map of name to a ReactPropType + * @param {object} values Runtime values that need to be type-checked + * @param {string} location e.g. "prop", "context", "child context" + * @param {string} componentName Name of the component for error messages. + * @param {?Function} getStack Returns the component stack. + * @private + */ + function checkPropTypes(typeSpecs, values, location, componentName, getStack) { + if (process.env.NODE_ENV !== 'production') { + for (var typeSpecName in typeSpecs) { + if (typeSpecs.hasOwnProperty(typeSpecName)) { + var error; + // Prop type validation may throw. In case they do, we don't want to + // fail the render phase where it didn't fail before. So we log it. + // After these have been cleaned up, we'll let them throw. + try { + // This is intentionally an invariant that gets caught. It's the same + // behavior as without this statement except with a better message. + invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]); + error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); + } catch (ex) { + error = ex; + } + warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error); + if (error instanceof Error && !(error.message in loggedTypeFailures)) { + // Only monitor this failure once because there tends to be a lot of the + // same error. + loggedTypeFailures[error.message] = true; - scale.copy = function() { - return pointish(copy()); - }; + var stack = getStack ? getStack() : ''; - return scale; + warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : ''); + } + } + } } + } - function point() { - return pointish(band().paddingInner(1)); - } + module.exports = checkPropTypes; - function constant(x) { - return function() { - return x; - }; - } + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6))) - function number(x) { - return +x; - } +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { - var unit = [0, 1]; + /** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ - function deinterpolate(a, b) { - return (b -= (a = +a)) - ? function(x) { return (x - a) / b; } - : constant(b); - } + 'use strict'; - function deinterpolateClamp(deinterpolate) { - return function(a, b) { - var d = deinterpolate(a = +a, b = +b); - return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); }; - }; - } + var emptyFunction = __webpack_require__(8); + var invariant = __webpack_require__(9); + var ReactPropTypesSecret = __webpack_require__(12); - function reinterpolateClamp(reinterpolate) { - return function(a, b) { - var r = reinterpolate(a = +a, b = +b); - return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); }; - }; - } + module.exports = function() { + function shim(props, propName, componentName, location, propFullName, secret) { + if (secret === ReactPropTypesSecret) { + // It is still safe when called from React. + return; + } + invariant( + false, + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use PropTypes.checkPropTypes() to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); + }; + shim.isRequired = shim; + function getShim() { + return shim; + }; + // Important! + // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. + var ReactPropTypes = { + array: shim, + bool: shim, + func: shim, + number: shim, + object: shim, + string: shim, + symbol: shim, + + any: shim, + arrayOf: getShim, + element: shim, + instanceOf: getShim, + node: shim, + objectOf: getShim, + oneOf: getShim, + oneOfType: getShim, + shape: getShim, + exact: getShim + }; - function bimap(domain, range, deinterpolate, reinterpolate) { - var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1]; - if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0); - else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1); - return function(x) { return r0(d0(x)); }; - } + ReactPropTypes.checkPropTypes = emptyFunction; + ReactPropTypes.PropTypes = ReactPropTypes; - function polymap(domain, range, deinterpolate, reinterpolate) { - var j = Math.min(domain.length, range.length) - 1, - d = new Array(j), - r = new Array(j), - i = -1; + return ReactPropTypes; + }; - // Reverse descending domains. - if (domain[j] < domain[0]) { - domain = domain.slice().reverse(); - range = range.slice().reverse(); - } - while (++i < j) { - d[i] = deinterpolate(domain[i], domain[i + 1]); - r[i] = reinterpolate(range[i], range[i + 1]); - } +/***/ }), +/* 15 */ +/***/ (function(module, exports, __webpack_require__) { - return function(x) { - var i = d3Array.bisect(domain, x, 1, j) - 1; - return r[i](d[i](x)); - }; - } + 'use strict'; - function copy(source, target) { - return target - .domain(source.domain()) - .range(source.range()) - .interpolate(source.interpolate()) - .clamp(source.clamp()); + Object.defineProperty(exports, "__esModule", { + value: true + }); + + var _svg = __webpack_require__(16); + + Object.defineProperty(exports, 'Svg', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_svg).default; } + }); - // deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1]. - // reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b]. - function continuous(deinterpolate$$, reinterpolate) { - var domain = unit, - range = unit, - interpolate = d3Interpolate.interpolate, - clamp = false, - output, - input; + var _title = __webpack_require__(27); - function rescale() { - var map = Math.min(domain.length, range.length) > 2 ? polymap : bimap; - output = map(domain, range, clamp ? deinterpolateClamp(deinterpolate$$) : deinterpolate$$, interpolate); - input = map(range, domain, deinterpolate, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate); - return scale; - } + Object.defineProperty(exports, 'Title', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_title).default; + } + }); - function scale(x) { - return output(+x); - } + var _chartContainer = __webpack_require__(28); - scale.invert = function(y) { - return input(+y); - }; + Object.defineProperty(exports, 'Chart', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_chartContainer).default; + } + }); - scale.domain = function(_) { - return arguments.length ? (domain = map$1.call(_, number), rescale()) : domain.slice(); - }; + var _axis = __webpack_require__(47); - scale.range = function(_) { - return arguments.length ? (range = slice.call(_), rescale()) : range.slice(); - }; + Object.defineProperty(exports, 'Axis', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_axis).default; + } + }); - scale.rangeRound = function(_) { - return range = slice.call(_), interpolate = d3Interpolate.interpolateRound, rescale(); - }; + var _xaxis = __webpack_require__(49); - scale.clamp = function(_) { - return arguments.length ? (clamp = !!_, rescale()) : clamp; - }; + Object.defineProperty(exports, 'Xaxis', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_xaxis).default; + } + }); - scale.interpolate = function(_) { - return arguments.length ? (interpolate = _, rescale()) : interpolate; - }; + var _yaxis = __webpack_require__(51); - return rescale(); + Object.defineProperty(exports, 'Yaxis', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_yaxis).default; } + }); - function tickFormat(domain, count, specifier) { - var start = domain[0], - stop = domain[domain.length - 1], - step = d3Array.tickStep(start, stop, count == null ? 10 : count), - precision; - specifier = d3Format.formatSpecifier(specifier == null ? ",f" : specifier); - switch (specifier.type) { - case "s": { - var value = Math.max(Math.abs(start), Math.abs(stop)); - if (specifier.precision == null && !isNaN(precision = d3Format.precisionPrefix(step, value))) specifier.precision = precision; - return d3Format.formatPrefix(specifier, value); - } - case "": - case "e": - case "g": - case "p": - case "r": { - if (specifier.precision == null && !isNaN(precision = d3Format.precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e"); - break; - } - case "f": - case "%": { - if (specifier.precision == null && !isNaN(precision = d3Format.precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2; - break; - } - } - return d3Format.format(specifier); - } - - function linearish(scale) { - var domain = scale.domain; - - scale.ticks = function(count) { - var d = domain(); - return d3Array.ticks(d[0], d[d.length - 1], count == null ? 10 : count); - }; + var _label = __webpack_require__(50); - scale.tickFormat = function(count, specifier) { - return tickFormat(domain(), count, specifier); - }; - - scale.nice = function(count) { - var d = domain(), - i = d.length - 1, - n = count == null ? 10 : count, - start = d[0], - stop = d[i], - step = d3Array.tickStep(start, stop, n); - - if (step) { - step = d3Array.tickStep(Math.floor(start / step) * step, Math.ceil(stop / step) * step, n); - d[0] = Math.floor(start / step) * step; - d[i] = Math.ceil(stop / step) * step; - domain(d); - } - - return scale; - }; - - return scale; + Object.defineProperty(exports, 'Label', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_label).default; } + }); - function linear() { - var scale = continuous(deinterpolate, d3Interpolate.interpolateNumber); - - scale.copy = function() { - return copy(scale, linear()); - }; + var _legend = __webpack_require__(29); - return linearish(scale); + Object.defineProperty(exports, 'Legend', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_legend).default; } + }); - function identity() { - var domain = [0, 1]; + var _grid = __webpack_require__(52); - function scale(x) { - return +x; - } + Object.defineProperty(exports, 'Grid', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_grid).default; + } + }); - scale.invert = scale; + var _xgrid = __webpack_require__(53); - scale.domain = scale.range = function(_) { - return arguments.length ? (domain = map$1.call(_, number), scale) : domain.slice(); - }; + Object.defineProperty(exports, 'Xgrid', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_xgrid).default; + } + }); - scale.copy = function() { - return identity().domain(domain); - }; + var _ygrid = __webpack_require__(54); - return linearish(scale); + Object.defineProperty(exports, 'Ygrid', { + enumerable: true, + get: function get() { + return _interopRequireDefault(_ygrid).default; } + }); - function nice(domain, interval) { - domain = domain.slice(); + var _scale = __webpack_require__(18); - var i0 = 0, - i1 = domain.length - 1, - x0 = domain[i0], - x1 = domain[i1], - t; + Object.defineProperty(exports, 'scale', { + enumerable: true, + get: function get() { + return _scale.scale; + } + }); - if (x1 < x0) { - t = i0, i0 = i1, i1 = t; - t = x0, x0 = x1, x1 = t; - } + var _xDomain = __webpack_require__(55); - domain[i0] = interval.floor(x0); - domain[i1] = interval.ceil(x1); - return domain; + Object.defineProperty(exports, 'xDomainCount', { + enumerable: true, + get: function get() { + return _xDomain.xDomain; } + }); - function deinterpolate$1(a, b) { - return (b = Math.log(b / a)) - ? function(x) { return Math.log(x / a) / b; } - : constant(b); - } + var _yDomain = __webpack_require__(56); - function reinterpolate(a, b) { - return a < 0 - ? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); } - : function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); }; + Object.defineProperty(exports, 'yDomainCount', { + enumerable: true, + get: function get() { + return _yDomain.yDomain; } + }); - function pow10(x) { - return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x; - } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function powp(base) { - return base === 10 ? pow10 - : base === Math.E ? Math.exp - : function(x) { return Math.pow(base, x); }; - } +/***/ }), +/* 16 */ +/***/ (function(module, exports, __webpack_require__) { - function logp(base) { - return base === Math.E ? Math.log - : base === 10 && Math.log10 - || base === 2 && Math.log2 - || (base = Math.log(base), function(x) { return Math.log(x) / base; }); - } + "use strict"; - function reflect(f) { - return function(x) { - return -f(-x); - }; - } + Object.defineProperty(exports, "__esModule", { + value: true + }); - function log() { - var scale = continuous(deinterpolate$1, reinterpolate).domain([1, 10]), - domain = scale.domain, - base = 10, - logs = logp(10), - pows = powp(10); + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - function rescale() { - logs = logp(base), pows = powp(base); - if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows); - return scale; - } + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - scale.base = function(_) { - return arguments.length ? (base = +_, rescale()) : base; - }; + var _react = __webpack_require__(4); - scale.domain = function(_) { - return arguments.length ? (domain(_), rescale()) : domain(); - }; + var _react2 = _interopRequireDefault(_react); - scale.ticks = function(count) { - var d = domain(), - u = d[0], - v = d[d.length - 1], - r; + var _commonProps = __webpack_require__(17); - if (r = v < u) i = u, u = v, v = i; + var _commonProps2 = _interopRequireDefault(_commonProps); - var i = logs(u), - j = logs(v), - p, - k, - t, - n = count == null ? 10 : +count, - z = []; + var _scale = __webpack_require__(18); - if (!(base % 1) && j - i < n) { - i = Math.round(i) - 1, j = Math.round(j) + 1; - if (u > 0) for (; i < j; ++i) { - for (k = 1, p = pows(i); k < base; ++k) { - t = p * k; - if (t < u) continue; - if (t > v) break; - z.push(t); - } - } else for (; i < j; ++i) { - for (k = base - 1, p = pows(i); k >= 1; --k) { - t = p * k; - if (t < u) continue; - if (t > v) break; - z.push(t); - } - } - if (r) z.reverse(); - } else { - z = d3Array.ticks(i, j, Math.min(j - i, n)).map(pows); - } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - return z; - }; + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - scale.tickFormat = function(count, specifier) { - if (specifier == null) specifier = base === 10 ? ".0e" : ","; - if (typeof specifier !== "function") specifier = d3Format.format(specifier); - if (count === Infinity) return specifier; - if (count == null) count = 10; - var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate? - return function(d) { - var i = d / pows(Math.round(logs(d))); - if (i * base < base - 0.5) i *= base; - return i <= k ? specifier(d) : ""; - }; - }; + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - scale.nice = function() { - return domain(nice(domain(), { - floor: function(x) { return pows(Math.floor(logs(x))); }, - ceil: function(x) { return pows(Math.ceil(logs(x))); } - })); - }; + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - scale.copy = function() { - return copy(scale, log().base(base)); - }; + var ChartSvg = function (_Component) { + _inherits(ChartSvg, _Component); - return scale; - } + function ChartSvg(props) { + _classCallCheck(this, ChartSvg); - function raise(x, exponent) { - return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent); + return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartSvg).call(this, props)); } - function pow() { - var exponent = 1, - scale = continuous(deinterpolate, reinterpolate), - domain = scale.domain; - - function deinterpolate(a, b) { - return (b = raise(b, exponent) - (a = raise(a, exponent))) - ? function(x) { return (raise(x, exponent) - a) / b; } - : constant(b); - } + _createClass(ChartSvg, [{ + key: 'render', + value: function render() { + var _props = this.props; + var height = _props.height; + var width = _props.width; + var margins = _props.margins; + var svgClassName = _props.svgClassName; + var id = _props.id; + var children = _props.children; - function reinterpolate(a, b) { - b = raise(b, exponent) - (a = raise(a, exponent)); - return function(t) { return raise(a + b * t, 1 / exponent); }; + + var t = 'translate(' + margins.left + ', ' + margins.top + ')'; + + return _react2.default.createElement( + 'svg', + { + height: height, + width: width, + className: svgClassName, + id: id, + ref: 'svgContainer' + }, + _react2.default.createElement( + 'g', + { + transform: t + }, + children + ) + ); } + }]); - scale.exponent = function(_) { - return arguments.length ? (exponent = +_, domain(domain())) : exponent; - }; + return ChartSvg; + }(_react.Component); - scale.copy = function() { - return copy(scale, pow().exponent(exponent)); - }; + ChartSvg.defaultProps = _extends({ + svgClassName: 'react-d3-core__container_svg', + onZoom: function onZoom() {}, + scaleExtent: [1, 10] + }, _commonProps2.default); + ChartSvg.propTypes = { + id: _react.PropTypes.string, + width: _react.PropTypes.number.isRequired, + height: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + svgClassName: _react.PropTypes.string.isRequired + }; + exports.default = ChartSvg; - return linearish(scale); - } +/***/ }), +/* 17 */ +/***/ (function(module, exports) { - function sqrt() { - return pow().exponent(0.5); + "use strict"; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = { + width: 960, + height: 500, + margins: { top: 80, right: 100, bottom: 80, left: 100 } + }; + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.scale = scale; + + var _d3Scale = __webpack_require__(19); + + var _d3Scale2 = _interopRequireDefault(_d3Scale); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function scale(props) { + var type = props.type; + var scale = props.scale; + + + var func; + + if (scale === 'linear') func = _d3Scale2.default.scaleLinear();else if (scale === 'identity') func = _d3Scale2.default.scaleIdentity();else if (scale === 'sqrt') func = _d3Scale2.default.scaleSqrt();else if (scale === 'pow') func = _d3Scale2.default.scalePow();else if (scale === 'log') func = _d3Scale2.default.scaleLog();else if (scale === 'quantize') func = _d3Scale2.default.scaleQuantize();else if (scale === 'quantile') func = _d3Scale2.default.scaleQuantile();else if (scale === 'ordinal') func = _d3Scale2.default.scaleOrdinal();else if (scale === 'band') func = _d3Scale2.default.scaleBand();else if (scale === 'time') func = _d3Scale2.default.scaleTime();else new Error('Please check your axis scale setting. "' + scale + '" scale is invalid. '); + + func = _mkScaleSettings(props, func); + + return func; + } + + function _mkScaleSettings(props, func) { + var type = props.type; + var range = props.range; + var domain = props.domain; + var scale = props.scale; + var bandPaddingInner = props.bandPaddingInner; + var bandPaddingOuter = props.bandPaddingOuter; + + + if (range) func.range(range); + + if (domain) func.domain(domain); + + if (scale === 'band') { + + func.round(true); + + if (bandPaddingInner) func.paddingInner(bandPaddingInner);else func.paddingInner(.1); + + if (bandPaddingOuter) func.paddingOuter(bandPaddingOuter);else func.paddingOuter(.1); } - function quantile$1() { - var domain = [], - range = [], - thresholds = []; + return func; + } - function rescale() { - var i = 0, n = Math.max(1, range.length); - thresholds = new Array(n - 1); - while (++i < n) thresholds[i - 1] = d3Array.quantile(domain, i / n); - return scale; - } +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { - function scale(x) { - if (!isNaN(x = +x)) return range[d3Array.bisect(thresholds, x)]; - } + (function (global, factory) { + true ? factory(exports, __webpack_require__(20), __webpack_require__(21), __webpack_require__(22), __webpack_require__(24), __webpack_require__(25), __webpack_require__(26), __webpack_require__(23)) : + typeof define === 'function' && define.amd ? define(['exports', 'd3-array', 'd3-collection', 'd3-interpolate', 'd3-format', 'd3-time', 'd3-time-format', 'd3-color'], factory) : + (factory((global.d3_scale = global.d3_scale || {}),global.d3_array,global.d3_collection,global.d3_interpolate,global.d3_format,global.d3_time,global.d3_time_format,global.d3_color)); + }(this, function (exports,d3Array,d3Collection,d3Interpolate,d3Format,d3Time,d3TimeFormat,d3Color) { 'use strict'; - scale.invertExtent = function(y) { - var i = range.indexOf(y); - return i < 0 ? [NaN, NaN] : [ - i > 0 ? thresholds[i - 1] : domain[0], - i < thresholds.length ? thresholds[i] : domain[domain.length - 1] - ]; - }; + var array = Array.prototype; + + var map$1 = array.map; + var slice = array.slice; + + var implicit = {name: "implicit"}; + + function ordinal() { + var index = d3Collection.map(), + domain = [], + range = [], + unknown = implicit; + + function scale(d) { + var key = d + "", i = index.get(key); + if (!i) { + if (unknown !== implicit) return unknown; + index.set(key, i = domain.push(d)); + } + return range[(i - 1) % range.length]; + } scale.domain = function(_) { if (!arguments.length) return domain.slice(); - domain = []; - for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d); - domain.sort(d3Array.ascending); - return rescale(); + domain = [], index = d3Collection.map(); + var i = -1, n = _.length, d, key; + while (++i < n) if (!index.has(key = (d = _[i]) + "")) index.set(key, domain.push(d)); + return scale; }; scale.range = function(_) { - return arguments.length ? (range = slice.call(_), rescale()) : range.slice(); + return arguments.length ? (range = slice.call(_), scale) : range.slice(); }; - scale.quantiles = function() { - return thresholds.slice(); + scale.unknown = function(_) { + return arguments.length ? (unknown = _, scale) : unknown; }; scale.copy = function() { - return quantile$1() + return ordinal() .domain(domain) - .range(range); + .range(range) + .unknown(unknown); }; return scale; } - function quantize() { - var x0 = 0, - x1 = 1, - n = 1, - domain = [0.5], - range = [0, 1]; + function band() { + var scale = ordinal().unknown(undefined), + domain = scale.domain, + ordinalRange = scale.range, + range = [0, 1], + step, + bandwidth, + round = false, + paddingInner = 0, + paddingOuter = 0, + align = 0.5; - function scale(x) { - if (x <= x) return range[d3Array.bisect(domain, x, 0, n)]; - } + delete scale.unknown; function rescale() { - var i = -1; - domain = new Array(n); - while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1); - return scale; + var n = domain().length, + reverse = range[1] < range[0], + start = range[reverse - 0], + stop = range[1 - reverse]; + step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2); + if (round) step = Math.floor(step); + start += (stop - start - step * (n - paddingInner)) * align; + bandwidth = step * (1 - paddingInner); + if (round) start = Math.round(start), bandwidth = Math.round(bandwidth); + var values = d3Array.range(n).map(function(i) { return start + step * i; }); + return ordinalRange(reverse ? values.reverse() : values); } scale.domain = function(_) { - return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1]; + return arguments.length ? (domain(_), rescale()) : domain(); }; scale.range = function(_) { - return arguments.length ? (n = (range = slice.call(_)).length - 1, rescale()) : range.slice(); + return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice(); }; - scale.invertExtent = function(y) { - var i = range.indexOf(y); - return i < 0 ? [NaN, NaN] - : i < 1 ? [x0, domain[0]] - : i >= n ? [domain[n - 1], x1] - : [domain[i - 1], domain[i]]; + scale.rangeRound = function(_) { + return range = [+_[0], +_[1]], round = true, rescale(); }; - scale.copy = function() { - return quantize() - .domain([x0, x1]) - .range(range); + scale.bandwidth = function() { + return bandwidth; }; - return linearish(scale); - } - - function threshold() { - var domain = [0.5], - range = [0, 1], - n = 1; - - function scale(x) { - if (x <= x) return range[d3Array.bisect(domain, x, 0, n)]; - } - - scale.domain = function(_) { - return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice(); + scale.step = function() { + return step; }; - scale.range = function(_) { - return arguments.length ? (range = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice(); + scale.round = function(_) { + return arguments.length ? (round = !!_, rescale()) : round; }; - scale.invertExtent = function(y) { - var i = range.indexOf(y); - return [domain[i - 1], domain[i]]; + scale.padding = function(_) { + return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner; }; - scale.copy = function() { - return threshold() - .domain(domain) - .range(range); + scale.paddingInner = function(_) { + return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner; }; - return scale; - } - - var durationSecond = 1000; - var durationMinute = durationSecond * 60; - var durationHour = durationMinute * 60; - var durationDay = durationHour * 24; - var durationWeek = durationDay * 7; - var durationMonth = durationDay * 30; - var durationYear = durationDay * 365; - function newDate(t) { - return new Date(t); - } - - function calendar(year, month, week, day, hour, minute, second, millisecond, format) { - var scale = continuous(deinterpolate, d3Interpolate.interpolateNumber), - invert = scale.invert, - domain = scale.domain; - - var formatMillisecond = format(".%L"), - formatSecond = format(":%S"), - formatMinute = format("%I:%M"), - formatHour = format("%I %p"), - formatDay = format("%a %d"), - formatWeek = format("%b %d"), - formatMonth = format("%B"), - formatYear = format("%Y"); - - var tickIntervals = [ - [second, 1, durationSecond], - [second, 5, 5 * durationSecond], - [second, 15, 15 * durationSecond], - [second, 30, 30 * durationSecond], - [minute, 1, durationMinute], - [minute, 5, 5 * durationMinute], - [minute, 15, 15 * durationMinute], - [minute, 30, 30 * durationMinute], - [ hour, 1, durationHour ], - [ hour, 3, 3 * durationHour ], - [ hour, 6, 6 * durationHour ], - [ hour, 12, 12 * durationHour ], - [ day, 1, durationDay ], - [ day, 2, 2 * durationDay ], - [ week, 1, durationWeek ], - [ month, 1, durationMonth ], - [ month, 3, 3 * durationMonth ], - [ year, 1, durationYear ] - ]; - - function tickFormat(date) { - return (second(date) < date ? formatMillisecond - : minute(date) < date ? formatSecond - : hour(date) < date ? formatMinute - : day(date) < date ? formatHour - : month(date) < date ? (week(date) < date ? formatDay : formatWeek) - : year(date) < date ? formatMonth - : formatYear)(date); - } - - function tickInterval(interval, start, stop, step) { - if (interval == null) interval = 10; - - // If a desired tick count is specified, pick a reasonable tick interval - // based on the extent of the domain and a rough estimate of tick size. - // Otherwise, assume interval is already a time interval and use it. - if (typeof interval === "number") { - var target = Math.abs(stop - start) / interval, - i = d3Array.bisector(function(i) { return i[2]; }).right(tickIntervals, target); - if (i === tickIntervals.length) { - step = d3Array.tickStep(start / durationYear, stop / durationYear, interval); - interval = year; - } else if (i) { - i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i]; - step = i[1]; - interval = i[0]; - } else { - step = d3Array.tickStep(start, stop, interval); - interval = millisecond; - } - } - - return step == null ? interval : interval.every(step); - } - - scale.invert = function(y) { - return new Date(invert(y)); + scale.paddingOuter = function(_) { + return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter; }; - scale.domain = function(_) { - return arguments.length ? domain(_) : domain().map(newDate); + scale.align = function(_) { + return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align; }; - scale.ticks = function(interval, step) { - var d = domain(), - t0 = d[0], - t1 = d[d.length - 1], - r = t1 < t0, - t; - if (r) t = t0, t0 = t1, t1 = t; - t = tickInterval(interval, t0, t1, step); - t = t ? t.range(t0, t1 + 1) : []; // inclusive stop - return r ? t.reverse() : t; + scale.copy = function() { + return band() + .domain(domain()) + .range(range) + .round(round) + .paddingInner(paddingInner) + .paddingOuter(paddingOuter) + .align(align); }; - scale.tickFormat = function(specifier) { - return specifier == null ? tickFormat : format(specifier); - }; + return rescale(); + } - scale.nice = function(interval, step) { - var d = domain(); - return (interval = tickInterval(interval, d[0], d[d.length - 1], step)) - ? domain(nice(d, interval)) - : scale; - }; + function pointish(scale) { + var copy = scale.copy; + + scale.padding = scale.paddingOuter; + delete scale.paddingInner; + delete scale.paddingOuter; scale.copy = function() { - return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format)); + return pointish(copy()); }; return scale; } - function time() { - return calendar(d3Time.timeYear, d3Time.timeMonth, d3Time.timeWeek, d3Time.timeDay, d3Time.timeHour, d3Time.timeMinute, d3Time.timeSecond, d3Time.timeMillisecond, d3TimeFormat.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]); + function point() { + return pointish(band().paddingInner(1)); } - function utcTime() { - return calendar(d3Time.utcYear, d3Time.utcMonth, d3Time.utcWeek, d3Time.utcDay, d3Time.utcHour, d3Time.utcMinute, d3Time.utcSecond, d3Time.utcMillisecond, d3TimeFormat.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]); + function constant(x) { + return function() { + return x; + }; } - function colors(s) { - return s.match(/.{6}/g).map(function(x) { - return "#" + x; - }); + function number(x) { + return +x; } - var colors10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"); + var unit = [0, 1]; - function category10() { - return ordinal().range(colors10); + function deinterpolate(a, b) { + return (b -= (a = +a)) + ? function(x) { return (x - a) / b; } + : constant(b); } - var colors20b = colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"); - - function category20b() { - return ordinal().range(colors20b); + function deinterpolateClamp(deinterpolate) { + return function(a, b) { + var d = deinterpolate(a = +a, b = +b); + return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); }; + }; } - var colors20c = colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"); + function reinterpolateClamp(reinterpolate) { + return function(a, b) { + var r = reinterpolate(a = +a, b = +b); + return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); }; + }; + } - function category20c() { - return ordinal().range(colors20c); + function bimap(domain, range, deinterpolate, reinterpolate) { + var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1]; + if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0); + else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1); + return function(x) { return r0(d0(x)); }; } - var colors20 = colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"); + function polymap(domain, range, deinterpolate, reinterpolate) { + var j = Math.min(domain.length, range.length) - 1, + d = new Array(j), + r = new Array(j), + i = -1; - function category20() { - return ordinal().range(colors20); + // Reverse descending domains. + if (domain[j] < domain[0]) { + domain = domain.slice().reverse(); + range = range.slice().reverse(); + } + + while (++i < j) { + d[i] = deinterpolate(domain[i], domain[i + 1]); + r[i] = reinterpolate(range[i], range[i + 1]); + } + + return function(x) { + var i = d3Array.bisect(domain, x, 1, j) - 1; + return r[i](d[i](x)); + }; } - function cubehelix$1() { - return linear() - .interpolate(d3Interpolate.interpolateCubehelixLong) - .range([d3Color.cubehelix(300, 0.5, 0.0), d3Color.cubehelix(-240, 0.5, 1.0)]); + function copy(source, target) { + return target + .domain(source.domain()) + .range(source.range()) + .interpolate(source.interpolate()) + .clamp(source.clamp()); } - function sequential(interpolate) { - var x0 = 0, - x1 = 1, - clamp = false; + // deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1]. + // reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b]. + function continuous(deinterpolate$$, reinterpolate) { + var domain = unit, + range = unit, + interpolate = d3Interpolate.interpolate, + clamp = false, + output, + input; + + function rescale() { + var map = Math.min(domain.length, range.length) > 2 ? polymap : bimap; + output = map(domain, range, clamp ? deinterpolateClamp(deinterpolate$$) : deinterpolate$$, interpolate); + input = map(range, domain, deinterpolate, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate); + return scale; + } function scale(x) { - var t = (x - x0) / (x1 - x0); - return interpolate(clamp ? Math.max(0, Math.min(1, t)) : t); + return output(+x); } - scale.domain = function(_) { - return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1]; + scale.invert = function(y) { + return input(+y); }; - scale.clamp = function(_) { - return arguments.length ? (clamp = !!_, scale) : clamp; + scale.domain = function(_) { + return arguments.length ? (domain = map$1.call(_, number), rescale()) : domain.slice(); }; - scale.copy = function() { - return sequential(interpolate).domain([x0, x1]).clamp(clamp); + scale.range = function(_) { + return arguments.length ? (range = slice.call(_), rescale()) : range.slice(); }; - return linearish(scale); - } + scale.rangeRound = function(_) { + return range = slice.call(_), interpolate = d3Interpolate.interpolateRound, rescale(); + }; - function warm() { - return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8))); - } + scale.clamp = function(_) { + return arguments.length ? (clamp = !!_, rescale()) : clamp; + }; - function cool() { - return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8))); - } + scale.interpolate = function(_) { + return arguments.length ? (interpolate = _, rescale()) : interpolate; + }; - function rainbow() { - var rainbow = d3Color.cubehelix(); - return sequential(function(t) { - if (t < 0 || t > 1) t -= Math.floor(t); - var ts = Math.abs(t - 0.5); - rainbow.h = 360 * t - 100; - rainbow.s = 1.5 - 1.5 * ts; - rainbow.l = 0.8 - 0.9 * ts; - return rainbow + ""; - }); + return rescale(); } - var rangeViridis = colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"); - var rangeMagma = colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"); - var rangeInferno = colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"); - var rangePlasma = colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"); - function ramp(range) { - var s = sequential(function(t) { return range[Math.round(t * range.length - t)]; }).clamp(true); - delete s.clamp; - return s; + function tickFormat(domain, count, specifier) { + var start = domain[0], + stop = domain[domain.length - 1], + step = d3Array.tickStep(start, stop, count == null ? 10 : count), + precision; + specifier = d3Format.formatSpecifier(specifier == null ? ",f" : specifier); + switch (specifier.type) { + case "s": { + var value = Math.max(Math.abs(start), Math.abs(stop)); + if (specifier.precision == null && !isNaN(precision = d3Format.precisionPrefix(step, value))) specifier.precision = precision; + return d3Format.formatPrefix(specifier, value); + } + case "": + case "e": + case "g": + case "p": + case "r": { + if (specifier.precision == null && !isNaN(precision = d3Format.precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e"); + break; + } + case "f": + case "%": { + if (specifier.precision == null && !isNaN(precision = d3Format.precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2; + break; + } + } + return d3Format.format(specifier); } - function viridis() { - return ramp(rangeViridis); - } + function linearish(scale) { + var domain = scale.domain; - function magma() { - return ramp(rangeMagma); - } + scale.ticks = function(count) { + var d = domain(); + return d3Array.ticks(d[0], d[d.length - 1], count == null ? 10 : count); + }; - function inferno() { - return ramp(rangeInferno); - } + scale.tickFormat = function(count, specifier) { + return tickFormat(domain(), count, specifier); + }; - function plasma() { - return ramp(rangePlasma); - } + scale.nice = function(count) { + var d = domain(), + i = d.length - 1, + n = count == null ? 10 : count, + start = d[0], + stop = d[i], + step = d3Array.tickStep(start, stop, n); - var version = "0.6.4"; + if (step) { + step = d3Array.tickStep(Math.floor(start / step) * step, Math.ceil(stop / step) * step, n); + d[0] = Math.floor(start / step) * step; + d[i] = Math.ceil(stop / step) * step; + domain(d); + } - exports.version = version; - exports.scaleBand = band; - exports.scalePoint = point; - exports.scaleIdentity = identity; - exports.scaleLinear = linear; - exports.scaleLog = log; - exports.scaleOrdinal = ordinal; - exports.scaleImplicit = implicit; - exports.scalePow = pow; - exports.scaleSqrt = sqrt; - exports.scaleQuantile = quantile$1; - exports.scaleQuantize = quantize; - exports.scaleThreshold = threshold; - exports.scaleTime = time; - exports.scaleUtc = utcTime; - exports.scaleCategory10 = category10; - exports.scaleCategory20b = category20b; - exports.scaleCategory20c = category20c; - exports.scaleCategory20 = category20; - exports.scaleCubehelix = cubehelix$1; - exports.scaleRainbow = rainbow; - exports.scaleWarm = warm; - exports.scaleCool = cool; - exports.scaleViridis = viridis; - exports.scaleMagma = magma; - exports.scaleInferno = inferno; - exports.scalePlasma = plasma; + return scale; + }; - })); + return scale; + } -/***/ }, -/* 10 */ -/***/ function(module, exports, __webpack_require__) { + function linear() { + var scale = continuous(deinterpolate, d3Interpolate.interpolateNumber); - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_array = {}))); - }(this, function (exports) { 'use strict'; + scale.copy = function() { + return copy(scale, linear()); + }; - function ascending(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; + return linearish(scale); } - function bisector(compare) { - if (compare.length === 1) compare = ascendingComparator(compare); - return { - left: function(a, x, lo, hi) { - if (lo == null) lo = 0; - if (hi == null) 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 (lo == null) lo = 0; - if (hi == null) 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; - } - }; - } + function identity() { + var domain = [0, 1]; - function ascendingComparator(f) { - return function(d, x) { - return ascending(f(d), x); + function scale(x) { + return +x; + } + + scale.invert = scale; + + scale.domain = scale.range = function(_) { + return arguments.length ? (domain = map$1.call(_, number), scale) : domain.slice(); }; - } - var ascendingBisect = bisector(ascending); - var bisectRight = ascendingBisect.right; - var bisectLeft = ascendingBisect.left; + scale.copy = function() { + return identity().domain(domain); + }; - function descending(a, b) { - return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; + return linearish(scale); } - function number$1(x) { - return x === null ? NaN : +x; - } + function nice(domain, interval) { + domain = domain.slice(); - function variance(array, f) { - var n = array.length, - m = 0, - a, - d, - s = 0, - i = -1, - j = 0; + var i0 = 0, + i1 = domain.length - 1, + x0 = domain[i0], + x1 = domain[i1], + t; - if (f == null) { - while (++i < n) { - if (!isNaN(a = number$1(array[i]))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } + if (x1 < x0) { + t = i0, i0 = i1, i1 = t; + t = x0, x0 = x1, x1 = t; } - else { - while (++i < n) { - if (!isNaN(a = number$1(f(array[i], i, array)))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } + domain[i0] = interval.floor(x0); + domain[i1] = interval.ceil(x1); + return domain; + } - if (j > 1) return s / (j - 1); + function deinterpolate$1(a, b) { + return (b = Math.log(b / a)) + ? function(x) { return Math.log(x / a) / b; } + : constant(b); } - function deviation(array, f) { - var v = variance(array, f); - return v ? Math.sqrt(v) : v; + function reinterpolate(a, b) { + return a < 0 + ? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); } + : function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); }; } - function extent(array, f) { - var i = -1, - n = array.length, - a, - b, - c; + function pow10(x) { + return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x; + } - if (f == null) { - 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(array[i], i, array)) != null && b >= b) { a = c = b; break; } - while (++i < n) if ((b = f(array[i], i, array)) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } - - return [a, c]; + function powp(base) { + return base === 10 ? pow10 + : base === Math.E ? Math.exp + : function(x) { return Math.pow(base, x); }; } - function constant(x) { - return function() { - return x; - }; + function logp(base) { + return base === Math.E ? Math.log + : base === 10 && Math.log10 + || base === 2 && Math.log2 + || (base = Math.log(base), function(x) { return Math.log(x) / base; }); } - function identity(x) { - return x; + function reflect(f) { + return function(x) { + return -f(-x); + }; } - function range(start, stop, step) { - start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step; - - var i = -1, - n = Math.max(0, Math.ceil((stop - start) / step)) | 0, - range = new Array(n); + function log() { + var scale = continuous(deinterpolate$1, reinterpolate).domain([1, 10]), + domain = scale.domain, + base = 10, + logs = logp(10), + pows = powp(10); - while (++i < n) { - range[i] = start + i * step; + function rescale() { + logs = logp(base), pows = powp(base); + if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows); + return scale; } - return range; - } - - var e10 = Math.sqrt(50); - var e5 = Math.sqrt(10); - var e2 = Math.sqrt(2); - function ticks(start, stop, count) { - var step = tickStep(start, stop, count); - return range( - Math.ceil(start / step) * step, - Math.floor(stop / step) * step + step / 2, // inclusive - step - ); - } - - function tickStep(start, stop, count) { - var step0 = Math.abs(stop - start) / Math.max(0, count), - step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)), - error = step0 / step1; - if (error >= e10) step1 *= 10; - else if (error >= e5) step1 *= 5; - else if (error >= e2) step1 *= 2; - return stop < start ? -step1 : step1; - } + scale.base = function(_) { + return arguments.length ? (base = +_, rescale()) : base; + }; - function sturges(values) { - return Math.ceil(Math.log(values.length) / Math.LN2) + 1; - } + scale.domain = function(_) { + return arguments.length ? (domain(_), rescale()) : domain(); + }; - function number(x) { - return +x; - } + scale.ticks = function(count) { + var d = domain(), + u = d[0], + v = d[d.length - 1], + r; - function histogram() { - var value = identity, - domain = extent, - threshold = sturges; + if (r = v < u) i = u, u = v, v = i; - function histogram(data) { - var i, - n = data.length, - x, - values = new Array(n); + var i = logs(u), + j = logs(v), + p, + k, + t, + n = count == null ? 10 : +count, + z = []; - // Coerce values to numbers. - for (i = 0; i < n; ++i) { - values[i] = +value(data[i], i, data); + if (!(base % 1) && j - i < n) { + i = Math.round(i) - 1, j = Math.round(j) + 1; + if (u > 0) for (; i < j; ++i) { + for (k = 1, p = pows(i); k < base; ++k) { + t = p * k; + if (t < u) continue; + if (t > v) break; + z.push(t); + } + } else for (; i < j; ++i) { + for (k = base - 1, p = pows(i); k >= 1; --k) { + t = p * k; + if (t < u) continue; + if (t > v) break; + z.push(t); + } + } + if (r) z.reverse(); + } else { + z = d3Array.ticks(i, j, Math.min(j - i, n)).map(pows); } - var xz = domain(values), - x0 = +xz[0], - x1 = +xz[1], - tz = threshold(values, x0, x1); + return z; + }; - // Convert number of thresholds into uniform thresholds. - if (!Array.isArray(tz)) tz = ticks(x0, x1, +tz); + scale.tickFormat = function(count, specifier) { + if (specifier == null) specifier = base === 10 ? ".0e" : ","; + if (typeof specifier !== "function") specifier = d3Format.format(specifier); + if (count === Infinity) return specifier; + if (count == null) count = 10; + var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate? + return function(d) { + var i = d / pows(Math.round(logs(d))); + if (i * base < base - 0.5) i *= base; + return i <= k ? specifier(d) : ""; + }; + }; - // Coerce thresholds to numbers, ignoring any outside the domain. - var m = tz.length; - for (i = 0; i < m; ++i) tz[i] = +tz[i]; - while (tz[0] <= x0) tz.shift(), --m; - while (tz[m - 1] >= x1) tz.pop(), --m; + scale.nice = function() { + return domain(nice(domain(), { + floor: function(x) { return pows(Math.floor(logs(x))); }, + ceil: function(x) { return pows(Math.ceil(logs(x))); } + })); + }; - var bins = new Array(m + 1), - bin; + scale.copy = function() { + return copy(scale, log().base(base)); + }; - // Initialize bins. - for (i = 0; i <= m; ++i) { - bin = bins[i] = []; - bin.x0 = i > 0 ? tz[i - 1] : x0; - bin.x1 = i < m ? tz[i] : x1; - } + return scale; + } - // Assign data to bins by value, ignoring any outside the domain. - for (i = 0; i < n; ++i) { - x = values[i]; - if (x0 <= x && x <= x1) { - bins[bisectRight(tz, x, 0, m)].push(data[i]); - } - } + function raise(x, exponent) { + return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent); + } - return bins; + function pow() { + var exponent = 1, + scale = continuous(deinterpolate, reinterpolate), + domain = scale.domain; + + function deinterpolate(a, b) { + return (b = raise(b, exponent) - (a = raise(a, exponent))) + ? function(x) { return (raise(x, exponent) - a) / b; } + : constant(b); } - histogram.value = function(_) { - return arguments.length ? (value = typeof _ === "function" ? _ : constant(+_), histogram) : value; - }; + function reinterpolate(a, b) { + b = raise(b, exponent) - (a = raise(a, exponent)); + return function(t) { return raise(a + b * t, 1 / exponent); }; + } - histogram.domain = function(_) { - return arguments.length ? (domain = typeof _ === "function" ? _ : constant([+_[0], +_[1]]), histogram) : domain; + scale.exponent = function(_) { + return arguments.length ? (exponent = +_, domain(domain())) : exponent; }; - histogram.thresholds = function(_) { - if (!arguments.length) return threshold; - threshold = typeof _ === "function" ? _ - : Array.isArray(_) ? constant(Array.prototype.map.call(_, number)) - : constant(+_); - return histogram; + scale.copy = function() { + return copy(scale, pow().exponent(exponent)); }; - return histogram; - } - - function quantile(array, p, f) { - if (f == null) f = number$1; - if (!(n = array.length)) return; - if ((p = +p) <= 0 || n < 2) return +f(array[0], 0, array); - if (p >= 1) return +f(array[n - 1], n - 1, array); - var n, - h = (n - 1) * p, - i = Math.floor(h), - a = +f(array[i], i, array), - b = +f(array[i + 1], i + 1, array); - return a + (b - a) * (h - i); + return linearish(scale); } - function freedmanDiaconis(values, min, max) { - values.sort(ascending); - return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(values.length, -1 / 3))); + function sqrt() { + return pow().exponent(0.5); } - function scott(values, min, max) { - return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3))); - } + function quantile$1() { + var domain = [], + range = [], + thresholds = []; - function max(array, f) { - var i = -1, - n = array.length, - a, - b; + function rescale() { + var i = 0, n = Math.max(1, range.length); + thresholds = new Array(n - 1); + while (++i < n) thresholds[i - 1] = d3Array.quantile(domain, i / n); + return scale; + } - if (f == null) { - 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; + function scale(x) { + if (!isNaN(x = +x)) return range[d3Array.bisect(thresholds, x)]; } - else { - while (++i < n) if ((b = f(array[i], i, array)) != null && b >= b) { a = b; break; } - while (++i < n) if ((b = f(array[i], i, array)) != null && b > a) a = b; - } + scale.invertExtent = function(y) { + var i = range.indexOf(y); + return i < 0 ? [NaN, NaN] : [ + i > 0 ? thresholds[i - 1] : domain[0], + i < thresholds.length ? thresholds[i] : domain[domain.length - 1] + ]; + }; - return a; - } + scale.domain = function(_) { + if (!arguments.length) return domain.slice(); + domain = []; + for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d); + domain.sort(d3Array.ascending); + return rescale(); + }; - function mean(array, f) { - var s = 0, - n = array.length, - a, - i = -1, - j = n; + scale.range = function(_) { + return arguments.length ? (range = slice.call(_), rescale()) : range.slice(); + }; - if (f == null) { - while (++i < n) if (!isNaN(a = number$1(array[i]))) s += a; else --j; - } + scale.quantiles = function() { + return thresholds.slice(); + }; - else { - while (++i < n) if (!isNaN(a = number$1(f(array[i], i, array)))) s += a; else --j; - } + scale.copy = function() { + return quantile$1() + .domain(domain) + .range(range); + }; - if (j) return s / j; + return scale; } - function median(array, f) { - var numbers = [], - n = array.length, - a, - i = -1; + function quantize() { + var x0 = 0, + x1 = 1, + n = 1, + domain = [0.5], + range = [0, 1]; - if (f == null) { - while (++i < n) if (!isNaN(a = number$1(array[i]))) numbers.push(a); + function scale(x) { + if (x <= x) return range[d3Array.bisect(domain, x, 0, n)]; } - else { - while (++i < n) if (!isNaN(a = number$1(f(array[i], i, array)))) numbers.push(a); + function rescale() { + var i = -1; + domain = new Array(n); + while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1); + return scale; } - return quantile(numbers.sort(ascending), 0.5); - } + scale.domain = function(_) { + return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1]; + }; - function merge(arrays) { - var n = arrays.length, - m, - i = -1, - j = 0, - merged, - array; + scale.range = function(_) { + return arguments.length ? (n = (range = slice.call(_)).length - 1, rescale()) : range.slice(); + }; - while (++i < n) j += arrays[i].length; - merged = new Array(j); + scale.invertExtent = function(y) { + var i = range.indexOf(y); + return i < 0 ? [NaN, NaN] + : i < 1 ? [x0, domain[0]] + : i >= n ? [domain[n - 1], x1] + : [domain[i - 1], domain[i]]; + }; - while (--n >= 0) { - array = arrays[n]; - m = array.length; - while (--m >= 0) { - merged[--j] = array[m]; - } - } + scale.copy = function() { + return quantize() + .domain([x0, x1]) + .range(range); + }; - return merged; + return linearish(scale); } - function min(array, f) { - var i = -1, - n = array.length, - a, - b; + function threshold() { + var domain = [0.5], + range = [0, 1], + n = 1; - if (f == null) { - 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; + function scale(x) { + if (x <= x) return range[d3Array.bisect(domain, x, 0, n)]; } - else { - while (++i < n) if ((b = f(array[i], i, array)) != null && b >= b) { a = b; break; } - while (++i < n) if ((b = f(array[i], i, array)) != null && a > b) a = b; - } + scale.domain = function(_) { + return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice(); + }; - return a; - } + scale.range = function(_) { + return arguments.length ? (range = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice(); + }; - function pairs(array) { - var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n); - while (i < n) pairs[i] = [p, p = array[++i]]; - return pairs; - } + scale.invertExtent = function(y) { + var i = range.indexOf(y); + return [domain[i - 1], domain[i]]; + }; - function permute(array, indexes) { - var i = indexes.length, permutes = new Array(i); - while (i--) permutes[i] = array[indexes[i]]; - return permutes; - } + scale.copy = function() { + return threshold() + .domain(domain) + .range(range); + }; - function scan(array, compare) { - if (!(n = array.length)) return; - var i = 0, - n, - j = 0, - xi, - xj = array[j]; + return scale; + } - if (!compare) compare = ascending; + var durationSecond = 1000; + var durationMinute = durationSecond * 60; + var durationHour = durationMinute * 60; + var durationDay = durationHour * 24; + var durationWeek = durationDay * 7; + var durationMonth = durationDay * 30; + var durationYear = durationDay * 365; + function newDate(t) { + return new Date(t); + } - while (++i < n) if (compare(xi = array[i], xj) < 0 || compare(xj, xj) !== 0) xj = xi, j = i; + function calendar(year, month, week, day, hour, minute, second, millisecond, format) { + var scale = continuous(deinterpolate, d3Interpolate.interpolateNumber), + invert = scale.invert, + domain = scale.domain; - if (compare(xj, xj) === 0) return j; - } + var formatMillisecond = format(".%L"), + formatSecond = format(":%S"), + formatMinute = format("%I:%M"), + formatHour = format("%I %p"), + formatDay = format("%a %d"), + formatWeek = format("%b %d"), + formatMonth = format("%B"), + formatYear = format("%Y"); - function shuffle(array, i0, i1) { - var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0), - t, - i; + var tickIntervals = [ + [second, 1, durationSecond], + [second, 5, 5 * durationSecond], + [second, 15, 15 * durationSecond], + [second, 30, 30 * durationSecond], + [minute, 1, durationMinute], + [minute, 5, 5 * durationMinute], + [minute, 15, 15 * durationMinute], + [minute, 30, 30 * durationMinute], + [ hour, 1, durationHour ], + [ hour, 3, 3 * durationHour ], + [ hour, 6, 6 * durationHour ], + [ hour, 12, 12 * durationHour ], + [ day, 1, durationDay ], + [ day, 2, 2 * durationDay ], + [ week, 1, durationWeek ], + [ month, 1, durationMonth ], + [ month, 3, 3 * durationMonth ], + [ year, 1, durationYear ] + ]; - while (m) { - i = Math.random() * m-- | 0; - t = array[m + i0]; - array[m + i0] = array[i + i0]; - array[i + i0] = t; + function tickFormat(date) { + return (second(date) < date ? formatMillisecond + : minute(date) < date ? formatSecond + : hour(date) < date ? formatMinute + : day(date) < date ? formatHour + : month(date) < date ? (week(date) < date ? formatDay : formatWeek) + : year(date) < date ? formatMonth + : formatYear)(date); } - return array; - } + function tickInterval(interval, start, stop, step) { + if (interval == null) interval = 10; - function sum(array, f) { - var s = 0, - n = array.length, - a, - i = -1; + // If a desired tick count is specified, pick a reasonable tick interval + // based on the extent of the domain and a rough estimate of tick size. + // Otherwise, assume interval is already a time interval and use it. + if (typeof interval === "number") { + var target = Math.abs(stop - start) / interval, + i = d3Array.bisector(function(i) { return i[2]; }).right(tickIntervals, target); + if (i === tickIntervals.length) { + step = d3Array.tickStep(start / durationYear, stop / durationYear, interval); + interval = year; + } else if (i) { + i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i]; + step = i[1]; + interval = i[0]; + } else { + step = d3Array.tickStep(start, stop, interval); + interval = millisecond; + } + } - if (f == null) { - while (++i < n) if (a = +array[i]) s += a; // Note: zero and null are equivalent. + return step == null ? interval : interval.every(step); } - else { - while (++i < n) if (a = +f(array[i], i, array)) s += a; - } + scale.invert = function(y) { + return new Date(invert(y)); + }; - return s; - } - - function transpose(matrix) { - if (!(n = matrix.length)) return []; - for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) { - for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) { - row[j] = matrix[j][i]; - } - } - return transpose; - } - - function length(d) { - return d.length; - } - - function zip() { - return transpose(arguments); - } + scale.domain = function(_) { + return arguments.length ? domain(_) : domain().map(newDate); + }; - var version = "0.7.1"; + scale.ticks = function(interval, step) { + var d = domain(), + t0 = d[0], + t1 = d[d.length - 1], + r = t1 < t0, + t; + if (r) t = t0, t0 = t1, t1 = t; + t = tickInterval(interval, t0, t1, step); + t = t ? t.range(t0, t1 + 1) : []; // inclusive stop + return r ? t.reverse() : t; + }; - exports.version = version; - exports.bisect = bisectRight; - exports.bisectRight = bisectRight; - exports.bisectLeft = bisectLeft; - exports.ascending = ascending; - exports.bisector = bisector; - exports.descending = descending; - exports.deviation = deviation; - exports.extent = extent; - exports.histogram = histogram; - exports.thresholdFreedmanDiaconis = freedmanDiaconis; - exports.thresholdScott = scott; - exports.thresholdSturges = sturges; - exports.max = max; - exports.mean = mean; - exports.median = median; - exports.merge = merge; - exports.min = min; - exports.pairs = pairs; - exports.permute = permute; - exports.quantile = quantile; - exports.range = range; - exports.scan = scan; - exports.shuffle = shuffle; - exports.sum = sum; - exports.ticks = ticks; - exports.tickStep = tickStep; - exports.transpose = transpose; - exports.variance = variance; - exports.zip = zip; + scale.tickFormat = function(specifier) { + return specifier == null ? tickFormat : format(specifier); + }; - })); + scale.nice = function(interval, step) { + var d = domain(); + return (interval = tickInterval(interval, d[0], d[d.length - 1], step)) + ? domain(nice(d, interval)) + : scale; + }; -/***/ }, -/* 11 */ -/***/ function(module, exports, __webpack_require__) { + scale.copy = function() { + return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format)); + }; - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_collection = global.d3_collection || {}))); - }(this, function (exports) { 'use strict'; + return scale; + } - var prefix = "$"; + function time() { + return calendar(d3Time.timeYear, d3Time.timeMonth, d3Time.timeWeek, d3Time.timeDay, d3Time.timeHour, d3Time.timeMinute, d3Time.timeSecond, d3Time.timeMillisecond, d3TimeFormat.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]); + } - function Map() {} + function utcTime() { + return calendar(d3Time.utcYear, d3Time.utcMonth, d3Time.utcWeek, d3Time.utcDay, d3Time.utcHour, d3Time.utcMinute, d3Time.utcSecond, d3Time.utcMillisecond, d3TimeFormat.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]); + } - Map.prototype = map.prototype = { - constructor: Map, - has: function(key) { - return (prefix + key) in this; - }, - get: function(key) { - return this[prefix + key]; - }, - set: function(key, value) { - this[prefix + key] = value; - return this; - }, - remove: function(key) { - var property = prefix + key; - return property in this && delete this[property]; - }, - clear: function() { - for (var property in this) if (property[0] === prefix) delete this[property]; - }, - keys: function() { - var keys = []; - for (var property in this) if (property[0] === prefix) keys.push(property.slice(1)); - return keys; - }, - values: function() { - var values = []; - for (var property in this) if (property[0] === prefix) values.push(this[property]); - return values; - }, - entries: function() { - var entries = []; - for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]}); - return entries; - }, - size: function() { - var size = 0; - for (var property in this) if (property[0] === prefix) ++size; - return size; - }, - empty: function() { - for (var property in this) if (property[0] === prefix) return false; - return true; - }, - each: function(f) { - for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this); - } - }; + function colors(s) { + return s.match(/.{6}/g).map(function(x) { + return "#" + x; + }); + } - function map(object, f) { - var map = new Map; + var colors10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"); - // Copy constructor. - if (object instanceof Map) object.each(function(value, key) { map.set(key, value); }); + function category10() { + return ordinal().range(colors10); + } - // Index array by numeric index or specified key function. - else if (Array.isArray(object)) { - var i = -1, - n = object.length, - o; + var colors20b = colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"); - if (f == null) while (++i < n) map.set(i, object[i]); - else while (++i < n) map.set(f(o = object[i], i, object), o); - } + function category20b() { + return ordinal().range(colors20b); + } - // Convert object to map. - else if (object) for (var key in object) map.set(key, object[key]); + var colors20c = colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"); - return map; + function category20c() { + return ordinal().range(colors20c); } - function nest() { - var keys = [], - sortKeys = [], - sortValues, - rollup, - nest; - - function apply(array, depth, createResult, setResult) { - if (depth >= keys.length) return rollup - ? rollup(array) : (sortValues - ? array.sort(sortValues) - : array); + var colors20 = colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"); - var i = -1, - n = array.length, - key = keys[depth++], - keyValue, - value, - valuesByKey = map(), - values, - result = createResult(); + function category20() { + return ordinal().range(colors20); + } - while (++i < n) { - if (values = valuesByKey.get(keyValue = key(value = array[i]) + "")) { - values.push(value); - } else { - valuesByKey.set(keyValue, [value]); - } - } + function cubehelix$1() { + return linear() + .interpolate(d3Interpolate.interpolateCubehelixLong) + .range([d3Color.cubehelix(300, 0.5, 0.0), d3Color.cubehelix(-240, 0.5, 1.0)]); + } - valuesByKey.each(function(values, key) { - setResult(result, key, apply(values, depth, createResult, setResult)); - }); + function sequential(interpolate) { + var x0 = 0, + x1 = 1, + clamp = false; - return result; + function scale(x) { + var t = (x - x0) / (x1 - x0); + return interpolate(clamp ? Math.max(0, Math.min(1, t)) : t); } - function entries(map, depth) { - if (depth >= keys.length) return map; - - var array = [], - sortKey = sortKeys[depth++]; - - map.each(function(value, key) { - array.push({key: key, values: entries(value, depth)}); - }); + scale.domain = function(_) { + return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1]; + }; - return sortKey - ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) - : array; - } + scale.clamp = function(_) { + return arguments.length ? (clamp = !!_, scale) : clamp; + }; - return nest = { - object: function(array) { return apply(array, 0, createObject, setObject); }, - map: function(array) { return apply(array, 0, createMap, setMap); }, - entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); }, - key: function(d) { keys.push(d); return nest; }, - sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; }, - sortValues: function(order) { sortValues = order; return nest; }, - rollup: function(f) { rollup = f; return nest; } + scale.copy = function() { + return sequential(interpolate).domain([x0, x1]).clamp(clamp); }; - } - function createObject() { - return {}; + return linearish(scale); } - function setObject(object, key, value) { - object[key] = value; + function warm() { + return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8))); } - function createMap() { - return map(); + function cool() { + return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8))); } - function setMap(map, key, value) { - map.set(key, value); + function rainbow() { + var rainbow = d3Color.cubehelix(); + return sequential(function(t) { + if (t < 0 || t > 1) t -= Math.floor(t); + var ts = Math.abs(t - 0.5); + rainbow.h = 360 * t - 100; + rainbow.s = 1.5 - 1.5 * ts; + rainbow.l = 0.8 - 0.9 * ts; + return rainbow + ""; + }); } - function Set() {} - - var proto = map.prototype; - - Set.prototype = set.prototype = { - constructor: Set, - has: proto.has, - add: function(value) { - value += ""; - this[prefix + value] = value; - return this; - }, - remove: proto.remove, - clear: proto.clear, - values: proto.keys, - size: proto.size, - empty: proto.empty, - each: proto.each - }; - - function set(object, f) { - var set = new Set; - - // Copy constructor. - if (object instanceof Set) object.each(function(value) { set.add(value); }); - - // Otherwise, assume it’s an array. - else if (object) { - var i = -1, n = object.length; - if (f == null) while (++i < n) set.add(object[i]); - else while (++i < n) set.add(f(object[i], i, object)); - } + var rangeViridis = colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"); + var rangeMagma = colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"); + var rangeInferno = colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"); + var rangePlasma = colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"); + function ramp(range) { + var s = sequential(function(t) { return range[Math.round(t * range.length - t)]; }).clamp(true); + delete s.clamp; + return s; + } - return set; + function viridis() { + return ramp(rangeViridis); } - function keys(map) { - var keys = []; - for (var key in map) keys.push(key); - return keys; + function magma() { + return ramp(rangeMagma); } - function values(map) { - var values = []; - for (var key in map) values.push(map[key]); - return values; + function inferno() { + return ramp(rangeInferno); } - function entries(map) { - var entries = []; - for (var key in map) entries.push({key: key, value: map[key]}); - return entries; + function plasma() { + return ramp(rangePlasma); } - var version = "0.1.2"; + var version = "0.6.4"; exports.version = version; - exports.nest = nest; - exports.set = set; - exports.map = map; - exports.keys = keys; - exports.values = values; - exports.entries = entries; + exports.scaleBand = band; + exports.scalePoint = point; + exports.scaleIdentity = identity; + exports.scaleLinear = linear; + exports.scaleLog = log; + exports.scaleOrdinal = ordinal; + exports.scaleImplicit = implicit; + exports.scalePow = pow; + exports.scaleSqrt = sqrt; + exports.scaleQuantile = quantile$1; + exports.scaleQuantize = quantize; + exports.scaleThreshold = threshold; + exports.scaleTime = time; + exports.scaleUtc = utcTime; + exports.scaleCategory10 = category10; + exports.scaleCategory20b = category20b; + exports.scaleCategory20c = category20c; + exports.scaleCategory20 = category20; + exports.scaleCubehelix = cubehelix$1; + exports.scaleRainbow = rainbow; + exports.scaleWarm = warm; + exports.scaleCool = cool; + exports.scaleViridis = viridis; + exports.scaleMagma = magma; + exports.scaleInferno = inferno; + exports.scalePlasma = plasma; })); -/***/ }, -/* 12 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 20 */ +/***/ (function(module, exports, __webpack_require__) { (function (global, factory) { - true ? factory(exports, __webpack_require__(13)) : - typeof define === 'function' && define.amd ? define(['exports', 'd3-color'], factory) : - (factory((global.d3_interpolate = global.d3_interpolate || {}),global.d3_color)); - }(this, function (exports,d3Color) { 'use strict'; + true ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.d3_array = {}))); + }(this, function (exports) { 'use strict'; - function constant(x) { - return function() { - return x; - }; + function ascending(a, b) { + return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; } - function linear(a, d) { - return function(t) { - return a + t * d; + function bisector(compare) { + if (compare.length === 1) compare = ascendingComparator(compare); + return { + left: function(a, x, lo, hi) { + if (lo == null) lo = 0; + if (hi == null) 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 (lo == null) lo = 0; + if (hi == null) 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; + } }; } - function exponential(a, b, y) { - return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) { - return Math.pow(a + t * b, y); + function ascendingComparator(f) { + return function(d, x) { + return ascending(f(d), x); }; } - function interpolateHue(a, b) { - var d = b - a; - return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a); - } + var ascendingBisect = bisector(ascending); + var bisectRight = ascendingBisect.right; + var bisectLeft = ascendingBisect.left; - function gamma(y) { - return (y = +y) === 1 ? nogamma : function(a, b) { - return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a); - }; + function descending(a, b) { + return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; } - function nogamma(a, b) { - var d = b - a; - return d ? linear(a, d) : constant(isNaN(a) ? b : a); + function number$1(x) { + return x === null ? NaN : +x; } - var rgb$1 = (function gamma$$(y) { - var interpolateColor = gamma(y); + function variance(array, f) { + var n = array.length, + m = 0, + a, + d, + s = 0, + i = -1, + j = 0; - function interpolateRgb(start, end) { - var r = interpolateColor((start = d3Color.rgb(start)).r, (end = d3Color.rgb(end)).r), - g = interpolateColor(start.g, end.g), - b = interpolateColor(start.b, end.b), - opacity = interpolateColor(start.opacity, end.opacity); - return function(t) { - start.r = r(t); - start.g = g(t); - start.b = b(t); - start.opacity = opacity(t); - return start + ""; - }; + if (f == null) { + while (++i < n) { + if (!isNaN(a = number$1(array[i]))) { + d = a - m; + m += d / ++j; + s += d * (a - m); + } + } } - interpolateRgb.gamma = gamma$$; - - return interpolateRgb; - })(1); - - // TODO sparse arrays? - function array(a, b) { - var x = [], - c = [], - na = a ? a.length : 0, - nb = b ? b.length : 0, - n0 = Math.min(na, nb), - i; - - for (i = 0; i < n0; ++i) x.push(value(a[i], b[i])); - for (; i < na; ++i) c[i] = a[i]; - for (; i < nb; ++i) c[i] = b[i]; + else { + while (++i < n) { + if (!isNaN(a = number$1(f(array[i], i, array)))) { + d = a - m; + m += d / ++j; + s += d * (a - m); + } + } + } - return function(t) { - for (i = 0; i < n0; ++i) c[i] = x[i](t); - return c; - }; + if (j > 1) return s / (j - 1); } - function number(a, b) { - return a = +a, b -= a, function(t) { - return a + b * t; - }; + function deviation(array, f) { + var v = variance(array, f); + return v ? Math.sqrt(v) : v; } - function object(a, b) { - var i = {}, - c = {}, - k; + function extent(array, f) { + var i = -1, + n = array.length, + a, + b, + c; - if (a === null || typeof a !== "object") a = {}; - if (b === null || typeof b !== "object") b = {}; - - for (k in a) { - if (k in b) { - i[k] = value(a[k], b[k]); - } else { - c[k] = a[k]; + if (f == null) { + 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; } } - for (k in b) { - if (!(k in a)) { - c[k] = b[k]; + else { + while (++i < n) if ((b = f(array[i], i, array)) != null && b >= b) { a = c = b; break; } + while (++i < n) if ((b = f(array[i], i, array)) != null) { + if (a > b) a = b; + if (c < b) c = b; } } - return function(t) { - for (k in i) c[k] = i[k](t); - return c; - }; + return [a, c]; } - var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g; - var reB = new RegExp(reA.source, "g"); - function zero(b) { + function constant(x) { return function() { - return b; + return x; }; } - function one(b) { - return function(t) { - return b(t) + ""; - }; + function identity(x) { + return x; } - function string(a, b) { - var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b - am, // current match in a - bm, // current match in b - bs, // string preceding current number in b, if any - i = -1, // index in s - s = [], // string constants and placeholders - q = []; // number interpolators + function range(start, stop, step) { + start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step; - // Coerce inputs to strings. - a = a + "", b = b + ""; + var i = -1, + n = Math.max(0, Math.ceil((stop - start) / step)) | 0, + range = new Array(n); - // Interpolate pairs of numbers in a & b. - while ((am = reA.exec(a)) - && (bm = reB.exec(b))) { - if ((bs = bm.index) > bi) { // a string precedes the next number in b - bs = b.slice(bi, bs); - if (s[i]) s[i] += bs; // coalesce with previous string - else s[++i] = bs; - } - if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match - if (s[i]) s[i] += bm; // coalesce with previous string - else s[++i] = bm; - } else { // interpolate non-matching numbers - s[++i] = null; - q.push({i: i, x: number(am, bm)}); - } - bi = reB.lastIndex; + while (++i < n) { + range[i] = start + i * step; } - // Add remains of b. - if (bi < b.length) { - bs = b.slice(bi); - if (s[i]) s[i] += bs; // coalesce with previous string - else s[++i] = bs; - } + return range; + } - // Special optimization for only a single match. - // Otherwise, interpolate each of the numbers and rejoin the string. - return s.length < 2 ? (q[0] - ? one(q[0].x) - : zero(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 e10 = Math.sqrt(50); + var e5 = Math.sqrt(10); + var e2 = Math.sqrt(2); + function ticks(start, stop, count) { + var step = tickStep(start, stop, count); + return range( + Math.ceil(start / step) * step, + Math.floor(stop / step) * step + step / 2, // inclusive + step + ); } - function value(a, b) { - var t = typeof b, c; - return b == null || t === "boolean" ? constant(b) - : (t === "number" ? number - : t === "string" ? ((c = d3Color.color(b)) ? (b = c, rgb$1) : string) - : b instanceof d3Color.color ? rgb$1 - : Array.isArray(b) ? array - : object)(a, b); + function tickStep(start, stop, count) { + var step0 = Math.abs(stop - start) / Math.max(0, count), + step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)), + error = step0 / step1; + if (error >= e10) step1 *= 10; + else if (error >= e5) step1 *= 5; + else if (error >= e2) step1 *= 2; + return stop < start ? -step1 : step1; } - function round(a, b) { - return a = +a, b -= a, function(t) { - return Math.round(a + b * t); - }; + function sturges(values) { + return Math.ceil(Math.log(values.length) / Math.LN2) + 1; } - var rad2deg = 180 / Math.PI; + function number(x) { + return +x; + } - var identity = { - translateX: 0, - translateY: 0, - rotate: 0, - skewX: 0, - scaleX: 1, - scaleY: 1 - }; + function histogram() { + var value = identity, + domain = extent, + threshold = sturges; - function decompose(a, b, c, d, e, f) { - if (a * d === b * c) return null; + function histogram(data) { + var i, + n = data.length, + x, + values = new Array(n); - var scaleX = Math.sqrt(a * a + b * b); - a /= scaleX, b /= scaleX; + // Coerce values to numbers. + for (i = 0; i < n; ++i) { + values[i] = +value(data[i], i, data); + } - var skewX = a * c + b * d; - c -= a * skewX, d -= b * skewX; + var xz = domain(values), + x0 = +xz[0], + x1 = +xz[1], + tz = threshold(values, x0, x1); - var scaleY = Math.sqrt(c * c + d * d); - c /= scaleY, d /= scaleY, skewX /= scaleY; + // Convert number of thresholds into uniform thresholds. + if (!Array.isArray(tz)) tz = ticks(x0, x1, +tz); - if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX; + // Coerce thresholds to numbers, ignoring any outside the domain. + var m = tz.length; + for (i = 0; i < m; ++i) tz[i] = +tz[i]; + while (tz[0] <= x0) tz.shift(), --m; + while (tz[m - 1] >= x1) tz.pop(), --m; - return { - translateX: e, - translateY: f, - rotate: Math.atan2(b, a) * rad2deg, - skewX: Math.atan(skewX) * rad2deg, - scaleX: scaleX, - scaleY: scaleY + var bins = new Array(m + 1), + bin; + + // Initialize bins. + for (i = 0; i <= m; ++i) { + bin = bins[i] = []; + bin.x0 = i > 0 ? tz[i - 1] : x0; + bin.x1 = i < m ? tz[i] : x1; + } + + // Assign data to bins by value, ignoring any outside the domain. + for (i = 0; i < n; ++i) { + x = values[i]; + if (x0 <= x && x <= x1) { + bins[bisectRight(tz, x, 0, m)].push(data[i]); + } + } + + return bins; + } + + histogram.value = function(_) { + return arguments.length ? (value = typeof _ === "function" ? _ : constant(+_), histogram) : value; + }; + + histogram.domain = function(_) { + return arguments.length ? (domain = typeof _ === "function" ? _ : constant([+_[0], +_[1]]), histogram) : domain; + }; + + histogram.thresholds = function(_) { + if (!arguments.length) return threshold; + threshold = typeof _ === "function" ? _ + : Array.isArray(_) ? constant(Array.prototype.map.call(_, number)) + : constant(+_); + return histogram; }; + + return histogram; } - var cssNode; - var cssRoot; - var cssView; - var svgNode; - function parseCss(value) { - if (value === "none") return identity; - if (!cssNode) cssNode = document.createElement("DIV"), cssRoot = document.documentElement, cssView = document.defaultView; - cssNode.style.transform = value; - value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue("transform"); - cssRoot.removeChild(cssNode); - var m = value.slice(7, -1).split(","); - return decompose(+m[0], +m[1], +m[2], +m[3], +m[4], +m[5]); + function quantile(array, p, f) { + if (f == null) f = number$1; + if (!(n = array.length)) return; + if ((p = +p) <= 0 || n < 2) return +f(array[0], 0, array); + if (p >= 1) return +f(array[n - 1], n - 1, array); + var n, + h = (n - 1) * p, + i = Math.floor(h), + a = +f(array[i], i, array), + b = +f(array[i + 1], i + 1, array); + return a + (b - a) * (h - i); } - function parseSvg(value) { - if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g"); - svgNode.setAttribute("transform", value == null ? "" : value); - var m = svgNode.transform.baseVal.consolidate().matrix; - return decompose(m.a, m.b, m.c, m.d, m.e, m.f); + function freedmanDiaconis(values, min, max) { + values.sort(ascending); + return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(values.length, -1 / 3))); } - function interpolateTransform(parse, pxComma, pxParen, degParen) { + function scott(values, min, max) { + return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3))); + } - function pop(s) { - return s.length ? s.pop() + " " : ""; + function max(array, f) { + var i = -1, + n = array.length, + a, + b; + + if (f == null) { + 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; } - function translate(xa, ya, xb, yb, s, q) { - if (xa !== xb || ya !== yb) { - var i = s.push("translate(", null, pxComma, null, pxParen); - q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)}); - } else if (xb || yb) { - s.push("translate(" + xb + pxComma + yb + pxParen); - } + else { + while (++i < n) if ((b = f(array[i], i, array)) != null && b >= b) { a = b; break; } + while (++i < n) if ((b = f(array[i], i, array)) != null && b > a) a = b; } - function rotate(a, b, s, q) { - if (a !== b) { - if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path - q.push({i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: number(a, b)}); - } else if (b) { - s.push(pop(s) + "rotate(" + b + degParen); - } - } + return a; + } - function skewX(a, b, s, q) { - if (a !== b) { - q.push({i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: number(a, b)}); - } else if (b) { - s.push(pop(s) + "skewX(" + b + degParen); - } + function mean(array, f) { + var s = 0, + n = array.length, + a, + i = -1, + j = n; + + if (f == null) { + while (++i < n) if (!isNaN(a = number$1(array[i]))) s += a; else --j; } - function scale(xa, ya, xb, yb, s, q) { - if (xa !== xb || ya !== yb) { - var i = s.push(pop(s) + "scale(", null, ",", null, ")"); - q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)}); - } else if (xb !== 1 || yb !== 1) { - s.push(pop(s) + "scale(" + xb + "," + yb + ")"); - } + else { + while (++i < n) if (!isNaN(a = number$1(f(array[i], i, array)))) s += a; else --j; } - return function(a, b) { - var s = [], // string constants and placeholders - q = []; // number interpolators - a = parse(a), b = parse(b); - translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q); - rotate(a.rotate, b.rotate, s, q); - skewX(a.skewX, b.skewX, s, q); - scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q); - a = b = null; // gc - return function(t) { - var i = -1, n = q.length, o; - while (++i < n) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }; - }; + if (j) return s / j; } - var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)"); - var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")"); + function median(array, f) { + var numbers = [], + n = array.length, + a, + i = -1; - var rho = Math.SQRT2; - var rho2 = 2; - var rho4 = 4; - var epsilon2 = 1e-12; - function cosh(x) { - return ((x = Math.exp(x)) + 1 / x) / 2; - } + if (f == null) { + while (++i < n) if (!isNaN(a = number$1(array[i]))) numbers.push(a); + } - function sinh(x) { - return ((x = Math.exp(x)) - 1 / x) / 2; - } + else { + while (++i < n) if (!isNaN(a = number$1(f(array[i], i, array)))) numbers.push(a); + } - function tanh(x) { - return ((x = Math.exp(2 * x)) - 1) / (x + 1); + return quantile(numbers.sort(ascending), 0.5); } - // p0 = [ux0, uy0, w0] - // p1 = [ux1, uy1, w1] - function zoom(p0, p1) { - var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], - ux1 = p1[0], uy1 = p1[1], w1 = p1[2], - dx = ux1 - ux0, - dy = uy1 - uy0, - d2 = dx * dx + dy * dy, - i, - S; + function merge(arrays) { + var n = arrays.length, + m, + i = -1, + j = 0, + merged, + array; - // Special case for u0 ≅ u1. - if (d2 < epsilon2) { - S = Math.log(w1 / w0) / rho; - i = function(t) { - return [ - ux0 + t * dx, - uy0 + t * dy, - w0 * Math.exp(rho * t * S) - ]; - } - } + while (++i < n) j += arrays[i].length; + merged = new Array(j); - // General case. - else { - var d1 = Math.sqrt(d2), - b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1), - b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1), - r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), - r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1); - S = (r1 - r0) / rho; - i = function(t) { - var s = t * S, - coshr0 = cosh(r0), - u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0)); - return [ - ux0 + u * dx, - uy0 + u * dy, - w0 * coshr0 / cosh(rho * s + r0) - ]; + while (--n >= 0) { + array = arrays[n]; + m = array.length; + while (--m >= 0) { + merged[--j] = array[m]; } } - i.duration = S * 1000; - - return i; + return merged; } - function interpolateHsl(start, end) { - var h = interpolateHue((start = d3Color.hsl(start)).h, (end = d3Color.hsl(end)).h), - s = nogamma(start.s, end.s), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.s = s(t); - start.l = l(t); - start.opacity = opacity(t); - return start + ""; - }; - } + function min(array, f) { + var i = -1, + n = array.length, + a, + b; - function interpolateHslLong(start, end) { - var h = nogamma((start = d3Color.hsl(start)).h, (end = d3Color.hsl(end)).h), - s = nogamma(start.s, end.s), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.s = s(t); - start.l = l(t); - start.opacity = opacity(t); - return start + ""; - }; - } + if (f == null) { + 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; + } - function interpolateLab(start, end) { - var l = nogamma((start = d3Color.lab(start)).l, (end = d3Color.lab(end)).l), - a = nogamma(start.a, end.a), - b = nogamma(start.b, end.b), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.l = l(t); - start.a = a(t); - start.b = b(t); - start.opacity = opacity(t); - return start + ""; - }; + else { + while (++i < n) if ((b = f(array[i], i, array)) != null && b >= b) { a = b; break; } + while (++i < n) if ((b = f(array[i], i, array)) != null && a > b) a = b; + } + + return a; } - function interpolateHcl(start, end) { - var h = interpolateHue((start = d3Color.hcl(start)).h, (end = d3Color.hcl(end)).h), - c = nogamma(start.c, end.c), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.c = c(t); - start.l = l(t); - start.opacity = opacity(t); - return start + ""; - }; + function pairs(array) { + var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n); + while (i < n) pairs[i] = [p, p = array[++i]]; + return pairs; } - function interpolateHclLong(start, end) { - var h = nogamma((start = d3Color.hcl(start)).h, (end = d3Color.hcl(end)).h), - c = nogamma(start.c, end.c), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.c = c(t); - start.l = l(t); - start.opacity = opacity(t); - return start + ""; - }; + function permute(array, indexes) { + var i = indexes.length, permutes = new Array(i); + while (i--) permutes[i] = array[indexes[i]]; + return permutes; } - var cubehelix$1 = (function gamma(y) { - y = +y; + function scan(array, compare) { + if (!(n = array.length)) return; + var i = 0, + n, + j = 0, + xi, + xj = array[j]; - function interpolateCubehelix(start, end) { - var h = interpolateHue((start = d3Color.cubehelix(start)).h, (end = d3Color.cubehelix(end)).h), - s = nogamma(start.s, end.s), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.s = s(t); - start.l = l(Math.pow(t, y)); - start.opacity = opacity(t); - return start + ""; - }; - } + if (!compare) compare = ascending; - interpolateCubehelix.gamma = gamma; + while (++i < n) if (compare(xi = array[i], xj) < 0 || compare(xj, xj) !== 0) xj = xi, j = i; - return interpolateCubehelix; - })(1); + if (compare(xj, xj) === 0) return j; + } - var cubehelixLong = (function gamma(y) { - y = +y; + function shuffle(array, i0, i1) { + var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0), + t, + i; - function interpolateCubehelixLong(start, end) { - var h = nogamma((start = d3Color.cubehelix(start)).h, (end = d3Color.cubehelix(end)).h), - s = nogamma(start.s, end.s), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.s = s(t); - start.l = l(Math.pow(t, y)); - start.opacity = opacity(t); - return start + ""; - }; + while (m) { + i = Math.random() * m-- | 0; + t = array[m + i0]; + array[m + i0] = array[i + i0]; + array[i + i0] = t; } - interpolateCubehelixLong.gamma = gamma; + return array; + } - return interpolateCubehelixLong; - })(1); + function sum(array, f) { + var s = 0, + n = array.length, + a, + i = -1; - var version = "0.7.0"; + if (f == null) { + while (++i < n) if (a = +array[i]) s += a; // Note: zero and null are equivalent. + } + + else { + while (++i < n) if (a = +f(array[i], i, array)) s += a; + } + + return s; + } + + function transpose(matrix) { + if (!(n = matrix.length)) return []; + for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) { + for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) { + row[j] = matrix[j][i]; + } + } + return transpose; + } + + function length(d) { + return d.length; + } + + function zip() { + return transpose(arguments); + } + + var version = "0.7.1"; exports.version = version; - exports.interpolate = value; - exports.interpolateArray = array; - exports.interpolateNumber = number; - exports.interpolateObject = object; - exports.interpolateRound = round; - exports.interpolateString = string; - exports.interpolateTransformCss = interpolateTransformCss; - exports.interpolateTransformSvg = interpolateTransformSvg; - exports.interpolateZoom = zoom; - exports.interpolateRgb = rgb$1; - exports.interpolateHsl = interpolateHsl; - exports.interpolateHslLong = interpolateHslLong; - exports.interpolateLab = interpolateLab; - exports.interpolateHcl = interpolateHcl; - exports.interpolateHclLong = interpolateHclLong; - exports.interpolateCubehelix = cubehelix$1; - exports.interpolateCubehelixLong = cubehelixLong; + exports.bisect = bisectRight; + exports.bisectRight = bisectRight; + exports.bisectLeft = bisectLeft; + exports.ascending = ascending; + exports.bisector = bisector; + exports.descending = descending; + exports.deviation = deviation; + exports.extent = extent; + exports.histogram = histogram; + exports.thresholdFreedmanDiaconis = freedmanDiaconis; + exports.thresholdScott = scott; + exports.thresholdSturges = sturges; + exports.max = max; + exports.mean = mean; + exports.median = median; + exports.merge = merge; + exports.min = min; + exports.pairs = pairs; + exports.permute = permute; + exports.quantile = quantile; + exports.range = range; + exports.scan = scan; + exports.shuffle = shuffle; + exports.sum = sum; + exports.ticks = ticks; + exports.tickStep = tickStep; + exports.transpose = transpose; + exports.variance = variance; + exports.zip = zip; })); -/***/ }, -/* 13 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 21 */ +/***/ (function(module, exports, __webpack_require__) { (function (global, factory) { true ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_color = global.d3_color || {}))); + (factory((global.d3_collection = global.d3_collection || {}))); }(this, function (exports) { 'use strict'; - function define(constructor, factory, prototype) { - constructor.prototype = factory.prototype = prototype; - prototype.constructor = constructor; - } + var prefix = "$"; - function extend(parent, definition) { - var prototype = Object.create(parent.prototype); - for (var key in definition) prototype[key] = definition[key]; - return prototype; + function Map() {} + + Map.prototype = map.prototype = { + constructor: Map, + has: function(key) { + return (prefix + key) in this; + }, + get: function(key) { + return this[prefix + key]; + }, + set: function(key, value) { + this[prefix + key] = value; + return this; + }, + remove: function(key) { + var property = prefix + key; + return property in this && delete this[property]; + }, + clear: function() { + for (var property in this) if (property[0] === prefix) delete this[property]; + }, + keys: function() { + var keys = []; + for (var property in this) if (property[0] === prefix) keys.push(property.slice(1)); + return keys; + }, + values: function() { + var values = []; + for (var property in this) if (property[0] === prefix) values.push(this[property]); + return values; + }, + entries: function() { + var entries = []; + for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]}); + return entries; + }, + size: function() { + var size = 0; + for (var property in this) if (property[0] === prefix) ++size; + return size; + }, + empty: function() { + for (var property in this) if (property[0] === prefix) return false; + return true; + }, + each: function(f) { + for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this); + } + }; + + function map(object, f) { + var map = new Map; + + // Copy constructor. + if (object instanceof Map) object.each(function(value, key) { map.set(key, value); }); + + // Index array by numeric index or specified key function. + else if (Array.isArray(object)) { + var i = -1, + n = object.length, + o; + + if (f == null) while (++i < n) map.set(i, object[i]); + else while (++i < n) map.set(f(o = object[i], i, object), o); + } + + // Convert object to map. + else if (object) for (var key in object) map.set(key, object[key]); + + return map; } - function Color() {} + function nest() { + var keys = [], + sortKeys = [], + sortValues, + rollup, + nest; - var darker = 0.7; - var brighter = 1 / darker; + function apply(array, depth, createResult, setResult) { + if (depth >= keys.length) return rollup + ? rollup(array) : (sortValues + ? array.sort(sortValues) + : array); - var reHex3 = /^#([0-9a-f]{3})$/; - var reHex6 = /^#([0-9a-f]{6})$/; - var reRgbInteger = /^rgb\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*\)$/; - var reRgbPercent = /^rgb\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/; - var reRgbaInteger = /^rgba\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/; - var reRgbaPercent = /^rgba\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/; - var reHslPercent = /^hsl\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/; - var reHslaPercent = /^hsla\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/; - var named = { - aliceblue: 0xf0f8ff, - antiquewhite: 0xfaebd7, - aqua: 0x00ffff, - aquamarine: 0x7fffd4, - azure: 0xf0ffff, - beige: 0xf5f5dc, - bisque: 0xffe4c4, - black: 0x000000, - blanchedalmond: 0xffebcd, - blue: 0x0000ff, - blueviolet: 0x8a2be2, - brown: 0xa52a2a, - burlywood: 0xdeb887, - cadetblue: 0x5f9ea0, - chartreuse: 0x7fff00, - chocolate: 0xd2691e, - coral: 0xff7f50, - cornflowerblue: 0x6495ed, - cornsilk: 0xfff8dc, - crimson: 0xdc143c, - cyan: 0x00ffff, - darkblue: 0x00008b, - darkcyan: 0x008b8b, - darkgoldenrod: 0xb8860b, - darkgray: 0xa9a9a9, - darkgreen: 0x006400, - darkgrey: 0xa9a9a9, - darkkhaki: 0xbdb76b, - darkmagenta: 0x8b008b, - darkolivegreen: 0x556b2f, - darkorange: 0xff8c00, - darkorchid: 0x9932cc, - darkred: 0x8b0000, - darksalmon: 0xe9967a, - darkseagreen: 0x8fbc8f, - darkslateblue: 0x483d8b, - darkslategray: 0x2f4f4f, - darkslategrey: 0x2f4f4f, - darkturquoise: 0x00ced1, - darkviolet: 0x9400d3, - deeppink: 0xff1493, - deepskyblue: 0x00bfff, - dimgray: 0x696969, - dimgrey: 0x696969, - dodgerblue: 0x1e90ff, - firebrick: 0xb22222, - floralwhite: 0xfffaf0, - forestgreen: 0x228b22, - fuchsia: 0xff00ff, - gainsboro: 0xdcdcdc, - ghostwhite: 0xf8f8ff, - gold: 0xffd700, - goldenrod: 0xdaa520, - gray: 0x808080, - green: 0x008000, - greenyellow: 0xadff2f, - grey: 0x808080, - honeydew: 0xf0fff0, - hotpink: 0xff69b4, - indianred: 0xcd5c5c, - indigo: 0x4b0082, - ivory: 0xfffff0, - khaki: 0xf0e68c, - lavender: 0xe6e6fa, - lavenderblush: 0xfff0f5, - lawngreen: 0x7cfc00, - lemonchiffon: 0xfffacd, - lightblue: 0xadd8e6, - lightcoral: 0xf08080, - lightcyan: 0xe0ffff, - lightgoldenrodyellow: 0xfafad2, - lightgray: 0xd3d3d3, - lightgreen: 0x90ee90, - lightgrey: 0xd3d3d3, - lightpink: 0xffb6c1, - lightsalmon: 0xffa07a, - lightseagreen: 0x20b2aa, - lightskyblue: 0x87cefa, - lightslategray: 0x778899, - lightslategrey: 0x778899, - lightsteelblue: 0xb0c4de, - lightyellow: 0xffffe0, - lime: 0x00ff00, - limegreen: 0x32cd32, - linen: 0xfaf0e6, - magenta: 0xff00ff, - maroon: 0x800000, - mediumaquamarine: 0x66cdaa, - mediumblue: 0x0000cd, - mediumorchid: 0xba55d3, - mediumpurple: 0x9370db, - mediumseagreen: 0x3cb371, - mediumslateblue: 0x7b68ee, - mediumspringgreen: 0x00fa9a, - mediumturquoise: 0x48d1cc, - mediumvioletred: 0xc71585, - midnightblue: 0x191970, - mintcream: 0xf5fffa, - mistyrose: 0xffe4e1, - moccasin: 0xffe4b5, - navajowhite: 0xffdead, - navy: 0x000080, - oldlace: 0xfdf5e6, - olive: 0x808000, - olivedrab: 0x6b8e23, - orange: 0xffa500, - orangered: 0xff4500, - orchid: 0xda70d6, - palegoldenrod: 0xeee8aa, - palegreen: 0x98fb98, - paleturquoise: 0xafeeee, - palevioletred: 0xdb7093, - papayawhip: 0xffefd5, - peachpuff: 0xffdab9, - peru: 0xcd853f, - pink: 0xffc0cb, - plum: 0xdda0dd, - powderblue: 0xb0e0e6, - purple: 0x800080, - rebeccapurple: 0x663399, - red: 0xff0000, - rosybrown: 0xbc8f8f, - royalblue: 0x4169e1, - saddlebrown: 0x8b4513, - salmon: 0xfa8072, - sandybrown: 0xf4a460, - seagreen: 0x2e8b57, - seashell: 0xfff5ee, - sienna: 0xa0522d, - silver: 0xc0c0c0, - skyblue: 0x87ceeb, - slateblue: 0x6a5acd, - slategray: 0x708090, - slategrey: 0x708090, - snow: 0xfffafa, - springgreen: 0x00ff7f, - steelblue: 0x4682b4, - tan: 0xd2b48c, - teal: 0x008080, - thistle: 0xd8bfd8, - tomato: 0xff6347, - turquoise: 0x40e0d0, - violet: 0xee82ee, - wheat: 0xf5deb3, - white: 0xffffff, - whitesmoke: 0xf5f5f5, - yellow: 0xffff00, - yellowgreen: 0x9acd32 - }; + var i = -1, + n = array.length, + key = keys[depth++], + keyValue, + value, + valuesByKey = map(), + values, + result = createResult(); - define(Color, color, { - displayable: function() { - return this.rgb().displayable(); - }, - toString: function() { - return this.rgb() + ""; + while (++i < n) { + if (values = valuesByKey.get(keyValue = key(value = array[i]) + "")) { + values.push(value); + } else { + valuesByKey.set(keyValue, [value]); + } + } + + valuesByKey.each(function(values, key) { + setResult(result, key, apply(values, depth, createResult, setResult)); + }); + + return result; } - }); - function color(format) { - var m; - format = (format + "").trim().toLowerCase(); - return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb((m >> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00 - : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000 - : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0) - : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%) - : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1) - : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1) - : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%) - : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1) - : named.hasOwnProperty(format) ? rgbn(named[format]) - : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) - : null; - } + function entries(map, depth) { + if (depth >= keys.length) return map; - function rgbn(n) { - return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1); + var array = [], + sortKey = sortKeys[depth++]; + + map.each(function(value, key) { + array.push({key: key, values: entries(value, depth)}); + }); + + return sortKey + ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) + : array; + } + + return nest = { + object: function(array) { return apply(array, 0, createObject, setObject); }, + map: function(array) { return apply(array, 0, createMap, setMap); }, + entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); }, + key: function(d) { keys.push(d); return nest; }, + sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; }, + sortValues: function(order) { sortValues = order; return nest; }, + rollup: function(f) { rollup = f; return nest; } + }; } - function rgba(r, g, b, a) { - if (a <= 0) r = g = b = NaN; - return new Rgb(r, g, b, a); + function createObject() { + return {}; } - function rgbConvert(o) { - if (!(o instanceof Color)) o = color(o); - if (!o) return new Rgb; - o = o.rgb(); - return new Rgb(o.r, o.g, o.b, o.opacity); + function setObject(object, key, value) { + object[key] = value; } - function rgb(r, g, b, opacity) { - return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity); + function createMap() { + return map(); } - function Rgb(r, g, b, opacity) { - this.r = +r; - this.g = +g; - this.b = +b; - this.opacity = +opacity; + function setMap(map, key, value) { + map.set(key, value); } - define(Rgb, rgb, extend(Color, { - brighter: function(k) { - k = k == null ? brighter : Math.pow(brighter, k); - return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); - }, - darker: function(k) { - k = k == null ? darker : Math.pow(darker, k); - return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); - }, - rgb: function() { + function Set() {} + + var proto = map.prototype; + + Set.prototype = set.prototype = { + constructor: Set, + has: proto.has, + add: function(value) { + value += ""; + this[prefix + value] = value; return this; }, - displayable: function() { - return (0 <= this.r && this.r <= 255) - && (0 <= this.g && this.g <= 255) - && (0 <= this.b && this.b <= 255) - && (0 <= this.opacity && this.opacity <= 1); - }, - toString: function() { - var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a)); - return (a === 1 ? "rgb(" : "rgba(") - + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " - + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " - + Math.max(0, Math.min(255, Math.round(this.b) || 0)) - + (a === 1 ? ")" : ", " + a + ")"); - } - })); + remove: proto.remove, + clear: proto.clear, + values: proto.keys, + size: proto.size, + empty: proto.empty, + each: proto.each + }; - function hsla(h, s, l, a) { - if (a <= 0) h = s = l = NaN; - else if (l <= 0 || l >= 1) h = s = NaN; - else if (s <= 0) h = NaN; - return new Hsl(h, s, l, a); - } + function set(object, f) { + var set = new Set; - function hslConvert(o) { - if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity); - if (!(o instanceof Color)) o = color(o); - if (!o) return new Hsl; - if (o instanceof Hsl) return o; - o = o.rgb(); - var r = o.r / 255, - g = o.g / 255, - b = o.b / 255, - min = Math.min(r, g, b), - max = Math.max(r, g, b), - h = NaN, - s = max - min, - l = (max + min) / 2; - if (s) { - if (r === max) h = (g - b) / s + (g < b) * 6; - else if (g === max) h = (b - r) / s + 2; - else h = (r - g) / s + 4; - s /= l < 0.5 ? max + min : 2 - max - min; - h *= 60; - } else { - s = l > 0 && l < 1 ? 0 : h; + // Copy constructor. + if (object instanceof Set) object.each(function(value) { set.add(value); }); + + // Otherwise, assume it’s an array. + else if (object) { + var i = -1, n = object.length; + if (f == null) while (++i < n) set.add(object[i]); + else while (++i < n) set.add(f(object[i], i, object)); } - return new Hsl(h, s, l, o.opacity); - } - function hsl(h, s, l, opacity) { - return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity); + return set; } - function Hsl(h, s, l, opacity) { - this.h = +h; - this.s = +s; - this.l = +l; - this.opacity = +opacity; + function keys(map) { + var keys = []; + for (var key in map) keys.push(key); + return keys; } - define(Hsl, hsl, extend(Color, { - brighter: function(k) { - k = k == null ? brighter : Math.pow(brighter, k); - return new Hsl(this.h, this.s, this.l * k, this.opacity); - }, - darker: function(k) { - k = k == null ? darker : Math.pow(darker, k); - return new Hsl(this.h, this.s, this.l * k, this.opacity); - }, - rgb: function() { - var h = this.h % 360 + (this.h < 0) * 360, - s = isNaN(h) || isNaN(this.s) ? 0 : this.s, - l = this.l, - m2 = l + (l < 0.5 ? l : 1 - l) * s, - m1 = 2 * l - m2; - return new Rgb( - hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), - hsl2rgb(h, m1, m2), - hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), - this.opacity - ); - }, - displayable: function() { - return (0 <= this.s && this.s <= 1 || isNaN(this.s)) - && (0 <= this.l && this.l <= 1) - && (0 <= this.opacity && this.opacity <= 1); - } - })); + function values(map) { + var values = []; + for (var key in map) values.push(map[key]); + return values; + } - /* From FvD 13.37, CSS Color Module Level 3 */ - function hsl2rgb(h, m1, m2) { - return (h < 60 ? m1 + (m2 - m1) * h / 60 - : h < 180 ? m2 - : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 - : m1) * 255; + function entries(map) { + var entries = []; + for (var key in map) entries.push({key: key, value: map[key]}); + return entries; } - var deg2rad = Math.PI / 180; - var rad2deg = 180 / Math.PI; + var version = "0.1.2"; - var Kn = 18; - var Xn = 0.950470; - var Yn = 1; - var Zn = 1.088830; - var t0 = 4 / 29; - var t1 = 6 / 29; - var t2 = 3 * t1 * t1; - var t3 = t1 * t1 * t1; - function labConvert(o) { - if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity); - if (o instanceof Hcl) { - var h = o.h * deg2rad; - return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity); - } - if (!(o instanceof Rgb)) o = rgbConvert(o); - var b = rgb2xyz(o.r), - a = rgb2xyz(o.g), - l = rgb2xyz(o.b), - x = xyz2lab((0.4124564 * b + 0.3575761 * a + 0.1804375 * l) / Xn), - y = xyz2lab((0.2126729 * b + 0.7151522 * a + 0.0721750 * l) / Yn), - z = xyz2lab((0.0193339 * b + 0.1191920 * a + 0.9503041 * l) / Zn); - return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity); - } + exports.version = version; + exports.nest = nest; + exports.set = set; + exports.map = map; + exports.keys = keys; + exports.values = values; + exports.entries = entries; - function lab(l, a, b, opacity) { - return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity); - } + })); - function Lab(l, a, b, opacity) { - this.l = +l; - this.a = +a; - this.b = +b; - this.opacity = +opacity; - } +/***/ }), +/* 22 */ +/***/ (function(module, exports, __webpack_require__) { - define(Lab, lab, extend(Color, { - brighter: function(k) { - return new Lab(this.l + Kn * (k == null ? 1 : k), this.a, this.b, this.opacity); - }, - darker: function(k) { - return new Lab(this.l - Kn * (k == null ? 1 : k), this.a, this.b, this.opacity); - }, - rgb: function() { - var y = (this.l + 16) / 116, - x = isNaN(this.a) ? y : y + this.a / 500, - z = isNaN(this.b) ? y : y - this.b / 200; - y = Yn * lab2xyz(y); - x = Xn * lab2xyz(x); - z = Zn * lab2xyz(z); - return new Rgb( - xyz2rgb( 3.2404542 * x - 1.5371385 * y - 0.4985314 * z), // D65 -> sRGB - xyz2rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z), - xyz2rgb( 0.0556434 * x - 0.2040259 * y + 1.0572252 * z), - this.opacity - ); - } - })); + (function (global, factory) { + true ? factory(exports, __webpack_require__(23)) : + typeof define === 'function' && define.amd ? define(['exports', 'd3-color'], factory) : + (factory((global.d3_interpolate = global.d3_interpolate || {}),global.d3_color)); + }(this, function (exports,d3Color) { 'use strict'; - function xyz2lab(t) { - return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0; + function constant(x) { + return function() { + return x; + }; } - function lab2xyz(t) { - return t > t1 ? t * t * t : t2 * (t - t0); + function linear(a, d) { + return function(t) { + return a + t * d; + }; } - function xyz2rgb(x) { - return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055); + function exponential(a, b, y) { + return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) { + return Math.pow(a + t * b, y); + }; } - function rgb2xyz(x) { - return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4); + function interpolateHue(a, b) { + var d = b - a; + return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a); } - function hclConvert(o) { - if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity); - if (!(o instanceof Lab)) o = labConvert(o); - var h = Math.atan2(o.b, o.a) * rad2deg; - return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity); + function gamma(y) { + return (y = +y) === 1 ? nogamma : function(a, b) { + return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a); + }; } - function hcl(h, c, l, opacity) { - return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity); + function nogamma(a, b) { + var d = b - a; + return d ? linear(a, d) : constant(isNaN(a) ? b : a); } - function Hcl(h, c, l, opacity) { - this.h = +h; - this.c = +c; - this.l = +l; - this.opacity = +opacity; - } + var rgb$1 = (function gamma$$(y) { + var interpolateColor = gamma(y); - define(Hcl, hcl, extend(Color, { - brighter: function(k) { - return new Hcl(this.h, this.c, this.l + Kn * (k == null ? 1 : k), this.opacity); - }, - darker: function(k) { - return new Hcl(this.h, this.c, this.l - Kn * (k == null ? 1 : k), this.opacity); - }, - rgb: function() { - return labConvert(this).rgb(); + function interpolateRgb(start, end) { + var r = interpolateColor((start = d3Color.rgb(start)).r, (end = d3Color.rgb(end)).r), + g = interpolateColor(start.g, end.g), + b = interpolateColor(start.b, end.b), + opacity = interpolateColor(start.opacity, end.opacity); + return function(t) { + start.r = r(t); + start.g = g(t); + start.b = b(t); + start.opacity = opacity(t); + return start + ""; + }; } - })); - - var A = -0.14861; - var B = +1.78277; - var C = -0.29227; - var D = -0.90649; - var E = +1.97294; - var ED = E * D; - var EB = E * B; - var BC_DA = B * C - D * A; - function cubehelixConvert(o) { - if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity); - if (!(o instanceof Rgb)) o = rgbConvert(o); - var r = o.r / 255, - g = o.g / 255, - b = o.b / 255, - l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB), - bl = b - l, - k = (E * (g - l) - C * bl) / D, - s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1 - h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN; - return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity); - } - function cubehelix(h, s, l, opacity) { - return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity); - } + interpolateRgb.gamma = gamma$$; - function Cubehelix(h, s, l, opacity) { - this.h = +h; - this.s = +s; - this.l = +l; - this.opacity = +opacity; - } + return interpolateRgb; + })(1); - define(Cubehelix, cubehelix, extend(Color, { - brighter: function(k) { - k = k == null ? brighter : Math.pow(brighter, k); - return new Cubehelix(this.h, this.s, this.l * k, this.opacity); - }, - darker: function(k) { - k = k == null ? darker : Math.pow(darker, k); - return new Cubehelix(this.h, this.s, this.l * k, this.opacity); - }, - rgb: function() { - var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad, - l = +this.l, - a = isNaN(this.s) ? 0 : this.s * l * (1 - l), - cosh = Math.cos(h), - sinh = Math.sin(h); - return new Rgb( - 255 * (l + a * (A * cosh + B * sinh)), - 255 * (l + a * (C * cosh + D * sinh)), - 255 * (l + a * (E * cosh)), - this.opacity - ); - } - })); + // TODO sparse arrays? + function array(a, b) { + var x = [], + c = [], + na = a ? a.length : 0, + nb = b ? b.length : 0, + n0 = Math.min(na, nb), + i; - var version = "0.4.2"; + for (i = 0; i < n0; ++i) x.push(value(a[i], b[i])); + for (; i < na; ++i) c[i] = a[i]; + for (; i < nb; ++i) c[i] = b[i]; - exports.version = version; - exports.color = color; - exports.rgb = rgb; - exports.hsl = hsl; - exports.lab = lab; - exports.hcl = hcl; - exports.cubehelix = cubehelix; + return function(t) { + for (i = 0; i < n0; ++i) c[i] = x[i](t); + return c; + }; + } - })); + function number(a, b) { + return a = +a, b -= a, function(t) { + return a + b * t; + }; + } -/***/ }, -/* 14 */ -/***/ function(module, exports, __webpack_require__) { + function object(a, b) { + var i = {}, + c = {}, + k; - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_format = {}))); - }(this, function (exports) { 'use strict'; + if (a === null || typeof a !== "object") a = {}; + if (b === null || typeof b !== "object") b = {}; - // Computes the decimal coefficient and exponent of the specified number x with - // significant digits p, where x is positive and p is in [1, 21] or undefined. - // For example, formatDecimal(1.23) returns ["123", 0]. - function formatDecimal(x, p) { - if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity - var i, coefficient = x.slice(0, i); + for (k in a) { + if (k in b) { + i[k] = value(a[k], b[k]); + } else { + c[k] = a[k]; + } + } - // The string returned by toExponential either has the form \d\.\d+e[-+]\d+ - // (e.g., 1.2e+3) or the form \de[-+]\d+ (e.g., 1e+3). - return [ - coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient, - +x.slice(i + 1) - ]; - } + for (k in b) { + if (!(k in a)) { + c[k] = b[k]; + } + } - function exponent(x) { - return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN; + return function(t) { + for (k in i) c[k] = i[k](t); + return c; + }; } - function formatGroup(grouping, thousands) { - return function(value, width) { - var i = value.length, - t = [], - j = 0, - g = 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 = grouping[j = (j + 1) % grouping.length]; - } + var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g; + var reB = new RegExp(reA.source, "g"); + function zero(b) { + return function() { + return b; + }; + } - return t.reverse().join(thousands); + function one(b) { + return function(t) { + return b(t) + ""; }; } - function formatDefault(x, p) { - x = x.toPrecision(p); + function string(a, b) { + var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b + am, // current match in a + bm, // current match in b + bs, // string preceding current number in b, if any + i = -1, // index in s + s = [], // string constants and placeholders + q = []; // number interpolators - out: for (var n = x.length, i = 1, i0 = -1, i1; i < n; ++i) { - switch (x[i]) { - case ".": i0 = i1 = i; break; - case "0": if (i0 === 0) i0 = i; i1 = i; break; - case "e": break out; - default: if (i0 > 0) i0 = 0; break; + // Coerce inputs to strings. + a = a + "", b = b + ""; + + // Interpolate pairs of numbers in a & b. + while ((am = reA.exec(a)) + && (bm = reB.exec(b))) { + if ((bs = bm.index) > bi) { // a string precedes the next number in b + bs = b.slice(bi, bs); + if (s[i]) s[i] += bs; // coalesce with previous string + else s[++i] = bs; + } + if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match + if (s[i]) s[i] += bm; // coalesce with previous string + else s[++i] = bm; + } else { // interpolate non-matching numbers + s[++i] = null; + q.push({i: i, x: number(am, bm)}); } + bi = reB.lastIndex; } - return i0 > 0 ? x.slice(0, i0) + x.slice(i1 + 1) : x; - } + // Add remains of b. + if (bi < b.length) { + bs = b.slice(bi); + if (s[i]) s[i] += bs; // coalesce with previous string + else s[++i] = bs; + } - var prefixExponent; + // Special optimization for only a single match. + // Otherwise, interpolate each of the numbers and rejoin the string. + return s.length < 2 ? (q[0] + ? one(q[0].x) + : zero(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(""); + }); + } - function formatPrefixAuto(x, p) { - var d = formatDecimal(x, p); - if (!d) return x + ""; - var coefficient = d[0], - exponent = d[1], - i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1, - n = coefficient.length; - return i === n ? coefficient - : i > n ? coefficient + new Array(i - n + 1).join("0") - : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i) - : "0." + new Array(1 - i).join("0") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y! + function value(a, b) { + var t = typeof b, c; + return b == null || t === "boolean" ? constant(b) + : (t === "number" ? number + : t === "string" ? ((c = d3Color.color(b)) ? (b = c, rgb$1) : string) + : b instanceof d3Color.color ? rgb$1 + : Array.isArray(b) ? array + : object)(a, b); } - function formatRounded(x, p) { - var d = formatDecimal(x, p); - if (!d) return x + ""; - var coefficient = d[0], - exponent = d[1]; - return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient - : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1) - : coefficient + new Array(exponent - coefficient.length + 2).join("0"); + function round(a, b) { + return a = +a, b -= a, function(t) { + return Math.round(a + b * t); + }; } - var formatTypes = { - "": formatDefault, - "%": function(x, p) { return (x * 100).toFixed(p); }, - "b": function(x) { return Math.round(x).toString(2); }, - "c": function(x) { return x + ""; }, - "d": function(x) { return Math.round(x).toString(10); }, - "e": function(x, p) { return x.toExponential(p); }, - "f": function(x, p) { return x.toFixed(p); }, - "g": function(x, p) { return x.toPrecision(p); }, - "o": function(x) { return Math.round(x).toString(8); }, - "p": function(x, p) { return formatRounded(x * 100, p); }, - "r": formatRounded, - "s": formatPrefixAuto, - "X": function(x) { return Math.round(x).toString(16).toUpperCase(); }, - "x": function(x) { return Math.round(x).toString(16); } - }; + var rad2deg = 180 / Math.PI; - // [[fill]align][sign][symbol][0][width][,][.precision][type] - var re = /^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i; + var identity = { + translateX: 0, + translateY: 0, + rotate: 0, + skewX: 0, + scaleX: 1, + scaleY: 1 + }; - function formatSpecifier(specifier) { - return new FormatSpecifier(specifier); - } + function decompose(a, b, c, d, e, f) { + if (a * d === b * c) return null; - function FormatSpecifier(specifier) { - if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier); + var scaleX = Math.sqrt(a * a + b * b); + a /= scaleX, b /= scaleX; - var match, - fill = match[1] || " ", - align = match[2] || ">", - sign = match[3] || "-", - symbol = match[4] || "", - zero = !!match[5], - width = match[6] && +match[6], - comma = !!match[7], - precision = match[8] && +match[8].slice(1), - type = match[9] || ""; + var skewX = a * c + b * d; + c -= a * skewX, d -= b * skewX; - // The "n" type is an alias for ",g". - if (type === "n") comma = true, type = "g"; + var scaleY = Math.sqrt(c * c + d * d); + c /= scaleY, d /= scaleY, skewX /= scaleY; - // Map invalid types to the default format. - else if (!formatTypes[type]) type = ""; + if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX; - // If zero fill is specified, padding goes after sign and before digits. - if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "="; - - this.fill = fill; - this.align = align; - this.sign = sign; - this.symbol = symbol; - this.zero = zero; - this.width = width; - this.comma = comma; - this.precision = precision; - this.type = type; + return { + translateX: e, + translateY: f, + rotate: Math.atan2(b, a) * rad2deg, + skewX: Math.atan(skewX) * rad2deg, + scaleX: scaleX, + scaleY: scaleY + }; } - FormatSpecifier.prototype.toString = function() { - return this.fill - + this.align - + this.sign - + this.symbol - + (this.zero ? "0" : "") - + (this.width == null ? "" : Math.max(1, this.width | 0)) - + (this.comma ? "," : "") - + (this.precision == null ? "" : "." + Math.max(0, this.precision | 0)) - + this.type; - }; - - var prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"]; - - function identity(x) { - return x; + var cssNode; + var cssRoot; + var cssView; + var svgNode; + function parseCss(value) { + if (value === "none") return identity; + if (!cssNode) cssNode = document.createElement("DIV"), cssRoot = document.documentElement, cssView = document.defaultView; + cssNode.style.transform = value; + value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue("transform"); + cssRoot.removeChild(cssNode); + var m = value.slice(7, -1).split(","); + return decompose(+m[0], +m[1], +m[2], +m[3], +m[4], +m[5]); } - function locale(locale) { - var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity, - currency = locale.currency, - decimal = locale.decimal; - - function newFormat(specifier) { - specifier = formatSpecifier(specifier); - - var fill = specifier.fill, - align = specifier.align, - sign = specifier.sign, - symbol = specifier.symbol, - zero = specifier.zero, - width = specifier.width, - comma = specifier.comma, - precision = specifier.precision, - type = specifier.type; + function parseSvg(value) { + if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g"); + svgNode.setAttribute("transform", value == null ? "" : value); + var m = svgNode.transform.baseVal.consolidate().matrix; + return decompose(m.a, m.b, m.c, m.d, m.e, m.f); + } - // Compute the prefix and suffix. - // For SI-prefix, the suffix is lazily computed. - var prefix = symbol === "$" ? currency[0] : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "", - suffix = symbol === "$" ? currency[1] : /[%p]/.test(type) ? "%" : ""; + function interpolateTransform(parse, pxComma, pxParen, degParen) { - // What format function should we use? - // Is this an integer type? - // Can this type generate exponential notation? - var formatType = formatTypes[type], - maybeSuffix = !type || /[defgprs%]/.test(type); + function pop(s) { + return s.length ? s.pop() + " " : ""; + } - // Set the default precision if not specified, - // or clamp the specified precision to the supported range. - // For significant precision, it must be in [1, 21]. - // For fixed precision, it must be in [0, 20]. - precision = precision == null ? (type ? 6 : 12) - : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) - : Math.max(0, Math.min(20, precision)); + function translate(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push("translate(", null, pxComma, null, pxParen); + q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)}); + } else if (xb || yb) { + s.push("translate(" + xb + pxComma + yb + pxParen); + } + } - function format(value) { - var valuePrefix = prefix, - valueSuffix = suffix, - i, n, c; + function rotate(a, b, s, q) { + if (a !== b) { + if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path + q.push({i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: number(a, b)}); + } else if (b) { + s.push(pop(s) + "rotate(" + b + degParen); + } + } - if (type === "c") { - valueSuffix = formatType(value) + valueSuffix; - value = ""; - } else { - value = +value; + function skewX(a, b, s, q) { + if (a !== b) { + q.push({i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: number(a, b)}); + } else if (b) { + s.push(pop(s) + "skewX(" + b + degParen); + } + } - // Convert negative to positive, and compute the prefix. - // Note that -0 is not less than 0, but 1 / -0 is! - var valueNegative = (value < 0 || 1 / value < 0) && (value *= -1, true); + function scale(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push(pop(s) + "scale(", null, ",", null, ")"); + q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)}); + } else if (xb !== 1 || yb !== 1) { + s.push(pop(s) + "scale(" + xb + "," + yb + ")"); + } + } - // Perform the initial formatting. - value = formatType(value, precision); + return function(a, b) { + var s = [], // string constants and placeholders + q = []; // number interpolators + a = parse(a), b = parse(b); + translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q); + rotate(a.rotate, b.rotate, s, q); + skewX(a.skewX, b.skewX, s, q); + scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q); + a = b = null; // gc + return function(t) { + var i = -1, n = q.length, o; + while (++i < n) s[(o = q[i]).i] = o.x(t); + return s.join(""); + }; + }; + } - // If the original value was negative, it may be rounded to zero during - // formatting; treat this as (positive) zero. - if (valueNegative) { - i = -1, n = value.length; - valueNegative = false; - while (++i < n) { - if (c = value.charCodeAt(i), (48 < c && c < 58) - || (type === "x" && 96 < c && c < 103) - || (type === "X" && 64 < c && c < 71)) { - valueNegative = true; - break; - } - } - } + var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)"); + var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")"); - // Compute the prefix and suffix. - valuePrefix = (valueNegative ? (sign === "(" ? sign : "-") : sign === "-" || sign === "(" ? "" : sign) + valuePrefix; - valueSuffix = valueSuffix + (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + (valueNegative && sign === "(" ? ")" : ""); + var rho = Math.SQRT2; + var rho2 = 2; + var rho4 = 4; + var epsilon2 = 1e-12; + function cosh(x) { + return ((x = Math.exp(x)) + 1 / x) / 2; + } - // Break the formatted value into the integer “value” part that can be - // grouped, and fractional or exponential “suffix” part that is not. - if (maybeSuffix) { - i = -1, n = value.length; - while (++i < n) { - if (c = value.charCodeAt(i), 48 > c || c > 57) { - valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix; - value = value.slice(0, i); - break; - } - } - } - } + function sinh(x) { + return ((x = Math.exp(x)) - 1 / x) / 2; + } - // If the fill character is not "0", grouping is applied before padding. - if (comma && !zero) value = group(value, Infinity); + function tanh(x) { + return ((x = Math.exp(2 * x)) - 1) / (x + 1); + } - // Compute the padding. - var length = valuePrefix.length + value.length + valueSuffix.length, - padding = length < width ? new Array(width - length + 1).join(fill) : ""; + // p0 = [ux0, uy0, w0] + // p1 = [ux1, uy1, w1] + function zoom(p0, p1) { + var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], + ux1 = p1[0], uy1 = p1[1], w1 = p1[2], + dx = ux1 - ux0, + dy = uy1 - uy0, + d2 = dx * dx + dy * dy, + i, + S; - // If the fill character is "0", grouping is applied after padding. - if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = ""; + // Special case for u0 ≅ u1. + if (d2 < epsilon2) { + S = Math.log(w1 / w0) / rho; + i = function(t) { + return [ + ux0 + t * dx, + uy0 + t * dy, + w0 * Math.exp(rho * t * S) + ]; + } + } - // Reconstruct the final output based on the desired alignment. - switch (align) { - case "<": return valuePrefix + value + valueSuffix + padding; - case "=": return valuePrefix + padding + value + valueSuffix; - case "^": return padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); - } - return padding + valuePrefix + value + valueSuffix; + // General case. + else { + var d1 = Math.sqrt(d2), + b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1), + b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1), + r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), + r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1); + S = (r1 - r0) / rho; + i = function(t) { + var s = t * S, + coshr0 = cosh(r0), + u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0)); + return [ + ux0 + u * dx, + uy0 + u * dy, + w0 * coshr0 / cosh(rho * s + r0) + ]; } + } - format.toString = function() { - return specifier + ""; - }; + i.duration = S * 1000; - return format; - } + return i; + } - function formatPrefix(specifier, value) { - var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)), - e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3, - k = Math.pow(10, -e), - prefix = prefixes[8 + e / 3]; - return function(value) { - return f(k * value) + prefix; - }; - } + function interpolateHsl(start, end) { + var h = interpolateHue((start = d3Color.hsl(start)).h, (end = d3Color.hsl(end)).h), + s = nogamma(start.s, end.s), + l = nogamma(start.l, end.l), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.h = h(t); + start.s = s(t); + start.l = l(t); + start.opacity = opacity(t); + return start + ""; + }; + } - return { - format: newFormat, - formatPrefix: formatPrefix + function interpolateHslLong(start, end) { + var h = nogamma((start = d3Color.hsl(start)).h, (end = d3Color.hsl(end)).h), + s = nogamma(start.s, end.s), + l = nogamma(start.l, end.l), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.h = h(t); + start.s = s(t); + start.l = l(t); + start.opacity = opacity(t); + return start + ""; }; } - var defaultLocale = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["$", ""] - }); + function interpolateLab(start, end) { + var l = nogamma((start = d3Color.lab(start)).l, (end = d3Color.lab(end)).l), + a = nogamma(start.a, end.a), + b = nogamma(start.b, end.b), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.l = l(t); + start.a = a(t); + start.b = b(t); + start.opacity = opacity(t); + return start + ""; + }; + } - var caES = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0€"] - }); + function interpolateHcl(start, end) { + var h = interpolateHue((start = d3Color.hcl(start)).h, (end = d3Color.hcl(end)).h), + c = nogamma(start.c, end.c), + l = nogamma(start.l, end.l), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.h = h(t); + start.c = c(t); + start.l = l(t); + start.opacity = opacity(t); + return start + ""; + }; + } - var csCZ = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "\xa0Kč"] - }); + function interpolateHclLong(start, end) { + var h = nogamma((start = d3Color.hcl(start)).h, (end = d3Color.hcl(end)).h), + c = nogamma(start.c, end.c), + l = nogamma(start.l, end.l), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.h = h(t); + start.c = c(t); + start.l = l(t); + start.opacity = opacity(t); + return start + ""; + }; + } - var deCH = locale({ - decimal: ",", - thousands: "'", - grouping: [3], - currency: ["", "\xa0CHF"] - }); + var cubehelix$1 = (function gamma(y) { + y = +y; - var deDE = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0€"] - }); + function interpolateCubehelix(start, end) { + var h = interpolateHue((start = d3Color.cubehelix(start)).h, (end = d3Color.cubehelix(end)).h), + s = nogamma(start.s, end.s), + l = nogamma(start.l, end.l), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.h = h(t); + start.s = s(t); + start.l = l(Math.pow(t, y)); + start.opacity = opacity(t); + return start + ""; + }; + } - var enCA = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["$", ""] - }); + interpolateCubehelix.gamma = gamma; - var enGB = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["£", ""] - }); + return interpolateCubehelix; + })(1); - var esES = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0€"] - }); + var cubehelixLong = (function gamma(y) { + y = +y; - var fiFI = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "\xa0€"] - }); + function interpolateCubehelixLong(start, end) { + var h = nogamma((start = d3Color.cubehelix(start)).h, (end = d3Color.cubehelix(end)).h), + s = nogamma(start.s, end.s), + l = nogamma(start.l, end.l), + opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.h = h(t); + start.s = s(t); + start.l = l(Math.pow(t, y)); + start.opacity = opacity(t); + return start + ""; + }; + } - var frCA = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "$"] - }); + interpolateCubehelixLong.gamma = gamma; - var frFR = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0€"] - }); + return interpolateCubehelixLong; + })(1); - var heIL = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["₪", ""] - }); + var version = "0.7.0"; - var huHU = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "\xa0Ft"] - }); + exports.version = version; + exports.interpolate = value; + exports.interpolateArray = array; + exports.interpolateNumber = number; + exports.interpolateObject = object; + exports.interpolateRound = round; + exports.interpolateString = string; + exports.interpolateTransformCss = interpolateTransformCss; + exports.interpolateTransformSvg = interpolateTransformSvg; + exports.interpolateZoom = zoom; + exports.interpolateRgb = rgb$1; + exports.interpolateHsl = interpolateHsl; + exports.interpolateHslLong = interpolateHslLong; + exports.interpolateLab = interpolateLab; + exports.interpolateHcl = interpolateHcl; + exports.interpolateHclLong = interpolateHclLong; + exports.interpolateCubehelix = cubehelix$1; + exports.interpolateCubehelixLong = cubehelixLong; - var itIT = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["€", ""] - }); + })); - var jaJP = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["", "円"] - }); +/***/ }), +/* 23 */ +/***/ (function(module, exports, __webpack_require__) { - var koKR = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["₩", ""] - }); + (function (global, factory) { + true ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.d3_color = global.d3_color || {}))); + }(this, function (exports) { 'use strict'; - var mkMK = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0ден."] - }); + function define(constructor, factory, prototype) { + constructor.prototype = factory.prototype = prototype; + prototype.constructor = constructor; + } - var nlNL = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["€\xa0", ""] - }); + function extend(parent, definition) { + var prototype = Object.create(parent.prototype); + for (var key in definition) prototype[key] = definition[key]; + return prototype; + } - var plPL = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "zł"] - }); + function Color() {} - var ptBR = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["R$", ""] - }); + var darker = 0.7; + var brighter = 1 / darker; - var ruRU = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "\xa0руб."] - }); + var reHex3 = /^#([0-9a-f]{3})$/; + var reHex6 = /^#([0-9a-f]{6})$/; + var reRgbInteger = /^rgb\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*\)$/; + var reRgbPercent = /^rgb\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/; + var reRgbaInteger = /^rgba\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/; + var reRgbaPercent = /^rgba\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/; + var reHslPercent = /^hsl\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/; + var reHslaPercent = /^hsla\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/; + var named = { + aliceblue: 0xf0f8ff, + antiquewhite: 0xfaebd7, + aqua: 0x00ffff, + aquamarine: 0x7fffd4, + azure: 0xf0ffff, + beige: 0xf5f5dc, + bisque: 0xffe4c4, + black: 0x000000, + blanchedalmond: 0xffebcd, + blue: 0x0000ff, + blueviolet: 0x8a2be2, + brown: 0xa52a2a, + burlywood: 0xdeb887, + cadetblue: 0x5f9ea0, + chartreuse: 0x7fff00, + chocolate: 0xd2691e, + coral: 0xff7f50, + cornflowerblue: 0x6495ed, + cornsilk: 0xfff8dc, + crimson: 0xdc143c, + cyan: 0x00ffff, + darkblue: 0x00008b, + darkcyan: 0x008b8b, + darkgoldenrod: 0xb8860b, + darkgray: 0xa9a9a9, + darkgreen: 0x006400, + darkgrey: 0xa9a9a9, + darkkhaki: 0xbdb76b, + darkmagenta: 0x8b008b, + darkolivegreen: 0x556b2f, + darkorange: 0xff8c00, + darkorchid: 0x9932cc, + darkred: 0x8b0000, + darksalmon: 0xe9967a, + darkseagreen: 0x8fbc8f, + darkslateblue: 0x483d8b, + darkslategray: 0x2f4f4f, + darkslategrey: 0x2f4f4f, + darkturquoise: 0x00ced1, + darkviolet: 0x9400d3, + deeppink: 0xff1493, + deepskyblue: 0x00bfff, + dimgray: 0x696969, + dimgrey: 0x696969, + dodgerblue: 0x1e90ff, + firebrick: 0xb22222, + floralwhite: 0xfffaf0, + forestgreen: 0x228b22, + fuchsia: 0xff00ff, + gainsboro: 0xdcdcdc, + ghostwhite: 0xf8f8ff, + gold: 0xffd700, + goldenrod: 0xdaa520, + gray: 0x808080, + green: 0x008000, + greenyellow: 0xadff2f, + grey: 0x808080, + honeydew: 0xf0fff0, + hotpink: 0xff69b4, + indianred: 0xcd5c5c, + indigo: 0x4b0082, + ivory: 0xfffff0, + khaki: 0xf0e68c, + lavender: 0xe6e6fa, + lavenderblush: 0xfff0f5, + lawngreen: 0x7cfc00, + lemonchiffon: 0xfffacd, + lightblue: 0xadd8e6, + lightcoral: 0xf08080, + lightcyan: 0xe0ffff, + lightgoldenrodyellow: 0xfafad2, + lightgray: 0xd3d3d3, + lightgreen: 0x90ee90, + lightgrey: 0xd3d3d3, + lightpink: 0xffb6c1, + lightsalmon: 0xffa07a, + lightseagreen: 0x20b2aa, + lightskyblue: 0x87cefa, + lightslategray: 0x778899, + lightslategrey: 0x778899, + lightsteelblue: 0xb0c4de, + lightyellow: 0xffffe0, + lime: 0x00ff00, + limegreen: 0x32cd32, + linen: 0xfaf0e6, + magenta: 0xff00ff, + maroon: 0x800000, + mediumaquamarine: 0x66cdaa, + mediumblue: 0x0000cd, + mediumorchid: 0xba55d3, + mediumpurple: 0x9370db, + mediumseagreen: 0x3cb371, + mediumslateblue: 0x7b68ee, + mediumspringgreen: 0x00fa9a, + mediumturquoise: 0x48d1cc, + mediumvioletred: 0xc71585, + midnightblue: 0x191970, + mintcream: 0xf5fffa, + mistyrose: 0xffe4e1, + moccasin: 0xffe4b5, + navajowhite: 0xffdead, + navy: 0x000080, + oldlace: 0xfdf5e6, + olive: 0x808000, + olivedrab: 0x6b8e23, + orange: 0xffa500, + orangered: 0xff4500, + orchid: 0xda70d6, + palegoldenrod: 0xeee8aa, + palegreen: 0x98fb98, + paleturquoise: 0xafeeee, + palevioletred: 0xdb7093, + papayawhip: 0xffefd5, + peachpuff: 0xffdab9, + peru: 0xcd853f, + pink: 0xffc0cb, + plum: 0xdda0dd, + powderblue: 0xb0e0e6, + purple: 0x800080, + rebeccapurple: 0x663399, + red: 0xff0000, + rosybrown: 0xbc8f8f, + royalblue: 0x4169e1, + saddlebrown: 0x8b4513, + salmon: 0xfa8072, + sandybrown: 0xf4a460, + seagreen: 0x2e8b57, + seashell: 0xfff5ee, + sienna: 0xa0522d, + silver: 0xc0c0c0, + skyblue: 0x87ceeb, + slateblue: 0x6a5acd, + slategray: 0x708090, + slategrey: 0x708090, + snow: 0xfffafa, + springgreen: 0x00ff7f, + steelblue: 0x4682b4, + tan: 0xd2b48c, + teal: 0x008080, + thistle: 0xd8bfd8, + tomato: 0xff6347, + turquoise: 0x40e0d0, + violet: 0xee82ee, + wheat: 0xf5deb3, + white: 0xffffff, + whitesmoke: 0xf5f5f5, + yellow: 0xffff00, + yellowgreen: 0x9acd32 + }; - var svSE = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "SEK"] + define(Color, color, { + displayable: function() { + return this.rgb().displayable(); + }, + toString: function() { + return this.rgb() + ""; + } }); - var zhCN = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["¥", ""] - }); + function color(format) { + var m; + format = (format + "").trim().toLowerCase(); + return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb((m >> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00 + : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000 + : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0) + : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%) + : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1) + : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1) + : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%) + : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1) + : named.hasOwnProperty(format) ? rgbn(named[format]) + : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) + : null; + } - function precisionFixed(step) { - return Math.max(0, -exponent(Math.abs(step))); + function rgbn(n) { + return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1); } - function precisionPrefix(step, value) { - return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step))); + function rgba(r, g, b, a) { + if (a <= 0) r = g = b = NaN; + return new Rgb(r, g, b, a); } - function precisionRound(step, max) { - step = Math.abs(step), max = Math.abs(max) - step; - return Math.max(0, exponent(max) - exponent(step)) + 1; + function rgbConvert(o) { + if (!(o instanceof Color)) o = color(o); + if (!o) return new Rgb; + o = o.rgb(); + return new Rgb(o.r, o.g, o.b, o.opacity); } - var format = defaultLocale.format; - var formatPrefix = defaultLocale.formatPrefix; + function rgb(r, g, b, opacity) { + return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity); + } - var version = "0.5.1"; + function Rgb(r, g, b, opacity) { + this.r = +r; + this.g = +g; + this.b = +b; + this.opacity = +opacity; + } - exports.version = version; - exports.format = format; - exports.formatPrefix = formatPrefix; - exports.formatLocale = locale; - exports.formatCaEs = caES; - exports.formatCsCz = csCZ; - exports.formatDeCh = deCH; - exports.formatDeDe = deDE; - exports.formatEnCa = enCA; - exports.formatEnGb = enGB; - exports.formatEnUs = defaultLocale; - exports.formatEsEs = esES; - exports.formatFiFi = fiFI; - exports.formatFrCa = frCA; - exports.formatFrFr = frFR; - exports.formatHeIl = heIL; - exports.formatHuHu = huHU; - exports.formatItIt = itIT; - exports.formatJaJp = jaJP; - exports.formatKoKr = koKR; - exports.formatMkMk = mkMK; - exports.formatNlNl = nlNL; - exports.formatPlPl = plPL; - exports.formatPtBr = ptBR; - exports.formatRuRu = ruRU; - exports.formatSvSe = svSE; - exports.formatZhCn = zhCN; - exports.formatSpecifier = formatSpecifier; - exports.precisionFixed = precisionFixed; - exports.precisionPrefix = precisionPrefix; - exports.precisionRound = precisionRound; + define(Rgb, rgb, extend(Color, { + brighter: function(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + darker: function(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + rgb: function() { + return this; + }, + displayable: function() { + return (0 <= this.r && this.r <= 255) + && (0 <= this.g && this.g <= 255) + && (0 <= this.b && this.b <= 255) + && (0 <= this.opacity && this.opacity <= 1); + }, + toString: function() { + var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a)); + return (a === 1 ? "rgb(" : "rgba(") + + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " + + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " + + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + + (a === 1 ? ")" : ", " + a + ")"); + } + })); - })); + function hsla(h, s, l, a) { + if (a <= 0) h = s = l = NaN; + else if (l <= 0 || l >= 1) h = s = NaN; + else if (s <= 0) h = NaN; + return new Hsl(h, s, l, a); + } -/***/ }, -/* 15 */ -/***/ function(module, exports, __webpack_require__) { + function hslConvert(o) { + if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity); + if (!(o instanceof Color)) o = color(o); + if (!o) return new Hsl; + if (o instanceof Hsl) return o; + o = o.rgb(); + var r = o.r / 255, + g = o.g / 255, + b = o.b / 255, + min = Math.min(r, g, b), + max = Math.max(r, g, b), + h = NaN, + s = max - min, + l = (max + min) / 2; + if (s) { + if (r === max) h = (g - b) / s + (g < b) * 6; + else if (g === max) h = (b - r) / s + 2; + else h = (r - g) / s + 4; + s /= l < 0.5 ? max + min : 2 - max - min; + h *= 60; + } else { + s = l > 0 && l < 1 ? 0 : h; + } + return new Hsl(h, s, l, o.opacity); + } - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_time = global.d3_time || {}))); - }(this, function (exports) { 'use strict'; + function hsl(h, s, l, opacity) { + return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity); + } - var t0 = new Date; - var t1 = new Date; - function newInterval(floori, offseti, count, field) { + function Hsl(h, s, l, opacity) { + this.h = +h; + this.s = +s; + this.l = +l; + this.opacity = +opacity; + } - function interval(date) { - return floori(date = new Date(+date)), date; + define(Hsl, hsl, extend(Color, { + brighter: function(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + darker: function(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + rgb: function() { + var h = this.h % 360 + (this.h < 0) * 360, + s = isNaN(h) || isNaN(this.s) ? 0 : this.s, + l = this.l, + m2 = l + (l < 0.5 ? l : 1 - l) * s, + m1 = 2 * l - m2; + return new Rgb( + hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), + hsl2rgb(h, m1, m2), + hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), + this.opacity + ); + }, + displayable: function() { + return (0 <= this.s && this.s <= 1 || isNaN(this.s)) + && (0 <= this.l && this.l <= 1) + && (0 <= this.opacity && this.opacity <= 1); } + })); - interval.floor = interval; - - interval.ceil = function(date) { - return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date; - }; - - interval.round = function(date) { - var d0 = interval(date), - d1 = interval.ceil(date); - return date - d0 < d1 - date ? d0 : d1; - }; + /* From FvD 13.37, CSS Color Module Level 3 */ + function hsl2rgb(h, m1, m2) { + return (h < 60 ? m1 + (m2 - m1) * h / 60 + : h < 180 ? m2 + : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 + : m1) * 255; + } - interval.offset = function(date, step) { - return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date; - }; + var deg2rad = Math.PI / 180; + var rad2deg = 180 / Math.PI; - interval.range = function(start, stop, step) { - var range = []; - start = interval.ceil(start); - step = step == null ? 1 : Math.floor(step); - if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date - do range.push(new Date(+start)); while (offseti(start, step), floori(start), start < stop) - return range; - }; + var Kn = 18; + var Xn = 0.950470; + var Yn = 1; + var Zn = 1.088830; + var t0 = 4 / 29; + var t1 = 6 / 29; + var t2 = 3 * t1 * t1; + var t3 = t1 * t1 * t1; + function labConvert(o) { + if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity); + if (o instanceof Hcl) { + var h = o.h * deg2rad; + return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity); + } + if (!(o instanceof Rgb)) o = rgbConvert(o); + var b = rgb2xyz(o.r), + a = rgb2xyz(o.g), + l = rgb2xyz(o.b), + x = xyz2lab((0.4124564 * b + 0.3575761 * a + 0.1804375 * l) / Xn), + y = xyz2lab((0.2126729 * b + 0.7151522 * a + 0.0721750 * l) / Yn), + z = xyz2lab((0.0193339 * b + 0.1191920 * a + 0.9503041 * l) / Zn); + return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity); + } - interval.filter = function(test) { - return newInterval(function(date) { - while (floori(date), !test(date)) date.setTime(date - 1); - }, function(date, step) { - while (--step >= 0) while (offseti(date, 1), !test(date)); - }); - }; + function lab(l, a, b, opacity) { + return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity); + } - if (count) { - interval.count = function(start, end) { - t0.setTime(+start), t1.setTime(+end); - floori(t0), floori(t1); - return Math.floor(count(t0, t1)); - }; + function Lab(l, a, b, opacity) { + this.l = +l; + this.a = +a; + this.b = +b; + this.opacity = +opacity; + } - interval.every = function(step) { - step = Math.floor(step); - return !isFinite(step) || !(step > 0) ? null - : !(step > 1) ? interval - : interval.filter(field - ? function(d) { return field(d) % step === 0; } - : function(d) { return interval.count(0, d) % step === 0; }); - }; + define(Lab, lab, extend(Color, { + brighter: function(k) { + return new Lab(this.l + Kn * (k == null ? 1 : k), this.a, this.b, this.opacity); + }, + darker: function(k) { + return new Lab(this.l - Kn * (k == null ? 1 : k), this.a, this.b, this.opacity); + }, + rgb: function() { + var y = (this.l + 16) / 116, + x = isNaN(this.a) ? y : y + this.a / 500, + z = isNaN(this.b) ? y : y - this.b / 200; + y = Yn * lab2xyz(y); + x = Xn * lab2xyz(x); + z = Zn * lab2xyz(z); + return new Rgb( + xyz2rgb( 3.2404542 * x - 1.5371385 * y - 0.4985314 * z), // D65 -> sRGB + xyz2rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z), + xyz2rgb( 0.0556434 * x - 0.2040259 * y + 1.0572252 * z), + this.opacity + ); } + })); - return interval; + function xyz2lab(t) { + return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0; } - var millisecond = newInterval(function() { - // noop - }, function(date, step) { - date.setTime(+date + step); - }, function(start, end) { - return end - start; - }); + function lab2xyz(t) { + return t > t1 ? t * t * t : t2 * (t - t0); + } - // An optimized implementation for this simple case. - millisecond.every = function(k) { - k = Math.floor(k); - if (!isFinite(k) || !(k > 0)) return null; - if (!(k > 1)) return millisecond; - return newInterval(function(date) { - date.setTime(Math.floor(date / k) * k); - }, function(date, step) { - date.setTime(+date + step * k); - }, function(start, end) { - return (end - start) / k; - }); - }; + function xyz2rgb(x) { + return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055); + } - var second$1 = 1e3; - var minute = 6e4; - var hour = 36e5; - var day = 864e5; - var week = 6048e5; + function rgb2xyz(x) { + return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4); + } - var second = newInterval(function(date) { - date.setTime(Math.floor(date / second$1) * second$1); - }, function(date, step) { - date.setTime(+date + step * second$1); - }, function(start, end) { - return (end - start) / second$1; - }, function(date) { - return date.getUTCSeconds(); - }); + function hclConvert(o) { + if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity); + if (!(o instanceof Lab)) o = labConvert(o); + var h = Math.atan2(o.b, o.a) * rad2deg; + return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity); + } - var minute$1 = newInterval(function(date) { - date.setTime(Math.floor(date / minute) * minute); - }, function(date, step) { - date.setTime(+date + step * minute); - }, function(start, end) { - return (end - start) / minute; - }, function(date) { - return date.getMinutes(); - }); + function hcl(h, c, l, opacity) { + return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity); + } - var hour$1 = newInterval(function(date) { - var offset = date.getTimezoneOffset() * minute % hour; - if (offset < 0) offset += hour; - date.setTime(Math.floor((+date - offset) / hour) * hour + offset); - }, function(date, step) { - date.setTime(+date + step * hour); - }, function(start, end) { - return (end - start) / hour; - }, function(date) { - return date.getHours(); - }); + function Hcl(h, c, l, opacity) { + this.h = +h; + this.c = +c; + this.l = +l; + this.opacity = +opacity; + } - var day$1 = newInterval(function(date) { - date.setHours(0, 0, 0, 0); - }, function(date, step) { - date.setDate(date.getDate() + step); - }, function(start, end) { - return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * minute) / day; - }, function(date) { - return date.getDate() - 1; - }); + define(Hcl, hcl, extend(Color, { + brighter: function(k) { + return new Hcl(this.h, this.c, this.l + Kn * (k == null ? 1 : k), this.opacity); + }, + darker: function(k) { + return new Hcl(this.h, this.c, this.l - Kn * (k == null ? 1 : k), this.opacity); + }, + rgb: function() { + return labConvert(this).rgb(); + } + })); - function weekday(i) { - return newInterval(function(date) { - date.setHours(0, 0, 0, 0); - date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7); - }, function(date, step) { - date.setDate(date.getDate() + step * 7); - }, function(start, end) { - return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * minute) / week; - }); + var A = -0.14861; + var B = +1.78277; + var C = -0.29227; + var D = -0.90649; + var E = +1.97294; + var ED = E * D; + var EB = E * B; + var BC_DA = B * C - D * A; + function cubehelixConvert(o) { + if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity); + if (!(o instanceof Rgb)) o = rgbConvert(o); + var r = o.r / 255, + g = o.g / 255, + b = o.b / 255, + l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB), + bl = b - l, + k = (E * (g - l) - C * bl) / D, + s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1 + h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN; + return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity); } - var sunday = weekday(0); - var monday = weekday(1); - var tuesday = weekday(2); - var wednesday = weekday(3); - var thursday = weekday(4); - var friday = weekday(5); - var saturday = weekday(6); + function cubehelix(h, s, l, opacity) { + return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity); + } - var month = newInterval(function(date) { - date.setHours(0, 0, 0, 0); - date.setDate(1); - }, function(date, step) { - date.setMonth(date.getMonth() + step); - }, function(start, end) { - return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12; - }, function(date) { - return date.getMonth(); - }); + function Cubehelix(h, s, l, opacity) { + this.h = +h; + this.s = +s; + this.l = +l; + this.opacity = +opacity; + } - var year = newInterval(function(date) { - date.setHours(0, 0, 0, 0); - date.setMonth(0, 1); - }, function(date, step) { - date.setFullYear(date.getFullYear() + step); - }, function(start, end) { - return end.getFullYear() - start.getFullYear(); - }, function(date) { - return date.getFullYear(); - }); + define(Cubehelix, cubehelix, extend(Color, { + brighter: function(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Cubehelix(this.h, this.s, this.l * k, this.opacity); + }, + darker: function(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Cubehelix(this.h, this.s, this.l * k, this.opacity); + }, + rgb: function() { + var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad, + l = +this.l, + a = isNaN(this.s) ? 0 : this.s * l * (1 - l), + cosh = Math.cos(h), + sinh = Math.sin(h); + return new Rgb( + 255 * (l + a * (A * cosh + B * sinh)), + 255 * (l + a * (C * cosh + D * sinh)), + 255 * (l + a * (E * cosh)), + this.opacity + ); + } + })); - var utcMinute = newInterval(function(date) { - date.setUTCSeconds(0, 0); - }, function(date, step) { - date.setTime(+date + step * minute); - }, function(start, end) { - return (end - start) / minute; - }, function(date) { - return date.getUTCMinutes(); - }); + var version = "0.4.2"; - var utcHour = newInterval(function(date) { - date.setUTCMinutes(0, 0, 0); - }, function(date, step) { - date.setTime(+date + step * hour); - }, function(start, end) { - return (end - start) / hour; - }, function(date) { - return date.getUTCHours(); - }); + exports.version = version; + exports.color = color; + exports.rgb = rgb; + exports.hsl = hsl; + exports.lab = lab; + exports.hcl = hcl; + exports.cubehelix = cubehelix; - var utcDay = newInterval(function(date) { - date.setUTCHours(0, 0, 0, 0); - }, function(date, step) { - date.setUTCDate(date.getUTCDate() + step); - }, function(start, end) { - return (end - start) / day; - }, function(date) { - return date.getUTCDate() - 1; - }); + })); - function utcWeekday(i) { - return newInterval(function(date) { - date.setUTCHours(0, 0, 0, 0); - date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7); - }, function(date, step) { - date.setUTCDate(date.getUTCDate() + step * 7); - }, function(start, end) { - return (end - start) / week; - }); - } +/***/ }), +/* 24 */ +/***/ (function(module, exports, __webpack_require__) { - var utcSunday = utcWeekday(0); - var utcMonday = utcWeekday(1); - var utcTuesday = utcWeekday(2); - var utcWednesday = utcWeekday(3); - var utcThursday = utcWeekday(4); - var utcFriday = utcWeekday(5); - var utcSaturday = utcWeekday(6); + (function (global, factory) { + true ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.d3_format = {}))); + }(this, function (exports) { 'use strict'; - var utcMonth = newInterval(function(date) { - date.setUTCHours(0, 0, 0, 0); - date.setUTCDate(1); - }, function(date, step) { - date.setUTCMonth(date.getUTCMonth() + step); - }, function(start, end) { - return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12; - }, function(date) { - return date.getUTCMonth(); - }); + // Computes the decimal coefficient and exponent of the specified number x with + // significant digits p, where x is positive and p is in [1, 21] or undefined. + // For example, formatDecimal(1.23) returns ["123", 0]. + function formatDecimal(x, p) { + if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity + var i, coefficient = x.slice(0, i); - var utcYear = newInterval(function(date) { - date.setUTCHours(0, 0, 0, 0); - date.setUTCMonth(0, 1); - }, function(date, step) { - date.setUTCFullYear(date.getUTCFullYear() + step); - }, function(start, end) { - return end.getUTCFullYear() - start.getUTCFullYear(); - }, function(date) { - return date.getUTCFullYear(); - }); + // The string returned by toExponential either has the form \d\.\d+e[-+]\d+ + // (e.g., 1.2e+3) or the form \de[-+]\d+ (e.g., 1e+3). + return [ + coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient, + +x.slice(i + 1) + ]; + } - var timeMilliseconds = millisecond.range; - var timeSeconds = second.range; - var timeMinutes = minute$1.range; - var timeHours = hour$1.range; - var timeDays = day$1.range; - var timeSundays = sunday.range; - var timeMondays = monday.range; - var timeTuesdays = tuesday.range; - var timeWednesdays = wednesday.range; - var timeThursdays = thursday.range; - var timeFridays = friday.range; - var timeSaturdays = saturday.range; - var timeWeeks = sunday.range; - var timeMonths = month.range; - var timeYears = year.range; + function exponent(x) { + return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN; + } - var utcMillisecond = millisecond; - var utcMilliseconds = timeMilliseconds; - var utcSecond = second; - var utcSeconds = timeSeconds; - var utcMinutes = utcMinute.range; - var utcHours = utcHour.range; - var utcDays = utcDay.range; - var utcSundays = utcSunday.range; - var utcMondays = utcMonday.range; - var utcTuesdays = utcTuesday.range; - var utcWednesdays = utcWednesday.range; - var utcThursdays = utcThursday.range; - var utcFridays = utcFriday.range; - var utcSaturdays = utcSaturday.range; - var utcWeeks = utcSunday.range; - var utcMonths = utcMonth.range; - var utcYears = utcYear.range; + function formatGroup(grouping, thousands) { + return function(value, width) { + var i = value.length, + t = [], + j = 0, + g = grouping[0], + length = 0; - var version = "0.2.5"; + 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 = grouping[j = (j + 1) % grouping.length]; + } - exports.version = version; - exports.timeMilliseconds = timeMilliseconds; - exports.timeSeconds = timeSeconds; - exports.timeMinutes = timeMinutes; - exports.timeHours = timeHours; - exports.timeDays = timeDays; - exports.timeSundays = timeSundays; - exports.timeMondays = timeMondays; - exports.timeTuesdays = timeTuesdays; - exports.timeWednesdays = timeWednesdays; - exports.timeThursdays = timeThursdays; - exports.timeFridays = timeFridays; - exports.timeSaturdays = timeSaturdays; - exports.timeWeeks = timeWeeks; - exports.timeMonths = timeMonths; - exports.timeYears = timeYears; - exports.utcMillisecond = utcMillisecond; - exports.utcMilliseconds = utcMilliseconds; - exports.utcSecond = utcSecond; - exports.utcSeconds = utcSeconds; - exports.utcMinutes = utcMinutes; - exports.utcHours = utcHours; - exports.utcDays = utcDays; - exports.utcSundays = utcSundays; - exports.utcMondays = utcMondays; - exports.utcTuesdays = utcTuesdays; - exports.utcWednesdays = utcWednesdays; - exports.utcThursdays = utcThursdays; - exports.utcFridays = utcFridays; - exports.utcSaturdays = utcSaturdays; - exports.utcWeeks = utcWeeks; - exports.utcMonths = utcMonths; - exports.utcYears = utcYears; - exports.timeMillisecond = millisecond; - exports.timeSecond = second; - exports.timeMinute = minute$1; - exports.timeHour = hour$1; - exports.timeDay = day$1; - exports.timeSunday = sunday; - exports.timeMonday = monday; - exports.timeTuesday = tuesday; - exports.timeWednesday = wednesday; - exports.timeThursday = thursday; - exports.timeFriday = friday; - exports.timeSaturday = saturday; - exports.timeWeek = sunday; - exports.timeMonth = month; - exports.timeYear = year; - exports.utcMinute = utcMinute; - exports.utcHour = utcHour; - exports.utcDay = utcDay; - exports.utcSunday = utcSunday; - exports.utcMonday = utcMonday; - exports.utcTuesday = utcTuesday; - exports.utcWednesday = utcWednesday; - exports.utcThursday = utcThursday; - exports.utcFriday = utcFriday; - exports.utcSaturday = utcSaturday; - exports.utcWeek = utcSunday; - exports.utcMonth = utcMonth; - exports.utcYear = utcYear; - exports.timeInterval = newInterval; + return t.reverse().join(thousands); + }; + } - })); + function formatDefault(x, p) { + x = x.toPrecision(p); -/***/ }, -/* 16 */ -/***/ function(module, exports, __webpack_require__) { + out: for (var n = x.length, i = 1, i0 = -1, i1; i < n; ++i) { + switch (x[i]) { + case ".": i0 = i1 = i; break; + case "0": if (i0 === 0) i0 = i; i1 = i; break; + case "e": break out; + default: if (i0 > 0) i0 = 0; break; + } + } - (function (global, factory) { - true ? factory(exports, __webpack_require__(15)) : - typeof define === 'function' && define.amd ? define(['exports', 'd3-time'], factory) : - (factory((global.d3_time_format = global.d3_time_format || {}),global.d3_time)); - }(this, function (exports,d3Time) { 'use strict'; + return i0 > 0 ? x.slice(0, i0) + x.slice(i1 + 1) : x; + } - var version = "0.3.2"; + var prefixExponent; - function localDate(d) { - if (0 <= d.y && d.y < 100) { - var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L); - date.setFullYear(d.y); - return date; - } - return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L); + function formatPrefixAuto(x, p) { + var d = formatDecimal(x, p); + if (!d) return x + ""; + var coefficient = d[0], + exponent = d[1], + i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1, + n = coefficient.length; + return i === n ? coefficient + : i > n ? coefficient + new Array(i - n + 1).join("0") + : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i) + : "0." + new Array(1 - i).join("0") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y! } - function utcDate(d) { - if (0 <= d.y && d.y < 100) { - var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L)); - date.setUTCFullYear(d.y); - return date; - } - return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L)); + function formatRounded(x, p) { + var d = formatDecimal(x, p); + if (!d) return x + ""; + var coefficient = d[0], + exponent = d[1]; + return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient + : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1) + : coefficient + new Array(exponent - coefficient.length + 2).join("0"); } - function newYear(y) { - return {y: y, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0}; + var formatTypes = { + "": formatDefault, + "%": function(x, p) { return (x * 100).toFixed(p); }, + "b": function(x) { return Math.round(x).toString(2); }, + "c": function(x) { return x + ""; }, + "d": function(x) { return Math.round(x).toString(10); }, + "e": function(x, p) { return x.toExponential(p); }, + "f": function(x, p) { return x.toFixed(p); }, + "g": function(x, p) { return x.toPrecision(p); }, + "o": function(x) { return Math.round(x).toString(8); }, + "p": function(x, p) { return formatRounded(x * 100, p); }, + "r": formatRounded, + "s": formatPrefixAuto, + "X": function(x) { return Math.round(x).toString(16).toUpperCase(); }, + "x": function(x) { return Math.round(x).toString(16); } + }; + + // [[fill]align][sign][symbol][0][width][,][.precision][type] + var re = /^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i; + + function formatSpecifier(specifier) { + return new FormatSpecifier(specifier); } - function locale$1(locale) { - var locale_dateTime = locale.dateTime, - locale_date = locale.date, - locale_time = locale.time, - locale_periods = locale.periods, - locale_weekdays = locale.days, - locale_shortWeekdays = locale.shortDays, - locale_months = locale.months, - locale_shortMonths = locale.shortMonths; + function FormatSpecifier(specifier) { + if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier); - var periodRe = formatRe(locale_periods), - periodLookup = formatLookup(locale_periods), - weekdayRe = formatRe(locale_weekdays), - weekdayLookup = formatLookup(locale_weekdays), - shortWeekdayRe = formatRe(locale_shortWeekdays), - shortWeekdayLookup = formatLookup(locale_shortWeekdays), - monthRe = formatRe(locale_months), - monthLookup = formatLookup(locale_months), - shortMonthRe = formatRe(locale_shortMonths), - shortMonthLookup = formatLookup(locale_shortMonths); + var match, + fill = match[1] || " ", + align = match[2] || ">", + sign = match[3] || "-", + symbol = match[4] || "", + zero = !!match[5], + width = match[6] && +match[6], + comma = !!match[7], + precision = match[8] && +match[8].slice(1), + type = match[9] || ""; - var formats = { - "a": formatShortWeekday, - "A": formatWeekday, - "b": formatShortMonth, - "B": formatMonth, - "c": null, - "d": formatDayOfMonth, - "e": formatDayOfMonth, - "H": formatHour24, - "I": formatHour12, - "j": formatDayOfYear, - "L": formatMilliseconds, - "m": formatMonthNumber, - "M": formatMinutes, - "p": formatPeriod, - "S": formatSeconds, - "U": formatWeekNumberSunday, - "w": formatWeekdayNumber, - "W": formatWeekNumberMonday, - "x": null, - "X": null, - "y": formatYear, - "Y": formatFullYear, - "Z": formatZone, - "%": formatLiteralPercent - }; + // The "n" type is an alias for ",g". + if (type === "n") comma = true, type = "g"; - var utcFormats = { - "a": formatUTCShortWeekday, - "A": formatUTCWeekday, - "b": formatUTCShortMonth, - "B": formatUTCMonth, - "c": null, - "d": formatUTCDayOfMonth, - "e": formatUTCDayOfMonth, - "H": formatUTCHour24, - "I": formatUTCHour12, - "j": formatUTCDayOfYear, - "L": formatUTCMilliseconds, - "m": formatUTCMonthNumber, - "M": formatUTCMinutes, - "p": formatUTCPeriod, - "S": formatUTCSeconds, - "U": formatUTCWeekNumberSunday, - "w": formatUTCWeekdayNumber, - "W": formatUTCWeekNumberMonday, - "x": null, - "X": null, - "y": formatUTCYear, - "Y": formatUTCFullYear, - "Z": formatUTCZone, - "%": formatLiteralPercent - }; - - var parses = { - "a": parseShortWeekday, - "A": parseWeekday, - "b": parseShortMonth, - "B": parseMonth, - "c": parseLocaleDateTime, - "d": parseDayOfMonth, - "e": parseDayOfMonth, - "H": parseHour24, - "I": parseHour24, - "j": parseDayOfYear, - "L": parseMilliseconds, - "m": parseMonthNumber, - "M": parseMinutes, - "p": parsePeriod, - "S": parseSeconds, - "U": parseWeekNumberSunday, - "w": parseWeekdayNumber, - "W": parseWeekNumberMonday, - "x": parseLocaleDate, - "X": parseLocaleTime, - "y": parseYear, - "Y": parseFullYear, - "Z": parseZone, - "%": parseLiteralPercent - }; - - // These recursive directive definitions must be deferred. - formats.x = newFormat(locale_date, formats); - formats.X = newFormat(locale_time, formats); - formats.c = newFormat(locale_dateTime, formats); - utcFormats.x = newFormat(locale_date, utcFormats); - utcFormats.X = newFormat(locale_time, utcFormats); - utcFormats.c = newFormat(locale_dateTime, utcFormats); + // Map invalid types to the default format. + else if (!formatTypes[type]) type = ""; - function newFormat(specifier, formats) { - return function(date) { - var string = [], - i = -1, - j = 0, - n = specifier.length, - c, - pad, - format; + // If zero fill is specified, padding goes after sign and before digits. + if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "="; - if (!(date instanceof Date)) date = new Date(+date); + this.fill = fill; + this.align = align; + this.sign = sign; + this.symbol = symbol; + this.zero = zero; + this.width = width; + this.comma = comma; + this.precision = precision; + this.type = type; + } - while (++i < n) { - if (specifier.charCodeAt(i) === 37) { - string.push(specifier.slice(j, i)); - if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i); - else pad = c === "e" ? " " : "0"; - if (format = formats[c]) c = format(date, pad); - string.push(c); - j = i + 1; - } - } + FormatSpecifier.prototype.toString = function() { + return this.fill + + this.align + + this.sign + + this.symbol + + (this.zero ? "0" : "") + + (this.width == null ? "" : Math.max(1, this.width | 0)) + + (this.comma ? "," : "") + + (this.precision == null ? "" : "." + Math.max(0, this.precision | 0)) + + this.type; + }; - string.push(specifier.slice(j, i)); - return string.join(""); - }; - } + var prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"]; - function newParse(specifier, newDate) { - return function(string) { - var d = newYear(1900), - i = parseSpecifier(d, specifier, string += "", 0); - if (i != string.length) return null; + function identity(x) { + return x; + } - // The am-pm flag is 0 for AM, and 1 for PM. - if ("p" in d) d.H = d.H % 12 + d.p * 12; + function locale(locale) { + var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity, + currency = locale.currency, + decimal = locale.decimal; - // Convert day-of-week and week-of-year to day-of-year. - if ("W" in d || "U" in d) { - if (!("w" in d)) d.w = "W" in d ? 1 : 0; - var day = "Z" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay(); - d.m = 0; - d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7; - } + function newFormat(specifier) { + specifier = formatSpecifier(specifier); - // If a time zone is specified, all fields are interpreted as UTC and then - // offset according to the specified time zone. - if ("Z" in d) { - d.H += d.Z / 100 | 0; - d.M += d.Z % 100; - return utcDate(d); - } + var fill = specifier.fill, + align = specifier.align, + sign = specifier.sign, + symbol = specifier.symbol, + zero = specifier.zero, + width = specifier.width, + comma = specifier.comma, + precision = specifier.precision, + type = specifier.type; - // Otherwise, all fields are in local time. - return newDate(d); - }; - } + // Compute the prefix and suffix. + // For SI-prefix, the suffix is lazily computed. + var prefix = symbol === "$" ? currency[0] : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "", + suffix = symbol === "$" ? currency[1] : /[%p]/.test(type) ? "%" : ""; - function parseSpecifier(d, specifier, string, j) { - var i = 0, - n = specifier.length, - m = string.length, - c, - parse; + // What format function should we use? + // Is this an integer type? + // Can this type generate exponential notation? + var formatType = formatTypes[type], + maybeSuffix = !type || /[defgprs%]/.test(type); - while (i < n) { - if (j >= m) return -1; - c = specifier.charCodeAt(i++); - if (c === 37) { - c = specifier.charAt(i++); - parse = parses[c in pads ? specifier.charAt(i++) : c]; - if (!parse || ((j = parse(d, string, j)) < 0)) return -1; - } else if (c != string.charCodeAt(j++)) { - return -1; - } - } + // Set the default precision if not specified, + // or clamp the specified precision to the supported range. + // For significant precision, it must be in [1, 21]. + // For fixed precision, it must be in [0, 20]. + precision = precision == null ? (type ? 6 : 12) + : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) + : Math.max(0, Math.min(20, precision)); - return j; - } + function format(value) { + var valuePrefix = prefix, + valueSuffix = suffix, + i, n, c; - function parsePeriod(d, string, i) { - var n = periodRe.exec(string.slice(i)); - return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } + if (type === "c") { + valueSuffix = formatType(value) + valueSuffix; + value = ""; + } else { + value = +value; - function parseShortWeekday(d, string, i) { - var n = shortWeekdayRe.exec(string.slice(i)); - return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } + // Convert negative to positive, and compute the prefix. + // Note that -0 is not less than 0, but 1 / -0 is! + var valueNegative = (value < 0 || 1 / value < 0) && (value *= -1, true); - function parseWeekday(d, string, i) { - var n = weekdayRe.exec(string.slice(i)); - return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } + // Perform the initial formatting. + value = formatType(value, precision); - function parseShortMonth(d, string, i) { - var n = shortMonthRe.exec(string.slice(i)); - return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } + // If the original value was negative, it may be rounded to zero during + // formatting; treat this as (positive) zero. + if (valueNegative) { + i = -1, n = value.length; + valueNegative = false; + while (++i < n) { + if (c = value.charCodeAt(i), (48 < c && c < 58) + || (type === "x" && 96 < c && c < 103) + || (type === "X" && 64 < c && c < 71)) { + valueNegative = true; + break; + } + } + } - function parseMonth(d, string, i) { - var n = monthRe.exec(string.slice(i)); - return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } + // Compute the prefix and suffix. + valuePrefix = (valueNegative ? (sign === "(" ? sign : "-") : sign === "-" || sign === "(" ? "" : sign) + valuePrefix; + valueSuffix = valueSuffix + (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + (valueNegative && sign === "(" ? ")" : ""); - function parseLocaleDateTime(d, string, i) { - return parseSpecifier(d, locale_dateTime, string, i); - } + // Break the formatted value into the integer “value” part that can be + // grouped, and fractional or exponential “suffix” part that is not. + if (maybeSuffix) { + i = -1, n = value.length; + while (++i < n) { + if (c = value.charCodeAt(i), 48 > c || c > 57) { + valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix; + value = value.slice(0, i); + break; + } + } + } + } - function parseLocaleDate(d, string, i) { - return parseSpecifier(d, locale_date, string, i); - } + // If the fill character is not "0", grouping is applied before padding. + if (comma && !zero) value = group(value, Infinity); - function parseLocaleTime(d, string, i) { - return parseSpecifier(d, locale_time, string, i); - } + // Compute the padding. + var length = valuePrefix.length + value.length + valueSuffix.length, + padding = length < width ? new Array(width - length + 1).join(fill) : ""; - function formatShortWeekday(d) { - return locale_shortWeekdays[d.getDay()]; - } + // If the fill character is "0", grouping is applied after padding. + if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = ""; - function formatWeekday(d) { - return locale_weekdays[d.getDay()]; - } - - function formatShortMonth(d) { - return locale_shortMonths[d.getMonth()]; - } - - function formatMonth(d) { - return locale_months[d.getMonth()]; - } - - function formatPeriod(d) { - return locale_periods[+(d.getHours() >= 12)]; - } - - function formatUTCShortWeekday(d) { - return locale_shortWeekdays[d.getUTCDay()]; - } - - function formatUTCWeekday(d) { - return locale_weekdays[d.getUTCDay()]; - } + // Reconstruct the final output based on the desired alignment. + switch (align) { + case "<": return valuePrefix + value + valueSuffix + padding; + case "=": return valuePrefix + padding + value + valueSuffix; + case "^": return padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); + } + return padding + valuePrefix + value + valueSuffix; + } - function formatUTCShortMonth(d) { - return locale_shortMonths[d.getUTCMonth()]; - } + format.toString = function() { + return specifier + ""; + }; - function formatUTCMonth(d) { - return locale_months[d.getUTCMonth()]; + return format; } - function formatUTCPeriod(d) { - return locale_periods[+(d.getUTCHours() >= 12)]; + function formatPrefix(specifier, value) { + var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)), + e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3, + k = Math.pow(10, -e), + prefix = prefixes[8 + e / 3]; + return function(value) { + return f(k * value) + prefix; + }; } return { - format: function(specifier) { - var f = newFormat(specifier += "", formats); - f.toString = function() { return specifier; }; - return f; - }, - parse: function(specifier) { - var p = newParse(specifier += "", localDate); - p.toString = function() { return specifier; }; - return p; - }, - utcFormat: function(specifier) { - var f = newFormat(specifier += "", utcFormats); - f.toString = function() { return specifier; }; - return f; - }, - utcParse: function(specifier) { - var p = newParse(specifier, utcDate); - p.toString = function() { return specifier; }; - return p; - } + format: newFormat, + formatPrefix: formatPrefix }; } - var pads = {"-": "", "_": " ", "0": "0"}; - var numberRe = /^\s*\d+/; - var percentRe = /^%/; - var requoteRe = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; - function pad(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); - } + var defaultLocale = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["$", ""] + }); - function requote(s) { - return s.replace(requoteRe, "\\$&"); - } + var caES = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["", "\xa0€"] + }); - function formatRe(names) { - return new RegExp("^(?:" + names.map(requote).join("|") + ")", "i"); - } + var csCZ = locale({ + decimal: ",", + thousands: "\xa0", + grouping: [3], + currency: ["", "\xa0Kč"] + }); - function formatLookup(names) { - var map = {}, i = -1, n = names.length; - while (++i < n) map[names[i].toLowerCase()] = i; - return map; - } + var deCH = locale({ + decimal: ",", + thousands: "'", + grouping: [3], + currency: ["", "\xa0CHF"] + }); - function parseWeekdayNumber(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 1)); - return n ? (d.w = +n[0], i + n[0].length) : -1; - } + var deDE = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["", "\xa0€"] + }); - function parseWeekNumberSunday(d, string, i) { - var n = numberRe.exec(string.slice(i)); - return n ? (d.U = +n[0], i + n[0].length) : -1; - } + var enCA = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["$", ""] + }); - function parseWeekNumberMonday(d, string, i) { - var n = numberRe.exec(string.slice(i)); - return n ? (d.W = +n[0], i + n[0].length) : -1; - } + var enGB = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["£", ""] + }); - function parseFullYear(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 4)); - return n ? (d.y = +n[0], i + n[0].length) : -1; - } + var esES = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["", "\xa0€"] + }); - function parseYear(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1; - } + var fiFI = locale({ + decimal: ",", + thousands: "\xa0", + grouping: [3], + currency: ["", "\xa0€"] + }); - function parseZone(d, string, i) { - var n = /^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(string.slice(i, i + 6)); - return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1; - } + var frCA = locale({ + decimal: ",", + thousands: "\xa0", + grouping: [3], + currency: ["", "$"] + }); - function parseMonthNumber(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.m = n[0] - 1, i + n[0].length) : -1; - } + var frFR = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["", "\xa0€"] + }); - function parseDayOfMonth(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.d = +n[0], i + n[0].length) : -1; - } + var heIL = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["₪", ""] + }); - function parseDayOfYear(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 3)); - return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1; - } + var huHU = locale({ + decimal: ",", + thousands: "\xa0", + grouping: [3], + currency: ["", "\xa0Ft"] + }); - function parseHour24(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.H = +n[0], i + n[0].length) : -1; - } + var itIT = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["€", ""] + }); - function parseMinutes(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.M = +n[0], i + n[0].length) : -1; - } + var jaJP = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["", "円"] + }); - function parseSeconds(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.S = +n[0], i + n[0].length) : -1; - } + var koKR = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["₩", ""] + }); - function parseMilliseconds(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 3)); - return n ? (d.L = +n[0], i + n[0].length) : -1; - } + var mkMK = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["", "\xa0ден."] + }); - function parseLiteralPercent(d, string, i) { - var n = percentRe.exec(string.slice(i, i + 1)); - return n ? i + n[0].length : -1; - } + var nlNL = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["€\xa0", ""] + }); - function formatDayOfMonth(d, p) { - return pad(d.getDate(), p, 2); - } + var plPL = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["", "zł"] + }); - function formatHour24(d, p) { - return pad(d.getHours(), p, 2); - } + var ptBR = locale({ + decimal: ",", + thousands: ".", + grouping: [3], + currency: ["R$", ""] + }); - function formatHour12(d, p) { - return pad(d.getHours() % 12 || 12, p, 2); - } + var ruRU = locale({ + decimal: ",", + thousands: "\xa0", + grouping: [3], + currency: ["", "\xa0руб."] + }); - function formatDayOfYear(d, p) { - return pad(1 + d3Time.timeDay.count(d3Time.timeYear(d), d), p, 3); - } + var svSE = locale({ + decimal: ",", + thousands: "\xa0", + grouping: [3], + currency: ["", "SEK"] + }); - function formatMilliseconds(d, p) { - return pad(d.getMilliseconds(), p, 3); - } + var zhCN = locale({ + decimal: ".", + thousands: ",", + grouping: [3], + currency: ["¥", ""] + }); - function formatMonthNumber(d, p) { - return pad(d.getMonth() + 1, p, 2); + function precisionFixed(step) { + return Math.max(0, -exponent(Math.abs(step))); } - function formatMinutes(d, p) { - return pad(d.getMinutes(), p, 2); + function precisionPrefix(step, value) { + return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step))); } - function formatSeconds(d, p) { - return pad(d.getSeconds(), p, 2); + function precisionRound(step, max) { + step = Math.abs(step), max = Math.abs(max) - step; + return Math.max(0, exponent(max) - exponent(step)) + 1; } - function formatWeekNumberSunday(d, p) { - return pad(d3Time.timeSunday.count(d3Time.timeYear(d), d), p, 2); - } + var format = defaultLocale.format; + var formatPrefix = defaultLocale.formatPrefix; - function formatWeekdayNumber(d) { - return d.getDay(); - } + var version = "0.5.1"; - function formatWeekNumberMonday(d, p) { - return pad(d3Time.timeMonday.count(d3Time.timeYear(d), d), p, 2); - } + exports.version = version; + exports.format = format; + exports.formatPrefix = formatPrefix; + exports.formatLocale = locale; + exports.formatCaEs = caES; + exports.formatCsCz = csCZ; + exports.formatDeCh = deCH; + exports.formatDeDe = deDE; + exports.formatEnCa = enCA; + exports.formatEnGb = enGB; + exports.formatEnUs = defaultLocale; + exports.formatEsEs = esES; + exports.formatFiFi = fiFI; + exports.formatFrCa = frCA; + exports.formatFrFr = frFR; + exports.formatHeIl = heIL; + exports.formatHuHu = huHU; + exports.formatItIt = itIT; + exports.formatJaJp = jaJP; + exports.formatKoKr = koKR; + exports.formatMkMk = mkMK; + exports.formatNlNl = nlNL; + exports.formatPlPl = plPL; + exports.formatPtBr = ptBR; + exports.formatRuRu = ruRU; + exports.formatSvSe = svSE; + exports.formatZhCn = zhCN; + exports.formatSpecifier = formatSpecifier; + exports.precisionFixed = precisionFixed; + exports.precisionPrefix = precisionPrefix; + exports.precisionRound = precisionRound; - function formatYear(d, p) { - return pad(d.getFullYear() % 100, p, 2); - } + })); - function formatFullYear(d, p) { - return pad(d.getFullYear() % 10000, p, 4); - } +/***/ }), +/* 25 */ +/***/ (function(module, exports, __webpack_require__) { - function formatZone(d) { - var z = d.getTimezoneOffset(); - return (z > 0 ? "-" : (z *= -1, "+")) - + pad(z / 60 | 0, "0", 2) - + pad(z % 60, "0", 2); - } + (function (global, factory) { + true ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.d3_time = global.d3_time || {}))); + }(this, function (exports) { 'use strict'; - function formatUTCDayOfMonth(d, p) { - return pad(d.getUTCDate(), p, 2); - } + var version = "0.2.6"; - function formatUTCHour24(d, p) { - return pad(d.getUTCHours(), p, 2); - } + var t0 = new Date; + var t1 = new Date; + function newInterval(floori, offseti, count, field) { - function formatUTCHour12(d, p) { - return pad(d.getUTCHours() % 12 || 12, p, 2); - } + function interval(date) { + return floori(date = new Date(+date)), date; + } - function formatUTCDayOfYear(d, p) { - return pad(1 + d3Time.utcDay.count(d3Time.utcYear(d), d), p, 3); - } + interval.floor = interval; - function formatUTCMilliseconds(d, p) { - return pad(d.getUTCMilliseconds(), p, 3); - } + interval.ceil = function(date) { + return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date; + }; - function formatUTCMonthNumber(d, p) { - return pad(d.getUTCMonth() + 1, p, 2); - } + interval.round = function(date) { + var d0 = interval(date), + d1 = interval.ceil(date); + return date - d0 < d1 - date ? d0 : d1; + }; - function formatUTCMinutes(d, p) { - return pad(d.getUTCMinutes(), p, 2); - } + interval.offset = function(date, step) { + return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date; + }; - function formatUTCSeconds(d, p) { - return pad(d.getUTCSeconds(), p, 2); - } + interval.range = function(start, stop, step) { + var range = []; + start = interval.ceil(start); + step = step == null ? 1 : Math.floor(step); + if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date + do range.push(new Date(+start)); while (offseti(start, step), floori(start), start < stop) + return range; + }; - function formatUTCWeekNumberSunday(d, p) { - return pad(d3Time.utcSunday.count(d3Time.utcYear(d), d), p, 2); - } + interval.filter = function(test) { + return newInterval(function(date) { + while (floori(date), !test(date)) date.setTime(date - 1); + }, function(date, step) { + while (--step >= 0) while (offseti(date, 1), !test(date)); + }); + }; - function formatUTCWeekdayNumber(d) { - return d.getUTCDay(); - } + if (count) { + interval.count = function(start, end) { + t0.setTime(+start), t1.setTime(+end); + floori(t0), floori(t1); + return Math.floor(count(t0, t1)); + }; - function formatUTCWeekNumberMonday(d, p) { - return pad(d3Time.utcMonday.count(d3Time.utcYear(d), d), p, 2); - } + interval.every = function(step) { + step = Math.floor(step); + return !isFinite(step) || !(step > 0) ? null + : !(step > 1) ? interval + : interval.filter(field + ? function(d) { return field(d) % step === 0; } + : function(d) { return interval.count(0, d) % step === 0; }); + }; + } - function formatUTCYear(d, p) { - return pad(d.getUTCFullYear() % 100, p, 2); + return interval; } - function formatUTCFullYear(d, p) { - return pad(d.getUTCFullYear() % 10000, p, 4); - } + var millisecond = newInterval(function() { + // noop + }, function(date, step) { + date.setTime(+date + step); + }, function(start, end) { + return end - start; + }); - function formatUTCZone() { - return "+0000"; - } + // An optimized implementation for this simple case. + millisecond.every = function(k) { + k = Math.floor(k); + if (!isFinite(k) || !(k > 0)) return null; + if (!(k > 1)) return millisecond; + return newInterval(function(date) { + date.setTime(Math.floor(date / k) * k); + }, function(date, step) { + date.setTime(+date + step * k); + }, function(start, end) { + return (end - start) / k; + }); + }; - function formatLiteralPercent() { - return "%"; - } + var second$1 = 1e3; + var minute = 6e4; + var hour = 36e5; + var day = 864e5; + var week = 6048e5; - var locale = locale$1({ - 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"] + var second = newInterval(function(date) { + date.setTime(Math.floor(date / second$1) * second$1); + }, function(date, step) { + date.setTime(+date + step * second$1); + }, function(start, end) { + return (end - start) / second$1; + }, function(date) { + return date.getUTCSeconds(); }); - var caES = locale$1({ - dateTime: "%A, %e de %B de %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["diumenge", "dilluns", "dimarts", "dimecres", "dijous", "divendres", "dissabte"], - shortDays: ["dg.", "dl.", "dt.", "dc.", "dj.", "dv.", "ds."], - months: ["gener", "febrer", "març", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre", "desembre"], - shortMonths: ["gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."] + var minute$1 = newInterval(function(date) { + date.setTime(Math.floor(date / minute) * minute); + }, function(date, step) { + date.setTime(+date + step * minute); + }, function(start, end) { + return (end - start) / minute; + }, function(date) { + return date.getMinutes(); }); - var deCH = locale$1({ - dateTime: "%A, der %e. %B %Y, %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], - shortDays: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], - months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], - shortMonths: ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"] + var hour$1 = newInterval(function(date) { + var offset = date.getTimezoneOffset() * minute % hour; + if (offset < 0) offset += hour; + date.setTime(Math.floor((+date - offset) / hour) * hour + offset); + }, function(date, step) { + date.setTime(+date + step * hour); + }, function(start, end) { + return (end - start) / hour; + }, function(date) { + return date.getHours(); }); - var deDE = locale$1({ - dateTime: "%A, der %e. %B %Y, %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], - shortDays: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], - months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], - shortMonths: ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"] + var day$1 = newInterval(function(date) { + date.setHours(0, 0, 0, 0); + }, function(date, step) { + date.setDate(date.getDate() + step); + }, function(start, end) { + return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * minute) / day; + }, function(date) { + return date.getDate() - 1; }); - var enCA = locale$1({ - dateTime: "%a %b %e %X %Y", - date: "%Y-%m-%d", - 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"] - }); + function weekday(i) { + return newInterval(function(date) { + date.setHours(0, 0, 0, 0); + date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7); + }, function(date, step) { + date.setDate(date.getDate() + step * 7); + }, function(start, end) { + return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * minute) / week; + }); + } - var enGB = locale$1({ - dateTime: "%a %e %b %X %Y", - date: "%d/%m/%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"] - }); + var sunday = weekday(0); + var monday = weekday(1); + var tuesday = weekday(2); + var wednesday = weekday(3); + var thursday = weekday(4); + var friday = weekday(5); + var saturday = weekday(6); - var esES = locale$1({ - dateTime: "%A, %e de %B de %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"], - shortDays: ["dom", "lun", "mar", "mié", "jue", "vie", "sáb"], - months: ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"], - shortMonths: ["ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"] + var month = newInterval(function(date) { + date.setHours(0, 0, 0, 0); + date.setDate(1); + }, function(date, step) { + date.setMonth(date.getMonth() + step); + }, function(start, end) { + return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12; + }, function(date) { + return date.getMonth(); }); - var fiFI = locale$1({ - dateTime: "%A, %-d. %Bta %Y klo %X", - date: "%-d.%-m.%Y", - time: "%H:%M:%S", - periods: ["a.m.", "p.m."], - days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai"], - shortDays: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"], - months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], - shortMonths: ["Tammi", "Helmi", "Maalis", "Huhti", "Touko", "Kesä", "Heinä", "Elo", "Syys", "Loka", "Marras", "Joulu"] + var year = newInterval(function(date) { + date.setHours(0, 0, 0, 0); + date.setMonth(0, 1); + }, function(date, step) { + date.setFullYear(date.getFullYear() + step); + }, function(start, end) { + return end.getFullYear() - start.getFullYear(); + }, function(date) { + return date.getFullYear(); }); - var frCA = locale$1({ - dateTime: "%a %e %b %Y %X", - date: "%Y-%m-%d", - time: "%H:%M:%S", - periods: ["", ""], - days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], - shortDays: ["dim", "lun", "mar", "mer", "jeu", "ven", "sam"], - months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"], - shortMonths: ["jan", "fév", "mar", "avr", "mai", "jui", "jul", "aoû", "sep", "oct", "nov", "déc"] + var utcMinute = newInterval(function(date) { + date.setUTCSeconds(0, 0); + }, function(date, step) { + date.setTime(+date + step * minute); + }, function(start, end) { + return (end - start) / minute; + }, function(date) { + return date.getUTCMinutes(); }); - var frFR = locale$1({ - dateTime: "%A, le %e %B %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], - shortDays: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."], - months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"], - shortMonths: ["janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."] + var utcHour = newInterval(function(date) { + date.setUTCMinutes(0, 0, 0); + }, function(date, step) { + date.setTime(+date + step * hour); + }, function(start, end) { + return (end - start) / hour; + }, function(date) { + return date.getUTCHours(); }); - var heIL = locale$1({ - dateTime: "%A, %e ב%B %Y %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"], - shortDays: ["א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"], - months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], - shortMonths: ["ינו׳", "פבר׳", "מרץ", "אפר׳", "מאי", "יוני", "יולי", "אוג׳", "ספט׳", "אוק׳", "נוב׳", "דצמ׳"] + var utcDay = newInterval(function(date) { + date.setUTCHours(0, 0, 0, 0); + }, function(date, step) { + date.setUTCDate(date.getUTCDate() + step); + }, function(start, end) { + return (end - start) / day; + }, function(date) { + return date.getUTCDate() - 1; }); - var huHU = locale$1({ - dateTime: "%Y. %B %-e., %A %X", - date: "%Y. %m. %d.", - time: "%H:%M:%S", - periods: ["de.", "du."], // unused - days: ["vasárnap", "hétfő", "kedd", "szerda", "csütörtök", "péntek", "szombat"], - shortDays: ["V", "H", "K", "Sze", "Cs", "P", "Szo"], - months: ["január", "február", "március", "április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december"], - shortMonths: ["jan.", "feb.", "már.", "ápr.", "máj.", "jún.", "júl.", "aug.", "szept.", "okt.", "nov.", "dec."] - }); + function utcWeekday(i) { + return newInterval(function(date) { + date.setUTCHours(0, 0, 0, 0); + date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7); + }, function(date, step) { + date.setUTCDate(date.getUTCDate() + step * 7); + }, function(start, end) { + return (end - start) / week; + }); + } - var itIT = locale$1({ - dateTime: "%A %e %B %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], - shortDays: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"], - months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], - shortMonths: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"] - }); + var utcSunday = utcWeekday(0); + var utcMonday = utcWeekday(1); + var utcTuesday = utcWeekday(2); + var utcWednesday = utcWeekday(3); + var utcThursday = utcWeekday(4); + var utcFriday = utcWeekday(5); + var utcSaturday = utcWeekday(6); - var jaJP = locale$1({ - dateTime: "%Y %b %e %a %X", - date: "%Y/%m/%d", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"], - shortDays: ["日", "月", "火", "水", "木", "金", "土"], - months: ["睦月", "如月", "弥生", "卯月", "皐月", "水無月", "文月", "葉月", "長月", "神無月", "霜月", "師走"], - shortMonths: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"] + var utcMonth = newInterval(function(date) { + date.setUTCHours(0, 0, 0, 0); + date.setUTCDate(1); + }, function(date, step) { + date.setUTCMonth(date.getUTCMonth() + step); + }, function(start, end) { + return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12; + }, function(date) { + return date.getUTCMonth(); }); - var koKR = locale$1({ - dateTime: "%Y/%m/%d %a %X", - date: "%Y/%m/%d", - time: "%H:%M:%S", - periods: ["오전", "오후"], - days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"], - shortDays: ["일", "월", "화", "수", "목", "금", "토"], - months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], - shortMonths: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"] + var utcYear = newInterval(function(date) { + date.setUTCHours(0, 0, 0, 0); + date.setUTCMonth(0, 1); + }, function(date, step) { + date.setUTCFullYear(date.getUTCFullYear() + step); + }, function(start, end) { + return end.getUTCFullYear() - start.getUTCFullYear(); + }, function(date) { + return date.getUTCFullYear(); }); - var mkMK = locale$1({ - dateTime: "%A, %e %B %Y г. %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["недела", "понеделник", "вторник", "среда", "четврток", "петок", "сабота"], - shortDays: ["нед", "пон", "вто", "сре", "чет", "пет", "саб"], - months: ["јануари", "февруари", "март", "април", "мај", "јуни", "јули", "август", "септември", "октомври", "ноември", "декември"], - shortMonths: ["јан", "фев", "мар", "апр", "мај", "јун", "јул", "авг", "сеп", "окт", "ное", "дек"] - }); + var timeMilliseconds = millisecond.range; + var timeSeconds = second.range; + var timeMinutes = minute$1.range; + var timeHours = hour$1.range; + var timeDays = day$1.range; + var timeSundays = sunday.range; + var timeMondays = monday.range; + var timeTuesdays = tuesday.range; + var timeWednesdays = wednesday.range; + var timeThursdays = thursday.range; + var timeFridays = friday.range; + var timeSaturdays = saturday.range; + var timeWeeks = sunday.range; + var timeMonths = month.range; + var timeYears = year.range; - var nlNL = locale$1({ - dateTime: "%a %e %B %Y %T", - date: "%d-%m-%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"], - shortDays: ["zo", "ma", "di", "wo", "do", "vr", "za"], - months: ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"], - shortMonths: ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"] - }); + var utcMilliseconds = timeMilliseconds; + var utcSeconds = timeSeconds; + var utcMinutes = utcMinute.range; + var utcHours = utcHour.range; + var utcDays = utcDay.range; + var utcSundays = utcSunday.range; + var utcMondays = utcMonday.range; + var utcTuesdays = utcTuesday.range; + var utcWednesdays = utcWednesday.range; + var utcThursdays = utcThursday.range; + var utcFridays = utcFriday.range; + var utcSaturdays = utcSaturday.range; + var utcWeeks = utcSunday.range; + var utcMonths = utcMonth.range; + var utcYears = utcYear.range; - var plPL = locale$1({ - dateTime: "%A, %e %B %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"], - shortDays: ["Niedz.", "Pon.", "Wt.", "Śr.", "Czw.", "Pt.", "Sob."], - months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], - shortMonths: ["Stycz.", "Luty", "Marz.", "Kwie.", "Maj", "Czerw.", "Lipc.", "Sierp.", "Wrz.", "Paźdz.", "Listop.", "Grudz."]/* In Polish language abbraviated months are not commonly used so there is a dispute about the proper abbraviations. */ - }); + exports.timeMilliseconds = timeMilliseconds; + exports.timeSeconds = timeSeconds; + exports.timeMinutes = timeMinutes; + exports.timeHours = timeHours; + exports.timeDays = timeDays; + exports.timeSundays = timeSundays; + exports.timeMondays = timeMondays; + exports.timeTuesdays = timeTuesdays; + exports.timeWednesdays = timeWednesdays; + exports.timeThursdays = timeThursdays; + exports.timeFridays = timeFridays; + exports.timeSaturdays = timeSaturdays; + exports.timeWeeks = timeWeeks; + exports.timeMonths = timeMonths; + exports.timeYears = timeYears; + exports.utcMilliseconds = utcMilliseconds; + exports.utcSeconds = utcSeconds; + exports.utcMinutes = utcMinutes; + exports.utcHours = utcHours; + exports.utcDays = utcDays; + exports.utcSundays = utcSundays; + exports.utcMondays = utcMondays; + exports.utcTuesdays = utcTuesdays; + exports.utcWednesdays = utcWednesdays; + exports.utcThursdays = utcThursdays; + exports.utcFridays = utcFridays; + exports.utcSaturdays = utcSaturdays; + exports.utcWeeks = utcWeeks; + exports.utcMonths = utcMonths; + exports.utcYears = utcYears; + exports.timeMillisecond = millisecond; + exports.timeSecond = second; + exports.timeMinute = minute$1; + exports.timeHour = hour$1; + exports.timeDay = day$1; + exports.timeSunday = sunday; + exports.timeMonday = monday; + exports.timeTuesday = tuesday; + exports.timeWednesday = wednesday; + exports.timeThursday = thursday; + exports.timeFriday = friday; + exports.timeSaturday = saturday; + exports.timeWeek = sunday; + exports.timeMonth = month; + exports.timeYear = year; + exports.utcMillisecond = millisecond; + exports.utcSecond = second; + exports.utcMinute = utcMinute; + exports.utcHour = utcHour; + exports.utcDay = utcDay; + exports.utcSunday = utcSunday; + exports.utcMonday = utcMonday; + exports.utcTuesday = utcTuesday; + exports.utcWednesday = utcWednesday; + exports.utcThursday = utcThursday; + exports.utcFriday = utcFriday; + exports.utcSaturday = utcSaturday; + exports.utcWeek = utcSunday; + exports.utcMonth = utcMonth; + exports.utcYear = utcYear; + exports.version = version; + exports.timeInterval = newInterval; - var ptBR = locale$1({ - dateTime: "%A, %e de %B de %Y. %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"], - shortDays: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"], - months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], - shortMonths: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"] - }); + Object.defineProperty(exports, '__esModule', { value: true }); - var ruRU = locale$1({ - dateTime: "%A, %e %B %Y г. %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота"], - shortDays: ["вс", "пн", "вт", "ср", "чт", "пт", "сб"], - months: ["января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"], - shortMonths: ["янв", "фев", "мар", "апр", "май", "июн", "июл", "авг", "сен", "окт", "ноя", "дек"] - }); + })); - var svSE = locale$1({ - dateTime: "%A den %d %B %Y %X", - date: "%Y-%m-%d", - time: "%H:%M:%S", - periods: ["fm", "em"], - days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"], - shortDays: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"], - months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], - shortMonths: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"] - }); +/***/ }), +/* 26 */ +/***/ (function(module, exports, __webpack_require__) { - var zhCN = locale$1({ - dateTime: "%x %A %X", - date: "%Y年%-m月%-d日", - time: "%H:%M:%S", - periods: ["上午", "下午"], - days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], - shortDays: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"], - months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], - shortMonths: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"] - }); + (function (global, factory) { + true ? factory(exports, __webpack_require__(25)) : + typeof define === 'function' && define.amd ? define(['exports', 'd3-time'], factory) : + (factory((global.d3_time_format = global.d3_time_format || {}),global.d3_time)); + }(this, function (exports,d3Time) { 'use strict'; - var isoSpecifier = "%Y-%m-%dT%H:%M:%S.%LZ"; + var version = "0.3.2"; - function formatIsoNative(date) { - return date.toISOString(); + function localDate(d) { + if (0 <= d.y && d.y < 100) { + var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L); + date.setFullYear(d.y); + return date; + } + return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L); } - var formatIso = Date.prototype.toISOString - ? formatIsoNative - : locale.utcFormat(isoSpecifier); - - function parseIsoNative(string) { - var date = new Date(string); - return isNaN(date) ? null : date; + function utcDate(d) { + if (0 <= d.y && d.y < 100) { + var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L)); + date.setUTCFullYear(d.y); + return date; + } + return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L)); } - var parseIso = +new Date("2000-01-01T00:00:00.000Z") - ? parseIsoNative - : locale.utcParse(isoSpecifier); - - var timeFormat = locale.format; - var timeParse = locale.parse; - var utcFormat = locale.utcFormat; - var utcParse = locale.utcParse; - - exports.timeFormat = timeFormat; - exports.timeParse = timeParse; - exports.utcFormat = utcFormat; - exports.utcParse = utcParse; - exports.version = version; - exports.timeFormatLocale = locale$1; - exports.timeFormatCaEs = caES; - exports.timeFormatDeCh = deCH; - exports.timeFormatDeDe = deDE; - exports.timeFormatEnCa = enCA; - exports.timeFormatEnGb = enGB; - exports.timeFormatEnUs = locale; - exports.timeFormatEsEs = esES; - exports.timeFormatFiFi = fiFI; - exports.timeFormatFrCa = frCA; - exports.timeFormatFrFr = frFR; - exports.timeFormatHeIl = heIL; - exports.timeFormatHuHu = huHU; - exports.timeFormatItIt = itIT; - exports.timeFormatJaJp = jaJP; - exports.timeFormatKoKr = koKR; - exports.timeFormatMkMk = mkMK; - exports.timeFormatNlNl = nlNL; - exports.timeFormatPlPl = plPL; - exports.timeFormatPtBr = ptBR; - exports.timeFormatRuRu = ruRU; - exports.timeFormatSvSe = svSE; - exports.timeFormatZhCn = zhCN; - exports.isoFormat = formatIso; - exports.isoParse = parseIso; - - })); - -/***/ }, -/* 17 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; + function newYear(y) { + return {y: y, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0}; + } - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + function locale$1(locale) { + var locale_dateTime = locale.dateTime, + locale_date = locale.date, + locale_time = locale.time, + locale_periods = locale.periods, + locale_weekdays = locale.days, + locale_shortWeekdays = locale.shortDays, + locale_months = locale.months, + locale_shortMonths = locale.shortMonths; - Object.defineProperty(exports, "__esModule", { - value: true - }); + var periodRe = formatRe(locale_periods), + periodLookup = formatLookup(locale_periods), + weekdayRe = formatRe(locale_weekdays), + weekdayLookup = formatLookup(locale_weekdays), + shortWeekdayRe = formatRe(locale_shortWeekdays), + shortWeekdayLookup = formatLookup(locale_shortWeekdays), + monthRe = formatRe(locale_months), + monthLookup = formatLookup(locale_months), + shortMonthRe = formatRe(locale_shortMonths), + shortMonthLookup = formatLookup(locale_shortMonths); - var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i];for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - }return target; - }; - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor); - } - }return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor; - }; - }(); - - var _react = __webpack_require__(4); + var formats = { + "a": formatShortWeekday, + "A": formatWeekday, + "b": formatShortMonth, + "B": formatMonth, + "c": null, + "d": formatDayOfMonth, + "e": formatDayOfMonth, + "H": formatHour24, + "I": formatHour12, + "j": formatDayOfYear, + "L": formatMilliseconds, + "m": formatMonthNumber, + "M": formatMinutes, + "p": formatPeriod, + "S": formatSeconds, + "U": formatWeekNumberSunday, + "w": formatWeekdayNumber, + "W": formatWeekNumberMonday, + "x": null, + "X": null, + "y": formatYear, + "Y": formatFullYear, + "Z": formatZone, + "%": formatLiteralPercent + }; - var _react2 = _interopRequireDefault(_react); + var utcFormats = { + "a": formatUTCShortWeekday, + "A": formatUTCWeekday, + "b": formatUTCShortMonth, + "B": formatUTCMonth, + "c": null, + "d": formatUTCDayOfMonth, + "e": formatUTCDayOfMonth, + "H": formatUTCHour24, + "I": formatUTCHour12, + "j": formatUTCDayOfYear, + "L": formatUTCMilliseconds, + "m": formatUTCMonthNumber, + "M": formatUTCMinutes, + "p": formatUTCPeriod, + "S": formatUTCSeconds, + "U": formatUTCWeekNumberSunday, + "w": formatUTCWeekdayNumber, + "W": formatUTCWeekNumberMonday, + "x": null, + "X": null, + "y": formatUTCYear, + "Y": formatUTCFullYear, + "Z": formatUTCZone, + "%": formatLiteralPercent + }; - var _commonProps = __webpack_require__(7); + var parses = { + "a": parseShortWeekday, + "A": parseWeekday, + "b": parseShortMonth, + "B": parseMonth, + "c": parseLocaleDateTime, + "d": parseDayOfMonth, + "e": parseDayOfMonth, + "H": parseHour24, + "I": parseHour24, + "j": parseDayOfYear, + "L": parseMilliseconds, + "m": parseMonthNumber, + "M": parseMinutes, + "p": parsePeriod, + "S": parseSeconds, + "U": parseWeekNumberSunday, + "w": parseWeekdayNumber, + "W": parseWeekNumberMonday, + "x": parseLocaleDate, + "X": parseLocaleTime, + "y": parseYear, + "Y": parseFullYear, + "Z": parseZone, + "%": parseLiteralPercent + }; - var _commonProps2 = _interopRequireDefault(_commonProps); + // These recursive directive definitions must be deferred. + formats.x = newFormat(locale_date, formats); + formats.X = newFormat(locale_time, formats); + formats.c = newFormat(locale_dateTime, formats); + utcFormats.x = newFormat(locale_date, utcFormats); + utcFormats.X = newFormat(locale_time, utcFormats); + utcFormats.c = newFormat(locale_dateTime, utcFormats); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } + function newFormat(specifier, formats) { + return function(date) { + var string = [], + i = -1, + j = 0, + n = specifier.length, + c, + pad, + format; - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } + if (!(date instanceof Date)) date = new Date(+date); - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; - } + while (++i < n) { + if (specifier.charCodeAt(i) === 37) { + string.push(specifier.slice(j, i)); + if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i); + else pad = c === "e" ? " " : "0"; + if (format = formats[c]) c = format(date, pad); + string.push(c); + j = i + 1; + } + } - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } + string.push(specifier.slice(j, i)); + return string.join(""); + }; + } - var ChartTitle = function (_Component) { - _inherits(ChartTitle, _Component); + function newParse(specifier, newDate) { + return function(string) { + var d = newYear(1900), + i = parseSpecifier(d, specifier, string += "", 0); + if (i != string.length) return null; - function ChartTitle(props) { - _classCallCheck(this, ChartTitle); + // The am-pm flag is 0 for AM, and 1 for PM. + if ("p" in d) d.H = d.H % 12 + d.p * 12; - return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartTitle).call(this, props)); - } + // Convert day-of-week and week-of-year to day-of-year. + if ("W" in d || "U" in d) { + if (!("w" in d)) d.w = "W" in d ? 1 : 0; + var day = "Z" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay(); + d.m = 0; + d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7; + } - _createClass(ChartTitle, [{ - key: 'render', - value: function render() { - var _props = this.props; - var titleClassName = _props.titleClassName; - var title = _props.title; - var width = _props.width; + // If a time zone is specified, all fields are interpreted as UTC and then + // offset according to the specified time zone. + if ("Z" in d) { + d.H += d.Z / 100 | 0; + d.M += d.Z % 100; + return utcDate(d); + } - var titleStyle = { - width: width, - textAlign: 'center', - fontSize: '2em', - paddingBottom: '1.3em' + // Otherwise, all fields are in local time. + return newDate(d); }; - - return _react2.default.createElement('div', { - style: titleStyle, - className: titleClassName - }, title); } - }]); - - return ChartTitle; - }(_react.Component); - - ChartTitle.defaultProps = _extends({ - titleClassName: 'react-d3-core__container_title', - title: '' - }, _commonProps2.default); - ChartTitle.propTypes = { - width: _react.PropTypes.number.isRequired, - title: _react.PropTypes.string, - titleClassName: _react.PropTypes.string - }; - exports.default = ChartTitle; -/***/ }, -/* 18 */ -/***/ function(module, exports, __webpack_require__) { + function parseSpecifier(d, specifier, string, j) { + var i = 0, + n = specifier.length, + m = string.length, + c, + parse; - "use strict"; + while (i < n) { + if (j >= m) return -1; + c = specifier.charCodeAt(i++); + if (c === 37) { + c = specifier.charAt(i++); + parse = parses[c in pads ? specifier.charAt(i++) : c]; + if (!parse || ((j = parse(d, string, j)) < 0)) return -1; + } else if (c != string.charCodeAt(j++)) { + return -1; + } + } - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + return j; + } - Object.defineProperty(exports, "__esModule", { - value: true - }); + function parsePeriod(d, string, i) { + var n = periodRe.exec(string.slice(i)); + return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1; + } - var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i];for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } + function parseShortWeekday(d, string, i) { + var n = shortWeekdayRe.exec(string.slice(i)); + return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1; } - }return target; - }; - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor); + function parseWeekday(d, string, i) { + var n = weekdayRe.exec(string.slice(i)); + return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1; } - }return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor; - }; - }(); - var _react = __webpack_require__(4); + function parseShortMonth(d, string, i) { + var n = shortMonthRe.exec(string.slice(i)); + return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1; + } - var _react2 = _interopRequireDefault(_react); + function parseMonth(d, string, i) { + var n = monthRe.exec(string.slice(i)); + return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1; + } - var _svg = __webpack_require__(6); + function parseLocaleDateTime(d, string, i) { + return parseSpecifier(d, locale_dateTime, string, i); + } - var _svg2 = _interopRequireDefault(_svg); + function parseLocaleDate(d, string, i) { + return parseSpecifier(d, locale_date, string, i); + } - var _legend = __webpack_require__(19); + function parseLocaleTime(d, string, i) { + return parseSpecifier(d, locale_time, string, i); + } - var _legend2 = _interopRequireDefault(_legend); + function formatShortWeekday(d) { + return locale_shortWeekdays[d.getDay()]; + } - var _commonProps = __webpack_require__(7); + function formatWeekday(d) { + return locale_weekdays[d.getDay()]; + } - var _commonProps2 = _interopRequireDefault(_commonProps); + function formatShortMonth(d) { + return locale_shortMonths[d.getMonth()]; + } - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } + function formatMonth(d) { + return locale_months[d.getMonth()]; + } - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } + function formatPeriod(d) { + return locale_periods[+(d.getHours() >= 12)]; + } - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; - } + function formatUTCShortWeekday(d) { + return locale_shortWeekdays[d.getUTCDay()]; + } - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } + function formatUTCWeekday(d) { + return locale_weekdays[d.getUTCDay()]; + } - var ChartContainer = function (_Component) { - _inherits(ChartContainer, _Component); + function formatUTCShortMonth(d) { + return locale_shortMonths[d.getUTCMonth()]; + } - function ChartContainer(props) { - _classCallCheck(this, ChartContainer); + function formatUTCMonth(d) { + return locale_months[d.getUTCMonth()]; + } - return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartContainer).call(this, props)); + function formatUTCPeriod(d) { + return locale_periods[+(d.getUTCHours() >= 12)]; + } + + return { + format: function(specifier) { + var f = newFormat(specifier += "", formats); + f.toString = function() { return specifier; }; + return f; + }, + parse: function(specifier) { + var p = newParse(specifier += "", localDate); + p.toString = function() { return specifier; }; + return p; + }, + utcFormat: function(specifier) { + var f = newFormat(specifier += "", utcFormats); + f.toString = function() { return specifier; }; + return f; + }, + utcParse: function(specifier) { + var p = newParse(specifier, utcDate); + p.toString = function() { return specifier; }; + return p; + } + }; } - _createClass(ChartContainer, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var chartSeries = _props.chartSeries; + var pads = {"-": "", "_": " ", "0": "0"}; + var numberRe = /^\s*\d+/; + var percentRe = /^%/; + var requoteRe = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; + function pad(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); + } - var legend; + function requote(s) { + return s.replace(requoteRe, "\\$&"); + } - var divStyle = { - width: width - }; + function formatRe(names) { + return new RegExp("^(?:" + names.map(requote).join("|") + ")", "i"); + } - if (chartSeries) { - legend = _react2.default.createElement(_legend2.default, _extends({}, this.props, { - chartSeries: chartSeries - })); - } + function formatLookup(names) { + var map = {}, i = -1, n = names.length; + while (++i < n) map[names[i].toLowerCase()] = i; + return map; + } - return _react2.default.createElement('div', { style: divStyle }, legend, _react2.default.createElement(_svg2.default, this.props)); - } - }]); + function parseWeekdayNumber(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 1)); + return n ? (d.w = +n[0], i + n[0].length) : -1; + } - return ChartContainer; - }(_react.Component); + function parseWeekNumberSunday(d, string, i) { + var n = numberRe.exec(string.slice(i)); + return n ? (d.U = +n[0], i + n[0].length) : -1; + } - ChartContainer.defaultProps = _commonProps2.default; - exports.default = ChartContainer; + function parseWeekNumberMonday(d, string, i) { + var n = numberRe.exec(string.slice(i)); + return n ? (d.W = +n[0], i + n[0].length) : -1; + } -/***/ }, -/* 19 */ -/***/ function(module, exports, __webpack_require__) { + function parseFullYear(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 4)); + return n ? (d.y = +n[0], i + n[0].length) : -1; + } - "use strict"; + function parseYear(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1; + } - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + function parseZone(d, string, i) { + var n = /^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(string.slice(i, i + 6)); + return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1; + } - Object.defineProperty(exports, "__esModule", { - value: true - }); + function parseMonthNumber(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.m = n[0] - 1, i + n[0].length) : -1; + } - var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i];for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - }return target; - }; + function parseDayOfMonth(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.d = +n[0], i + n[0].length) : -1; + } - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor); - } - }return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor; - }; - }(); + function parseDayOfYear(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 3)); + return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1; + } - var _react = __webpack_require__(4); + function parseHour24(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.H = +n[0], i + n[0].length) : -1; + } - var _react2 = _interopRequireDefault(_react); + function parseMinutes(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.M = +n[0], i + n[0].length) : -1; + } - var _d3Selection = __webpack_require__(20); + function parseSeconds(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.S = +n[0], i + n[0].length) : -1; + } - var _d3Selection2 = _interopRequireDefault(_d3Selection); + function parseMilliseconds(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 3)); + return n ? (d.L = +n[0], i + n[0].length) : -1; + } - var _d3Scale = __webpack_require__(9); + function parseLiteralPercent(d, string, i) { + var n = percentRe.exec(string.slice(i, i + 1)); + return n ? i + n[0].length : -1; + } - var _d3Scale2 = _interopRequireDefault(_d3Scale); + function formatDayOfMonth(d, p) { + return pad(d.getDate(), p, 2); + } - var _reactFauxDom = __webpack_require__(21); + function formatHour24(d, p) { + return pad(d.getHours(), p, 2); + } - var _reactFauxDom2 = _interopRequireDefault(_reactFauxDom); + function formatHour12(d, p) { + return pad(d.getHours() % 12 || 12, p, 2); + } - var _commonProps = __webpack_require__(7); + function formatDayOfYear(d, p) { + return pad(1 + d3Time.timeDay.count(d3Time.timeYear(d), d), p, 3); + } - var _commonProps2 = _interopRequireDefault(_commonProps); + function formatMilliseconds(d, p) { + return pad(d.getMilliseconds(), p, 3); + } - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } + function formatMonthNumber(d, p) { + return pad(d.getMonth() + 1, p, 2); + } - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); + function formatMinutes(d, p) { + return pad(d.getMinutes(), p, 2); } - } - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; - } - - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } - - var Legend = function (_Component) { - _inherits(Legend, _Component); - - function Legend(props) { - _classCallCheck(this, Legend); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(Legend).call(this, props)); + function formatSeconds(d, p) { + return pad(d.getSeconds(), p, 2); } - _createClass(Legend, [{ - key: '_radius', - value: function _radius(swatchShape) { - return swatchShape === 'circle' ? 18 : 0; - } - }, { - key: '_series', - value: function _series(props) { - var chartSeries = props.chartSeries; - var categoricalColors = props.categoricalColors; - - var colors = categoricalColors || _d3Scale2.default.scaleCategory10(); - - return chartSeries.map(function (_ref, i) { - var name = _ref.name; - var color = _ref.color; - var field = _ref.field; - return { - color: color || colors(i), - name: name || field, - field: field - }; - }); - } - }, { - key: '_mkLegend', - value: function _mkLegend(dom) { - var _props = this.props; - var legendClassName = _props.legendClassName; - var backgroundColor = _props.backgroundColor; - var legendPosition = _props.legendPosition; - var legendOffset = _props.legendOffset; - var swatchShape = _props.swatchShape; - var chartSeries = _props.chartSeries; - var margins = _props.margins; - var width = _props.width; - - var legendArea = _d3Selection2.default.select(dom); - var series = this._series(this.props); - var radius = this._radius(swatchShape); - - // make legends - var legend = legendArea.selectAll('div').data(series).enter().append("div").attr("class", legendClassName + ' legend').style("height", 20).style("padding", 5).style("background-color", backgroundColor).style("display", "inline-block"); - - var rect = legend.append("div").style("width", 18).style("height", 18).style("border-radius", radius).style("background-color", function (d) { - return d.color; - }).style("float", legendPosition); - - var text = legend.append("div").style("padding-left", 5).style("padding-right", 5).text(function (d) { - return d.name; - }).style("float", legendPosition); - - return legendArea; - } - }, { - key: 'render', - value: function render() { - var _props2 = this.props; - var legendClassName = _props2.legendClassName; - var width = _props2.width; - var height = _props2.height; - - var legendGroup = _reactFauxDom2.default.createElement('div'); - var legendClasses = legendClassName + ' legend'; - - legendGroup.setAttribute('class', legendClasses); - legendGroup.style.width = width; - legendGroup.style.textAlign = 'center'; - - return this._mkLegend(legendGroup).node().toReact(); - } - }]); + function formatWeekNumberSunday(d, p) { + return pad(d3Time.timeSunday.count(d3Time.timeYear(d), d), p, 2); + } - return Legend; - }(_react.Component); + function formatWeekdayNumber(d) { + return d.getDay(); + } - Legend.defaultProps = _extends({ - backgroundColor: '#FFF', - legendHeight: 50, - legendPosition: 'left', - legendOffset: 90, - legendClassName: 'react-d3-core__legend', - swatchShape: 'square' - }, _commonProps2.default); - Legend.propTypes = { - backgroundColor: _react.PropTypes.string, - width: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - chartSeries: _react.PropTypes.array.isRequired, - legendOffset: _react.PropTypes.number.isRequired, - legendClassName: _react.PropTypes.string.isRequired, - legendPosition: _react.PropTypes.oneOf(['left', 'right']).isRequired, - swatchShape: _react.PropTypes.oneOf(['circle', 'square']) - }; - exports.default = Legend; + function formatWeekNumberMonday(d, p) { + return pad(d3Time.timeMonday.count(d3Time.timeYear(d), d), p, 2); + } -/***/ }, -/* 20 */ -/***/ function(module, exports, __webpack_require__) { + function formatYear(d, p) { + return pad(d.getFullYear() % 100, p, 2); + } - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_selection = global.d3_selection || {}))); - }(this, function (exports) { 'use strict'; + function formatFullYear(d, p) { + return pad(d.getFullYear() % 10000, p, 4); + } - var version = "0.7.2"; + function formatZone(d) { + var z = d.getTimezoneOffset(); + return (z > 0 ? "-" : (z *= -1, "+")) + + pad(z / 60 | 0, "0", 2) + + pad(z % 60, "0", 2); + } - var xhtml = "http://www.w3.org/1999/xhtml"; + function formatUTCDayOfMonth(d, p) { + return pad(d.getUTCDate(), p, 2); + } - var namespaces = { - svg: "http://www.w3.org/2000/svg", - xhtml: xhtml, - xlink: "http://www.w3.org/1999/xlink", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/" - }; + function formatUTCHour24(d, p) { + return pad(d.getUTCHours(), p, 2); + } - function namespace(name) { - var prefix = name += "", i = prefix.indexOf(":"); - if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1); - return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; + function formatUTCHour12(d, p) { + return pad(d.getUTCHours() % 12 || 12, p, 2); } - function creatorInherit(name) { - return function() { - var document = this.ownerDocument, - uri = this.namespaceURI; - return uri === xhtml && document.documentElement.namespaceURI === xhtml - ? document.createElement(name) - : document.createElementNS(uri, name); - }; + function formatUTCDayOfYear(d, p) { + return pad(1 + d3Time.utcDay.count(d3Time.utcYear(d), d), p, 3); } - function creatorFixed(fullname) { - return function() { - return this.ownerDocument.createElementNS(fullname.space, fullname.local); - }; + function formatUTCMilliseconds(d, p) { + return pad(d.getUTCMilliseconds(), p, 3); } - function creator(name) { - var fullname = namespace(name); - return (fullname.local - ? creatorFixed - : creatorInherit)(fullname); + function formatUTCMonthNumber(d, p) { + return pad(d.getUTCMonth() + 1, p, 2); } - var matcher = function(selector) { - return function() { - return this.matches(selector); - }; - }; + function formatUTCMinutes(d, p) { + return pad(d.getUTCMinutes(), p, 2); + } - if (typeof document !== "undefined") { - var element = document.documentElement; - if (!element.matches) { - var vendorMatches = element.webkitMatchesSelector - || element.msMatchesSelector - || element.mozMatchesSelector - || element.oMatchesSelector; - matcher = function(selector) { - return function() { - return vendorMatches.call(this, selector); - }; - }; - } + function formatUTCSeconds(d, p) { + return pad(d.getUTCSeconds(), p, 2); } - var matcher$1 = matcher; + function formatUTCWeekNumberSunday(d, p) { + return pad(d3Time.utcSunday.count(d3Time.utcYear(d), d), p, 2); + } - var filterEvents = {}; + function formatUTCWeekdayNumber(d) { + return d.getUTCDay(); + } - exports.event = null; + function formatUTCWeekNumberMonday(d, p) { + return pad(d3Time.utcMonday.count(d3Time.utcYear(d), d), p, 2); + } - if (typeof document !== "undefined") { - var element$1 = document.documentElement; - if (!("onmouseenter" in element$1)) { - filterEvents = {mouseenter: "mouseover", mouseleave: "mouseout"}; - } + function formatUTCYear(d, p) { + return pad(d.getUTCFullYear() % 100, p, 2); } - function filterContextListener(listener, index, group) { - listener = contextListener(listener, index, group); - return function(event) { - var related = event.relatedTarget; - if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) { - listener.call(this, event); - } - }; + function formatUTCFullYear(d, p) { + return pad(d.getUTCFullYear() % 10000, p, 4); } - function contextListener(listener, index, group) { - return function(event1) { - var event0 = exports.event; // Events can be reentrant (e.g., focus). - exports.event = event1; - try { - listener.call(this, this.__data__, index, group); - } finally { - exports.event = event0; - } - }; + function formatUTCZone() { + return "+0000"; } - function parseTypenames(typenames) { - return typenames.trim().split(/^|\s+/).map(function(t) { - var name = "", i = t.indexOf("."); - if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); - return {type: t, name: name}; - }); + function formatLiteralPercent() { + return "%"; } - function onRemove(typename) { - return function() { - var on = this.__on; - if (!on) return; - for (var j = 0, i = -1, m = on.length, o; j < m; ++j) { - if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) { - this.removeEventListener(o.type, o.listener, o.capture); - } else { - on[++i] = o; - } - } - if (++i) on.length = i; - else delete this.__on; - }; - } - - function onAdd(typename, value, capture) { - var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener; - return function(d, i, group) { - var on = this.__on, o, listener = wrap(value, i, group); - if (on) for (var j = 0, m = on.length; j < m; ++j) { - if ((o = on[j]).type === typename.type && o.name === typename.name) { - this.removeEventListener(o.type, o.listener, o.capture); - this.addEventListener(o.type, o.listener = listener, o.capture = capture); - o.value = value; - return; - } - } - this.addEventListener(typename.type, listener, capture); - o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture}; - if (!on) this.__on = [o]; - else on.push(o); - }; - } - - function selection_on(typename, value, capture) { - var typenames = parseTypenames(typename + ""), i, n = typenames.length, t; + var locale = locale$1({ + 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"] + }); - if (arguments.length < 2) { - var on = this.node().__on; - if (on) for (var j = 0, m = on.length, o; j < m; ++j) { - for (i = 0, o = on[j]; i < n; ++i) { - if ((t = typenames[i]).type === o.type && t.name === o.name) { - return o.value; - } - } - } - return; - } + var caES = locale$1({ + dateTime: "%A, %e de %B de %Y, %X", + date: "%d/%m/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["diumenge", "dilluns", "dimarts", "dimecres", "dijous", "divendres", "dissabte"], + shortDays: ["dg.", "dl.", "dt.", "dc.", "dj.", "dv.", "ds."], + months: ["gener", "febrer", "març", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre", "desembre"], + shortMonths: ["gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."] + }); - on = value ? onAdd : onRemove; - if (capture == null) capture = false; - for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture)); - return this; - } + var deCH = locale$1({ + dateTime: "%A, der %e. %B %Y, %X", + date: "%d.%m.%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], // unused + days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], + shortDays: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], + months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], + shortMonths: ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"] + }); - function customEvent(event1, listener, that, args) { - var event0 = exports.event; - event1.sourceEvent = exports.event; - exports.event = event1; - try { - return listener.apply(that, args); - } finally { - exports.event = event0; - } - } + var deDE = locale$1({ + dateTime: "%A, der %e. %B %Y, %X", + date: "%d.%m.%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], // unused + days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], + shortDays: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], + months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], + shortMonths: ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"] + }); - function sourceEvent() { - var current = exports.event, source; - while (source = current.sourceEvent) current = source; - return current; - } + var enCA = locale$1({ + dateTime: "%a %b %e %X %Y", + date: "%Y-%m-%d", + 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"] + }); - function point(node, event) { - var svg = node.ownerSVGElement || node; + var enGB = locale$1({ + dateTime: "%a %e %b %X %Y", + date: "%d/%m/%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"] + }); - if (svg.createSVGPoint) { - var point = svg.createSVGPoint(); - point.x = event.clientX, point.y = event.clientY; - point = point.matrixTransform(node.getScreenCTM().inverse()); - return [point.x, point.y]; - } + var esES = locale$1({ + dateTime: "%A, %e de %B de %Y, %X", + date: "%d/%m/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"], + shortDays: ["dom", "lun", "mar", "mié", "jue", "vie", "sáb"], + months: ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"], + shortMonths: ["ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"] + }); - var rect = node.getBoundingClientRect(); - return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop]; - } + var fiFI = locale$1({ + dateTime: "%A, %-d. %Bta %Y klo %X", + date: "%-d.%-m.%Y", + time: "%H:%M:%S", + periods: ["a.m.", "p.m."], + days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai"], + shortDays: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"], + months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], + shortMonths: ["Tammi", "Helmi", "Maalis", "Huhti", "Touko", "Kesä", "Heinä", "Elo", "Syys", "Loka", "Marras", "Joulu"] + }); - function mouse(node) { - var event = sourceEvent(); - if (event.changedTouches) event = event.changedTouches[0]; - return point(node, event); - } + var frCA = locale$1({ + dateTime: "%a %e %b %Y %X", + date: "%Y-%m-%d", + time: "%H:%M:%S", + periods: ["", ""], + days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], + shortDays: ["dim", "lun", "mar", "mer", "jeu", "ven", "sam"], + months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"], + shortMonths: ["jan", "fév", "mar", "avr", "mai", "jui", "jul", "aoû", "sep", "oct", "nov", "déc"] + }); - function selector(selector) { - return function() { - return this.querySelector(selector); - }; - } + var frFR = locale$1({ + dateTime: "%A, le %e %B %Y, %X", + date: "%d/%m/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], // unused + days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], + shortDays: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."], + months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"], + shortMonths: ["janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."] + }); - function selection_select(select) { - if (typeof select !== "function") select = selector(select); + var heIL = locale$1({ + dateTime: "%A, %e ב%B %Y %X", + date: "%d.%m.%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"], + shortDays: ["א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"], + months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], + shortMonths: ["ינו׳", "פבר׳", "מרץ", "אפר׳", "מאי", "יוני", "יולי", "אוג׳", "ספט׳", "אוק׳", "נוב׳", "דצמ׳"] + }); - for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { - if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { - if ("__data__" in node) subnode.__data__ = node.__data__; - subgroup[i] = subnode; - } - } - } + var huHU = locale$1({ + dateTime: "%Y. %B %-e., %A %X", + date: "%Y. %m. %d.", + time: "%H:%M:%S", + periods: ["de.", "du."], // unused + days: ["vasárnap", "hétfő", "kedd", "szerda", "csütörtök", "péntek", "szombat"], + shortDays: ["V", "H", "K", "Sze", "Cs", "P", "Szo"], + months: ["január", "február", "március", "április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december"], + shortMonths: ["jan.", "feb.", "már.", "ápr.", "máj.", "jún.", "júl.", "aug.", "szept.", "okt.", "nov.", "dec."] + }); - return new Selection(subgroups, this._parents); - } + var itIT = locale$1({ + dateTime: "%A %e %B %Y, %X", + date: "%d/%m/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], // unused + days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], + shortDays: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"], + months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], + shortMonths: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"] + }); - function selectorAll(selector) { - return function() { - return this.querySelectorAll(selector); - }; - } + var jaJP = locale$1({ + dateTime: "%Y %b %e %a %X", + date: "%Y/%m/%d", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"], + shortDays: ["日", "月", "火", "水", "木", "金", "土"], + months: ["睦月", "如月", "弥生", "卯月", "皐月", "水無月", "文月", "葉月", "長月", "神無月", "霜月", "師走"], + shortMonths: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"] + }); - function selection_selectAll(select) { - if (typeof select !== "function") select = selectorAll(select); + var koKR = locale$1({ + dateTime: "%Y/%m/%d %a %X", + date: "%Y/%m/%d", + time: "%H:%M:%S", + periods: ["오전", "오후"], + days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"], + shortDays: ["일", "월", "화", "수", "목", "금", "토"], + months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], + shortMonths: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"] + }); - for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { - if (node = group[i]) { - subgroups.push(select.call(node, node.__data__, i, group)); - parents.push(node); - } - } - } + var mkMK = locale$1({ + dateTime: "%A, %e %B %Y г. %X", + date: "%d.%m.%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["недела", "понеделник", "вторник", "среда", "четврток", "петок", "сабота"], + shortDays: ["нед", "пон", "вто", "сре", "чет", "пет", "саб"], + months: ["јануари", "февруари", "март", "април", "мај", "јуни", "јули", "август", "септември", "октомври", "ноември", "декември"], + shortMonths: ["јан", "фев", "мар", "апр", "мај", "јун", "јул", "авг", "сеп", "окт", "ное", "дек"] + }); - return new Selection(subgroups, parents); - } + var nlNL = locale$1({ + dateTime: "%a %e %B %Y %T", + date: "%d-%m-%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], // unused + days: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"], + shortDays: ["zo", "ma", "di", "wo", "do", "vr", "za"], + months: ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"], + shortMonths: ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"] + }); - function selection_filter(match) { - if (typeof match !== "function") match = matcher$1(match); + var plPL = locale$1({ + dateTime: "%A, %e %B %Y, %X", + date: "%d/%m/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], // unused + days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"], + shortDays: ["Niedz.", "Pon.", "Wt.", "Śr.", "Czw.", "Pt.", "Sob."], + months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], + shortMonths: ["Stycz.", "Luty", "Marz.", "Kwie.", "Maj", "Czerw.", "Lipc.", "Sierp.", "Wrz.", "Paźdz.", "Listop.", "Grudz."]/* In Polish language abbraviated months are not commonly used so there is a dispute about the proper abbraviations. */ + }); - for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, i = 0; i < n; ++i) { - if ((node = group[i]) && match.call(node, node.__data__, i, group)) { - subgroup[i] = node; - } - } - } + var ptBR = locale$1({ + dateTime: "%A, %e de %B de %Y. %X", + date: "%d/%m/%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"], + shortDays: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"], + months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], + shortMonths: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"] + }); - return new Selection(subgroups, this._parents); - } + var ruRU = locale$1({ + dateTime: "%A, %e %B %Y г. %X", + date: "%d.%m.%Y", + time: "%H:%M:%S", + periods: ["AM", "PM"], + days: ["воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота"], + shortDays: ["вс", "пн", "вт", "ср", "чт", "пт", "сб"], + months: ["января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"], + shortMonths: ["янв", "фев", "мар", "апр", "май", "июн", "июл", "авг", "сен", "окт", "ноя", "дек"] + }); - function constant(x) { - return function() { - return x; - }; - } + var svSE = locale$1({ + dateTime: "%A den %d %B %Y %X", + date: "%Y-%m-%d", + time: "%H:%M:%S", + periods: ["fm", "em"], + days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"], + shortDays: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"], + months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], + shortMonths: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"] + }); - var keyPrefix = "$"; // Protect against keys like “__proto__”. + var zhCN = locale$1({ + dateTime: "%x %A %X", + date: "%Y年%-m月%-d日", + time: "%H:%M:%S", + periods: ["上午", "下午"], + days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], + shortDays: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"], + months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + shortMonths: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"] + }); - function bindIndex(parent, group, enter, update, exit, data) { - var i = 0, - node, - groupLength = group.length, - dataLength = data.length; + var isoSpecifier = "%Y-%m-%dT%H:%M:%S.%LZ"; - // Put any non-null nodes that fit into update. - // Put any null nodes into enter. - // Put any remaining data into enter. - for (; i < dataLength; ++i) { - if (node = group[i]) { - node.__data__ = data[i]; - update[i] = node; - } else { - enter[i] = new EnterNode(parent, data[i]); - } - } + function formatIsoNative(date) { + return date.toISOString(); + } - // Put any non-null nodes that don’t fit into exit. - for (; i < groupLength; ++i) { - if (node = group[i]) { - exit[i] = node; - } - } + var formatIso = Date.prototype.toISOString + ? formatIsoNative + : locale.utcFormat(isoSpecifier); + + function parseIsoNative(string) { + var date = new Date(string); + return isNaN(date) ? null : date; } - function bindKey(parent, group, enter, update, exit, data, key) { - var i, - node, - nodeByKeyValue = {}, - groupLength = group.length, - dataLength = data.length, - keyValues = new Array(groupLength), - keyValue; + var parseIso = +new Date("2000-01-01T00:00:00.000Z") + ? parseIsoNative + : locale.utcParse(isoSpecifier); - // Compute the key for each node. - // If multiple nodes have the same key, only the first one counts. - for (i = 0; i < groupLength; ++i) { - if (node = group[i]) { - keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group); - if (!nodeByKeyValue[keyValue]) { - nodeByKeyValue[keyValue] = node; - } - } - } + var timeFormat = locale.format; + var timeParse = locale.parse; + var utcFormat = locale.utcFormat; + var utcParse = locale.utcParse; - // Compute the key for each datum. - // If multiple data have the same key, only the first one counts. - for (i = 0; i < dataLength; ++i) { - keyValue = keyPrefix + key.call(parent, data[i], i, data); + exports.timeFormat = timeFormat; + exports.timeParse = timeParse; + exports.utcFormat = utcFormat; + exports.utcParse = utcParse; + exports.version = version; + exports.timeFormatLocale = locale$1; + exports.timeFormatCaEs = caES; + exports.timeFormatDeCh = deCH; + exports.timeFormatDeDe = deDE; + exports.timeFormatEnCa = enCA; + exports.timeFormatEnGb = enGB; + exports.timeFormatEnUs = locale; + exports.timeFormatEsEs = esES; + exports.timeFormatFiFi = fiFI; + exports.timeFormatFrCa = frCA; + exports.timeFormatFrFr = frFR; + exports.timeFormatHeIl = heIL; + exports.timeFormatHuHu = huHU; + exports.timeFormatItIt = itIT; + exports.timeFormatJaJp = jaJP; + exports.timeFormatKoKr = koKR; + exports.timeFormatMkMk = mkMK; + exports.timeFormatNlNl = nlNL; + exports.timeFormatPlPl = plPL; + exports.timeFormatPtBr = ptBR; + exports.timeFormatRuRu = ruRU; + exports.timeFormatSvSe = svSE; + exports.timeFormatZhCn = zhCN; + exports.isoFormat = formatIso; + exports.isoParse = parseIso; - // Is there a node associated with this key? - // If not, this datum is added to the enter selection. - if (!(node = nodeByKeyValue[keyValue])) { - enter[i] = new EnterNode(parent, data[i]); - } + })); - // Did we already bind a node using this key? (Or is a duplicate?) - // If unique, the node and datum are joined in the update selection. - // Otherwise, the datum is ignored, neither entering nor exiting. - else if (node !== true) { - update[i] = node; - node.__data__ = data[i]; - } +/***/ }), +/* 27 */ +/***/ (function(module, exports, __webpack_require__) { - // Record that we consumed this key, either to enter or update. - nodeByKeyValue[keyValue] = true; - } + "use strict"; - // Take any remaining nodes that were not bound to data, - // and place them in the exit selection. - for (i = 0; i < groupLength; ++i) { - if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] !== true)) { - exit[i] = node; - } - } - } + Object.defineProperty(exports, "__esModule", { + value: true + }); - function selection_data(value, key) { - if (!value) { - data = new Array(this.size()), j = -1; - this.each(function(d) { data[++j] = d; }); - return data; - } + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - var bind = key ? bindKey : bindIndex, - parents = this._parents, - groups = this._groups; + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - if (typeof value !== "function") value = constant(value); + var _react = __webpack_require__(4); - for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) { - var parent = parents[j], - group = groups[j], - groupLength = group.length, - data = value.call(parent, parent && parent.__data__, j, parents), - dataLength = data.length, - enterGroup = enter[j] = new Array(dataLength), - updateGroup = update[j] = new Array(dataLength), - exitGroup = exit[j] = new Array(groupLength); + var _react2 = _interopRequireDefault(_react); - bind(parent, group, enterGroup, updateGroup, exitGroup, data, key); + var _commonProps = __webpack_require__(17); - // Now connect the enter nodes to their following update node, such that - // appendChild can insert the materialized enter node before this node, - // rather than at the end of the parent node. - for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) { - if (previous = enterGroup[i0]) { - if (i0 >= i1) i1 = i0 + 1; - while (!(next = updateGroup[i1]) && ++i1 < dataLength); - previous._next = next || null; - } - } - } + var _commonProps2 = _interopRequireDefault(_commonProps); - update = new Selection(update, parents); - update._enter = enter; - update._exit = exit; - return update; - } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function EnterNode(parent, datum) { - this.ownerDocument = parent.ownerDocument; - this.namespaceURI = parent.namespaceURI; - this._next = null; - this._parent = parent; - this.__data__ = datum; - } + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - EnterNode.prototype = { - constructor: EnterNode, - appendChild: function(child) { return this._parent.insertBefore(child, this._next); }, - insertBefore: function(child, next) { return this._parent.insertBefore(child, next); }, - querySelector: function(selector) { return this._parent.querySelector(selector); }, - querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); } - }; + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - function sparse(update) { - return new Array(update.length); - } + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - function selection_enter() { - return new Selection(this._enter || this._groups.map(sparse), this._parents); - } + var ChartTitle = function (_Component) { + _inherits(ChartTitle, _Component); - function selection_exit() { - return new Selection(this._exit || this._groups.map(sparse), this._parents); + function ChartTitle(props) { + _classCallCheck(this, ChartTitle); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartTitle).call(this, props)); } - function selection_merge(selection) { + _createClass(ChartTitle, [{ + key: 'render', + value: function render() { + var _props = this.props; + var titleClassName = _props.titleClassName; + var title = _props.title; + var width = _props.width; - for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { - for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { - if (node = group0[i] || group1[i]) { - merge[i] = node; - } - } - } - for (; j < m0; ++j) { - merges[j] = groups0[j]; + var titleStyle = { + width: width, + textAlign: 'center', + fontSize: '2em', + paddingBottom: '1.3em' + }; + + return _react2.default.createElement( + 'div', + { + style: titleStyle, + className: titleClassName + }, + title + ); } + }]); - return new Selection(merges, this._parents); - } + return ChartTitle; + }(_react.Component); - function selection_order() { + ChartTitle.defaultProps = _extends({ + titleClassName: 'react-d3-core__container_title', + title: '' + }, _commonProps2.default); + ChartTitle.propTypes = { + width: _react.PropTypes.number.isRequired, + title: _react.PropTypes.string, + titleClassName: _react.PropTypes.string + }; + exports.default = ChartTitle; - for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) { - for (var group = groups[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; - } - } - } +/***/ }), +/* 28 */ +/***/ (function(module, exports, __webpack_require__) { - return this; - } + "use strict"; - function selection_sort(compare) { - if (!compare) compare = ascending; + Object.defineProperty(exports, "__esModule", { + value: true + }); - function compareNode(a, b) { - return a && b ? compare(a.__data__, b.__data__) : !a - !b; - } + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) { - for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) { - if (node = group[i]) { - sortgroup[i] = node; - } - } - sortgroup.sort(compareNode); - } + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - return new Selection(sortgroups, this._parents).order(); - } + var _react = __webpack_require__(4); - function ascending(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; - } + var _react2 = _interopRequireDefault(_react); - function selection_call() { - var callback = arguments[0]; - arguments[0] = this; - callback.apply(null, arguments); - return this; - } + var _svg = __webpack_require__(16); - function selection_nodes() { - var nodes = new Array(this.size()), i = -1; - this.each(function() { nodes[++i] = this; }); - return nodes; - } + var _svg2 = _interopRequireDefault(_svg); - function selection_node() { + var _legend = __webpack_require__(29); - for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { - for (var group = groups[j], i = 0, n = group.length; i < n; ++i) { - var node = group[i]; - if (node) return node; - } - } + var _legend2 = _interopRequireDefault(_legend); - return null; - } + var _commonProps = __webpack_require__(17); - function selection_size() { - var size = 0; - this.each(function() { ++size; }); - return size; - } + var _commonProps2 = _interopRequireDefault(_commonProps); - function selection_empty() { - return !this.node(); - } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function selection_each(callback) { + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - for (var groups = this._groups, 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.call(node, node.__data__, i, group); - } - } + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - return this; - } + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - function attrRemove(name) { - return function() { - this.removeAttribute(name); - }; - } + var ChartContainer = function (_Component) { + _inherits(ChartContainer, _Component); - function attrRemoveNS(fullname) { - return function() { - this.removeAttributeNS(fullname.space, fullname.local); - }; - } + function ChartContainer(props) { + _classCallCheck(this, ChartContainer); - function attrConstant(name, value) { - return function() { - this.setAttribute(name, value); - }; + return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartContainer).call(this, props)); } - function attrConstantNS(fullname, value) { - return function() { - this.setAttributeNS(fullname.space, fullname.local, value); - }; - } + _createClass(ChartContainer, [{ + key: 'render', + value: function render() { + var _props = this.props; + var width = _props.width; + var chartSeries = _props.chartSeries; - function attrFunction(name, value) { - return function() { - var v = value.apply(this, arguments); - if (v == null) this.removeAttribute(name); - else this.setAttribute(name, v); - }; - } - function attrFunctionNS(fullname, value) { - return function() { - var v = value.apply(this, arguments); - if (v == null) this.removeAttributeNS(fullname.space, fullname.local); - else this.setAttributeNS(fullname.space, fullname.local, v); - }; - } + var legend; - function selection_attr(name, value) { - var fullname = namespace(name); + var divStyle = { + width: width + }; - if (arguments.length < 2) { - var node = this.node(); - return fullname.local - ? node.getAttributeNS(fullname.space, fullname.local) - : node.getAttribute(fullname); + if (chartSeries) { + legend = _react2.default.createElement(_legend2.default, _extends({}, this.props, { + chartSeries: chartSeries + })); + } + + return _react2.default.createElement( + 'div', + { style: divStyle }, + legend, + _react2.default.createElement(_svg2.default, this.props) + ); } + }]); - return this.each((value == null - ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === "function" - ? (fullname.local ? attrFunctionNS : attrFunction) - : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value)); - } + return ChartContainer; + }(_react.Component); - function defaultView(node) { - return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node - || (node.document && node) // node is a Window - || node.defaultView; // node is a Document - } + ChartContainer.defaultProps = _commonProps2.default; + exports.default = ChartContainer; - function styleRemove(name) { - return function() { - this.style.removeProperty(name); - }; - } +/***/ }), +/* 29 */ +/***/ (function(module, exports, __webpack_require__) { - function styleConstant(name, value, priority) { - return function() { - this.style.setProperty(name, value, priority); - }; - } + "use strict"; - function styleFunction(name, value, priority) { - return function() { - var v = value.apply(this, arguments); - if (v == null) this.style.removeProperty(name); - else this.style.setProperty(name, v, priority); - }; - } + Object.defineProperty(exports, "__esModule", { + value: true + }); - function selection_style(name, value, priority) { - var node; - return arguments.length > 1 - ? this.each((value == null - ? styleRemove : typeof value === "function" - ? styleFunction - : styleConstant)(name, value, priority == null ? "" : priority)) - : defaultView(node = this.node()) - .getComputedStyle(node, null) - .getPropertyValue(name); - } + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - function propertyRemove(name) { - return function() { - delete this[name]; - }; - } + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - function propertyConstant(name, value) { - return function() { - this[name] = value; - }; - } + var _react = __webpack_require__(4); - function propertyFunction(name, value) { - return function() { - var v = value.apply(this, arguments); - if (v == null) delete this[name]; - else this[name] = v; - }; - } + var _react2 = _interopRequireDefault(_react); - function selection_property(name, value) { - return arguments.length > 1 - ? this.each((value == null - ? propertyRemove : typeof value === "function" - ? propertyFunction - : propertyConstant)(name, value)) - : this.node()[name]; - } + var _d3Selection = __webpack_require__(30); - function classArray(string) { - return string.trim().split(/^|\s+/); - } + var _d3Selection2 = _interopRequireDefault(_d3Selection); - function classList(node) { - return node.classList || new ClassList(node); - } + var _d3Scale = __webpack_require__(19); - function ClassList(node) { - this._node = node; - this._names = classArray(node.getAttribute("class") || ""); + var _d3Scale2 = _interopRequireDefault(_d3Scale); + + var _reactFauxDom = __webpack_require__(31); + + var _reactFauxDom2 = _interopRequireDefault(_reactFauxDom); + + var _commonProps = __webpack_require__(17); + + var _commonProps2 = _interopRequireDefault(_commonProps); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + + var Legend = function (_Component) { + _inherits(Legend, _Component); + + function Legend(props) { + _classCallCheck(this, Legend); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(Legend).call(this, props)); } - ClassList.prototype = { - add: function(name) { - var i = this._names.indexOf(name); - if (i < 0) { - this._names.push(name); - this._node.setAttribute("class", this._names.join(" ")); - } - }, - remove: function(name) { - var i = this._names.indexOf(name); - if (i >= 0) { - this._names.splice(i, 1); - this._node.setAttribute("class", this._names.join(" ")); - } - }, - contains: function(name) { - return this._names.indexOf(name) >= 0; + _createClass(Legend, [{ + key: '_radius', + value: function _radius(swatchShape) { + return swatchShape === 'circle' ? 18 : 0; } - }; + }, { + key: '_series', + value: function _series(props) { + var chartSeries = props.chartSeries; + var categoricalColors = props.categoricalColors; - function classedAdd(node, names) { - var list = classList(node), i = -1, n = names.length; - while (++i < n) list.add(names[i]); - } - function classedRemove(node, names) { - var list = classList(node), i = -1, n = names.length; - while (++i < n) list.remove(names[i]); - } + var colors = categoricalColors || _d3Scale2.default.scaleCategory10(); - function classedTrue(names) { - return function() { - classedAdd(this, names); - }; - } + return chartSeries.map(function (_ref, i) { + var name = _ref.name; + var color = _ref.color; + var field = _ref.field; + return { + color: color || colors(i), + name: name || field, + field: field + }; + }); + } + }, { + key: '_mkLegend', + value: function _mkLegend(dom) { + var _props = this.props; + var legendClassName = _props.legendClassName; + var backgroundColor = _props.backgroundColor; + var legendPosition = _props.legendPosition; + var legendOffset = _props.legendOffset; + var swatchShape = _props.swatchShape; + var chartSeries = _props.chartSeries; + var margins = _props.margins; + var width = _props.width; - function classedFalse(names) { - return function() { - classedRemove(this, names); - }; - } - function classedFunction(names, value) { - return function() { - (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names); - }; - } + var legendArea = _d3Selection2.default.select(dom); + var series = this._series(this.props); + var radius = this._radius(swatchShape); - function selection_classed(name, value) { - var names = classArray(name + ""); + // make legends + var legend = legendArea.selectAll('div').data(series).enter().append("div").attr("class", legendClassName + ' legend').style("height", 20).style("padding", 5).style("background-color", backgroundColor).style("display", "inline-block"); - if (arguments.length < 2) { - var list = classList(this.node()), i = -1, n = names.length; - while (++i < n) if (!list.contains(names[i])) return false; - return true; + var rect = legend.append("div").style("width", 18).style("height", 18).style("border-radius", radius).style("background-color", function (d) { + return d.color; + }).style("float", legendPosition); + + var text = legend.append("div").style("padding-left", 5).style("padding-right", 5).text(function (d) { + return d.name; + }).style("float", legendPosition); + + return legendArea; } + }, { + key: 'render', + value: function render() { + var _props2 = this.props; + var legendClassName = _props2.legendClassName; + var width = _props2.width; + var height = _props2.height; - return this.each((typeof value === "function" - ? classedFunction : value - ? classedTrue - : classedFalse)(names, value)); - } - function textRemove() { - this.textContent = ""; - } + var legendGroup = _reactFauxDom2.default.createElement('div'); + var legendClasses = legendClassName + ' legend'; - function textConstant(value) { - return function() { - this.textContent = value; - }; - } + legendGroup.setAttribute('class', legendClasses); + legendGroup.style.width = width; + legendGroup.style.textAlign = 'center'; - function textFunction(value) { - return function() { - var v = value.apply(this, arguments); - this.textContent = v == null ? "" : v; - }; - } + return this._mkLegend(legendGroup).node().toReact(); + } + }]); - function selection_text(value) { - return arguments.length - ? this.each(value == null - ? textRemove : (typeof value === "function" - ? textFunction - : textConstant)(value)) - : this.node().textContent; - } + return Legend; + }(_react.Component); - function htmlRemove() { - this.innerHTML = ""; - } + Legend.defaultProps = _extends({ + backgroundColor: '#FFF', + legendHeight: 50, + legendPosition: 'left', + legendOffset: 90, + legendClassName: 'react-d3-core__legend', + swatchShape: 'square' + }, _commonProps2.default); + Legend.propTypes = { + backgroundColor: _react.PropTypes.string, + width: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + chartSeries: _react.PropTypes.array.isRequired, + legendOffset: _react.PropTypes.number.isRequired, + legendClassName: _react.PropTypes.string.isRequired, + legendPosition: _react.PropTypes.oneOf(['left', 'right']).isRequired, + swatchShape: _react.PropTypes.oneOf(['circle', 'square']) + }; + exports.default = Legend; - function htmlConstant(value) { - return function() { - this.innerHTML = value; - }; - } +/***/ }), +/* 30 */ +/***/ (function(module, exports, __webpack_require__) { - function htmlFunction(value) { - return function() { - var v = value.apply(this, arguments); - this.innerHTML = v == null ? "" : v; - }; - } + (function (global, factory) { + true ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.d3_selection = global.d3_selection || {}))); + }(this, function (exports) { 'use strict'; - function selection_html(value) { - return arguments.length - ? this.each(value == null - ? htmlRemove : (typeof value === "function" - ? htmlFunction - : htmlConstant)(value)) - : this.node().innerHTML; - } + var version = "0.7.3"; - function raise() { - if (this.nextSibling) this.parentNode.appendChild(this); - } + var xhtml = "http://www.w3.org/1999/xhtml"; - function selection_raise() { - return this.each(raise); - } + var namespaces = { + svg: "http://www.w3.org/2000/svg", + xhtml: xhtml, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/" + }; - function lower() { - if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild); + function namespace(name) { + var prefix = name += "", i = prefix.indexOf(":"); + if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1); + return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; } - function selection_lower() { - return this.each(lower); + function creatorInherit(name) { + return function() { + var document = this.ownerDocument, + uri = this.namespaceURI; + return uri === xhtml && document.documentElement.namespaceURI === xhtml + ? document.createElement(name) + : document.createElementNS(uri, name); + }; } - function append(create) { + function creatorFixed(fullname) { return function() { - return this.appendChild(create.apply(this, arguments)); + return this.ownerDocument.createElementNS(fullname.space, fullname.local); }; } - function insert(create, select) { + function creator(name) { + var fullname = namespace(name); + return (fullname.local + ? creatorFixed + : creatorInherit)(fullname); + } + + var matcher = function(selector) { return function() { - return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null); + return this.matches(selector); }; - } + }; - function constantNull() { - return null; + if (typeof document !== "undefined") { + var element = document.documentElement; + if (!element.matches) { + var vendorMatches = element.webkitMatchesSelector + || element.msMatchesSelector + || element.mozMatchesSelector + || element.oMatchesSelector; + matcher = function(selector) { + return function() { + return vendorMatches.call(this, selector); + }; + }; + } } - function selection_append(name, before) { - var create = typeof name === "function" ? name : creator(name); - return this.select(arguments.length < 2 - ? append(create) - : insert(create, before == null - ? constantNull : typeof before === "function" - ? before - : selector(before))); - } + var matcher$1 = matcher; - function remove() { - var parent = this.parentNode; - if (parent) parent.removeChild(this); - } + var filterEvents = {}; - function selection_remove() { - return this.each(remove); - } + exports.event = null; - function selection_datum(value) { - return arguments.length - ? this.property("__data__", value) - : this.node().__data__; + if (typeof document !== "undefined") { + var element$1 = document.documentElement; + if (!("onmouseenter" in element$1)) { + filterEvents = {mouseenter: "mouseover", mouseleave: "mouseout"}; + } } - function dispatchEvent(node, type, params) { - var window = defaultView(node), - event = window.CustomEvent; + function filterContextListener(listener, index, group) { + listener = contextListener(listener, index, group); + return function(event) { + var related = event.relatedTarget; + if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) { + listener.call(this, event); + } + }; + } - if (event) { - event = new event(type, params); - } else { - event = window.document.createEvent("Event"); - if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail; - else event.initEvent(type, false, false); - } + function contextListener(listener, index, group) { + return function(event1) { + var event0 = exports.event; // Events can be reentrant (e.g., focus). + exports.event = event1; + try { + listener.call(this, this.__data__, index, group); + } finally { + exports.event = event0; + } + }; + } - node.dispatchEvent(event); + function parseTypenames(typenames) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); + return {type: t, name: name}; + }); } - function dispatchConstant(type, params) { + function onRemove(typename) { return function() { - return dispatchEvent(this, type, params); + var on = this.__on; + if (!on) return; + for (var j = 0, i = -1, m = on.length, o; j < m; ++j) { + if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.capture); + } else { + on[++i] = o; + } + } + if (++i) on.length = i; + else delete this.__on; }; } - function dispatchFunction(type, params) { - return function() { - return dispatchEvent(this, type, params.apply(this, arguments)); + function onAdd(typename, value, capture) { + var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener; + return function(d, i, group) { + var on = this.__on, o, listener = wrap(value, i, group); + if (on) for (var j = 0, m = on.length; j < m; ++j) { + if ((o = on[j]).type === typename.type && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.capture); + this.addEventListener(o.type, o.listener = listener, o.capture = capture); + o.value = value; + return; + } + } + this.addEventListener(typename.type, listener, capture); + o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture}; + if (!on) this.__on = [o]; + else on.push(o); }; } - function selection_dispatch(type, params) { - return this.each((typeof params === "function" - ? dispatchFunction - : dispatchConstant)(type, params)); - } + function selection_on(typename, value, capture) { + var typenames = parseTypenames(typename + ""), i, n = typenames.length, t; - var root = [null]; + if (arguments.length < 2) { + var on = this.node().__on; + if (on) for (var j = 0, m = on.length, o; j < m; ++j) { + for (i = 0, o = on[j]; i < n; ++i) { + if ((t = typenames[i]).type === o.type && t.name === o.name) { + return o.value; + } + } + } + return; + } - function Selection(groups, parents) { - this._groups = groups; - this._parents = parents; + on = value ? onAdd : onRemove; + if (capture == null) capture = false; + for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture)); + return this; } - function selection() { - return new Selection([[document.documentElement]], root); + function customEvent(event1, listener, that, args) { + var event0 = exports.event; + event1.sourceEvent = exports.event; + exports.event = event1; + try { + return listener.apply(that, args); + } finally { + exports.event = event0; + } } - Selection.prototype = selection.prototype = { - constructor: Selection, - select: selection_select, - selectAll: selection_selectAll, - filter: selection_filter, - data: selection_data, - enter: selection_enter, - exit: selection_exit, - merge: selection_merge, - order: selection_order, - sort: selection_sort, - call: selection_call, - nodes: selection_nodes, - node: selection_node, - size: selection_size, - empty: selection_empty, - each: selection_each, - attr: selection_attr, - style: selection_style, - property: selection_property, - classed: selection_classed, - text: selection_text, - html: selection_html, - raise: selection_raise, - lower: selection_lower, - append: selection_append, - remove: selection_remove, - datum: selection_datum, - on: selection_on, - dispatch: selection_dispatch - }; + function sourceEvent() { + var current = exports.event, source; + while (source = current.sourceEvent) current = source; + return current; + } - function select(selector) { - return typeof selector === "string" - ? new Selection([[document.querySelector(selector)]], [document.documentElement]) - : new Selection([[selector]], root); + function point(node, event) { + var svg = node.ownerSVGElement || node; + + if (svg.createSVGPoint) { + var point = svg.createSVGPoint(); + point.x = event.clientX, point.y = event.clientY; + point = point.matrixTransform(node.getScreenCTM().inverse()); + return [point.x, point.y]; + } + + var rect = node.getBoundingClientRect(); + return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop]; } - function selectAll(selector) { - return typeof selector === "string" - ? new Selection([document.querySelectorAll(selector)], [document.documentElement]) - : new Selection([selector], root); + function mouse(node) { + var event = sourceEvent(); + if (event.changedTouches) event = event.changedTouches[0]; + return point(node, event); } - function touch(node, touches, identifier) { - if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches; + function selector(selector) { + return function() { + return this.querySelector(selector); + }; + } - for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) { - if ((touch = touches[i]).identifier === identifier) { - return point(node, touch); + function selection_select(select) { + if (typeof select !== "function") select = selector(select); + + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { + if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + subgroup[i] = subnode; + } } } - return null; + return new Selection(subgroups, this._parents); } - function touches(node, touches) { - if (touches == null) touches = sourceEvent().touches; - - for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) { - points[i] = point(node, touches[i]); - } - - return points; + function selectorAll(selector) { + return function() { + return this.querySelectorAll(selector); + }; } - exports.version = version; - exports.creator = creator; - exports.matcher = matcher$1; - exports.mouse = mouse; - exports.namespace = namespace; - exports.namespaces = namespaces; - exports.select = select; - exports.selectAll = selectAll; - exports.selection = selection; - exports.selector = selector; - exports.selectorAll = selectorAll; - exports.touch = touch; - exports.touches = touches; - exports.window = defaultView; - exports.customEvent = customEvent; - - })); - -/***/ }, -/* 21 */ -/***/ function(module, exports, __webpack_require__) { + function selection_selectAll(select) { + if (typeof select !== "function") select = selectorAll(select); - var Element = __webpack_require__(22) - var Window = __webpack_require__(34) - var core = __webpack_require__(35) - var anim = __webpack_require__(36) + for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + subgroups.push(select.call(node, node.__data__, i, group)); + parents.push(node); + } + } + } - var ReactFauxDOM = { - Element: Element, - defaultView: Window, - mixins: { - core: core, - anim: anim - }, - createElement: function (nodeName) { - return new Element(nodeName) - }, - createElementNS: function (namespace, nodeName) { - return this.createElement(nodeName) - }, - compareDocumentPosition: function () { - // The selector engine tries to validate with this, but we don't care. - // 8 = DOCUMENT_POSITION_CONTAINS, so we say all nodes are in this document. - return 8 + return new Selection(subgroups, parents); } - } - Element.prototype.ownerDocument = ReactFauxDOM - - module.exports = ReactFauxDOM - - -/***/ }, -/* 22 */ -/***/ function(module, exports, __webpack_require__) { - - var React = __webpack_require__(4) - var styleAttr = __webpack_require__(23) - var querySelectorAll = __webpack_require__(24) - var camelCase = __webpack_require__(28) - var isString = __webpack_require__(29) - var isUndefined = __webpack_require__(30) - var assign = __webpack_require__(31) - var mapValues = __webpack_require__(32) - var styleCamelCase = __webpack_require__(33) + function selection_filter(match) { + if (typeof match !== "function") match = matcher$1(match); - function Element (nodeName, parentNode) { - this.nodeName = nodeName - this.parentNode = parentNode - this.childNodes = [] - this.eventListeners = {} - this.text = '' - var props = this.props = { - style: { - setProperty: function (name, value) { - props.style[styleCamelCase(name)] = value - }, - getProperty: function (name) { - return props.style[styleCamelCase(name)] - }, - removeProperty: function (name) { - delete props.style[styleCamelCase(name)] + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, i = 0; i < n; ++i) { + if ((node = group[i]) && match.call(node, node.__data__, i, group)) { + subgroup[i] = node; + } } } - } - this.style = props.style - } - - Element.prototype.nodeType = 1 + return new Selection(subgroups, this._parents); + } - // This was easy to do with Vim. - // Just saying. - Element.prototype.eventNameMappings = { - 'blur': 'onBlur', - 'change': 'onChange', - 'click': 'onClick', - 'contextmenu': 'onContextMenu', - 'copy': 'onCopy', - 'cut': 'onCut', - 'doubleclick': 'onDoubleClick', - 'drag': 'onDrag', - 'dragend': 'onDragEnd', - 'dragenter': 'onDragEnter', - 'dragexit': 'onDragExit', - 'dragleave': 'onDragLeave', - 'dragover': 'onDragOver', - 'dragstart': 'onDragStart', - 'drop': 'onDrop', - 'error': 'onError', - 'focus': 'onFocus', - 'input': 'onInput', - 'keydown': 'onKeyDown', - 'keypress': 'onKeyPress', - 'keyup': 'onKeyUp', - 'load': 'onLoad', - 'mousedown': 'onMouseDown', - 'mouseenter': 'onMouseEnter', - 'mouseleave': 'onMouseLeave', - 'mousemove': 'onMouseMove', - 'mouseout': 'onMouseOut', - 'mouseover': 'onMouseOver', - 'mouseup': 'onMouseUp', - 'paste': 'onPaste', - 'scroll': 'onScroll', - 'submit': 'onSubmit', - 'touchcancel': 'onTouchCancel', - 'touchend': 'onTouchEnd', - 'touchmove': 'onTouchMove', - 'touchstart': 'onTouchStart', - 'wheel': 'onWheel' - } + function constant(x) { + return function() { + return x; + }; + } - Element.prototype.skipNameTransformationExpressions = [ - /^data-/, - /^aria-/ - ] + var keyPrefix = "$"; // Protect against keys like “__proto__”. - Element.prototype.attributeNameMappings = { - 'class': 'className' - } + function bindIndex(parent, group, enter, update, exit, data) { + var i = 0, + node, + groupLength = group.length, + dataLength = data.length; - Element.prototype.attributeToPropName = function (name) { - var skipTransformMatches = this.skipNameTransformationExpressions.map(function (expr) { - return expr.test(name) - }) + // Put any non-null nodes that fit into update. + // Put any null nodes into enter. + // Put any remaining data into enter. + for (; i < dataLength; ++i) { + if (node = group[i]) { + node.__data__ = data[i]; + update[i] = node; + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } - if (skipTransformMatches.some(Boolean)) { - return name - } else { - return this.attributeNameMappings[name] || camelCase(name) + // Put any non-null nodes that don’t fit into exit. + for (; i < groupLength; ++i) { + if (node = group[i]) { + exit[i] = node; + } + } } - } - Element.prototype.setAttribute = function (name, value) { - if (name === 'style' && isString(value)) { - var styles = styleAttr.parse(value) + function bindKey(parent, group, enter, update, exit, data, key) { + var i, + node, + nodeByKeyValue = {}, + groupLength = group.length, + dataLength = data.length, + keyValues = new Array(groupLength), + keyValue; - for (var key in styles) { - this.style.setProperty(key, styles[key]) + // Compute the key for each node. + // If multiple nodes have the same key, the duplicates are added to exit. + for (i = 0; i < groupLength; ++i) { + if (node = group[i]) { + keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group); + if (keyValue in nodeByKeyValue) { + exit[i] = node; + } else { + nodeByKeyValue[keyValue] = node; + } + } } - } else { - this.props[this.attributeToPropName(name)] = value - } - } - - Element.prototype.getAttribute = function (name) { - return this.props[this.attributeToPropName(name)] - } - Element.prototype.getAttributeNode = function (name) { - var value = this.getAttribute(name) + // Compute the key for each datum. + // If there a node associated with this key, join and add it to update. + // If there is not (or the key is a duplicate), add it to enter. + for (i = 0; i < dataLength; ++i) { + keyValue = keyPrefix + key.call(parent, data[i], i, data); + if (node = nodeByKeyValue[keyValue]) { + update[i] = node; + node.__data__ = data[i]; + nodeByKeyValue[keyValue] = null; + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } - if (!isUndefined(value)) { - return { - value: value, - specified: true + // Add any remaining nodes that were not bound to data to exit. + for (i = 0; i < groupLength; ++i) { + if ((node = group[i]) && (nodeByKeyValue[keyValues[i]] === node)) { + exit[i] = node; + } } } - } - Element.prototype.removeAttribute = function (name) { - delete this.props[this.attributeToPropName(name)] - } + function selection_data(value, key) { + if (!value) { + data = new Array(this.size()), j = -1; + this.each(function(d) { data[++j] = d; }); + return data; + } - Element.prototype.eventToPropName = function (name) { - return this.eventNameMappings[name] || name - } + var bind = key ? bindKey : bindIndex, + parents = this._parents, + groups = this._groups; - Element.prototype.addEventListener = function (name, fn) { - var prop = this.eventToPropName(name) - this.eventListeners[prop] = this.eventListeners[prop] || [] - this.eventListeners[prop].push(fn) - } + if (typeof value !== "function") value = constant(value); - Element.prototype.removeEventListener = function (name, fn) { - var listeners = this.eventListeners[this.eventToPropName(name)] + for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) { + var parent = parents[j], + group = groups[j], + groupLength = group.length, + data = value.call(parent, parent && parent.__data__, j, parents), + dataLength = data.length, + enterGroup = enter[j] = new Array(dataLength), + updateGroup = update[j] = new Array(dataLength), + exitGroup = exit[j] = new Array(groupLength); - if (listeners) { - var match = listeners.indexOf(fn) + bind(parent, group, enterGroup, updateGroup, exitGroup, data, key); - if (match !== -1) { - listeners.splice(match, 1) + // Now connect the enter nodes to their following update node, such that + // appendChild can insert the materialized enter node before this node, + // rather than at the end of the parent node. + for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) { + if (previous = enterGroup[i0]) { + if (i0 >= i1) i1 = i0 + 1; + while (!(next = updateGroup[i1]) && ++i1 < dataLength); + previous._next = next || null; + } + } } + + update = new Selection(update, parents); + update._enter = enter; + update._exit = exit; + return update; } - } - Element.prototype.appendChild = function (el) { - el.parentNode = this - this.childNodes.push(el) - return el - } + function EnterNode(parent, datum) { + this.ownerDocument = parent.ownerDocument; + this.namespaceURI = parent.namespaceURI; + this._next = null; + this._parent = parent; + this.__data__ = datum; + } - Element.prototype.insertBefore = function (el, before) { - var index = this.childNodes.indexOf(before) - el.parentNode = this + EnterNode.prototype = { + constructor: EnterNode, + appendChild: function(child) { return this._parent.insertBefore(child, this._next); }, + insertBefore: function(child, next) { return this._parent.insertBefore(child, next); }, + querySelector: function(selector) { return this._parent.querySelector(selector); }, + querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); } + }; - if (index !== -1) { - this.childNodes.splice(index, 0, el) - } else { - this.childNodes.push(el) + function sparse(update) { + return new Array(update.length); } - return el - } + function selection_enter() { + return new Selection(this._enter || this._groups.map(sparse), this._parents); + } - Element.prototype.removeChild = function (child) { - var target = this.childNodes.indexOf(child) - this.childNodes.splice(target, 1) - } + function selection_exit() { + return new Selection(this._exit || this._groups.map(sparse), this._parents); + } - Element.prototype.querySelector = function () { - return this.querySelectorAll.apply(this, arguments)[0] || null - } + function selection_merge(selection) { - Element.prototype.querySelectorAll = function (selector) { - if (!selector) { - throw new Error('Not enough arguments') + for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { + for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group0[i] || group1[i]) { + merge[i] = node; + } + } + } + + for (; j < m0; ++j) { + merges[j] = groups0[j]; + } + + return new Selection(merges, this._parents); } - return querySelectorAll(selector, this) - } + function selection_order() { - Element.prototype.getElementsByTagName = function (nodeName) { - var children = this.children + for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) { + for (var group = groups[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; + } + } + } - if (children.length === 0) { - return [] - } else { - var matches + return this; + } - if (nodeName !== '*') { - matches = children.filter(function (el) { - return el.nodeName === nodeName - }) - } else { - matches = children + function selection_sort(compare) { + if (!compare) compare = ascending; + + function compareNode(a, b) { + return a && b ? compare(a.__data__, b.__data__) : !a - !b; } - var childMatches = children.map(function (el) { - return el.getElementsByTagName(nodeName) - }) + for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group[i]) { + sortgroup[i] = node; + } + } + sortgroup.sort(compareNode); + } - return matches.concat.apply(matches, childMatches) + return new Selection(sortgroups, this._parents).order(); } - } - Element.prototype.getElementById = function (id) { - var children = this.children - - if (children.length === 0) { - return null - } else { - var match = children.filter(function (el) { - return el.getAttribute('id') === id - })[0] + function ascending(a, b) { + return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; + } - if (match) { - return match - } else { - var childMatches = children.map(function (el) { - return el.getElementById(id) - }) + function selection_call() { + var callback = arguments[0]; + arguments[0] = this; + callback.apply(null, arguments); + return this; + } - return childMatches.filter(function (match) { - return match !== null - })[0] || null - } + function selection_nodes() { + var nodes = new Array(this.size()), i = -1; + this.each(function() { nodes[++i] = this; }); + return nodes; } - } - Element.prototype.toReact = function (index) { - index = index || 0 - var props = assign({}, this.props) - props.style = assign({}, props.style) + function selection_node() { - var originalElement = this + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length; i < n; ++i) { + var node = group[i]; + if (node) return node; + } + } - function uniqueKey () { - return 'faux-dom-' + index + return null; } - if (isUndefined(props.key)) { - props.key = uniqueKey() + function selection_size() { + var size = 0; + this.each(function() { ++size; }); + return size; } - delete props.style.setProperty - delete props.style.getProperty - delete props.style.removeProperty + function selection_empty() { + return !this.node(); + } - assign(props, mapValues(this.eventListeners, function (listeners) { - return function (syntheticEvent) { - var event + function selection_each(callback) { - if (syntheticEvent) { - event = syntheticEvent.nativeEvent - event.syntheticEvent = syntheticEvent + for (var groups = this._groups, 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.call(node, node.__data__, i, group); } - - mapValues(listeners, function (listener) { - listener.call(originalElement, event) - }) - } - })) - - return React.createElement(this.nodeName, props, this.text || this.children.map(function (el, i) { - if (el instanceof Element) { - return el.toReact(i) - } else { - return el } - })) - } - Object.defineProperties(Element.prototype, { - nextSibling: { - get: function () { - var siblings = this.parentNode.children - var me = siblings.indexOf(this) - return siblings[me + 1] - } - }, - previousSibling: { - get: function () { - var siblings = this.parentNode.children - var me = siblings.indexOf(this) - return siblings[me - 1] - } - }, - innerHTML: { - get: function () { - return this.text - }, - set: function (text) { - this.text = text - } - }, - textContent: { - get: function () { - return this.text - }, - set: function (text) { - this.text = text - } - }, - children: { - get: function () { - // So far nodes created by this library are all of nodeType 1 (elements), - // but this could change in the future. - return this.childNodes.filter(function (el) { - if (!el.nodeType) { - // It's a React element, we always add it - return true - } + return this; + } - // It's a HTML node. We want to filter to have only nodes with type 1 - return el.nodeType === 1 - }) - } + function attrRemove(name) { + return function() { + this.removeAttribute(name); + }; } - }) - // These NS methods are called by things like D3 if it spots a namespace. - // Like xlink:href. I don't care about namespaces, so these functions have NS aliases created. - var namespaceMethods = [ - 'setAttribute', - 'getAttribute', - 'getAttributeNode', - 'removeAttribute', - 'getElementsByTagName', - 'getElementById' - ] + function attrRemoveNS(fullname) { + return function() { + this.removeAttributeNS(fullname.space, fullname.local); + }; + } - namespaceMethods.forEach(function (name) { - var fn = Element.prototype[name] - Element.prototype[name + 'NS'] = function () { - return fn.apply(this, Array.prototype.slice.call(arguments, 1)) + function attrConstant(name, value) { + return function() { + this.setAttribute(name, value); + }; } - }) - module.exports = Element + function attrConstantNS(fullname, value) { + return function() { + this.setAttributeNS(fullname.space, fullname.local, value); + }; + } + function attrFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttribute(name); + else this.setAttribute(name, v); + }; + } -/***/ }, -/* 23 */ -/***/ function(module, exports) { + function attrFunctionNS(fullname, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttributeNS(fullname.space, fullname.local); + else this.setAttributeNS(fullname.space, fullname.local, v); + }; + } - + function selection_attr(name, value) { + var fullname = namespace(name); - /* + if (arguments.length < 2) { + var node = this.node(); + return fullname.local + ? node.getAttributeNS(fullname.space, fullname.local) + : node.getAttribute(fullname); + } - style-attr - ==== + return this.each((value == null + ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === "function" + ? (fullname.local ? attrFunctionNS : attrFunction) + : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value)); + } - Very simple parsing and stringifying of style attributes. + function defaultView(node) { + return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node + || (node.document && node) // node is a Window + || node.defaultView; // node is a Document + } - `parse` - ---- + function styleRemove(name) { + return function() { + this.style.removeProperty(name); + }; + } - Convert a style attribute string to an object. + function styleConstant(name, value, priority) { + return function() { + this.style.setProperty(name, value, priority); + }; + } - */ - function parse(raw) { - var trim = function (s) { - return s.trim(); - }; - var obj = {}; + function styleFunction(name, value, priority) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.style.removeProperty(name); + else this.style.setProperty(name, v, priority); + }; + } - getKeyValueChunks(raw).map(trim).filter(Boolean).forEach(function (item) { - // split with `.indexOf` rather than `.split` because the value may also contain colons. - var pos = item.indexOf(':'); - var key = item.substr(0, pos).trim(); - var val = item.substr(pos + 1).trim(); + function selection_style(name, value, priority) { + var node; + return arguments.length > 1 + ? this.each((value == null + ? styleRemove : typeof value === "function" + ? styleFunction + : styleConstant)(name, value, priority == null ? "" : priority)) + : defaultView(node = this.node()) + .getComputedStyle(node, null) + .getPropertyValue(name); + } - obj[key] = val; - }); + function propertyRemove(name) { + return function() { + delete this[name]; + }; + } - return obj; - } + function propertyConstant(name, value) { + return function() { + this[name] = value; + }; + } - /* + function propertyFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) delete this[name]; + else this[name] = v; + }; + } - `getKeyValueChunks` - ---- + function selection_property(name, value) { + return arguments.length > 1 + ? this.each((value == null + ? propertyRemove : typeof value === "function" + ? propertyFunction + : propertyConstant)(name, value)) + : this.node()[name]; + } - Split a string into chunks matching `<key>: <value>` + function classArray(string) { + return string.trim().split(/^|\s+/); + } - */ - function getKeyValueChunks(raw) { - var chunks = []; - var offset = 0; - var sep = ';'; - var hasUnclosedUrl = /url\([^\)]+$/; - var chunk = ''; - var nextSplit; - while (offset < raw.length) { - nextSplit = raw.indexOf(sep, offset); - if (nextSplit === -1) { - nextSplit = raw.length; - } + function classList(node) { + return node.classList || new ClassList(node); + } - chunk += raw.substring(offset, nextSplit); + function ClassList(node) { + this._node = node; + this._names = classArray(node.getAttribute("class") || ""); + } - // data URIs can contain semicolons, so make sure we get the whole thing - if (hasUnclosedUrl.test(chunk)) { - chunk += ';'; - offset = nextSplit + 1; - continue; + ClassList.prototype = { + add: function(name) { + var i = this._names.indexOf(name); + if (i < 0) { + this._names.push(name); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + remove: function(name) { + var i = this._names.indexOf(name); + if (i >= 0) { + this._names.splice(i, 1); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + contains: function(name) { + return this._names.indexOf(name) >= 0; } + }; - chunks.push(chunk); - chunk = ''; - offset = nextSplit + 1; + function classedAdd(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.add(names[i]); } - return chunks; - } - - /* + function classedRemove(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.remove(names[i]); + } - `stringify` - ---- + function classedTrue(names) { + return function() { + classedAdd(this, names); + }; + } - Convert an object into an attribute string + function classedFalse(names) { + return function() { + classedRemove(this, names); + }; + } - */ - function stringify(obj) { - return Object.keys(obj).map(function (key) { - return key + ':' + obj[key]; - }).join(';'); - } + function classedFunction(names, value) { + return function() { + (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names); + }; + } - /* + function selection_classed(name, value) { + var names = classArray(name + ""); - `normalize` - ---- + if (arguments.length < 2) { + var list = classList(this.node()), i = -1, n = names.length; + while (++i < n) if (!list.contains(names[i])) return false; + return true; + } - Normalize an attribute string (eg. collapse duplicates) + return this.each((typeof value === "function" + ? classedFunction : value + ? classedTrue + : classedFalse)(names, value)); + } - */ - function normalize(str) { - return stringify(parse(str)); - } + function textRemove() { + this.textContent = ""; + } - module.exports.parse = parse; - module.exports.stringify = stringify; - module.exports.normalize = normalize; + function textConstant(value) { + return function() { + this.textContent = value; + }; + } -/***/ }, -/* 24 */ -/***/ function(module, exports, __webpack_require__) { + function textFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.textContent = v == null ? "" : v; + }; + } - module.exports = __webpack_require__(25); + function selection_text(value) { + return arguments.length + ? this.each(value == null + ? textRemove : (typeof value === "function" + ? textFunction + : textConstant)(value)) + : this.node().textContent; + } -/***/ }, -/* 25 */ -/***/ function(module, exports, __webpack_require__) { + function htmlRemove() { + this.innerHTML = ""; + } - /** - * @ignore - * css3 selector engine for ie6-8 - * @author yiminghe@gmail.com - */ + function htmlConstant(value) { + return function() { + this.innerHTML = value; + }; + } + + function htmlFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.innerHTML = v == null ? "" : v; + }; + } - var util = __webpack_require__(26); - var parser = __webpack_require__(27); + function selection_html(value) { + return arguments.length + ? this.each(value == null + ? htmlRemove : (typeof value === "function" + ? htmlFunction + : htmlConstant)(value)) + : this.node().innerHTML; + } - var EXPANDO_SELECTOR_KEY = '_ks_data_selector_id_', - caches = {}, - isContextXML, - uuid = 0, - subMatchesCache = {}, - getAttr = function (el, name) { - if (isContextXML) { - return util.getSimpleAttr(el, name); + function raise() { + if (this.nextSibling) this.parentNode.appendChild(this); + } + + function selection_raise() { + return this.each(raise); + } + + function lower() { + if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild); + } + + function selection_lower() { + return this.each(lower); + } + + function append(create) { + return function() { + return this.appendChild(create.apply(this, arguments)); + }; + } + + function insert(create, select) { + return function() { + return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null); + }; + } + + function constantNull() { + return null; + } + + function selection_append(name, before) { + var create = typeof name === "function" ? name : creator(name); + return this.select(arguments.length < 2 + ? append(create) + : insert(create, before == null + ? constantNull : typeof before === "function" + ? before + : selector(before))); + } + + function remove() { + var parent = this.parentNode; + if (parent) parent.removeChild(this); + } + + function selection_remove() { + return this.each(remove); + } + + function selection_datum(value) { + return arguments.length + ? this.property("__data__", value) + : this.node().__data__; + } + + function dispatchEvent(node, type, params) { + var window = defaultView(node), + event = window.CustomEvent; + + if (event) { + event = new event(type, params); } else { - return util.attr(el, name); + event = window.document.createEvent("Event"); + if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail; + else event.initEvent(type, false, false); } - }, - hasSingleClass = util.hasSingleClass, - isTag = util.isTag, - aNPlusB = /^(([+-]?(?:\d+)?)?n)?([+-]?\d+)?$/; - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - var unescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, - unescapeFn = function (_, escaped) { - var high = '0x' + escaped - 0x10000; - // NaN means non-codepoint - return isNaN(high) ? - escaped : - // BMP codepoint - high < 0 ? - String.fromCharCode(high + 0x10000) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode(high >> 10 | 0xD800, high & 0x3FF | 0xDC00); + node.dispatchEvent(event); + } + + function dispatchConstant(type, params) { + return function() { + return dispatchEvent(this, type, params); + }; + } + + function dispatchFunction(type, params) { + return function() { + return dispatchEvent(this, type, params.apply(this, arguments)); + }; + } + + function selection_dispatch(type, params) { + return this.each((typeof params === "function" + ? dispatchFunction + : dispatchConstant)(type, params)); + } + + var root = [null]; + + function Selection(groups, parents) { + this._groups = groups; + this._parents = parents; + } + + function selection() { + return new Selection([[document.documentElement]], root); + } + + Selection.prototype = selection.prototype = { + constructor: Selection, + select: selection_select, + selectAll: selection_selectAll, + filter: selection_filter, + data: selection_data, + enter: selection_enter, + exit: selection_exit, + merge: selection_merge, + order: selection_order, + sort: selection_sort, + call: selection_call, + nodes: selection_nodes, + node: selection_node, + size: selection_size, + empty: selection_empty, + each: selection_each, + attr: selection_attr, + style: selection_style, + property: selection_property, + classed: selection_classed, + text: selection_text, + html: selection_html, + raise: selection_raise, + lower: selection_lower, + append: selection_append, + remove: selection_remove, + datum: selection_datum, + on: selection_on, + dispatch: selection_dispatch }; - var matchExpr; + function select(selector) { + return typeof selector === "string" + ? new Selection([[document.querySelector(selector)]], [document.documentElement]) + : new Selection([[selector]], root); + } - var pseudoFnExpr = { - 'nth-child': function (el, param) { - var ab = getAb(param), - a = ab.a, - b = ab.b; - if (a === 0 && b === 0) { - return 0; - } - var index = 0, - parent = el.parentNode; - if (parent) { - var childNodes = parent.childNodes, - count = 0, - child, - ret, - len = childNodes.length; - for (; count < len; count++) { - child = childNodes[count]; - if (child.nodeType === 1) { - index++; - ret = matchIndexByAb(index, a, b, child === el); - if (ret !== undefined) { - return ret; - } - } + function selectAll(selector) { + return typeof selector === "string" + ? new Selection([document.querySelectorAll(selector)], [document.documentElement]) + : new Selection([selector], root); + } + + function touch(node, touches, identifier) { + if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches; + + for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) { + if ((touch = touches[i]).identifier === identifier) { + return point(node, touch); } } - return 0; - }, - 'nth-last-child': function (el, param) { - var ab = getAb(param), - a = ab.a, - b = ab.b; - if (a === 0 && b === 0) { - return 0; + + return null; + } + + function touches(node, touches) { + if (touches == null) touches = sourceEvent().touches; + + for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) { + points[i] = point(node, touches[i]); } - var index = 0, - parent = el.parentNode; - if (parent) { - var childNodes = parent.childNodes, - len = childNodes.length, - count = len - 1, - child, - ret; - for (; count >= 0; count--) { - child = childNodes[count]; - if (child.nodeType === 1) { - index++; - ret = matchIndexByAb(index, a, b, child === el); - if (ret !== undefined) { - return ret; - } - } - } - } - return 0; - }, - 'nth-of-type': function (el, param) { - var ab = getAb(param), - a = ab.a, - b = ab.b; - if (a === 0 && b === 0) { - return 0; - } - var index = 0, - parent = el.parentNode; - if (parent) { - var childNodes = parent.childNodes, - elType = el.tagName, - count = 0, - child, - ret, - len = childNodes.length; - for (; count < len; count++) { - child = childNodes[count]; - if (child.tagName === elType) { - index++; - ret = matchIndexByAb(index, a, b, child === el); - if (ret !== undefined) { - return ret; - } - } - } - } - return 0; - }, - 'nth-last-of-type': function (el, param) { - var ab = getAb(param), - a = ab.a, - b = ab.b; - if (a === 0 && b === 0) { - return 0; - } - var index = 0, - parent = el.parentNode; - if (parent) { - var childNodes = parent.childNodes, - len = childNodes.length, - elType = el.tagName, - count = len - 1, - child, - ret; - for (; count >= 0; count--) { - child = childNodes[count]; - if (child.tagName === elType) { - index++; - ret = matchIndexByAb(index, a, b, child === el); - if (ret !== undefined) { - return ret; - } - } - } - } - return 0; - }, - lang: function (el, lang) { - var elLang; - lang = unEscape(lang.toLowerCase()); - do { - if ((elLang = (isContextXML ? - el.getAttribute('xml:lang') || el.getAttribute('lang') : - el.lang))) { - elLang = elLang.toLowerCase(); - return elLang === lang || elLang.indexOf(lang + '-') === 0; - } - } while ((el = el.parentNode) && el.nodeType === 1); - return false; - }, - not: function (el, negationArg) { - return !matchExpr[negationArg.t](el, negationArg.value); + + return points; } - }; - var pseudoIdentExpr = { - empty: function (el) { - var childNodes = el.childNodes, - index = 0, - len = childNodes.length - 1, - child, - nodeType; - for (; index < len; index++) { - child = childNodes[index]; - nodeType = child.nodeType; - // only element nodes and content nodes - // (such as Dom [Dom-LEVEL-3-CORE] text nodes, - // CDATA nodes, and entity references - if (nodeType === 1 || nodeType === 3 || nodeType === 4 || nodeType === 5) { - return 0; - } - } - return 1; - }, - root: function (el) { - if (el.nodeType === 9) { - return true; - } - return el.ownerDocument && - el === el.ownerDocument.documentElement; - }, - 'first-child': function (el) { - return pseudoFnExpr['nth-child'](el, 1); - }, - 'last-child': function (el) { - return pseudoFnExpr['nth-last-child'](el, 1); - }, - 'first-of-type': function (el) { - return pseudoFnExpr['nth-of-type'](el, 1); - }, - 'last-of-type': function (el) { - return pseudoFnExpr['nth-last-of-type'](el, 1); - }, - 'only-child': function (el) { - return pseudoIdentExpr['first-child'](el) && - pseudoIdentExpr['last-child'](el); - }, - 'only-of-type': function (el) { - return pseudoIdentExpr['first-of-type'](el) && - pseudoIdentExpr['last-of-type'](el); - }, - focus: function (el) { - var doc = el.ownerDocument; - return doc && el === doc.activeElement && - (!doc.hasFocus || doc.hasFocus()) && !!(el.type || el.href || el.tabIndex >= 0); - }, - target: function (el) { - var hash = location.hash; - return hash && hash.slice(1) === getAttr(el, 'id'); + exports.version = version; + exports.creator = creator; + exports.matcher = matcher$1; + exports.mouse = mouse; + exports.namespace = namespace; + exports.namespaces = namespaces; + exports.select = select; + exports.selectAll = selectAll; + exports.selection = selection; + exports.selector = selector; + exports.selectorAll = selectorAll; + exports.touch = touch; + exports.touches = touches; + exports.window = defaultView; + exports.customEvent = customEvent; + + })); + +/***/ }), +/* 31 */ +/***/ (function(module, exports, __webpack_require__) { + + var Element = __webpack_require__(32) + var Window = __webpack_require__(44) + var core = __webpack_require__(45) + var anim = __webpack_require__(46) + + var ReactFauxDOM = { + Element: Element, + defaultView: Window, + mixins: { + core: core, + anim: anim }, - enabled: function (el) { - return !el.disabled; + createElement: function (nodeName) { + return new Element(nodeName) }, - disabled: function (el) { - return el.disabled; + createElementNS: function (namespace, nodeName) { + return this.createElement(nodeName) }, - checked: function (el) { - var nodeName = el.nodeName.toLowerCase(); - return (nodeName === 'input' && el.checked) || - (nodeName === 'option' && el.selected); + compareDocumentPosition: function () { + // The selector engine tries to validate with this, but we don't care. + // 8 = DOCUMENT_POSITION_CONTAINS, so we say all nodes are in this document. + return 8 } - }; + } - var attributeExpr = { - '~=': function (elValue, value) { - if (!value || value.indexOf(' ') > -1) { - return 0; + Element.prototype.ownerDocument = ReactFauxDOM + + module.exports = ReactFauxDOM + + +/***/ }), +/* 32 */ +/***/ (function(module, exports, __webpack_require__) { + + var React = __webpack_require__(4) + var styleAttr = __webpack_require__(33) + var querySelectorAll = __webpack_require__(34) + var camelCase = __webpack_require__(38) + var isString = __webpack_require__(39) + var isUndefined = __webpack_require__(40) + var assign = __webpack_require__(41) + var mapValues = __webpack_require__(42) + var styleCamelCase = __webpack_require__(43) + + function Element (nodeName, parentNode) { + this.nodeName = nodeName + this.parentNode = parentNode + this.childNodes = [] + this.eventListeners = {} + this.text = '' + var self = this + var props = this.props = { + ref: function (component) { + self.component = component + }, + style: { + setProperty: function (name, value) { + props.style[styleCamelCase(name)] = value + }, + getProperty: function (name) { + return props.style[styleCamelCase(name)] + }, + removeProperty: function (name) { + delete props.style[styleCamelCase(name)] + } } - return (' ' + elValue + ' ').indexOf(' ' + value + ' ') !== -1; - }, - '|=': function (elValue, value) { - return (' ' + elValue).indexOf(' ' + value + '-') !== -1; - }, - '^=': function (elValue, value) { - return value && util.startsWith(elValue, value); - }, - '$=': function (elValue, value) { - return value && util.endsWith(elValue, value); - }, - '*=': function (elValue, value) { - return value && elValue.indexOf(value) !== -1; - }, - '=': function (elValue, value) { - return elValue === value; } - }; - var relativeExpr = { - '>': { - dir: 'parentNode', - immediate: 1 - }, - ' ': { - dir: 'parentNode' - }, - '+': { - dir: 'previousSibling', - immediate: 1 - }, - '~': { - dir: 'previousSibling' - } - }; + this.style = props.style + } - matchExpr = { - tag: isTag, - cls: hasSingleClass, - id: function (el, value) { - return getAttr(el, 'id') === value; - }, - attrib: function (el, value) { - var name = value.ident; - if (!isContextXML) { - name = name.toLowerCase(); - } - var elValue = getAttr(el, name); - var match = value.match; - if (!match && elValue !== undefined) { - return 1; - } else if (match) { - if (elValue === undefined) { - return 0; - } - var matchFn = attributeExpr[match]; - if (matchFn) { - return matchFn(elValue + '', value.value + ''); - } - } - return 0; - }, - pseudo: function (el, value) { - var fn, fnStr, ident; - if ((fnStr = value.fn)) { - if (!(fn = pseudoFnExpr[fnStr])) { - throw new SyntaxError('Syntax error: not support pseudo: ' + fnStr); - } - return fn(el, value.param); - } - if ((ident = value.ident)) { - if (!pseudoIdentExpr[ident]) { - throw new SyntaxError('Syntax error: not support pseudo: ' + ident); - } - return pseudoIdentExpr[ident](el); - } - return 0; - } - }; + Element.prototype.nodeType = 1 - function unEscape(str) { - return str.replace(unescape, unescapeFn); + // This was easy to do with Vim. + // Just saying. + Element.prototype.eventNameMappings = { + 'blur': 'onBlur', + 'change': 'onChange', + 'click': 'onClick', + 'contextmenu': 'onContextMenu', + 'copy': 'onCopy', + 'cut': 'onCut', + 'doubleclick': 'onDoubleClick', + 'drag': 'onDrag', + 'dragend': 'onDragEnd', + 'dragenter': 'onDragEnter', + 'dragexit': 'onDragExit', + 'dragleave': 'onDragLeave', + 'dragover': 'onDragOver', + 'dragstart': 'onDragStart', + 'drop': 'onDrop', + 'error': 'onError', + 'focus': 'onFocus', + 'input': 'onInput', + 'keydown': 'onKeyDown', + 'keypress': 'onKeyPress', + 'keyup': 'onKeyUp', + 'load': 'onLoad', + 'mousedown': 'onMouseDown', + 'mouseenter': 'onMouseEnter', + 'mouseleave': 'onMouseLeave', + 'mousemove': 'onMouseMove', + 'mouseout': 'onMouseOut', + 'mouseover': 'onMouseOver', + 'mouseup': 'onMouseUp', + 'paste': 'onPaste', + 'scroll': 'onScroll', + 'submit': 'onSubmit', + 'touchcancel': 'onTouchCancel', + 'touchend': 'onTouchEnd', + 'touchmove': 'onTouchMove', + 'touchstart': 'onTouchStart', + 'wheel': 'onWheel' } - parser.lexer.yy = { - trim: util.trim, - unEscape: unEscape, - unEscapeStr: function (str) { - return this.unEscape(str.slice(1, -1)); - } - }; + Element.prototype.skipNameTransformationExpressions = [ + /^data-/, + /^aria-/ + ] - function resetStatus() { - subMatchesCache = {}; + Element.prototype.attributeNameMappings = { + 'class': 'className' } - function dir(el, direction) { - do { - el = el[direction]; - } while (el && el.nodeType !== 1); - return el; - } + Element.prototype.attributeToPropName = function (name) { + var skipTransformMatches = this.skipNameTransformationExpressions.map(function (expr) { + return expr.test(name) + }) - function getAb(param) { - var a = 0, - match, - b = 0; - if (typeof param === 'number') { - b = param; - } else if (param === 'odd') { - a = 2; - b = 1; - } else if (param === 'even') { - a = 2; - b = 0; - } else if ((match = param.replace(/\s/g, '').match(aNPlusB))) { - if (match[1]) { - a = parseInt(match[2], 10); - if (isNaN(a)) { - if (match[2] === '-') { - a = -1; - } else { - a = 1; - } - } - } else { - a = 0; - } - b = parseInt(match[3], 10) || 0; + if (skipTransformMatches.some(Boolean)) { + return name + } else { + return this.attributeNameMappings[name] || camelCase(name) } - return { - a: a, - b: b - }; } - function matchIndexByAb(index, a, b, eq) { - if (a === 0) { - if (index === b) { - return eq; + Element.prototype.setAttribute = function (name, value) { + if (name === 'style' && isString(value)) { + var styles = styleAttr.parse(value) + + for (var key in styles) { + this.style.setProperty(key, styles[key]) } } else { - if ((index - b) / a >= 0 && (index - b) % a === 0 && eq) { - return 1; + this.props[this.attributeToPropName(name)] = value + } + } + + Element.prototype.getAttribute = function (name) { + return this.props[this.attributeToPropName(name)] + } + + Element.prototype.getAttributeNode = function (name) { + var value = this.getAttribute(name) + + if (!isUndefined(value)) { + return { + value: value, + specified: true } } - return undefined; } - function isXML(elem) { - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName.toLowerCase() !== 'html' : false; + Element.prototype.removeAttribute = function (name) { + delete this.props[this.attributeToPropName(name)] } - function matches(str, seeds) { - return select(str, null, seeds); + Element.prototype.eventToPropName = function (name) { + return this.eventNameMappings[name] || name } - function singleMatch(el, match) { - if (!match) { - return true; - } - if (!el) { - return false; - } + Element.prototype.addEventListener = function (name, fn) { + var prop = this.eventToPropName(name) + this.eventListeners[prop] = this.eventListeners[prop] || [] + this.eventListeners[prop].push(fn) + } - if (el.nodeType === 9) { - return false; - } + Element.prototype.removeEventListener = function (name, fn) { + var listeners = this.eventListeners[this.eventToPropName(name)] - var matched = 1, - matchSuffix = match.suffix, - matchSuffixLen, - matchSuffixIndex; + if (listeners) { + var match = listeners.indexOf(fn) - if (match.t === 'tag') { - matched &= matchExpr.tag(el, match.value); + if (match !== -1) { + listeners.splice(match, 1) + } } + } - if (matched && matchSuffix) { - matchSuffixLen = matchSuffix.length; - matchSuffixIndex = 0; - for (; matched && matchSuffixIndex < matchSuffixLen; matchSuffixIndex++) { - var singleMatchSuffix = matchSuffix[matchSuffixIndex], - singleMatchSuffixType = singleMatchSuffix.t; - if (matchExpr[singleMatchSuffixType]) { - matched &= matchExpr[singleMatchSuffixType](el, singleMatchSuffix.value); - } - } + Element.prototype.appendChild = function (el) { + el.parentNode = this + this.childNodes.push(el) + return el + } + + Element.prototype.insertBefore = function (el, before) { + var index = this.childNodes.indexOf(before) + el.parentNode = this + + if (index !== -1) { + this.childNodes.splice(index, 0, el) + } else { + this.childNodes.push(el) } - return matched; + return el } - // match by adjacent immediate single selector match - function matchImmediate(el, match) { - var matched = 1, - startEl = el, - relativeOp, - startMatch = match; + Element.prototype.removeChild = function (child) { + var target = this.childNodes.indexOf(child) + this.childNodes.splice(target, 1) + } - do { - matched &= singleMatch(el, match); - if (matched) { - // advance - match = match && match.prev; - if (!match) { - return true; - } - relativeOp = relativeExpr[match.nextCombinator]; - el = dir(el, relativeOp.dir); - if (!relativeOp.immediate) { - return { - // advance for non-immediate - el: el, - match: match - }; - } - } else { - relativeOp = relativeExpr[match.nextCombinator]; - if (relativeOp.immediate) { - // retreat but advance startEl - return { - el: dir(startEl, relativeExpr[startMatch.nextCombinator].dir), - match: startMatch - }; - } else { - // advance (before immediate match + jump unmatched) - return { - el: el && dir(el, relativeOp.dir), - match: match - }; - } - } - } while (el); - - // only occur when match immediate - return { - el: dir(startEl, relativeExpr[startMatch.nextCombinator].dir), - match: startMatch - }; + Element.prototype.querySelector = function () { + return this.querySelectorAll.apply(this, arguments)[0] || null } - // find fixed part, fixed with seeds - function findFixedMatchFromHead(el, head) { - var relativeOp, - cur = head; - - do { - if (!singleMatch(el, cur)) { - return null; - } - cur = cur.prev; - if (!cur) { - return true; - } - relativeOp = relativeExpr[cur.nextCombinator]; - el = dir(el, relativeOp.dir); - } while (el && relativeOp.immediate); - if (!el) { - return null; + Element.prototype.querySelectorAll = function (selector) { + if (!selector) { + throw new Error('Not enough arguments') } - return { - el: el, - match: cur - }; + + return querySelectorAll(selector, this) } - function genId(el) { - var selectorId; + Element.prototype.getElementsByTagName = function (nodeName) { + var children = this.children - if (isContextXML) { - if (!(selectorId = el.getAttribute(EXPANDO_SELECTOR_KEY))) { - el.setAttribute(EXPANDO_SELECTOR_KEY, selectorId = (+new Date() + '_' + (++uuid))); - } + if (children.length === 0) { + return [] } else { - if (!(selectorId = el[EXPANDO_SELECTOR_KEY])) { - selectorId = el[EXPANDO_SELECTOR_KEY] = (+new Date()) + '_' + (++uuid); + var matches + + if (nodeName !== '*') { + matches = children.filter(function (el) { + return el.nodeName === nodeName + }) + } else { + matches = children } - } - return selectorId; - } + var childMatches = children.map(function (el) { + return el.getElementsByTagName(nodeName) + }) - function matchSub(el, match) { - var selectorId = genId(el), - matchKey; - matchKey = selectorId + '_' + (match.order || 0); - if (matchKey in subMatchesCache) { - return subMatchesCache[matchKey]; + return matches.concat.apply(matches, childMatches) } - subMatchesCache[matchKey] = matchSubInternal(el, match); - return subMatchesCache[matchKey]; } - // recursive match by sub selector string from right to left - // grouped by immediate selectors - function matchSubInternal(el, match) { - var matchImmediateRet = matchImmediate(el, match); - if (matchImmediateRet === true) { - return true; + Element.prototype.getElementById = function (id) { + var children = this.children + + if (children.length === 0) { + return null } else { - el = matchImmediateRet.el; - match = matchImmediateRet.match; - while (el) { - if (matchSub(el, match)) { - return true; - } - el = dir(el, relativeExpr[match.nextCombinator].dir); + var match = children.filter(function (el) { + return el.getAttribute('id') === id + })[0] + + if (match) { + return match + } else { + var childMatches = children.map(function (el) { + return el.getElementById(id) + }) + + return childMatches.filter(function (match) { + return match !== null + })[0] || null } - return false; } } - function select(str, context, seeds) { - if (!caches[str]) { - caches[str] = parser.parse(str); + Element.prototype.getBoundingClientRect = function () { + if (!this.component) { + return undefined } - var selector = caches[str], - groupIndex = 0, - groupLen = selector.length, - contextDocument, - group, - ret = []; + return this.component.getBoundingClientRect() + } - if (seeds) { - context = context || seeds[0].ownerDocument; - } + Element.prototype.toReact = function (index) { + index = index || 0 + var props = assign({}, this.props) + props.style = assign({}, props.style) - contextDocument = context && context.ownerDocument || typeof document !== 'undefined' && document; + var originalElement = this - if (context && context.nodeType === 9 && !contextDocument) { - contextDocument = context; + function uniqueKey () { + return 'faux-dom-' + index } - context = context || contextDocument; - - isContextXML = isXML(context); - - for (; groupIndex < groupLen; groupIndex++) { - resetStatus(); + if (isUndefined(props.key)) { + props.key = uniqueKey() + } - group = selector[groupIndex]; + delete props.style.setProperty + delete props.style.getProperty + delete props.style.removeProperty - var suffix = group.suffix, - suffixIndex, - suffixLen, - seedsIndex, - mySeeds = seeds, - seedsLen, - id = null; + assign(props, mapValues(this.eventListeners, function (listeners) { + return function (syntheticEvent) { + var event - if (!mySeeds) { - if (suffix && !isContextXML) { - suffixIndex = 0; - suffixLen = suffix.length; - for (; suffixIndex < suffixLen; suffixIndex++) { - var singleSuffix = suffix[suffixIndex]; - if (singleSuffix.t === 'id') { - id = singleSuffix.value; - break; - } - } + if (syntheticEvent) { + event = syntheticEvent.nativeEvent + event.syntheticEvent = syntheticEvent } - if (id) { - // http://yiminghe.github.io/lab/playground/fragment-selector/selector.html - var doesNotHasById = !context.getElementById, - contextInDom = util.contains(contextDocument, context), - tmp = doesNotHasById ? ( - contextInDom ? - contextDocument.getElementById(id) : - null - ) : context.getElementById(id); - // id bug - // https://github.com/kissyteam/kissy/issues/67 - if (!tmp && doesNotHasById || tmp && getAttr(tmp, 'id') !== id) { - var tmps = util.getElementsByTagName('*', context), - tmpLen = tmps.length, - tmpI = 0; - for (; tmpI < tmpLen; tmpI++) { - tmp = tmps[tmpI]; - if (getAttr(tmp, 'id') === id) { - mySeeds = [tmp]; - break; - } - } - if (tmpI === tmpLen) { - mySeeds = []; - } - } else { - if (contextInDom && tmp && context !== contextDocument) { - tmp = util.contains(context, tmp) ? tmp : null; - } - mySeeds = tmp ? [tmp] : []; - } - } else { - mySeeds = util.getElementsByTagName(group.value || '*', context); - } + mapValues(listeners, function (listener) { + listener.call(originalElement, event) + }) } + })) - seedsIndex = 0; - seedsLen = mySeeds.length; - - if (!seedsLen) { - continue; + return React.createElement(this.nodeName, props, this.text || this.children.map(function (el, i) { + if (el instanceof Element) { + return el.toReact(i) + } else { + return el } + })) + } - for (; seedsIndex < seedsLen; seedsIndex++) { - var seed = mySeeds[seedsIndex]; - var matchHead = findFixedMatchFromHead(seed, group); - if (matchHead === true) { - ret.push(seed); - } else if (matchHead) { - if (matchSub(matchHead.el, matchHead.match)) { - ret.push(seed); - } - } - } - } + Object.defineProperties(Element.prototype, { + nextSibling: { + get: function () { + var siblings = this.parentNode.children + var me = siblings.indexOf(this) + return siblings[me + 1] + } + }, + previousSibling: { + get: function () { + var siblings = this.parentNode.children + var me = siblings.indexOf(this) + return siblings[me - 1] + } + }, + innerHTML: { + get: function () { + return this.text + }, + set: function (text) { + this.text = text + } + }, + textContent: { + get: function () { + return this.text + }, + set: function (text) { + this.text = text + } + }, + children: { + get: function () { + // So far nodes created by this library are all of nodeType 1 (elements), + // but this could change in the future. + return this.childNodes.filter(function (el) { + if (!el.nodeType) { + // It's a React element, we always add it + return true + } - if (groupLen > 1) { - ret = util.unique(ret); + // It's a HTML node. We want to filter to have only nodes with type 1 + return el.nodeType === 1 + }) + } } + }) - return ret; - } + // These NS methods are called by things like D3 if it spots a namespace. + // Like xlink:href. I don't care about namespaces, so these functions have NS aliases created. + var namespaceMethods = [ + 'setAttribute', + 'getAttribute', + 'getAttributeNode', + 'removeAttribute', + 'getElementsByTagName', + 'getElementById' + ] - module.exports = select; + namespaceMethods.forEach(function (name) { + var fn = Element.prototype[name] + Element.prototype[name + 'NS'] = function () { + return fn.apply(this, Array.prototype.slice.call(arguments, 1)) + } + }) - select.parse = function (str) { - return parser.parse(str); - }; + module.exports = Element - select.matches = matches; - select.util = util; +/***/ }), +/* 33 */ +/***/ (function(module, exports) { - select.version = '@VERSION@'; - /** - * @ignore - * note 2013-03-28 - * - use recursive call to replace backtracking algorithm - * - * refer - * - http://www.w3.org/TR/selectors/ - * - http://www.impressivewebs.com/browser-support-css3-selectors/ - * - http://blogs.msdn.com/ie/archive/2010/05/13/the-css-corner-css3-selectors.aspx - * - http://sizzlejs.com/ - */ + -/***/ }, -/* 26 */ -/***/ function(module, exports) { + /*:: type Attr = { [key: string]: string | number } */ + /*:: type Opts = { preserveNumbers: ?boolean } */ - /** - * attr fix for old ie - * @author yiminghe@gmail.com - */ - var R_BOOLEAN = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, - R_FOCUSABLE = /^(?:button|input|object|select|textarea)$/i, - R_CLICKABLE = /^a(?:rea)?$/i, - R_INVALID_CHAR = /:|^on/; + /* - var attrFix = {}, - propFix, - attrHooks = { - // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - tabindex: { - get: function (el) { - // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set - var attributeNode = el.getAttributeNode('tabindex'); - return attributeNode && attributeNode.specified ? - parseInt(attributeNode.value, 10) : - R_FOCUSABLE.test(el.nodeName) || - R_CLICKABLE.test(el.nodeName) && el.href ? - 0 : - undefined; - } - } - }, - boolHook = { - get: function (elem, name) { - // 转发到 prop 方法 - return elem[propFix[name] || name] ? - // 根据 w3c attribute , true 时返回属性名字符串 - name.toLowerCase() : - undefined; - } - }, - attrNodeHook = {}; + style-attr + ==== - attrHooks.style = { - get: function (el) { - return el.style.cssText; - } - }; + Very simple parsing and stringifying of style attributes. - propFix = { - hidefocus: 'hideFocus', - tabindex: 'tabIndex', - readonly: 'readOnly', - 'for': 'htmlFor', - 'class': 'className', - maxlength: 'maxLength', - cellspacing: 'cellSpacing', - cellpadding: 'cellPadding', - rowspan: 'rowSpan', - colspan: 'colSpan', - usemap: 'useMap', - frameborder: 'frameBorder', - contenteditable: 'contentEditable' - }; + `parse` + ---- - var ua = typeof navigator !== 'undefined' ? navigator.userAgent : ''; - var doc = typeof document !== 'undefined' ? document : {}; + Convert a style attribute string to an object. - function numberify(s) { - var c = 0; - // convert '1.2.3.4' to 1.234 - return parseFloat(s.replace(/\./g, function () { - return (c++ === 0) ? '.' : ''; - })); - } + */ - function ieVersion() { - var m, v; - if ((m = ua.match(/MSIE ([^;]*)|Trident.*; rv(?:\s|:)?([0-9.]+)/)) && - (v = (m[1] || m[2]))) { - return doc.documentMode || numberify(v); - } - } + /*:: declare function parse (raw: string, opts: ?Opts): Attr */ + function parse(raw, opts) { + opts = opts || {}; - function mix(s, t) { - for (var p in t) { - s[p] = t[p]; - } - } + var preserveNumbers = opts.preserveNumbers; + var trim = function (s) { + return s.trim(); + }; + var obj = {}; - function each(arr, fn) { - var i = 0, l = arr.length; - for (; i < l; i++) { - if (fn(arr[i], i) === false) { - break; + getKeyValueChunks(raw).map(trim).filter(Boolean).forEach(function (item) { + // split with `.indexOf` rather than `.split` because the value may also contain colons. + var pos = item.indexOf(':'); + var key = item.substr(0, pos).trim(); + var val = item.substr(pos + 1).trim(); + if (preserveNumbers && isNumeric(val)) { + val = Number(val); } - } + + obj[key] = val; + }); + + return obj; } - var ie = ieVersion(); - if (ie && ie < 8) { - attrHooks.style.set = function (el, val) { - el.style.cssText = val; - }; + /* - // get attribute value from attribute node for ie - mix(attrNodeHook, { - get: function (elem, name) { - var ret = elem.getAttributeNode(name); - // Return undefined if attribute node specified by user - return ret && ( - // fix #100 - ret.specified || ret.nodeValue) ? - ret.nodeValue : - undefined; - } - }); + `isNumeric` + ---- - // ie6,7 不区分 attribute 与 property - mix(attrFix, propFix); + Check if a value is numeric. + Via: https://stackoverflow.com/a/1830844/9324 - // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - attrHooks.tabIndex = attrHooks.tabindex; + */ - // 不光是 href, src, 还有 rowspan 等非 mapping 属性,也需要用第 2 个参数来获取原始值 - // 注意 colSpan rowSpan 已经由 propFix 转为大写 - each(['href', 'src', 'width', 'height', 'colSpan', 'rowSpan'], function (name) { - attrHooks[name] = { - get: function (elem) { - var ret = elem.getAttribute(name, 2); - return ret === null ? undefined : ret; - } - }; - }); + /*:: declare function isNumeric (n: any): boolean */ - attrHooks.placeholder = { - get: function (elem, name) { - return elem[name] || attrNodeHook.get(elem, name); - } - }; + function isNumeric(n) { + return !isNaN(parseFloat(n)) && isFinite(n); } - if (ie) { - var hrefFix = attrHooks.href = attrHooks.href || {}; - hrefFix.set = function (el, val, name) { - var childNodes = el.childNodes, - b, - len = childNodes.length, - allText = len > 0; - for (len = len - 1; len >= 0; len--) { - if (childNodes[len].nodeType !== 3) { - allText = 0; - } - } - if (allText) { - b = el.ownerDocument.createElement('b'); - b.style.display = 'none'; - el.appendChild(b); - } - el.setAttribute(name, '' + val); - if (b) { - el.removeChild(b); - } - }; - } + /* - var RE_TRIM = /^[\s\xa0]+|[\s\xa0]+$/g, - trim = String.prototype.trim; - var SPACE = ' '; + `getKeyValueChunks` + ---- - var getElementsByTagName; - getElementsByTagName = function (name, context) { - return context.getElementsByTagName(name); - }; + Split a string into chunks matching `<key>: <value>` - if (doc.createElement) { - var div = doc.createElement('div'); - div.appendChild(document.createComment('')); - if (div.getElementsByTagName('*').length) { - getElementsByTagName = function (name, context) { - var nodes = context.getElementsByTagName(name), - needsFilter = name === '*'; - // <input id='length'> - if (needsFilter || typeof nodes.length !== 'number') { - var ret = [], - i = 0, - el; - while ((el = nodes[i++])) { - if (!needsFilter || el.nodeType === 1) { - ret.push(el); - } - } - return ret; - } else { - return nodes; - } - }; - } - } + */ + /*:: declare function getKeyValueChunks (raw: string): Array<string> */ + function getKeyValueChunks(raw) { + var chunks = []; + var offset = 0; + var sep = ';'; + var hasUnclosedUrl = /url\([^\)]+$/; + var chunk = ''; + var nextSplit; + while (offset < raw.length) { + nextSplit = raw.indexOf(sep, offset); + if (nextSplit === -1) { + nextSplit = raw.length; + } - var compareNodeOrder = ('sourceIndex' in (doc && doc.documentElement || {})) ? function (a, b) { - return a.sourceIndex - b.sourceIndex; - } : function (a, b) { - if (!a.compareDocumentPosition || !b.compareDocumentPosition) { - return a.compareDocumentPosition ? -1 : 1; - } - var bit = a.compareDocumentPosition(b) & 4; - return bit ? -1 : 1; - }; + chunk += raw.substring(offset, nextSplit); - var util = module.exports = { - ie: ie, + // data URIs can contain semicolons, so make sure we get the whole thing + if (hasUnclosedUrl.test(chunk)) { + chunk += ';'; + offset = nextSplit + 1; + continue; + } - unique: (function () { - var hasDuplicate, - baseHasDuplicate = true; + chunks.push(chunk); + chunk = ''; + offset = nextSplit + 1; + } - // Here we check if the JavaScript engine is using some sort of - // optimization where it does not always call our comparison - // function. If that is the case, discard the hasDuplicate value. - // Thus far that includes Google Chrome. - [0, 0].sort(function () { - baseHasDuplicate = false; - return 0; - }); + return chunks; + } - function sortOrder(a, b) { - if (a === b) { - hasDuplicate = true; - return 0; - } + /* - return compareNodeOrder(a, b); - } + `stringify` + ---- - // 排序去重 - return function (elements) { - hasDuplicate = baseHasDuplicate; - elements.sort(sortOrder); + Convert an object into an attribute string - if (hasDuplicate) { - var i = 1, len = elements.length; - while (i < len) { - if (elements[i] === elements[i - 1]) { - elements.splice(i, 1); - --len; - } else { - i++; - } - } - } - return elements; - }; - })(), + */ + /*:: declare function stringify (obj: Attr): string */ + function stringify(obj) { + return Object.keys(obj).map(function (key) { + return key + ':' + obj[key]; + }).join(';'); + } - getElementsByTagName: getElementsByTagName, + /* - getSimpleAttr: function (el, name) { - var ret = el && el.getAttributeNode(name); - if (ret && ret.specified) { - return 'value' in ret ? ret.value : ret.nodeValue; - } - return undefined; - }, + `normalize` + ---- - contains: ie ? function (a, b) { - if (a.nodeType === 9) { - a = a.documentElement; - } - // !a.contains => a===document || text - // 注意原生 contains 判断时 a===b 也返回 true - b = b.parentNode; + Normalize an attribute string (eg. collapse duplicates) - if (a === b) { - return true; - } + */ + /*:: declare function normalize (str: string, opts: ?Opts): string */ + function normalize(str, opts) { + return stringify(parse(str, opts)); + } - // when b is document, a.contains(b) 不支持的接口 in ie - if (b && b.nodeType === 1) { - return a.contains && a.contains(b); - } else { - return false; - } - } : function (a, b) { - return !!(a.compareDocumentPosition(b) & 16); - }, + module.exports.parse = parse; + module.exports.stringify = stringify; + module.exports.normalize = normalize; - isTag: function (el, value) { - return value === '*' || el.nodeName.toLowerCase() === value.toLowerCase(); - }, +/***/ }), +/* 34 */ +/***/ (function(module, exports, __webpack_require__) { - hasSingleClass: function (el, cls) { - // consider xml - // https://github.com/kissyteam/kissy/issues/532 - var className = el && util.getSimpleAttr(el, 'class'); - return className && (className = className.replace(/[\r\t\n]/g, SPACE)) && - (SPACE + className + SPACE).indexOf(SPACE + cls + SPACE) > -1; - }, + module.exports = __webpack_require__(35); - startsWith: function (str, prefix) { - return str.lastIndexOf(prefix, 0) === 0; - }, +/***/ }), +/* 35 */ +/***/ (function(module, exports, __webpack_require__) { - endsWith: function (str, suffix) { - var ind = str.length - suffix.length; - return ind >= 0 && str.indexOf(suffix, ind) === ind; - }, + /** + * @ignore + * css3 selector engine for ie6-8 + * @author yiminghe@gmail.com + */ - trim: trim ? - function (str) { - return str == null ? '' : trim.call(str); - } : - function (str) { - return str == null ? '' : (str + '').replace(RE_TRIM, ''); - }, + var util = __webpack_require__(36); + var parser = __webpack_require__(37); - attr: function (el, name) { - var attrNormalizer, ret; - // scrollLeft - name = name.toLowerCase(); - // custom attrs - name = attrFix[name] || name; - if (R_BOOLEAN.test(name)) { - attrNormalizer = boolHook; - } else if (R_INVALID_CHAR.test(name)) { - // only old ie? - attrNormalizer = attrNodeHook; + var EXPANDO_SELECTOR_KEY = '_ks_data_selector_id_', + caches = {}, + isContextXML, + uuid = 0, + subMatchesCache = {}, + getAttr = function (el, name) { + if (isContextXML) { + return util.getSimpleAttr(el, name); } else { - attrNormalizer = attrHooks[name]; - } - if (el && el.nodeType === 1) { - // browsers index elements by id/name on forms, give priority to attributes. - if (el.nodeName.toLowerCase() === 'form') { - attrNormalizer = attrNodeHook; - } - if (attrNormalizer && attrNormalizer.get) { - return attrNormalizer.get(el, name); - } - ret = el.getAttribute(name); - if (ret === '') { - var attrNode = el.getAttributeNode(name); - if (!attrNode || !attrNode.specified) { - return undefined; - } - } - // standard browser non-existing attribute return null - // ie<8 will return undefined , because it return property - // so norm to undefined - return ret === null ? undefined : ret; + return util.attr(el, name); } - } - }; + }, + hasSingleClass = util.hasSingleClass, + isTag = util.isTag, + aNPlusB = /^(([+-]?(?:\d+)?)?n)?([+-]?\d+)?$/; -/***/ }, -/* 27 */ -/***/ function(module, exports, __webpack_require__) { + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + var unescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, + unescapeFn = function (_, escaped) { + var high = '0x' + escaped - 0x10000; + // NaN means non-codepoint + return isNaN(high) ? + escaped : + // BMP codepoint + high < 0 ? + String.fromCharCode(high + 0x10000) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode(high >> 10 | 0xD800, high & 0x3FF | 0xDC00); + }; - /* - Generated by kison.*/ - var parser = (function (undefined) { - /*jshint quotmark:false, loopfunc:true, indent:false, unused:false, asi:true, boss:true*/ - /* Generated by kison */ - var parser = {}, - GrammarConst = { - 'SHIFT_TYPE': 1, - 'REDUCE_TYPE': 2, - 'ACCEPT_TYPE': 0, - 'TYPE_INDEX': 0, - 'PRODUCTION_INDEX': 1, - 'TO_INDEX': 2 - }; - /*jslint quotmark: false*/ - function mix(to, from) { - for (var f in from) { - to[f] = from[f]; + var matchExpr; + + var pseudoFnExpr = { + 'nth-child': function (el, param) { + var ab = getAb(param), + a = ab.a, + b = ab.b; + if (a === 0 && b === 0) { + return 0; + } + var index = 0, + parent = el.parentNode; + if (parent) { + var childNodes = parent.childNodes, + count = 0, + child, + ret, + len = childNodes.length; + for (; count < len; count++) { + child = childNodes[count]; + if (child.nodeType === 1) { + index++; + ret = matchIndexByAb(index, a, b, child === el); + if (ret !== undefined) { + return ret; + } } + } } - - function isArray(obj) { - return '[object Array]' === Object.prototype.toString.call(obj); + return 0; + }, + 'nth-last-child': function (el, param) { + var ab = getAb(param), + a = ab.a, + b = ab.b; + if (a === 0 && b === 0) { + return 0; } - - function each(object, fn, context) { - if (object) { - var key, - val, - length, - i = 0; - - context = context || null; - - if (!isArray(object)) { - for (key in object) { - // can not use hasOwnProperty - if (fn.call(context, object[key], key, object) === false) { - break; - } - } - } else { - length = object.length; - for (val = object[0]; i < length; val = object[++i]) { - if (fn.call(context, val, i, object) === false) { - break; - } - } - } + var index = 0, + parent = el.parentNode; + if (parent) { + var childNodes = parent.childNodes, + len = childNodes.length, + count = len - 1, + child, + ret; + for (; count >= 0; count--) { + child = childNodes[count]; + if (child.nodeType === 1) { + index++; + ret = matchIndexByAb(index, a, b, child === el); + if (ret !== undefined) { + return ret; + } } + } } - - function inArray(item, arr) { - for (var i = 0, l = arr.length; i < l; i++) { - if (arr[i] === item) { - return true; - } + return 0; + }, + 'nth-of-type': function (el, param) { + var ab = getAb(param), + a = ab.a, + b = ab.b; + if (a === 0 && b === 0) { + return 0; + } + var index = 0, + parent = el.parentNode; + if (parent) { + var childNodes = parent.childNodes, + elType = el.tagName, + count = 0, + child, + ret, + len = childNodes.length; + for (; count < len; count++) { + child = childNodes[count]; + if (child.tagName === elType) { + index++; + ret = matchIndexByAb(index, a, b, child === el); + if (ret !== undefined) { + return ret; + } } - return false; + } } - var Lexer = function Lexer(cfg) { - - var self = this; - - /* - lex rules. - @type {Object[]} - @example - [ - { - regexp:'\\w+', - state:['xx'], - token:'c', - // this => lex - action:function(){} - } - ] - */ - self.rules = []; + return 0; + }, + 'nth-last-of-type': function (el, param) { + var ab = getAb(param), + a = ab.a, + b = ab.b; + if (a === 0 && b === 0) { + return 0; + } + var index = 0, + parent = el.parentNode; + if (parent) { + var childNodes = parent.childNodes, + len = childNodes.length, + elType = el.tagName, + count = len - 1, + child, + ret; + for (; count >= 0; count--) { + child = childNodes[count]; + if (child.tagName === elType) { + index++; + ret = matchIndexByAb(index, a, b, child === el); + if (ret !== undefined) { + return ret; + } + } + } + } + return 0; + }, + lang: function (el, lang) { + var elLang; + lang = unEscape(lang.toLowerCase()); + do { + if ((elLang = (isContextXML ? + el.getAttribute('xml:lang') || el.getAttribute('lang') : + el.lang))) { + elLang = elLang.toLowerCase(); + return elLang === lang || elLang.indexOf(lang + '-') === 0; + } + } while ((el = el.parentNode) && el.nodeType === 1); + return false; + }, + not: function (el, negationArg) { + return !matchExpr[negationArg.t](el, negationArg.value); + } + }; - mix(self, cfg); + var pseudoIdentExpr = { + empty: function (el) { + var childNodes = el.childNodes, + index = 0, + len = childNodes.length - 1, + child, + nodeType; + for (; index < len; index++) { + child = childNodes[index]; + nodeType = child.nodeType; + // only element nodes and content nodes + // (such as Dom [Dom-LEVEL-3-CORE] text nodes, + // CDATA nodes, and entity references + if (nodeType === 1 || nodeType === 3 || nodeType === 4 || nodeType === 5) { + return 0; + } + } + return 1; + }, + root: function (el) { + if (el.nodeType === 9) { + return true; + } + return el.ownerDocument && + el === el.ownerDocument.documentElement; + }, + 'first-child': function (el) { + return pseudoFnExpr['nth-child'](el, 1); + }, + 'last-child': function (el) { + return pseudoFnExpr['nth-last-child'](el, 1); + }, + 'first-of-type': function (el) { + return pseudoFnExpr['nth-of-type'](el, 1); + }, + 'last-of-type': function (el) { + return pseudoFnExpr['nth-last-of-type'](el, 1); + }, + 'only-child': function (el) { + return pseudoIdentExpr['first-child'](el) && + pseudoIdentExpr['last-child'](el); + }, + 'only-of-type': function (el) { + return pseudoIdentExpr['first-of-type'](el) && + pseudoIdentExpr['last-of-type'](el); + }, + focus: function (el) { + var doc = el.ownerDocument; + return doc && el === doc.activeElement && + (!doc.hasFocus || doc.hasFocus()) && !!(el.type || el.href || el.tabIndex >= 0); + }, + target: function (el) { + var hash = location.hash; + return hash && hash.slice(1) === getAttr(el, 'id'); + }, + enabled: function (el) { + return !el.disabled; + }, + disabled: function (el) { + return el.disabled; + }, + checked: function (el) { + var nodeName = el.nodeName.toLowerCase(); + return (nodeName === 'input' && el.checked) || + (nodeName === 'option' && el.selected); + } + }; - /* - Input languages - @type {String} - */ + var attributeExpr = { + '~=': function (elValue, value) { + if (!value || value.indexOf(' ') > -1) { + return 0; + } + return (' ' + elValue + ' ').indexOf(' ' + value + ' ') !== -1; + }, + '|=': function (elValue, value) { + return (' ' + elValue).indexOf(' ' + value + '-') !== -1; + }, + '^=': function (elValue, value) { + return value && util.startsWith(elValue, value); + }, + '$=': function (elValue, value) { + return value && util.endsWith(elValue, value); + }, + '*=': function (elValue, value) { + return value && elValue.indexOf(value) !== -1; + }, + '=': function (elValue, value) { + return elValue === value; + } + }; - self.resetInput(self.input); - }; - Lexer.prototype = { - 'resetInput': function (input) { - mix(this, { - input: input, - matched: '', - stateStack: [Lexer.STATIC.INITIAL], - match: '', - text: '', - firstLine: 1, - lineNumber: 1, - lastLine: 1, - firstColumn: 1, - lastColumn: 1 - }); - }, - 'getCurrentRules': function () { - var self = this, - currentState = self.stateStack[self.stateStack.length - 1], - rules = []; - //#JSCOVERAGE_IF - if (self.mapState) { - currentState = self.mapState(currentState); - } - each(self.rules, function (r) { - var state = r.state || r[3]; - if (!state) { - if (currentState === Lexer.STATIC.INITIAL) { - rules.push(r); - } - } else if (inArray(currentState, state)) { - rules.push(r); - } - }); - return rules; - }, - 'pushState': function (state) { - this.stateStack.push(state); - }, - 'popState': function (num) { - num = num || 1; - var ret; - while (num--) { - ret = this.stateStack.pop(); - } - return ret; - }, - 'showDebugInfo': function () { - var self = this, - DEBUG_CONTEXT_LIMIT = Lexer.STATIC.DEBUG_CONTEXT_LIMIT, - matched = self.matched, - match = self.match, - input = self.input; - matched = matched.slice(0, matched.length - match.length); - //#JSCOVERAGE_IF 0 - var past = (matched.length > DEBUG_CONTEXT_LIMIT ? '...' : '') + - matched.slice(0 - DEBUG_CONTEXT_LIMIT).replace(/\n/, ' '), - next = match + input; - //#JSCOVERAGE_ENDIF - next = next.slice(0, DEBUG_CONTEXT_LIMIT) + - (next.length > DEBUG_CONTEXT_LIMIT ? '...' : ''); - return past + next + '\n' + new Array(past.length + 1).join('-') + '^'; - }, - 'mapSymbol': function mapSymbolForCodeGen(t) { - return this.symbolMap[t]; - }, - 'mapReverseSymbol': function (rs) { - var self = this, - symbolMap = self.symbolMap, - i, - reverseSymbolMap = self.reverseSymbolMap; - if (!reverseSymbolMap && symbolMap) { - reverseSymbolMap = self.reverseSymbolMap = {}; - for (i in symbolMap) { - reverseSymbolMap[symbolMap[i]] = i; - } - } - //#JSCOVERAGE_IF - if (reverseSymbolMap) { - return reverseSymbolMap[rs]; - } else { - return rs; - } - }, - 'lex': function () { - var self = this, - input = self.input, - i, - rule, - m, - ret, - lines, - rules = self.getCurrentRules(); + var relativeExpr = { + '>': { + dir: 'parentNode', + immediate: 1 + }, + ' ': { + dir: 'parentNode' + }, + '+': { + dir: 'previousSibling', + immediate: 1 + }, + '~': { + dir: 'previousSibling' + } + }; - self.match = self.text = ''; + matchExpr = { + tag: isTag, + cls: hasSingleClass, + id: function (el, value) { + return getAttr(el, 'id') === value; + }, + attrib: function (el, value) { + var name = value.ident; + if (!isContextXML) { + name = name.toLowerCase(); + } + var elValue = getAttr(el, name); + var match = value.match; + if (!match && elValue !== undefined) { + return 1; + } else if (match) { + if (elValue === undefined) { + return 0; + } + var matchFn = attributeExpr[match]; + if (matchFn) { + return matchFn(elValue + '', value.value + ''); + } + } + return 0; + }, + pseudo: function (el, value) { + var fn, fnStr, ident; + if ((fnStr = value.fn)) { + if (!(fn = pseudoFnExpr[fnStr])) { + throw new SyntaxError('Syntax error: not support pseudo: ' + fnStr); + } + return fn(el, value.param); + } + if ((ident = value.ident)) { + if (!pseudoIdentExpr[ident]) { + throw new SyntaxError('Syntax error: not support pseudo: ' + ident); + } + return pseudoIdentExpr[ident](el); + } + return 0; + } + }; - if (!input) { - return self.mapSymbol(Lexer.STATIC.END_TAG); - } + function unEscape(str) { + return str.replace(unescape, unescapeFn); + } - for (i = 0; i < rules.length; i++) { - rule = rules[i]; - //#JSCOVERAGE_IF 0 - var regexp = rule.regexp || rule[1], - token = rule.token || rule[0], - action = rule.action || rule[2] || undefined; - //#JSCOVERAGE_ENDIF - if ((m = input.match(regexp))) { - lines = m[0].match(/\n.*/g); - if (lines) { - self.lineNumber += lines.length; - } - mix(self, { - firstLine: self.lastLine, - lastLine: self.lineNumber + 1, - firstColumn: self.lastColumn, - lastColumn: lines ? - lines[lines.length - 1].length - 1 : self.lastColumn + m[0].length - }); - var match; - // for error report - match = self.match = m[0]; + parser.lexer.yy = { + trim: util.trim, + unEscape: unEscape, + unEscapeStr: function (str) { + return this.unEscape(str.slice(1, -1)); + } + }; - // all matches - self.matches = m; - // may change by user - self.text = match; - // matched content utils now - self.matched += match; - ret = action && action.call(self); - if (ret === undefined) { - ret = token; - } else { - ret = self.mapSymbol(ret); - } - input = input.slice(match.length); - self.input = input; + function resetStatus() { + subMatchesCache = {}; + } - if (ret) { - return ret; - } else { - // ignore - return self.lex(); - } - } - } - } - }; - Lexer.STATIC = { - 'INITIAL': 'I', - 'DEBUG_CONTEXT_LIMIT': 20, - 'END_TAG': '$EOF' - }; - var lexer = new Lexer({ - 'rules': [ - ['b', /^\[(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['c', /^(?:[\t\r\n\f\x20]*)\]/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['d', /^(?:[\t\r\n\f\x20]*)~=(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['e', /^(?:[\t\r\n\f\x20]*)\|=(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['f', /^(?:[\t\r\n\f\x20]*)\^=(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['g', /^(?:[\t\r\n\f\x20]*)\$=(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['h', /^(?:[\t\r\n\f\x20]*)\*=(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['i', /^(?:[\t\r\n\f\x20]*)\=(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['j', /^(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)\(/, - function () { - this.text = this.yy.trim(this.text).slice(0, -1); - this.pushState('fn'); - } - ], - ['k', /^[^\)]*/, - function () { - this.popState(); - }, - ['fn'] - ], - ['l', /^(?:[\t\r\n\f\x20]*)\)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['m', /^:not\((?:[\t\r\n\f\x20]*)/i, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['n', /^(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)/, - function () { - this.text = this.yy.unEscape(this.text); - } - ], - ['o', /^"(\\"|[^"])*"/, - function () { - this.text = this.yy.unEscapeStr(this.text); - } - ], - ['o', /^'(\\'|[^'])*'/, - function () { - this.text = this.yy.unEscapeStr(this.text); - } - ], - ['p', /^#(?:(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))+)/, - function () { - this.text = this.yy.unEscape(this.text.slice(1)); - } - ], - ['q', /^\.(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)/, - function () { - this.text = this.yy.unEscape(this.text.slice(1)); - } - ], - ['r', /^(?:[\t\r\n\f\x20]*),(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['s', /^::?/, 0], - ['t', /^(?:[\t\r\n\f\x20]*)\+(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['u', /^(?:[\t\r\n\f\x20]*)>(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['v', /^(?:[\t\r\n\f\x20]*)~(?:[\t\r\n\f\x20]*)/, - function () { - this.text = this.yy.trim(this.text); - } - ], - ['w', /^\*/, 0], - ['x', /^(?:[\t\r\n\f\x20]+)/, 0], - ['y', /^./, 0] - ] - }); - parser.lexer = lexer; - lexer.symbolMap = { - '$EOF': 'a', - 'LEFT_BRACKET': 'b', - 'RIGHT_BRACKET': 'c', - 'INCLUDES': 'd', - 'DASH_MATCH': 'e', - 'PREFIX_MATCH': 'f', - 'SUFFIX_MATCH': 'g', - 'SUBSTRING_MATCH': 'h', - 'ALL_MATCH': 'i', - 'FUNCTION': 'j', - 'PARAMETER': 'k', - 'RIGHT_PARENTHESES': 'l', - 'NOT': 'm', - 'IDENT': 'n', - 'STRING': 'o', - 'HASH': 'p', - 'CLASS': 'q', - 'COMMA': 'r', - 'COLON': 's', - 'PLUS': 't', - 'GREATER': 'u', - 'TILDE': 'v', - 'UNIVERSAL': 'w', - 'S': 'x', - 'INVALID': 'y', - '$START': 'z', - 'selectors_group': 'aa', - 'selector': 'ab', - 'simple_selector_sequence': 'ac', - 'combinator': 'ad', - 'type_selector': 'ae', - 'id_selector': 'af', - 'class_selector': 'ag', - 'attrib_match': 'ah', - 'attrib': 'ai', - 'attrib_val': 'aj', - 'pseudo': 'ak', - 'negation': 'al', - 'negation_arg': 'am', - 'suffix_selector': 'an', - 'suffix_selectors': 'ao' - }; - parser.productions = [ - ['z', ['aa']], - ['aa', ['ab'], - function () { - return [this.$1]; - } - ], - ['aa', ['aa', 'r', 'ab'], - function () { - this.$1.push(this.$3); - } - ], - ['ab', ['ac']], - ['ab', ['ab', 'ad', 'ac'], - function () { - // LinkedList + function dir(el, direction) { + do { + el = el[direction]; + } while (el && el.nodeType !== 1); + return el; + } - this.$1.nextCombinator = this.$3.prevCombinator = this.$2; - var order; - order = this.$1.order = this.$1.order || 0; - this.$3.order = order + 1; - this.$3.prev = this.$1; - this.$1.next = this.$3; - return this.$3; - } - ], - ['ad', ['t']], - ['ad', ['u']], - ['ad', ['v']], - ['ad', ['x'], - function () { - return ' '; - } - ], - ['ae', ['n'], - function () { - return { - t: 'tag', - value: this.$1 - }; - } - ], - ['ae', ['w'], - function () { - return { - t: 'tag', - value: this.$1 - }; - } - ], - ['af', ['p'], - function () { - return { - t: 'id', - value: this.$1 - }; - } - ], - ['ag', ['q'], - function () { - return { - t: 'cls', - value: this.$1 - }; - } - ], - ['ah', ['f']], - ['ah', ['g']], - ['ah', ['h']], - ['ah', ['i']], - ['ah', ['d']], - ['ah', ['e']], - ['ai', ['b', 'n', 'c'], - function () { - return { - t: 'attrib', - value: { - ident: this.$2 - } - }; - } - ], - ['aj', ['n']], - ['aj', ['o']], - ['ai', ['b', 'n', 'ah', 'aj', 'c'], - function () { - return { - t: 'attrib', - value: { - ident: this.$2, - match: this.$3, - value: this.$4 - } - }; - } - ], - ['ak', ['s', 'j', 'k', 'l'], - function () { - return { - t: 'pseudo', - value: { - fn: this.$2.toLowerCase(), - param: this.$3 - } - }; - } - ], - ['ak', ['s', 'n'], - function () { - return { - t: 'pseudo', - value: { - ident: this.$2.toLowerCase() - } - }; - } - ], - ['al', ['m', 'am', 'l'], - function () { - return { - t: 'pseudo', - value: { - fn: 'not', - param: this.$2 - } - }; - } - ], - ['am', ['ae']], - ['am', ['af']], - ['am', ['ag']], - ['am', ['ai']], - ['am', ['ak']], - ['an', ['af']], - ['an', ['ag']], - ['an', ['ai']], - ['an', ['ak']], - ['an', ['al']], - ['ao', ['an'], - function () { - return [this.$1]; - } - ], - ['ao', ['ao', 'an'], - function () { - this.$1.push(this.$2); - } - ], - ['ac', ['ae']], - ['ac', ['ao'], - function () { - return { - suffix: this.$1 - }; - } - ], - ['ac', ['ae', 'ao'], - function () { - return { - t: 'tag', - value: this.$1.value, - suffix: this.$2 - }; - } - ] - ]; - parser.table = { - 'gotos': { - '0': { - 'aa': 8, - 'ab': 9, - 'ae': 10, - 'af': 11, - 'ag': 12, - 'ai': 13, - 'ak': 14, - 'al': 15, - 'an': 16, - 'ao': 17, - 'ac': 18 - }, - '2': { - 'ae': 20, - 'af': 21, - 'ag': 22, - 'ai': 23, - 'ak': 24, - 'am': 25 - }, - '9': { - 'ad': 33 - }, - '10': { - 'af': 11, - 'ag': 12, - 'ai': 13, - 'ak': 14, - 'al': 15, - 'an': 16, - 'ao': 34 - }, - '17': { - 'af': 11, - 'ag': 12, - 'ai': 13, - 'ak': 14, - 'al': 15, - 'an': 35 - }, - '19': { - 'ah': 43 - }, - '28': { - 'ab': 46, - 'ae': 10, - 'af': 11, - 'ag': 12, - 'ai': 13, - 'ak': 14, - 'al': 15, - 'an': 16, - 'ao': 17, - 'ac': 18 - }, - '33': { - 'ae': 10, - 'af': 11, - 'ag': 12, - 'ai': 13, - 'ak': 14, - 'al': 15, - 'an': 16, - 'ao': 17, - 'ac': 47 - }, - '34': { - 'af': 11, - 'ag': 12, - 'ai': 13, - 'ak': 14, - 'al': 15, - 'an': 35 - }, - '43': { - 'aj': 50 - }, - '46': { - 'ad': 33 - } - }, - 'action': { - '0': { - 'b': [1, undefined, 1], - 'm': [1, undefined, 2], - 'n': [1, undefined, 3], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6], - 'w': [1, undefined, 7] - }, - '1': { - 'n': [1, undefined, 19] - }, - '2': { - 'b': [1, undefined, 1], - 'n': [1, undefined, 3], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6], - 'w': [1, undefined, 7] - }, - '3': { - 'a': [2, 9], - 'r': [2, 9], - 't': [2, 9], - 'u': [2, 9], - 'v': [2, 9], - 'x': [2, 9], - 'p': [2, 9], - 'q': [2, 9], - 'b': [2, 9], - 's': [2, 9], - 'm': [2, 9], - 'l': [2, 9] - }, - '4': { - 'a': [2, 11], - 'r': [2, 11], - 't': [2, 11], - 'u': [2, 11], - 'v': [2, 11], - 'x': [2, 11], - 'p': [2, 11], - 'q': [2, 11], - 'b': [2, 11], - 's': [2, 11], - 'm': [2, 11], - 'l': [2, 11] - }, - '5': { - 'a': [2, 12], - 'r': [2, 12], - 't': [2, 12], - 'u': [2, 12], - 'v': [2, 12], - 'x': [2, 12], - 'p': [2, 12], - 'q': [2, 12], - 'b': [2, 12], - 's': [2, 12], - 'm': [2, 12], - 'l': [2, 12] - }, - '6': { - 'j': [1, undefined, 26], - 'n': [1, undefined, 27] - }, - '7': { - 'a': [2, 10], - 'r': [2, 10], - 't': [2, 10], - 'u': [2, 10], - 'v': [2, 10], - 'x': [2, 10], - 'p': [2, 10], - 'q': [2, 10], - 'b': [2, 10], - 's': [2, 10], - 'm': [2, 10], - 'l': [2, 10] - }, - '8': { - 'a': [0], - 'r': [1, undefined, 28] - }, - '9': { - 'a': [2, 1], - 'r': [2, 1], - 't': [1, undefined, 29], - 'u': [1, undefined, 30], - 'v': [1, undefined, 31], - 'x': [1, undefined, 32] - }, - '10': { - 'a': [2, 38], - 'r': [2, 38], - 't': [2, 38], - 'u': [2, 38], - 'v': [2, 38], - 'x': [2, 38], - 'b': [1, undefined, 1], - 'm': [1, undefined, 2], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6] - }, - '11': { - 'a': [2, 31], - 'r': [2, 31], - 't': [2, 31], - 'u': [2, 31], - 'v': [2, 31], - 'x': [2, 31], - 'p': [2, 31], - 'q': [2, 31], - 'b': [2, 31], - 's': [2, 31], - 'm': [2, 31] - }, - '12': { - 'a': [2, 32], - 'r': [2, 32], - 't': [2, 32], - 'u': [2, 32], - 'v': [2, 32], - 'x': [2, 32], - 'p': [2, 32], - 'q': [2, 32], - 'b': [2, 32], - 's': [2, 32], - 'm': [2, 32] - }, - '13': { - 'a': [2, 33], - 'r': [2, 33], - 't': [2, 33], - 'u': [2, 33], - 'v': [2, 33], - 'x': [2, 33], - 'p': [2, 33], - 'q': [2, 33], - 'b': [2, 33], - 's': [2, 33], - 'm': [2, 33] - }, - '14': { - 'a': [2, 34], - 'r': [2, 34], - 't': [2, 34], - 'u': [2, 34], - 'v': [2, 34], - 'x': [2, 34], - 'p': [2, 34], - 'q': [2, 34], - 'b': [2, 34], - 's': [2, 34], - 'm': [2, 34] - }, - '15': { - 'a': [2, 35], - 'r': [2, 35], - 't': [2, 35], - 'u': [2, 35], - 'v': [2, 35], - 'x': [2, 35], - 'p': [2, 35], - 'q': [2, 35], - 'b': [2, 35], - 's': [2, 35], - 'm': [2, 35] - }, - '16': { - 'a': [2, 36], - 'r': [2, 36], - 't': [2, 36], - 'u': [2, 36], - 'v': [2, 36], - 'x': [2, 36], - 'p': [2, 36], - 'q': [2, 36], - 'b': [2, 36], - 's': [2, 36], - 'm': [2, 36] - }, - '17': { - 'a': [2, 39], - 'r': [2, 39], - 't': [2, 39], - 'u': [2, 39], - 'v': [2, 39], - 'x': [2, 39], - 'b': [1, undefined, 1], - 'm': [1, undefined, 2], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6] - }, - '18': { - 'a': [2, 3], - 'r': [2, 3], - 't': [2, 3], - 'u': [2, 3], - 'v': [2, 3], - 'x': [2, 3] - }, - '19': { - 'c': [1, undefined, 36], - 'd': [1, undefined, 37], - 'e': [1, undefined, 38], - 'f': [1, undefined, 39], - 'g': [1, undefined, 40], - 'h': [1, undefined, 41], - 'i': [1, undefined, 42] - }, - '20': { - 'l': [2, 26] - }, - '21': { - 'l': [2, 27] - }, - '22': { - 'l': [2, 28] - }, - '23': { - 'l': [2, 29] - }, - '24': { - 'l': [2, 30] - }, - '25': { - 'l': [1, undefined, 44] - }, - '26': { - 'k': [1, undefined, 45] - }, - '27': { - 'a': [2, 24], - 'r': [2, 24], - 't': [2, 24], - 'u': [2, 24], - 'v': [2, 24], - 'x': [2, 24], - 'p': [2, 24], - 'q': [2, 24], - 'b': [2, 24], - 's': [2, 24], - 'm': [2, 24], - 'l': [2, 24] - }, - '28': { - 'b': [1, undefined, 1], - 'm': [1, undefined, 2], - 'n': [1, undefined, 3], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6], - 'w': [1, undefined, 7] - }, - '29': { - 'n': [2, 5], - 'w': [2, 5], - 'p': [2, 5], - 'q': [2, 5], - 'b': [2, 5], - 's': [2, 5], - 'm': [2, 5] - }, - '30': { - 'n': [2, 6], - 'w': [2, 6], - 'p': [2, 6], - 'q': [2, 6], - 'b': [2, 6], - 's': [2, 6], - 'm': [2, 6] - }, - '31': { - 'n': [2, 7], - 'w': [2, 7], - 'p': [2, 7], - 'q': [2, 7], - 'b': [2, 7], - 's': [2, 7], - 'm': [2, 7] - }, - '32': { - 'n': [2, 8], - 'w': [2, 8], - 'p': [2, 8], - 'q': [2, 8], - 'b': [2, 8], - 's': [2, 8], - 'm': [2, 8] - }, - '33': { - 'b': [1, undefined, 1], - 'm': [1, undefined, 2], - 'n': [1, undefined, 3], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6], - 'w': [1, undefined, 7] - }, - '34': { - 'a': [2, 40], - 'r': [2, 40], - 't': [2, 40], - 'u': [2, 40], - 'v': [2, 40], - 'x': [2, 40], - 'b': [1, undefined, 1], - 'm': [1, undefined, 2], - 'p': [1, undefined, 4], - 'q': [1, undefined, 5], - 's': [1, undefined, 6] - }, - '35': { - 'a': [2, 37], - 'r': [2, 37], - 't': [2, 37], - 'u': [2, 37], - 'v': [2, 37], - 'x': [2, 37], - 'p': [2, 37], - 'q': [2, 37], - 'b': [2, 37], - 's': [2, 37], - 'm': [2, 37] - }, - '36': { - 'a': [2, 19], - 'r': [2, 19], - 't': [2, 19], - 'u': [2, 19], - 'v': [2, 19], - 'x': [2, 19], - 'p': [2, 19], - 'q': [2, 19], - 'b': [2, 19], - 's': [2, 19], - 'm': [2, 19], - 'l': [2, 19] - }, - '37': { - 'n': [2, 17], - 'o': [2, 17] - }, - '38': { - 'n': [2, 18], - 'o': [2, 18] - }, - '39': { - 'n': [2, 13], - 'o': [2, 13] - }, - '40': { - 'n': [2, 14], - 'o': [2, 14] - }, - '41': { - 'n': [2, 15], - 'o': [2, 15] - }, - '42': { - 'n': [2, 16], - 'o': [2, 16] - }, - '43': { - 'n': [1, undefined, 48], - 'o': [1, undefined, 49] - }, - '44': { - 'a': [2, 25], - 'r': [2, 25], - 't': [2, 25], - 'u': [2, 25], - 'v': [2, 25], - 'x': [2, 25], - 'p': [2, 25], - 'q': [2, 25], - 'b': [2, 25], - 's': [2, 25], - 'm': [2, 25] - }, - '45': { - 'l': [1, undefined, 51] - }, - '46': { - 'a': [2, 2], - 'r': [2, 2], - 't': [1, undefined, 29], - 'u': [1, undefined, 30], - 'v': [1, undefined, 31], - 'x': [1, undefined, 32] - }, - '47': { - 'a': [2, 4], - 'r': [2, 4], - 't': [2, 4], - 'u': [2, 4], - 'v': [2, 4], - 'x': [2, 4] - }, - '48': { - 'c': [2, 20] - }, - '49': { - 'c': [2, 21] - }, - '50': { - 'c': [1, undefined, 52] - }, - '51': { - 'a': [2, 23], - 'r': [2, 23], - 't': [2, 23], - 'u': [2, 23], - 'v': [2, 23], - 'x': [2, 23], - 'p': [2, 23], - 'q': [2, 23], - 'b': [2, 23], - 's': [2, 23], - 'm': [2, 23], - 'l': [2, 23] - }, - '52': { - 'a': [2, 22], - 'r': [2, 22], - 't': [2, 22], - 'u': [2, 22], - 'v': [2, 22], - 'x': [2, 22], - 'p': [2, 22], - 'q': [2, 22], - 'b': [2, 22], - 's': [2, 22], - 'm': [2, 22], - 'l': [2, 22] - } - } - }; - parser.parse = function parse(input, filename) { - var self = this, - lexer = self.lexer, - state, - symbol, - action, - table = self.table, - gotos = table.gotos, - tableAction = table.action, - productions = self.productions, - valueStack = [null], - // for debug info - prefix = filename ? ('in file: ' + filename + ' ') : '', - stack = [0]; - - lexer.resetInput(input); - - while (1) { - // retrieve state number from top of stack - state = stack[stack.length - 1]; - - if (!symbol) { - symbol = lexer.lex(); - } - - if (symbol) { - // read action for current state and first input - action = tableAction[state] && tableAction[state][symbol]; - } else { - action = null; - } - - if (!action) { - var expected = [], - error; - //#JSCOVERAGE_IF - if (tableAction[state]) { - for (var symbolForState in tableAction[state]) { - expected.push(self.lexer.mapReverseSymbol(symbolForState)); - } - } - error = prefix + 'syntax error at line ' + lexer.lineNumber + - ':\n' + lexer.showDebugInfo() + - '\n' + 'expect ' + expected.join(', '); - throw new Error(error); - } - - switch (action[GrammarConst.TYPE_INDEX]) { - case GrammarConst.SHIFT_TYPE: - stack.push(symbol); - - valueStack.push(lexer.text); - - // push state - stack.push(action[GrammarConst.TO_INDEX]); - - // allow to read more - symbol = null; - - break; - - case GrammarConst.REDUCE_TYPE: - var production = productions[action[GrammarConst.PRODUCTION_INDEX]], - reducedSymbol = production.symbol || production[0], - reducedAction = production.action || production[2], - reducedRhs = production.rhs || production[1], - len = reducedRhs.length, - i = 0, - ret, - $$ = valueStack[valueStack.length - len]; // default to $$ = $1 - - ret = undefined; - - self.$$ = $$; - - for (; i < len; i++) { - self['$' + (len - i)] = valueStack[valueStack.length - 1 - i]; - } - - if (reducedAction) { - ret = reducedAction.call(self); - } - - if (ret !== undefined) { - $$ = ret; - } else { - $$ = self.$$; - } - - stack = stack.slice(0, -1 * len * 2); - valueStack = valueStack.slice(0, -1 * len); - - stack.push(reducedSymbol); - - valueStack.push($$); - - var newState = gotos[stack[stack.length - 2]][stack[stack.length - 1]]; - - stack.push(newState); - - break; - - case GrammarConst.ACCEPT_TYPE: - return $$; - } - } - }; - return parser; - })(); - if (true) { - module.exports = parser; - } - -/***/ }, -/* 28 */ -/***/ function(module, exports) { - - var hyphenExpression = /\-+([a-z])/gi - - function upperCaseFirstMatch (match, c, offset) { - if (offset !== 0) { - return c.toUpperCase() - } else { - return c - } - } - - function camelCase (str) { - var camelCased = str.replace(hyphenExpression, upperCaseFirstMatch) - hyphenExpression.lastIndex = 0 - return camelCased - } - - module.exports = camelCase - - -/***/ }, -/* 29 */ -/***/ function(module, exports) { - - function isString (value) { - return typeof value === 'string' - } - - module.exports = isString - - -/***/ }, -/* 30 */ -/***/ function(module, exports) { - - function isUndefined (value) { - return typeof value === 'undefined' - } - - module.exports = isUndefined - - -/***/ }, -/* 31 */ -/***/ function(module, exports) { - - function assign (dest) { - var args = arguments - var source - - for (var i = 1; i < args.length; i++) { - source = args[i] - - for (var key in source) { - dest[key] = source[key] - } - } - - return dest - } - - module.exports = assign - - -/***/ }, -/* 32 */ -/***/ function(module, exports) { - - function mapValues (source, fn) { - var destination = {} - - for (var key in source) { - if (source.hasOwnProperty(key)) { - destination[key] = fn(source[key]) - } - } - - return destination - } - - module.exports = mapValues - - -/***/ }, -/* 33 */ -/***/ function(module, exports, __webpack_require__) { - - var camelCase = __webpack_require__(28) - - function styleCamelCase (name) { - var camel = camelCase(name) - - // Detect if the style property is already camelCased - // To not convert Webkit*, Moz* and O* to lowercase - if (camel.charAt(0).toUpperCase() === name.charAt(0)) { - return name.charAt(0) + camel.slice(1) - } - - if (name.charAt(0) === '-') { - return camel.indexOf('ms') === 0 ? camel - : camel.charAt(0).toUpperCase() + camel.slice(1) - } else { - return camel - } - } - - module.exports = styleCamelCase - - -/***/ }, -/* 34 */ -/***/ function(module, exports) { - - var Window = { - getComputedStyle: function (node) { - return { - getPropertyValue: node.style.getProperty - } - } - } - - module.exports = Window - - -/***/ }, -/* 35 */ -/***/ function(module, exports, __webpack_require__) { - - var Element = __webpack_require__(22) - var mapValues = __webpack_require__(32) - - var mixin = { - componentWillMount: function () { - this.connectedFauxDOM = {} - this.animateFauxDOMUntil = 0 - }, - connectFauxDOM: function (node, name) { - this.connectedFauxDOM[name] = typeof node !== 'string' ? node : new Element(node) - setTimeout(this.drawFauxDOM) - return this.connectedFauxDOM[name] - }, - drawFauxDOM: function () { - var virtualDOM = mapValues(this.connectedFauxDOM, function (n) { - return n.toReact() - }) - this.setState(virtualDOM) - } - } - - module.exports = mixin - - -/***/ }, -/* 36 */ -/***/ function(module, exports) { - - var anim = { - animateFauxDOM: function (duration) { - this.animateFauxDOMUntil = Math.max(Date.now() + duration, this.animateFauxDOMUntil) - if (!this.fauxDOMAnimationInterval) { - this.fauxDOMAnimationInterval = setInterval(function () { - if (Date.now() < this.animateFauxDOMUntil) { - this.drawFauxDOM() - } else { - this.stopAnimatingFauxDOM() - } - }.bind(this), 16) - } - }, - stopAnimatingFauxDOM: function () { - this.fauxDOMAnimationInterval = clearInterval(this.fauxDOMAnimationInterval) - this.animateFauxDOMUntil = 0 - }, - isAnimatingFauxDOM: function () { - return !!this.fauxDOMAnimationInterval - }, - componentWillUnmount: function () { - this.stopAnimatingFauxDOM() - } - } - - module.exports = anim - - -/***/ }, -/* 37 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor); - } - }return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor; - }; - }(); - - var _react = __webpack_require__(4); - - var _react2 = _interopRequireDefault(_react); - - var _d3Axis = __webpack_require__(38); - - var _d3Axis2 = _interopRequireDefault(_d3Axis); - - var _d3Selection = __webpack_require__(20); - - var _d3Selection2 = _interopRequireDefault(_d3Selection); - - var _reactFauxDom = __webpack_require__(21); - - var _reactFauxDom2 = _interopRequireDefault(_reactFauxDom); - - var _scale = __webpack_require__(8); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; - } - - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } - - var Axis = function (_Component) { - _inherits(Axis, _Component); - - function Axis(props) { - _classCallCheck(this, Axis); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(Axis).call(this, props)); - } - - _createClass(Axis, [{ - key: '_mkTickAxis', - value: function _mkTickAxis() { - var _props = this.props; - var type = _props.type; - var tickOrient = _props.tickOrient; - var tickFormat = _props.tickFormat; - var tickPadding = _props.tickPadding; - var tickSizeInner = _props.tickSizeInner; - var tickSizeOuter = _props.tickSizeOuter; - var ticks = _props.ticks; - var tickValues = _props.tickValues; - - var func = _d3Axis2.default; - - if (tickOrient === 'left') { - func = func.axisLeft(this._mkScale(this.props)); - } else if (tickOrient === 'right') { - func = func.axisRight(this._mkScale(this.props)); - } else if (tickOrient === 'top') { - func = func.axisTop(this._mkScale(this.props)); - } else if (tickOrient === 'bottom') { - func = func.axisBottom(this._mkScale(this.props)); - } - - if (tickFormat) func.tickFormat(tickFormat); - - if (tickPadding) func.tickPadding(tickPadding); - - if (tickSizeOuter) func.tickSizeOuter(tickSizeOuter); - - if (tickSizeInner) func.tickSizeInner(tickSizeInner); - - if (tickValues) func.tickValues(tickValues); - - if (ticks) func.ticks.apply(null, ticks); - - return func; - } - }, { - key: '_mkScale', - value: function _mkScale() { - var newScale; - - if (this.props.scale === 'ordinal') newScale = 'band';else newScale = this.props.scale; - - var func = (0, _scale.scale)(Object.assign({}, this.props, { scale: newScale })); - - return func; - } - }, { - key: 'render', - value: function render() { - var _props2 = //styling object that holds user defined css classes for different axis elements - //css class to style grids on chart - this.props; - var showAxis = _props2.showAxis; - var gridAxisClassName = _props2.gridAxisClassName; - var axisClassName = _props2.axisClassName; - var type = _props2.type; - var style = _props2.style; - var axisStyling = _props2.axisStyling; - var gridStyleClassName = _props2.gridStyleClassName; - - var axisGroup = _reactFauxDom2.default.createElement('g'); - - if (type === 'x') var axisClasses = axisClassName + ' axis x';else if (type === 'y') var axisClasses = axisClassName + ' axis y';else if (type === 'gridx' || type === 'gridy') var axisClasses = gridAxisClassName + ' grid-axis'; - - axisGroup.setAttribute('class', axisClasses); - - var axisDom = _d3Selection2.default.select(axisGroup); - - axisDom.call(this._mkTickAxis()); - - if (!showAxis) { - axisDom.selectAll(".grid-axis .tick text").style("opacity", "0"); - - if (type === 'gridx' || type === 'gridy') { - // hide domain in grids - axisDom.selectAll(".grid-axis .domain").style("opacity", "0"); - } - } - - // apply user defined axis path style (path refers to x-axis line)if provided or else default - if (axisStyling && axisStyling.pathClassName) { - var axisPath = axisDom.selectAll('.axis path'); - axisPath.attr("class", axisStyling.pathClassName); - } else axisDom.selectAll('.axis path').style('fill', 'none').style('stroke', '#000').style('shape-rendering', 'crispEdges').style('display', 'none'); - - // apply user defined style for axis tick line if provided or else default - if (axisStyling && axisStyling.ticksClassName) { - var axisLine = axisDom.selectAll('.axis line'); - axisLine.attr("class", axisStyling.ticksClassName); - } else axisDom.selectAll('.axis line').style('fill', 'none').style('stroke', '#000').style('shape-rendering', 'crispEdges'); - - // apply user defined style for grid axes if provided or else default - if (gridStyleClassName) { - var grids = axisDom.selectAll('.grid-axis line'); - grids.attr("class", gridStyleClassName); - } else axisDom.selectAll('.grid-axis line').style('opacity', .2).style('fill', 'none').style('stroke', '#000').style('stroke-width', '1.5px'); - - // Axis tick labels style - var axisText = axisDom.selectAll('.axis text'); - if (style) { - for (var key in style) { - axisText.style(key, style[key]); - } - } - // user defined style for axis labels - else if (axisStyling && axisStyling.textClassName) { - axisText.attr("class", axisStyling.textClassName); - } - - return axisDom.node().toReact(); - } - }]); - - return Axis; - }(_react.Component); - - Axis.defaultProps = { - range: null, - rangeRoundBands: null, - domain: null, - tickFormat: null, - tickOrient: null - }; - Axis.PropTypes = { - showAxis: _react.PropTypes.bool, - type: _react.PropTypes.string, - orient: _react.PropTypes.oneOf(['top', 'bottom', 'left', 'right']), - tickOrient: _react.PropTypes.oneOf(['top', 'bottom', 'left', 'right']) - }; - exports.default = Axis; - -/***/ }, -/* 38 */ -/***/ function(module, exports, __webpack_require__) { - - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_axis = global.d3_axis || {}))); - }(this, function (exports) { 'use strict'; - - var version = "0.3.1"; - - var slice = Array.prototype.slice; - - function identity(x) { - return x; - } - - var top = 1; - var right = 2; - var bottom = 3; - var left = 4; - var epsilon = 1e-6; - function translateX(scale0, scale1, d) { - var x = scale0(d); - return "translate(" + (isFinite(x) ? x : scale1(d)) + ",0)"; - } - - function translateY(scale0, scale1, d) { - var y = scale0(d); - return "translate(0," + (isFinite(y) ? y : scale1(d)) + ")"; - } - - function center(scale) { - var width = scale.bandwidth() / 2; - return function(d) { - return scale(d) + width; - }; - } - - function axis(orient, scale) { - var tickArguments = [], - tickValues = null, - tickFormat = null, - tickSizeInner = 6, - tickSizeOuter = 6, - tickPadding = 3; - - function axis(context) { - var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues, - format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat, - spacing = Math.max(tickSizeInner, 0) + tickPadding, - transform = orient === top || orient === bottom ? translateX : translateY, - range = scale.range(), - range0 = range[0], - range1 = range[range.length - 1], - position = (scale.bandwidth ? center : identity)(scale.copy()), - selection = context.selection ? context.selection() : context, - path = selection.selectAll(".domain").data([null]), - tick = selection.selectAll(".tick").data(values, scale).order(), - tickExit = tick.exit(), - tickEnter = tick.enter().append("g", ".domain").attr("class", "tick"), - line = tick.select("line"), - text = tick.select("text"); - - path = path.merge(path.enter().append("path").attr("class", "domain")); - tick = tick.merge(tickEnter); - line = line.merge(tickEnter.append("line")); - text = text.merge(tickEnter.append("text")); - - if (context !== selection) { - path = path.transition(context); - tick = tick.transition(context); - tickExit = tickExit.transition(context).style("opacity", epsilon).attr("transform", function(d) { return transform(position, this.parentNode.__axis || position, d); }); - tickEnter.style("opacity", epsilon).attr("transform", function(d) { return transform(this.parentNode.__axis || position, position, d); }); - line = line.transition(context); - text = text.transition(context); - } - - tick.style("opacity", 1).attr("transform", function(d) { return transform(position, position, d); }); - tickExit.remove(); - text.text(format); - - switch (orient) { - case top: { - path.attr("d", "M" + range0 + "," + -tickSizeOuter + "V0H" + range1 + "V" + -tickSizeOuter); - line.attr("x2", 0).attr("y2", -tickSizeInner); - text.attr("x", 0).attr("y", -spacing).attr("dy", "0em").style("text-anchor", "middle"); - break; - } - case right: { - path.attr("d", "M" + tickSizeOuter + "," + range0 + "H0V" + range1 + "H" + tickSizeOuter); - line.attr("y2", 0).attr("x2", tickSizeInner); - text.attr("y", 0).attr("x", spacing).attr("dy", ".32em").style("text-anchor", "start"); - break; - } - case bottom: { - path.attr("d", "M" + range0 + "," + tickSizeOuter + "V0H" + range1 + "V" + tickSizeOuter); - line.attr("x2", 0).attr("y2", tickSizeInner); - text.attr("x", 0).attr("y", spacing).attr("dy", ".71em").style("text-anchor", "middle"); - break; - } - case left: { - path.attr("d", "M" + -tickSizeOuter + "," + range0 + "H0V" + range1 + "H" + -tickSizeOuter); - line.attr("y2", 0).attr("x2", -tickSizeInner); - text.attr("y", 0).attr("x", -spacing).attr("dy", ".32em").style("text-anchor", "end"); - break; - } - } - - selection.each(function() { this.__axis = position; }); - } - - axis.scale = function(_) { - return arguments.length ? (scale = _, axis) : scale; - }; - - axis.ticks = function() { - return tickArguments = slice.call(arguments), axis; - }; - - axis.tickArguments = function(_) { - return arguments.length ? (tickArguments = _ == null ? [] : slice.call(_), axis) : tickArguments.slice(); - }; - - axis.tickValues = function(_) { - return arguments.length ? (tickValues = _ == null ? null : slice.call(_), axis) : tickValues && tickValues.slice(); - }; - - axis.tickFormat = function(_) { - return arguments.length ? (tickFormat = _, axis) : tickFormat; - }; - - axis.tickSize = function(_) { - return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner; - }; - - axis.tickSizeInner = function(_) { - return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner; - }; - - axis.tickSizeOuter = function(_) { - return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter; - }; - - axis.tickPadding = function(_) { - return arguments.length ? (tickPadding = +_, axis) : tickPadding; - }; - - return axis; - } - - function axisTop(scale) { - return axis(top, scale); - } - - function axisRight(scale) { - return axis(right, scale); - } - - function axisBottom(scale) { - return axis(bottom, scale); - } - - function axisLeft(scale) { - return axis(left, scale); - } - - exports.version = version; - exports.axisTop = axisTop; - exports.axisRight = axisRight; - exports.axisBottom = axisBottom; - exports.axisLeft = axisLeft; - - })); - -/***/ }, -/* 39 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i];for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - }return target; - }; - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor); - } - }return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor; - }; - }(); - - var _react = __webpack_require__(4); - - var _react2 = _interopRequireDefault(_react); - - var _axis = __webpack_require__(37); - - var _axis2 = _interopRequireDefault(_axis); - - var _label = __webpack_require__(40); - - var _label2 = _interopRequireDefault(_label); - - var _commonProps = __webpack_require__(7); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; - } - - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } - - var Xaxis = function (_Component) { - _inherits(Xaxis, _Component); - - function Xaxis(props) { - _classCallCheck(this, Xaxis); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(Xaxis).call(this, props)); - } - - _createClass(Xaxis, [{ - key: 'render', - value: function render() { - var _props = this.props; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var showXAxis = _props.showXAxis; - var x = _props.x; - var xAxisClassName = _props.xAxisClassName; - var xDomain = _props.xDomain; - var xRange = _props.xRange; - var xBandPaddingInner = _props.xBandPaddingInner; - var xBandPaddingOuter = _props.xBandPaddingOuter; - var xScale = _props.xScale; - var xOrient = _props.xOrient; - var xTickOrient = _props.xTickOrient; - var xTickPadding = _props.xTickPadding; - var xTickSizeOuter = _props.xTickSizeOuter; - var xTickSizeInner = _props.xTickSizeInner; - var xTickFormat = _props.xTickFormat; - var xTicks = _props.xTicks; - var xLabel = _props.xLabel; - var xLabelPosition = _props.xLabelPosition; - var labelOffset = _props.labelOffset; - var style = _props.style; - var xAxisStyling = _props.xAxisStyling; - var xTickValues = _props.xTickValues; - - var t; - var axisLabel; - - if (!xRange) { - xRange = [0, width - margins.left - margins.right]; - } - - if (xOrient === 'bottom') { - // x - bottom - t = 'translate(0, ' + (height - margins.bottom - margins.top) + ')'; - } else if (xOrient === 'top') { - // x - top - t = 'translate(0, 0)'; - } - - if (xLabel) { - axisLabel = _react2.default.createElement(_label2.default, { - height: height, - width: width, - margins: margins, - labelTitle: xLabel, - labelPosition: xLabelPosition, - labelOffset: labelOffset, - bandPaddingInner: xBandPaddingInner, - bandPaddingOuter: xBandPaddingOuter - }); - } - - return _react2.default.createElement('g', { transform: t }, _react2.default.createElement(_axis2.default, { - height: height, - width: width, - margins: margins, - showAxis: showXAxis, - axisClassName: xAxisClassName, - bandPaddingInner: xBandPaddingInner, - bandPaddingOuter: xBandPaddingOuter, - type: 'x', - proxy: x, - domain: xDomain, - range: xRange, - scale: xScale, - orient: xOrient, - tickOrient: xTickOrient, - tickFormat: xTickFormat, - tickPadding: xTickPadding, - tickSizeInner: xTickSizeInner, - tickSizeOuter: xTickSizeOuter, - style: style, - ticks: xTicks, - axisStyling: xAxisStyling, - tickValues: xTickValues - }), axisLabel); - } - }]); - - return Xaxis; - }(_react.Component); - - Xaxis.defaultProps = _extends({ - showXAxis: true, - xAxisClassName: 'react-d3-core__axis__xAxis', - xScale: 'linear', - xOrient: 'bottom', - xTickOrient: 'bottom', - xLabelPosition: 'bottom', - xTickPadding: 3, - xInnerTickSize: 6, - xOuterTickSize: 6 - }, _commonProps2.default); - Xaxis.propTypes = { - height: _react.PropTypes.number.isRequired, - width: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - showXAxis: _react.PropTypes.bool, - x: _react.PropTypes.func, - xDomain: _react.PropTypes.array, - xRange: _react.PropTypes.array, - xScale: _react.PropTypes.string.isRequired, - xOrient: _react.PropTypes.oneOf(['top', 'bottom']), - xTickOrient: _react.PropTypes.oneOf(['top', 'bottom']), - xAxisClassName: _react.PropTypes.string, - xTickSizeInner: _react.PropTypes.number, - xTickSizeOuter: _react.PropTypes.number, - xBandPaddingInner: _react.PropTypes.number, - xBandPaddingOuter: _react.PropTypes.number, - xTickPadding: _react.PropTypes.number, - xTickFormat: _react.PropTypes.func, - xTicks: _react.PropTypes.array, - style: _react.PropTypes.object, - /* - xAxisStyling object holds css styling classes for axis elements - pathClassName: "someCls" - ticksClassName: "someCls" - textClassName: "someCls" - */ - xAxisStyling: _react.PropTypes.object, - xTickValues: _react.PropTypes.array - }; - exports.default = Xaxis; - -/***/ }, -/* 40 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i];for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - }return target; - }; - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor); - } - }return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor; - }; - }(); - - var _react = __webpack_require__(4); - - var _react2 = _interopRequireDefault(_react); - - var _d3Selection = __webpack_require__(20); - - var _d3Selection2 = _interopRequireDefault(_d3Selection); - - var _reactFauxDom = __webpack_require__(21); - - var _reactFauxDom2 = _interopRequireDefault(_reactFauxDom); - - var _commonProps = __webpack_require__(7); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; - } - - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } - - var Label = function (_Component) { - _inherits(Label, _Component); - - function Label(props) { - _classCallCheck(this, Label); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(Label).call(this, props)); - } - - _createClass(Label, [{ - key: '_mkLabel', - value: function _mkLabel(dom) { - var _props = this.props; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var labelOffset = _props.labelOffset; - var labelTitle = _props.labelTitle; - var labelPosition = _props.labelPosition; - var vTransform = _props.vTransform; - var hTransform = _props.hTransform; - var textAnchor = _props.textAnchor; - - var labelDom = _d3Selection2.default.select(dom); - var fixWidth = width - margins.left - margins.right; - var fixHeight = height - margins.top - margins.bottom; - - if (labelPosition === 'top') { - - labelDom.attr('transform', hTransform).attr('y', -labelOffset).attr('x', fixWidth / 2).style('text-anchor', textAnchor).text(labelTitle); - } else if (labelPosition === 'bottom') { - - labelDom.attr('transform', hTransform).attr('y', +labelOffset).attr('x', fixWidth / 2).style('text-anchor', textAnchor).text(labelTitle); - } else if (labelPosition === 'left') { - - labelDom.attr('transform', vTransform).attr('y', -labelOffset).attr('x', -fixHeight / 2).style('text-anchor', textAnchor).text(labelTitle); - } else if (labelPosition === 'right') { - - labelDom.attr('transform', vTransform).attr('y', +labelOffset).attr('x', -fixHeight / 2).style('text-anchor', textAnchor).text(labelTitle); - } - - return labelDom; - } - }, { - key: 'render', - value: function render() { - var labelClassName = this.props.labelClassName; - - var labelText = _reactFauxDom2.default.createElement('text'); - var labelClasses = labelClassName + ' label'; - labelText.setAttribute('class', labelClasses); - - var labelDom = this._mkLabel(labelText); - - return labelDom.node().toReact(); - } - }]); - - return Label; - }(_react.Component); - - Label.defaultProps = _extends({ - hTransform: 'rotate(0)', - vTransform: 'rotate(270)', - labelTitle: 'label title', - labelPosition: 'bottom', - labelOffset: 40, - textAnchor: 'middle', - labelClassName: 'react-d3-core__label' - }, _commonProps2.default); - Label.propTypes = { - height: _react.PropTypes.number.isRequired, - width: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - hTransform: _react.PropTypes.string, - vTransform: _react.PropTypes.string, - labelTitle: _react.PropTypes.string, - labelPosition: _react.PropTypes.oneOf(['top', 'bottom', 'left', 'right']), - labelOffset: _react.PropTypes.number, - textAnchor: _react.PropTypes.string, - labelClassName: _react.PropTypes.string - }; - exports.default = Label; - -/***/ }, -/* 41 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i];for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - }return target; - }; - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor); - } - }return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor; - }; - }(); - - var _react = __webpack_require__(4); - - var _react2 = _interopRequireDefault(_react); - - var _axis = __webpack_require__(37); - - var _axis2 = _interopRequireDefault(_axis); - - var _label = __webpack_require__(40); - - var _label2 = _interopRequireDefault(_label); - - var _commonProps = __webpack_require__(7); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; - } - - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } - - var Yaxis = function (_Component) { - _inherits(Yaxis, _Component); - - function Yaxis(props) { - _classCallCheck(this, Yaxis); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(Yaxis).call(this, props)); - } - - _createClass(Yaxis, [{ - key: 'render', - value: function render() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var y = _props.y; - var yAxisClassName = _props.yAxisClassName; - var yDomain = _props.yDomain; - var yRange = _props.yRange; - var yBandPaddingInner = _props.yBandPaddingInner; - var yBandPaddingOuter = _props.yBandPaddingOuter; - var yScale = _props.yScale; - var yOrient = _props.yOrient; - var yTickOrient = _props.yTickOrient; - var yTickFormat = _props.yTickFormat; - var yTickPadding = _props.yTickPadding; - var yTickSizeOuter = _props.yTickSizeOuter; - var yTickSizeInner = _props.yTickSizeInner; - var yTicks = _props.yTicks; - var yLabel = _props.yLabel; - var yLabelPosition = _props.yLabelPosition; - var labelOffset = _props.labelOffset; - var showYAxis = _props.showYAxis; - var style = _props.style; - var yAxisStyling = _props.yAxisStyling; - var yTickValues = _props.yTickValues; - - var t; - var axisLabel; - - if (!yRange) { - yRange = [height - margins.top - margins.bottom, 0]; - } - - if (yOrient === 'right') { - // y - right - t = 'translate(' + (width - margins.right - margins.left) + ', 0)'; - } else if (yOrient === 'left') { - // y - left - t = 'translate(0, 0)'; - } - - if (yLabel) { - axisLabel = _react2.default.createElement(_label2.default, { - height: height, - width: width, - margins: margins, - labelTitle: yLabel, - labelPosition: yLabelPosition, - labelOffset: labelOffset, - bandPaddingInner: yBandPaddingInner, - bandPaddingOuter: yBandPaddingOuter - }); - } - - return _react2.default.createElement('g', { transform: t }, _react2.default.createElement(_axis2.default, { - height: height, - width: width, - margins: margins, - showAxis: showYAxis, - axisClassName: yAxisClassName, - bandPaddingInner: yBandPaddingInner, - bandPaddingOuter: yBandPaddingOuter, - type: 'y', - proxy: y, - domain: yDomain, - range: yRange, - scale: yScale, - orient: yOrient, - tickOrient: yTickOrient, - tickFormat: yTickFormat, - tickPadding: yTickPadding, - tickSizeInner: yTickSizeInner, - tickSizeOuter: yTickSizeOuter, - ticks: yTicks, - style: style, - axisStyling: yAxisStyling, - tickValues: yTickValues - }), axisLabel); - } - }]); - - return Yaxis; - }(_react.Component); - - Yaxis.defaultProps = _extends({ - showYAxis: true, - yAxisClassName: 'react-d3-core__axis__yAxis', - yScale: 'linear', - yOrient: 'left', - yTickOrient: 'left', - yLabelPosition: 'left', - yTickPadding: 3, - yInnerTickSize: 6, - yOuterTickSize: 6 - }, _commonProps2.default); - Yaxis.propTypes = { - height: _react.PropTypes.number.isRequired, - width: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - showYAxis: _react.PropTypes.bool, - y: _react.PropTypes.func, - yDomain: _react.PropTypes.array, - yRange: _react.PropTypes.array, - yScale: _react.PropTypes.string.isRequired, - yOrient: _react.PropTypes.oneOf(['left', 'right']), - yTickOrient: _react.PropTypes.oneOf(['left', 'right']), - yAxisClassName: _react.PropTypes.string, - yTickSizeInner: _react.PropTypes.number, - yTickSizeOuter: _react.PropTypes.number, - yBandPaddingInner: _react.PropTypes.number, - yBandPaddingOuter: _react.PropTypes.number, - yTickPadding: _react.PropTypes.number, - yTickFormat: _react.PropTypes.func, - yTicks: _react.PropTypes.array, - style: _react.PropTypes.object, - /* - yAxisStyling object holds css styling classes for axis elements - pathClassName: "someCls" - ticksClassName: "someCls" - textClassName: "someCls" - */ - yAxisStyling: _react.PropTypes.object, - yTickValues: _react.PropTypes.array - }; - exports.default = Yaxis; - -/***/ }, -/* 42 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i];for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - }return target; - }; - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor); - } - }return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor; - }; - }(); - - var _react = __webpack_require__(4); - - var _react2 = _interopRequireDefault(_react); - - var _axis = __webpack_require__(37); - - var _axis2 = _interopRequireDefault(_axis); - - var _commonProps = __webpack_require__(7); - - var _commonProps2 = _interopRequireDefault(_commonProps); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; - } - - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } - - var Grid = function (_Component) { - _inherits(Grid, _Component); - - function Grid(props) { - _classCallCheck(this, Grid); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(Grid).call(this, props)); - } - - _createClass(Grid, [{ - key: 'render', - value: function render() { - var _props = this.props; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var type = _props.type; - var gridAxisClassName = _props.gridAxisClassName; - var xBandPaddingInner = _props.xBandPaddingInner; - var xBandPaddingOuter = _props.xBandPaddingOuter; - var x = _props.x; - var xDomain = _props.xDomain; - var xRange = _props.xRange; - var xScale = _props.xScale; - var xGridCount = _props.xGridCount; - var xGridStyleClassName = _props.xGridStyleClassName; - var yBandPaddingInner = _props.yBandPaddingInner; - var yBandPaddingOuter = _props.yBandPaddingOuter; - var y = _props.y; - var yDomain = _props.yDomain; - var yRange = _props.yRange; - var yScale = _props.yScale; - var yGridCount = _props.yGridCount; - var yGridStyleClassName = _props.yGridStyleClassName; - var xTickValues = _props.xTickValues; - var yTickValues = _props.yTickValues; - - var gridAxis; - var t; - - if (!yRange) { - yRange = [height - margins.top - margins.bottom, 0]; - } - - if (!xRange) { - xRange = [0, width - margins.left - margins.right]; - } - - if (type === 'x') { - t = 'translate(0, ' + (height - margins.bottom - margins.top) + ')'; - var tickSize = height - margins.top - margins.bottom; - - // if grid axis don't pass customize ticks. - gridAxis = _react2.default.createElement(_axis2.default, { - height: height, - width: width, - margins: margins, - type: 'gridx', - showAxis: false, - gridAxisClassName: gridAxisClassName, - bandPaddingInner: xBandPaddingInner, - bandPaddingOuter: xBandPaddingOuter, - tickOrient: 'bottom', - orient: 'bottom', - tickSizeOuter: 0, - tickPadding: 10, - tickFormat: null, - tickSizeInner: -tickSize, - proxy: x, - domain: xDomain, - range: xRange, - scale: xScale, - ticks: xGridCount, - gridStyleClassName: xGridStyleClassName, - tickValues: xTickValues - }); - } else if (type === 'y') { - t = 'translate(0, 0)'; - var tickSize = width - margins.left - margins.right; - - // if grid axis don't pass customize ticks. - gridAxis = _react2.default.createElement(_axis2.default, { - height: height, - width: width, - margins: margins, - type: 'gridy', - showAxis: false, - gridAxisClassName: gridAxisClassName, - bandPaddingInner: yBandPaddingInner, - bandPaddingOuter: yBandPaddingOuter, - tickOrient: 'left', - orient: 'left', - tickSizeOuter: 0, - tickPadding: 10, - tickSizeInner: -tickSize, - tickFormat: null, - proxy: y, - scale: yScale, - domain: yDomain, - range: yRange, - ticks: yGridCount, - gridStyleClassName: yGridStyleClassName, - tickValues: yTickValues - }); - } - - return _react2.default.createElement('g', { transform: t }, gridAxis); - } - }]); - - return Grid; - }(_react.Component); - - Grid.defaultProps = _extends({ - type: 'x', - gridAxisClassName: 'react-d3-core__grid_axis' - }, _commonProps2.default); - Grid.propTypes = { - height: _react.PropTypes.number.isRequired, - width: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - type: _react.PropTypes.oneOf(['x', 'y']).isRequired, - gridAxisClassName: _react.PropTypes.string, - x: _react.PropTypes.func, - xDomain: _react.PropTypes.array, - xRange: _react.PropTypes.array, - xScale: _react.PropTypes.oneOf(['linear', 'identity', 'sqrt', 'pow', 'log', 'quantize', 'quantile', 'ordinal', 'time']).isRequired, - xBandPaddingInner: _react.PropTypes.number, - xBandPaddingOuter: _react.PropTypes.number, - y: _react.PropTypes.func, - yDomain: _react.PropTypes.array, - yRange: _react.PropTypes.array, - yScale: _react.PropTypes.oneOf(['linear', 'identity', 'sqrt', 'pow', 'log', 'quantize', 'quantile', 'ordinal', 'time']).isRequired, - yBandPaddingInner: _react.PropTypes.number, - yBandPaddingOuter: _react.PropTypes.number, - xGridCount: _react.PropTypes.array, - yGridCount: _react.PropTypes.array, - xGridStyleClassName: _react.PropTypes.string, - yGridStyleClassName: _react.PropTypes.string, - xTickValues: _react.PropTypes.array - }; - exports.default = Grid; - -/***/ }, -/* 43 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i];for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - }return target; - }; - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor); - } - }return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor; - }; - }(); - - var _react = __webpack_require__(4); - - var _react2 = _interopRequireDefault(_react); - - var _grid = __webpack_require__(42); - - var _grid2 = _interopRequireDefault(_grid); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; - } - - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } - - var XGrid = function (_Component) { - _inherits(XGrid, _Component); - - function XGrid(props) { - _classCallCheck(this, XGrid); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(XGrid).call(this, props)); - } - - _createClass(XGrid, [{ - key: 'render', - value: function render() { - return _react2.default.createElement(_grid2.default, _extends({}, this.props, { - type: 'x' - })); - } - }]); - - return XGrid; - }(_react.Component); - - exports.default = XGrid; - -/***/ }, -/* 44 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i];for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - }return target; - }; - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor); - } - }return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor; - }; - }(); - - var _react = __webpack_require__(4); - - var _react2 = _interopRequireDefault(_react); - - var _grid = __webpack_require__(42); - - var _grid2 = _interopRequireDefault(_grid); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; - } - - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } - - var YGrid = function (_Component) { - _inherits(YGrid, _Component); - - function YGrid(props) { - _classCallCheck(this, YGrid); - - return _possibleConstructorReturn(this, Object.getPrototypeOf(YGrid).call(this, props)); - } - - _createClass(YGrid, [{ - key: 'render', - value: function render() { - return _react2.default.createElement(_grid2.default, _extends({}, this.props, { - type: 'y' - })); - } - }]); - - return YGrid; - }(_react.Component); - - exports.default = YGrid; - -/***/ }, -/* 45 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.xDomain = xDomain; - - var _d3Array = __webpack_require__(10); - - var _d3Array2 = _interopRequireDefault(_d3Array); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - - function xDomain(props, stack, horizonal) { - var data = props.data; - var chartSeries = props.chartSeries; - var x = props.x; - var xScale = props.xScale; - var xDomain = props.xDomain; - - if (xDomain) return xDomain; - - if (!horizonal) { - if (xScale === 'ordinal') { - return data.map(function (d) { - return x(d); - }); - } else { - return _d3Array2.default.extent(data, function (d) { - return x(d); - }); - } - } else { - if (stack) { - // stack - var max = 0; - var min = 0; - - data.forEach(function (d) { - var totalTop = 0; - var totalBottom = 0; - - chartSeries.forEach(function (sd) { - var field = sd.field; - - if (d[field] > 0) { - totalTop += x(d[field]); - } else if (d[field] < 0) { - totalBottom += x(d[field]); - } - }); - - if (totalTop > max) max = totalTop; - if (totalBottom < min) min = totalBottom; - }); - - return [min, max]; - } else { - // not stack, single - var domainArr = chartSeries.map(function (d) { - var field = d.field; - var extent = _d3Array2.default.extent(data, function (dt) { - return x(dt[field]); - }); - - return extent; - }); - - return _d3Array2.default.extent([].concat.apply([], domainArr)); - } - } - } - -/***/ }, -/* 46 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.yDomain = yDomain; - - var _d3Array = __webpack_require__(10); - - var _d3Array2 = _interopRequireDefault(_d3Array); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - - function yDomain(props, stack, horizonal) { - var data = props.data; - var chartSeries = props.chartSeries; - var y = props.y; - var yDomain = props.yDomain; - var yScale = props.yScale; - - if (yDomain) return yDomain; - - if (!horizonal) { - if (stack) { - // stack - var max = 0; - var min = 0; - - data.forEach(function (d) { - var totalTop = 0; - var totalBottom = 0; - - chartSeries.forEach(function (sd) { - var field = sd.field; - - if (d[field] > 0) { - totalTop += y(d[field]); - } else if (d[field] < 0) { - totalBottom += y(d[field]); - } - }); - - if (totalTop > max) max = totalTop; - if (totalBottom < min) min = totalBottom; - }); - - return [min, max]; - } else { - // not stack, single - var domainArr = chartSeries.map(function (d) { - var field = d.field; - var extent = _d3Array2.default.extent(data, function (dt) { - return y(dt[field]); - }); - - return extent; - }); - - var extentArr = _d3Array2.default.extent([].concat.apply([], domainArr)); - - if (extentArr[0] * extentArr[1] >= 0) { - return [0, extentArr[1]]; - } else { - return extentArr; - } - } - } else { - if (yScale === 'ordinal') { - return data.map(function (d) { - return y(d); - }); - } else { - return _d3Array2.default.extent(data, function (d) { - return y(d); - }); - } - } - } - -/***/ }, -/* 47 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.pieProps = undefined; - - var _d3Scale = __webpack_require__(48); - - var _d3Scale2 = _interopRequireDefault(_d3Scale); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; - } - - var width = 960; - var height = 500; - var margins = { top: 80, right: 100, bottom: 80, left: 100 }; - - exports.default = { - width: width, - height: height, - margins: margins, - y: function y(d) { - return +d; - }, - xScale: 'linear', - yScale: 'linear', - showXGrid: true, - showYGrid: true, - showLegend: true - }; - var pieProps = exports.pieProps = { - width: width, - height: height, - margins: margins, - innerRadius: 0, - categoricalColors: _d3Scale2.default.scaleCategory10(), - pieSort: function pieSort() {}, - pieTextShow: true - }; - -/***/ }, -/* 48 */ -/***/ function(module, exports, __webpack_require__) { - - (function (global, factory) { - true ? factory(exports, __webpack_require__(49), __webpack_require__(50), __webpack_require__(51), __webpack_require__(53), __webpack_require__(54), __webpack_require__(55), __webpack_require__(52)) : - typeof define === 'function' && define.amd ? define(['exports', 'd3-array', 'd3-collection', 'd3-interpolate', 'd3-format', 'd3-time', 'd3-time-format', 'd3-color'], factory) : - (factory((global.d3_scale = global.d3_scale || {}),global.d3_array,global.d3_collection,global.d3_interpolate,global.d3_format,global.d3_time,global.d3_time_format,global.d3_color)); - }(this, function (exports,d3Array,d3Collection,d3Interpolate,d3Format,d3Time,d3TimeFormat,d3Color) { 'use strict'; - - var array = Array.prototype; - - var map$1 = array.map; - var slice = array.slice; - - var implicit = {name: "implicit"}; - - function ordinal() { - var index = d3Collection.map(), - domain = [], - range = [], - unknown = implicit; - - function scale(d) { - var key = d + "", i = index.get(key); - if (!i) { - if (unknown !== implicit) return unknown; - index.set(key, i = domain.push(d)); - } - return range[(i - 1) % range.length]; - } - - scale.domain = function(_) { - if (!arguments.length) return domain.slice(); - domain = [], index = d3Collection.map(); - var i = -1, n = _.length, d, key; - while (++i < n) if (!index.has(key = (d = _[i]) + "")) index.set(key, domain.push(d)); - return scale; - }; - - scale.range = function(_) { - return arguments.length ? (range = slice.call(_), scale) : range.slice(); - }; - - scale.unknown = function(_) { - return arguments.length ? (unknown = _, scale) : unknown; - }; - - scale.copy = function() { - return ordinal() - .domain(domain) - .range(range) - .unknown(unknown); - }; - - return scale; - } - - function band() { - var scale = ordinal().unknown(undefined), - domain = scale.domain, - ordinalRange = scale.range, - range = [0, 1], - step, - bandwidth, - round = false, - paddingInner = 0, - paddingOuter = 0, - align = 0.5; - - delete scale.unknown; - - function rescale() { - var n = domain().length, - reverse = range[1] < range[0], - start = range[reverse - 0], - stop = range[1 - reverse]; - step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2); - if (round) step = Math.floor(step); - start += (stop - start - step * (n - paddingInner)) * align; - bandwidth = step * (1 - paddingInner); - if (round) start = Math.round(start), bandwidth = Math.round(bandwidth); - var values = d3Array.range(n).map(function(i) { return start + step * i; }); - return ordinalRange(reverse ? values.reverse() : values); - } - - scale.domain = function(_) { - return arguments.length ? (domain(_), rescale()) : domain(); - }; - - scale.range = function(_) { - return arguments.length ? (range = [+_[0], +_[1]], rescale()) : range.slice(); - }; - - scale.rangeRound = function(_) { - return range = [+_[0], +_[1]], round = true, rescale(); - }; - - scale.bandwidth = function() { - return bandwidth; - }; - - scale.step = function() { - return step; - }; - - scale.round = function(_) { - return arguments.length ? (round = !!_, rescale()) : round; - }; - - scale.padding = function(_) { - return arguments.length ? (paddingInner = paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingInner; - }; - - scale.paddingInner = function(_) { - return arguments.length ? (paddingInner = Math.max(0, Math.min(1, _)), rescale()) : paddingInner; - }; - - scale.paddingOuter = function(_) { - return arguments.length ? (paddingOuter = Math.max(0, Math.min(1, _)), rescale()) : paddingOuter; - }; - - scale.align = function(_) { - return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align; - }; - - scale.copy = function() { - return band() - .domain(domain()) - .range(range) - .round(round) - .paddingInner(paddingInner) - .paddingOuter(paddingOuter) - .align(align); - }; - - return rescale(); - } - - function pointish(scale) { - var copy = scale.copy; - - scale.padding = scale.paddingOuter; - delete scale.paddingInner; - delete scale.paddingOuter; - - scale.copy = function() { - return pointish(copy()); - }; - - return scale; - } - - function point() { - return pointish(band().paddingInner(1)); - } - - function constant(x) { - return function() { - return x; - }; - } - - function number(x) { - return +x; - } - - var unit = [0, 1]; - - function deinterpolate(a, b) { - return (b -= (a = +a)) - ? function(x) { return (x - a) / b; } - : constant(b); - } - - function deinterpolateClamp(deinterpolate) { - return function(a, b) { - var d = deinterpolate(a = +a, b = +b); - return function(x) { return x <= a ? 0 : x >= b ? 1 : d(x); }; - }; - } - - function reinterpolateClamp(reinterpolate) { - return function(a, b) { - var r = reinterpolate(a = +a, b = +b); - return function(t) { return t <= 0 ? a : t >= 1 ? b : r(t); }; - }; - } - - function bimap(domain, range, deinterpolate, reinterpolate) { - var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1]; - if (d1 < d0) d0 = deinterpolate(d1, d0), r0 = reinterpolate(r1, r0); - else d0 = deinterpolate(d0, d1), r0 = reinterpolate(r0, r1); - return function(x) { return r0(d0(x)); }; - } - - function polymap(domain, range, deinterpolate, reinterpolate) { - var j = Math.min(domain.length, range.length) - 1, - d = new Array(j), - r = new Array(j), - i = -1; - - // Reverse descending domains. - if (domain[j] < domain[0]) { - domain = domain.slice().reverse(); - range = range.slice().reverse(); - } - - while (++i < j) { - d[i] = deinterpolate(domain[i], domain[i + 1]); - r[i] = reinterpolate(range[i], range[i + 1]); - } - - return function(x) { - var i = d3Array.bisect(domain, x, 1, j) - 1; - return r[i](d[i](x)); - }; - } - - function copy(source, target) { - return target - .domain(source.domain()) - .range(source.range()) - .interpolate(source.interpolate()) - .clamp(source.clamp()); - } - - // deinterpolate(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1]. - // reinterpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding domain value x in [a,b]. - function continuous(deinterpolate$$, reinterpolate) { - var domain = unit, - range = unit, - interpolate = d3Interpolate.interpolate, - clamp = false, - output, - input; - - function rescale() { - var map = Math.min(domain.length, range.length) > 2 ? polymap : bimap; - output = map(domain, range, clamp ? deinterpolateClamp(deinterpolate$$) : deinterpolate$$, interpolate); - input = map(range, domain, deinterpolate, clamp ? reinterpolateClamp(reinterpolate) : reinterpolate); - return scale; - } - - function scale(x) { - return output(+x); - } - - scale.invert = function(y) { - return input(+y); - }; - - scale.domain = function(_) { - return arguments.length ? (domain = map$1.call(_, number), rescale()) : domain.slice(); - }; - - scale.range = function(_) { - return arguments.length ? (range = slice.call(_), rescale()) : range.slice(); - }; - - scale.rangeRound = function(_) { - return range = slice.call(_), interpolate = d3Interpolate.interpolateRound, rescale(); - }; - - scale.clamp = function(_) { - return arguments.length ? (clamp = !!_, rescale()) : clamp; - }; - - scale.interpolate = function(_) { - return arguments.length ? (interpolate = _, rescale()) : interpolate; - }; - - return rescale(); - } - - function tickFormat(domain, count, specifier) { - var start = domain[0], - stop = domain[domain.length - 1], - step = d3Array.tickStep(start, stop, count == null ? 10 : count), - precision; - specifier = d3Format.formatSpecifier(specifier == null ? ",f" : specifier); - switch (specifier.type) { - case "s": { - var value = Math.max(Math.abs(start), Math.abs(stop)); - if (specifier.precision == null && !isNaN(precision = d3Format.precisionPrefix(step, value))) specifier.precision = precision; - return d3Format.formatPrefix(specifier, value); - } - case "": - case "e": - case "g": - case "p": - case "r": { - if (specifier.precision == null && !isNaN(precision = d3Format.precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e"); - break; - } - case "f": - case "%": { - if (specifier.precision == null && !isNaN(precision = d3Format.precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2; - break; - } - } - return d3Format.format(specifier); - } - - function linearish(scale) { - var domain = scale.domain; - - scale.ticks = function(count) { - var d = domain(); - return d3Array.ticks(d[0], d[d.length - 1], count == null ? 10 : count); - }; - - scale.tickFormat = function(count, specifier) { - return tickFormat(domain(), count, specifier); - }; - - scale.nice = function(count) { - var d = domain(), - i = d.length - 1, - n = count == null ? 10 : count, - start = d[0], - stop = d[i], - step = d3Array.tickStep(start, stop, n); - - if (step) { - step = d3Array.tickStep(Math.floor(start / step) * step, Math.ceil(stop / step) * step, n); - d[0] = Math.floor(start / step) * step; - d[i] = Math.ceil(stop / step) * step; - domain(d); - } - - return scale; - }; - - return scale; - } - - function linear() { - var scale = continuous(deinterpolate, d3Interpolate.interpolateNumber); - - scale.copy = function() { - return copy(scale, linear()); - }; - - return linearish(scale); - } - - function identity() { - var domain = [0, 1]; - - function scale(x) { - return +x; - } - - scale.invert = scale; - - scale.domain = scale.range = function(_) { - return arguments.length ? (domain = map$1.call(_, number), scale) : domain.slice(); - }; - - scale.copy = function() { - return identity().domain(domain); - }; - - return linearish(scale); - } - - function nice(domain, interval) { - domain = domain.slice(); - - var i0 = 0, - i1 = domain.length - 1, - x0 = domain[i0], - x1 = domain[i1], - t; - - if (x1 < x0) { - t = i0, i0 = i1, i1 = t; - t = x0, x0 = x1, x1 = t; - } - - domain[i0] = interval.floor(x0); - domain[i1] = interval.ceil(x1); - return domain; - } - - function deinterpolate$1(a, b) { - return (b = Math.log(b / a)) - ? function(x) { return Math.log(x / a) / b; } - : constant(b); - } - - function reinterpolate(a, b) { - return a < 0 - ? function(t) { return -Math.pow(-b, t) * Math.pow(-a, 1 - t); } - : function(t) { return Math.pow(b, t) * Math.pow(a, 1 - t); }; - } - - function pow10(x) { - return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x; - } - - function powp(base) { - return base === 10 ? pow10 - : base === Math.E ? Math.exp - : function(x) { return Math.pow(base, x); }; - } - - function logp(base) { - return base === Math.E ? Math.log - : base === 10 && Math.log10 - || base === 2 && Math.log2 - || (base = Math.log(base), function(x) { return Math.log(x) / base; }); - } - - function reflect(f) { - return function(x) { - return -f(-x); - }; - } - - function log() { - var scale = continuous(deinterpolate$1, reinterpolate).domain([1, 10]), - domain = scale.domain, - base = 10, - logs = logp(10), - pows = powp(10); - - function rescale() { - logs = logp(base), pows = powp(base); - if (domain()[0] < 0) logs = reflect(logs), pows = reflect(pows); - return scale; - } - - scale.base = function(_) { - return arguments.length ? (base = +_, rescale()) : base; - }; - - scale.domain = function(_) { - return arguments.length ? (domain(_), rescale()) : domain(); - }; - - scale.ticks = function(count) { - var d = domain(), - u = d[0], - v = d[d.length - 1], - r; - - if (r = v < u) i = u, u = v, v = i; - - var i = logs(u), - j = logs(v), - p, - k, - t, - n = count == null ? 10 : +count, - z = []; - - if (!(base % 1) && j - i < n) { - i = Math.round(i) - 1, j = Math.round(j) + 1; - if (u > 0) for (; i < j; ++i) { - for (k = 1, p = pows(i); k < base; ++k) { - t = p * k; - if (t < u) continue; - if (t > v) break; - z.push(t); - } - } else for (; i < j; ++i) { - for (k = base - 1, p = pows(i); k >= 1; --k) { - t = p * k; - if (t < u) continue; - if (t > v) break; - z.push(t); - } - } - if (r) z.reverse(); - } else { - z = d3Array.ticks(i, j, Math.min(j - i, n)).map(pows); - } - - return z; - }; - - scale.tickFormat = function(count, specifier) { - if (specifier == null) specifier = base === 10 ? ".0e" : ","; - if (typeof specifier !== "function") specifier = d3Format.format(specifier); - if (count === Infinity) return specifier; - if (count == null) count = 10; - var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate? - return function(d) { - var i = d / pows(Math.round(logs(d))); - if (i * base < base - 0.5) i *= base; - return i <= k ? specifier(d) : ""; - }; - }; - - scale.nice = function() { - return domain(nice(domain(), { - floor: function(x) { return pows(Math.floor(logs(x))); }, - ceil: function(x) { return pows(Math.ceil(logs(x))); } - })); - }; - - scale.copy = function() { - return copy(scale, log().base(base)); - }; - - return scale; - } - - function raise(x, exponent) { - return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent); - } - - function pow() { - var exponent = 1, - scale = continuous(deinterpolate, reinterpolate), - domain = scale.domain; - - function deinterpolate(a, b) { - return (b = raise(b, exponent) - (a = raise(a, exponent))) - ? function(x) { return (raise(x, exponent) - a) / b; } - : constant(b); - } - - function reinterpolate(a, b) { - b = raise(b, exponent) - (a = raise(a, exponent)); - return function(t) { return raise(a + b * t, 1 / exponent); }; - } - - scale.exponent = function(_) { - return arguments.length ? (exponent = +_, domain(domain())) : exponent; - }; - - scale.copy = function() { - return copy(scale, pow().exponent(exponent)); - }; - - return linearish(scale); - } - - function sqrt() { - return pow().exponent(0.5); - } - - function quantile$1() { - var domain = [], - range = [], - thresholds = []; - - function rescale() { - var i = 0, n = Math.max(1, range.length); - thresholds = new Array(n - 1); - while (++i < n) thresholds[i - 1] = d3Array.quantile(domain, i / n); - return scale; - } - - function scale(x) { - if (!isNaN(x = +x)) return range[d3Array.bisect(thresholds, x)]; - } - - scale.invertExtent = function(y) { - var i = range.indexOf(y); - return i < 0 ? [NaN, NaN] : [ - i > 0 ? thresholds[i - 1] : domain[0], - i < thresholds.length ? thresholds[i] : domain[domain.length - 1] - ]; - }; - - scale.domain = function(_) { - if (!arguments.length) return domain.slice(); - domain = []; - for (var i = 0, n = _.length, d; i < n; ++i) if (d = _[i], d != null && !isNaN(d = +d)) domain.push(d); - domain.sort(d3Array.ascending); - return rescale(); - }; - - scale.range = function(_) { - return arguments.length ? (range = slice.call(_), rescale()) : range.slice(); - }; - - scale.quantiles = function() { - return thresholds.slice(); - }; - - scale.copy = function() { - return quantile$1() - .domain(domain) - .range(range); - }; - - return scale; - } - - function quantize() { - var x0 = 0, - x1 = 1, - n = 1, - domain = [0.5], - range = [0, 1]; - - function scale(x) { - if (x <= x) return range[d3Array.bisect(domain, x, 0, n)]; - } - - function rescale() { - var i = -1; - domain = new Array(n); - while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1); - return scale; - } - - scale.domain = function(_) { - return arguments.length ? (x0 = +_[0], x1 = +_[1], rescale()) : [x0, x1]; - }; - - scale.range = function(_) { - return arguments.length ? (n = (range = slice.call(_)).length - 1, rescale()) : range.slice(); - }; - - scale.invertExtent = function(y) { - var i = range.indexOf(y); - return i < 0 ? [NaN, NaN] - : i < 1 ? [x0, domain[0]] - : i >= n ? [domain[n - 1], x1] - : [domain[i - 1], domain[i]]; - }; - - scale.copy = function() { - return quantize() - .domain([x0, x1]) - .range(range); - }; - - return linearish(scale); - } - - function threshold() { - var domain = [0.5], - range = [0, 1], - n = 1; - - function scale(x) { - if (x <= x) return range[d3Array.bisect(domain, x, 0, n)]; - } - - scale.domain = function(_) { - return arguments.length ? (domain = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice(); - }; - - scale.range = function(_) { - return arguments.length ? (range = slice.call(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice(); - }; - - scale.invertExtent = function(y) { - var i = range.indexOf(y); - return [domain[i - 1], domain[i]]; - }; - - scale.copy = function() { - return threshold() - .domain(domain) - .range(range); - }; - - return scale; - } - - var durationSecond = 1000; - var durationMinute = durationSecond * 60; - var durationHour = durationMinute * 60; - var durationDay = durationHour * 24; - var durationWeek = durationDay * 7; - var durationMonth = durationDay * 30; - var durationYear = durationDay * 365; - function newDate(t) { - return new Date(t); - } - - function calendar(year, month, week, day, hour, minute, second, millisecond, format) { - var scale = continuous(deinterpolate, d3Interpolate.interpolateNumber), - invert = scale.invert, - domain = scale.domain; - - var formatMillisecond = format(".%L"), - formatSecond = format(":%S"), - formatMinute = format("%I:%M"), - formatHour = format("%I %p"), - formatDay = format("%a %d"), - formatWeek = format("%b %d"), - formatMonth = format("%B"), - formatYear = format("%Y"); - - var tickIntervals = [ - [second, 1, durationSecond], - [second, 5, 5 * durationSecond], - [second, 15, 15 * durationSecond], - [second, 30, 30 * durationSecond], - [minute, 1, durationMinute], - [minute, 5, 5 * durationMinute], - [minute, 15, 15 * durationMinute], - [minute, 30, 30 * durationMinute], - [ hour, 1, durationHour ], - [ hour, 3, 3 * durationHour ], - [ hour, 6, 6 * durationHour ], - [ hour, 12, 12 * durationHour ], - [ day, 1, durationDay ], - [ day, 2, 2 * durationDay ], - [ week, 1, durationWeek ], - [ month, 1, durationMonth ], - [ month, 3, 3 * durationMonth ], - [ year, 1, durationYear ] - ]; - - function tickFormat(date) { - return (second(date) < date ? formatMillisecond - : minute(date) < date ? formatSecond - : hour(date) < date ? formatMinute - : day(date) < date ? formatHour - : month(date) < date ? (week(date) < date ? formatDay : formatWeek) - : year(date) < date ? formatMonth - : formatYear)(date); - } - - function tickInterval(interval, start, stop, step) { - if (interval == null) interval = 10; - - // If a desired tick count is specified, pick a reasonable tick interval - // based on the extent of the domain and a rough estimate of tick size. - // Otherwise, assume interval is already a time interval and use it. - if (typeof interval === "number") { - var target = Math.abs(stop - start) / interval, - i = d3Array.bisector(function(i) { return i[2]; }).right(tickIntervals, target); - if (i === tickIntervals.length) { - step = d3Array.tickStep(start / durationYear, stop / durationYear, interval); - interval = year; - } else if (i) { - i = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i]; - step = i[1]; - interval = i[0]; - } else { - step = d3Array.tickStep(start, stop, interval); - interval = millisecond; - } - } - - return step == null ? interval : interval.every(step); - } - - scale.invert = function(y) { - return new Date(invert(y)); - }; - - scale.domain = function(_) { - return arguments.length ? domain(_) : domain().map(newDate); - }; - - scale.ticks = function(interval, step) { - var d = domain(), - t0 = d[0], - t1 = d[d.length - 1], - r = t1 < t0, - t; - if (r) t = t0, t0 = t1, t1 = t; - t = tickInterval(interval, t0, t1, step); - t = t ? t.range(t0, t1 + 1) : []; // inclusive stop - return r ? t.reverse() : t; - }; - - scale.tickFormat = function(specifier) { - return specifier == null ? tickFormat : format(specifier); - }; - - scale.nice = function(interval, step) { - var d = domain(); - return (interval = tickInterval(interval, d[0], d[d.length - 1], step)) - ? domain(nice(d, interval)) - : scale; - }; - - scale.copy = function() { - return copy(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format)); - }; - - return scale; - } - - function time() { - return calendar(d3Time.timeYear, d3Time.timeMonth, d3Time.timeWeek, d3Time.timeDay, d3Time.timeHour, d3Time.timeMinute, d3Time.timeSecond, d3Time.timeMillisecond, d3TimeFormat.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]); - } - - function utcTime() { - return calendar(d3Time.utcYear, d3Time.utcMonth, d3Time.utcWeek, d3Time.utcDay, d3Time.utcHour, d3Time.utcMinute, d3Time.utcSecond, d3Time.utcMillisecond, d3TimeFormat.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]); - } - - function colors(s) { - return s.match(/.{6}/g).map(function(x) { - return "#" + x; - }); - } - - var colors10 = colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"); - - function category10() { - return ordinal().range(colors10); - } - - var colors20b = colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"); - - function category20b() { - return ordinal().range(colors20b); - } - - var colors20c = colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"); - - function category20c() { - return ordinal().range(colors20c); - } - - var colors20 = colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"); - - function category20() { - return ordinal().range(colors20); - } - - function cubehelix$1() { - return linear() - .interpolate(d3Interpolate.interpolateCubehelixLong) - .range([d3Color.cubehelix(300, 0.5, 0.0), d3Color.cubehelix(-240, 0.5, 1.0)]); - } - - function sequential(interpolate) { - var x0 = 0, - x1 = 1, - clamp = false; - - function scale(x) { - var t = (x - x0) / (x1 - x0); - return interpolate(clamp ? Math.max(0, Math.min(1, t)) : t); - } - - scale.domain = function(_) { - return arguments.length ? (x0 = +_[0], x1 = +_[1], scale) : [x0, x1]; - }; - - scale.clamp = function(_) { - return arguments.length ? (clamp = !!_, scale) : clamp; - }; - - scale.copy = function() { - return sequential(interpolate).domain([x0, x1]).clamp(clamp); - }; - - return linearish(scale); - } - - function warm() { - return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8))); - } - - function cool() { - return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260, 0.75, 0.35), d3Color.cubehelix(80, 1.50, 0.8))); - } - - function rainbow() { - var rainbow = d3Color.cubehelix(); - return sequential(function(t) { - if (t < 0 || t > 1) t -= Math.floor(t); - var ts = Math.abs(t - 0.5); - rainbow.h = 360 * t - 100; - rainbow.s = 1.5 - 1.5 * ts; - rainbow.l = 0.8 - 0.9 * ts; - return rainbow + ""; - }); - } - - var rangeViridis = colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"); - var rangeMagma = colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"); - var rangeInferno = colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"); - var rangePlasma = colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"); - function ramp(range) { - var s = sequential(function(t) { return range[Math.round(t * range.length - t)]; }).clamp(true); - delete s.clamp; - return s; - } - - function viridis() { - return ramp(rangeViridis); - } - - function magma() { - return ramp(rangeMagma); - } - - function inferno() { - return ramp(rangeInferno); - } - - function plasma() { - return ramp(rangePlasma); - } - - var version = "0.6.4"; - - exports.version = version; - exports.scaleBand = band; - exports.scalePoint = point; - exports.scaleIdentity = identity; - exports.scaleLinear = linear; - exports.scaleLog = log; - exports.scaleOrdinal = ordinal; - exports.scaleImplicit = implicit; - exports.scalePow = pow; - exports.scaleSqrt = sqrt; - exports.scaleQuantile = quantile$1; - exports.scaleQuantize = quantize; - exports.scaleThreshold = threshold; - exports.scaleTime = time; - exports.scaleUtc = utcTime; - exports.scaleCategory10 = category10; - exports.scaleCategory20b = category20b; - exports.scaleCategory20c = category20c; - exports.scaleCategory20 = category20; - exports.scaleCubehelix = cubehelix$1; - exports.scaleRainbow = rainbow; - exports.scaleWarm = warm; - exports.scaleCool = cool; - exports.scaleViridis = viridis; - exports.scaleMagma = magma; - exports.scaleInferno = inferno; - exports.scalePlasma = plasma; - - })); - -/***/ }, -/* 49 */ -/***/ function(module, exports, __webpack_require__) { - - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_array = {}))); - }(this, function (exports) { 'use strict'; - - function ascending(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; - } - - function bisector(compare) { - if (compare.length === 1) compare = ascendingComparator(compare); - return { - left: function(a, x, lo, hi) { - if (lo == null) lo = 0; - if (hi == null) 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 (lo == null) lo = 0; - if (hi == null) 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; - } - }; - } - - function ascendingComparator(f) { - return function(d, x) { - return ascending(f(d), x); - }; - } - - var ascendingBisect = bisector(ascending); - var bisectRight = ascendingBisect.right; - var bisectLeft = ascendingBisect.left; - - function descending(a, b) { - return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; - } - - function number$1(x) { - return x === null ? NaN : +x; - } - - function variance(array, f) { - var n = array.length, - m = 0, - a, - d, - s = 0, - i = -1, - j = 0; - - if (f == null) { - while (++i < n) { - if (!isNaN(a = number$1(array[i]))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } - - else { - while (++i < n) { - if (!isNaN(a = number$1(f(array[i], i, array)))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } - - if (j > 1) return s / (j - 1); - } - - function deviation(array, f) { - var v = variance(array, f); - return v ? Math.sqrt(v) : v; - } - - function extent(array, f) { - var i = -1, - n = array.length, - a, - b, - c; - - if (f == null) { - 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(array[i], i, array)) != null && b >= b) { a = c = b; break; } - while (++i < n) if ((b = f(array[i], i, array)) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } - - return [a, c]; - } - - function constant(x) { - return function() { - return x; - }; - } - - function identity(x) { - return x; - } - - function range(start, stop, step) { - start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step; - - var i = -1, - n = Math.max(0, Math.ceil((stop - start) / step)) | 0, - range = new Array(n); - - while (++i < n) { - range[i] = start + i * step; - } - - return range; - } - - var e10 = Math.sqrt(50); - var e5 = Math.sqrt(10); - var e2 = Math.sqrt(2); - function ticks(start, stop, count) { - var step = tickStep(start, stop, count); - return range( - Math.ceil(start / step) * step, - Math.floor(stop / step) * step + step / 2, // inclusive - step - ); - } - - function tickStep(start, stop, count) { - var step0 = Math.abs(stop - start) / Math.max(0, count), - step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)), - error = step0 / step1; - if (error >= e10) step1 *= 10; - else if (error >= e5) step1 *= 5; - else if (error >= e2) step1 *= 2; - return stop < start ? -step1 : step1; - } - - function sturges(values) { - return Math.ceil(Math.log(values.length) / Math.LN2) + 1; - } - - function number(x) { - return +x; - } - - function histogram() { - var value = identity, - domain = extent, - threshold = sturges; - - function histogram(data) { - var i, - n = data.length, - x, - values = new Array(n); - - // Coerce values to numbers. - for (i = 0; i < n; ++i) { - values[i] = +value(data[i], i, data); - } - - var xz = domain(values), - x0 = +xz[0], - x1 = +xz[1], - tz = threshold(values, x0, x1); - - // Convert number of thresholds into uniform thresholds. - if (!Array.isArray(tz)) tz = ticks(x0, x1, +tz); - - // Coerce thresholds to numbers, ignoring any outside the domain. - var m = tz.length; - for (i = 0; i < m; ++i) tz[i] = +tz[i]; - while (tz[0] <= x0) tz.shift(), --m; - while (tz[m - 1] >= x1) tz.pop(), --m; - - var bins = new Array(m + 1), - bin; - - // Initialize bins. - for (i = 0; i <= m; ++i) { - bin = bins[i] = []; - bin.x0 = i > 0 ? tz[i - 1] : x0; - bin.x1 = i < m ? tz[i] : x1; - } - - // Assign data to bins by value, ignoring any outside the domain. - for (i = 0; i < n; ++i) { - x = values[i]; - if (x0 <= x && x <= x1) { - bins[bisectRight(tz, x, 0, m)].push(data[i]); + function getAb(param) { + var a = 0, + match, + b = 0; + if (typeof param === 'number') { + b = param; + } else if (param === 'odd') { + a = 2; + b = 1; + } else if (param === 'even') { + a = 2; + b = 0; + } else if ((match = param.replace(/\s/g, '').match(aNPlusB))) { + if (match[1]) { + a = parseInt(match[2], 10); + if (isNaN(a)) { + if (match[2] === '-') { + a = -1; + } else { + a = 1; } } - - return bins; + } else { + a = 0; } + b = parseInt(match[3], 10) || 0; + } + return { + a: a, + b: b + }; + } - histogram.value = function(_) { - return arguments.length ? (value = typeof _ === "function" ? _ : constant(+_), histogram) : value; - }; - - histogram.domain = function(_) { - return arguments.length ? (domain = typeof _ === "function" ? _ : constant([+_[0], +_[1]]), histogram) : domain; - }; + function matchIndexByAb(index, a, b, eq) { + if (a === 0) { + if (index === b) { + return eq; + } + } else { + if ((index - b) / a >= 0 && (index - b) % a === 0 && eq) { + return 1; + } + } + return undefined; + } - histogram.thresholds = function(_) { - if (!arguments.length) return threshold; - threshold = typeof _ === "function" ? _ - : Array.isArray(_) ? constant(Array.prototype.map.call(_, number)) - : constant(+_); - return histogram; - }; + function isXML(elem) { + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName.toLowerCase() !== 'html' : false; + } - return histogram; - } + function matches(str, seeds) { + return select(str, null, seeds); + } - function quantile(array, p, f) { - if (f == null) f = number$1; - if (!(n = array.length)) return; - if ((p = +p) <= 0 || n < 2) return +f(array[0], 0, array); - if (p >= 1) return +f(array[n - 1], n - 1, array); - var n, - h = (n - 1) * p, - i = Math.floor(h), - a = +f(array[i], i, array), - b = +f(array[i + 1], i + 1, array); - return a + (b - a) * (h - i); + function singleMatch(el, match) { + if (!match) { + return true; } - - function freedmanDiaconis(values, min, max) { - values.sort(ascending); - return Math.ceil((max - min) / (2 * (quantile(values, 0.75) - quantile(values, 0.25)) * Math.pow(values.length, -1 / 3))); + if (!el) { + return false; } - function scott(values, min, max) { - return Math.ceil((max - min) / (3.5 * deviation(values) * Math.pow(values.length, -1 / 3))); + if (el.nodeType === 9) { + return false; } - function max(array, f) { - var i = -1, - n = array.length, - a, - b; + var matched = 1, + matchSuffix = match.suffix, + matchSuffixLen, + matchSuffixIndex; - if (f == null) { - 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; - } + if (match.t === 'tag') { + matched &= matchExpr.tag(el, match.value); + } - else { - while (++i < n) if ((b = f(array[i], i, array)) != null && b >= b) { a = b; break; } - while (++i < n) if ((b = f(array[i], i, array)) != null && b > a) a = b; + if (matched && matchSuffix) { + matchSuffixLen = matchSuffix.length; + matchSuffixIndex = 0; + for (; matched && matchSuffixIndex < matchSuffixLen; matchSuffixIndex++) { + var singleMatchSuffix = matchSuffix[matchSuffixIndex], + singleMatchSuffixType = singleMatchSuffix.t; + if (matchExpr[singleMatchSuffixType]) { + matched &= matchExpr[singleMatchSuffixType](el, singleMatchSuffix.value); + } } - - return a; } - function mean(array, f) { - var s = 0, - n = array.length, - a, - i = -1, - j = n; + return matched; + } - if (f == null) { - while (++i < n) if (!isNaN(a = number$1(array[i]))) s += a; else --j; - } + // match by adjacent immediate single selector match + function matchImmediate(el, match) { + var matched = 1, + startEl = el, + relativeOp, + startMatch = match; - else { - while (++i < n) if (!isNaN(a = number$1(f(array[i], i, array)))) s += a; else --j; + do { + matched &= singleMatch(el, match); + if (matched) { + // advance + match = match && match.prev; + if (!match) { + return true; + } + relativeOp = relativeExpr[match.nextCombinator]; + el = dir(el, relativeOp.dir); + if (!relativeOp.immediate) { + return { + // advance for non-immediate + el: el, + match: match + }; + } + } else { + relativeOp = relativeExpr[match.nextCombinator]; + if (relativeOp.immediate) { + // retreat but advance startEl + return { + el: dir(startEl, relativeExpr[startMatch.nextCombinator].dir), + match: startMatch + }; + } else { + // advance (before immediate match + jump unmatched) + return { + el: el && dir(el, relativeOp.dir), + match: match + }; + } } + } while (el); - if (j) return s / j; - } + // only occur when match immediate + return { + el: dir(startEl, relativeExpr[startMatch.nextCombinator].dir), + match: startMatch + }; + } - function median(array, f) { - var numbers = [], - n = array.length, - a, - i = -1; + // find fixed part, fixed with seeds + function findFixedMatchFromHead(el, head) { + var relativeOp, + cur = head; - if (f == null) { - while (++i < n) if (!isNaN(a = number$1(array[i]))) numbers.push(a); + do { + if (!singleMatch(el, cur)) { + return null; } - - else { - while (++i < n) if (!isNaN(a = number$1(f(array[i], i, array)))) numbers.push(a); + cur = cur.prev; + if (!cur) { + return true; } - - return quantile(numbers.sort(ascending), 0.5); + relativeOp = relativeExpr[cur.nextCombinator]; + el = dir(el, relativeOp.dir); + } while (el && relativeOp.immediate); + if (!el) { + return null; } + return { + el: el, + match: cur + }; + } - function merge(arrays) { - var n = arrays.length, - m, - i = -1, - j = 0, - merged, - array; - - while (++i < n) j += arrays[i].length; - merged = new Array(j); + function genId(el) { + var selectorId; - while (--n >= 0) { - array = arrays[n]; - m = array.length; - while (--m >= 0) { - merged[--j] = array[m]; - } + if (isContextXML) { + if (!(selectorId = el.getAttribute(EXPANDO_SELECTOR_KEY))) { + el.setAttribute(EXPANDO_SELECTOR_KEY, selectorId = (+new Date() + '_' + (++uuid))); + } + } else { + if (!(selectorId = el[EXPANDO_SELECTOR_KEY])) { + selectorId = el[EXPANDO_SELECTOR_KEY] = (+new Date()) + '_' + (++uuid); } - - return merged; } - function min(array, f) { - var i = -1, - n = array.length, - a, - b; + return selectorId; + } - if (f == null) { - 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; - } + function matchSub(el, match) { + var selectorId = genId(el), + matchKey; + matchKey = selectorId + '_' + (match.order || 0); + if (matchKey in subMatchesCache) { + return subMatchesCache[matchKey]; + } + subMatchesCache[matchKey] = matchSubInternal(el, match); + return subMatchesCache[matchKey]; + } - else { - while (++i < n) if ((b = f(array[i], i, array)) != null && b >= b) { a = b; break; } - while (++i < n) if ((b = f(array[i], i, array)) != null && a > b) a = b; + // recursive match by sub selector string from right to left + // grouped by immediate selectors + function matchSubInternal(el, match) { + var matchImmediateRet = matchImmediate(el, match); + if (matchImmediateRet === true) { + return true; + } else { + el = matchImmediateRet.el; + match = matchImmediateRet.match; + while (el) { + if (matchSub(el, match)) { + return true; + } + el = dir(el, relativeExpr[match.nextCombinator].dir); } - - return a; + return false; } + } - function pairs(array) { - var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n); - while (i < n) pairs[i] = [p, p = array[++i]]; - return pairs; + function select(str, context, seeds) { + if (!caches[str]) { + caches[str] = parser.parse(str); } - function permute(array, indexes) { - var i = indexes.length, permutes = new Array(i); - while (i--) permutes[i] = array[indexes[i]]; - return permutes; + var selector = caches[str], + groupIndex = 0, + groupLen = selector.length, + contextDocument, + group, + ret = []; + + if (seeds) { + context = context || seeds[0].ownerDocument; } - function scan(array, compare) { - if (!(n = array.length)) return; - var i = 0, - n, - j = 0, - xi, - xj = array[j]; + contextDocument = context && context.ownerDocument || typeof document !== 'undefined' && document; - if (!compare) compare = ascending; + if (context && context.nodeType === 9 && !contextDocument) { + contextDocument = context; + } - while (++i < n) if (compare(xi = array[i], xj) < 0 || compare(xj, xj) !== 0) xj = xi, j = i; + context = context || contextDocument; - if (compare(xj, xj) === 0) return j; - } + isContextXML = isXML(context); - function shuffle(array, i0, i1) { - var m = (i1 == null ? array.length : i1) - (i0 = i0 == null ? 0 : +i0), - t, - i; + for (; groupIndex < groupLen; groupIndex++) { + resetStatus(); - while (m) { - i = Math.random() * m-- | 0; - t = array[m + i0]; - array[m + i0] = array[i + i0]; - array[i + i0] = t; - } + group = selector[groupIndex]; - return array; - } + var suffix = group.suffix, + suffixIndex, + suffixLen, + seedsIndex, + mySeeds = seeds, + seedsLen, + id = null; - function sum(array, f) { - var s = 0, - n = array.length, - a, - i = -1; + if (!mySeeds) { + if (suffix && !isContextXML) { + suffixIndex = 0; + suffixLen = suffix.length; + for (; suffixIndex < suffixLen; suffixIndex++) { + var singleSuffix = suffix[suffixIndex]; + if (singleSuffix.t === 'id') { + id = singleSuffix.value; + break; + } + } + } - if (f == null) { - while (++i < n) if (a = +array[i]) s += a; // Note: zero and null are equivalent. + if (id) { + // http://yiminghe.github.io/lab/playground/fragment-selector/selector.html + var doesNotHasById = !context.getElementById, + contextInDom = util.contains(contextDocument, context), + tmp = doesNotHasById ? ( + contextInDom ? + contextDocument.getElementById(id) : + null + ) : context.getElementById(id); + // id bug + // https://github.com/kissyteam/kissy/issues/67 + if (!tmp && doesNotHasById || tmp && getAttr(tmp, 'id') !== id) { + var tmps = util.getElementsByTagName('*', context), + tmpLen = tmps.length, + tmpI = 0; + for (; tmpI < tmpLen; tmpI++) { + tmp = tmps[tmpI]; + if (getAttr(tmp, 'id') === id) { + mySeeds = [tmp]; + break; + } + } + if (tmpI === tmpLen) { + mySeeds = []; + } + } else { + if (contextInDom && tmp && context !== contextDocument) { + tmp = util.contains(context, tmp) ? tmp : null; + } + mySeeds = tmp ? [tmp] : []; + } + } else { + mySeeds = util.getElementsByTagName(group.value || '*', context); + } } - else { - while (++i < n) if (a = +f(array[i], i, array)) s += a; - } + seedsIndex = 0; + seedsLen = mySeeds.length; - return s; - } + if (!seedsLen) { + continue; + } - function transpose(matrix) { - if (!(n = matrix.length)) return []; - for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) { - for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) { - row[j] = matrix[j][i]; + for (; seedsIndex < seedsLen; seedsIndex++) { + var seed = mySeeds[seedsIndex]; + var matchHead = findFixedMatchFromHead(seed, group); + if (matchHead === true) { + ret.push(seed); + } else if (matchHead) { + if (matchSub(matchHead.el, matchHead.match)) { + ret.push(seed); + } } } - return transpose; - } - - function length(d) { - return d.length; } - function zip() { - return transpose(arguments); + if (groupLen > 1) { + ret = util.unique(ret); } - var version = "0.7.1"; - - exports.version = version; - exports.bisect = bisectRight; - exports.bisectRight = bisectRight; - exports.bisectLeft = bisectLeft; - exports.ascending = ascending; - exports.bisector = bisector; - exports.descending = descending; - exports.deviation = deviation; - exports.extent = extent; - exports.histogram = histogram; - exports.thresholdFreedmanDiaconis = freedmanDiaconis; - exports.thresholdScott = scott; - exports.thresholdSturges = sturges; - exports.max = max; - exports.mean = mean; - exports.median = median; - exports.merge = merge; - exports.min = min; - exports.pairs = pairs; - exports.permute = permute; - exports.quantile = quantile; - exports.range = range; - exports.scan = scan; - exports.shuffle = shuffle; - exports.sum = sum; - exports.ticks = ticks; - exports.tickStep = tickStep; - exports.transpose = transpose; - exports.variance = variance; - exports.zip = zip; - - })); - -/***/ }, -/* 50 */ -/***/ function(module, exports, __webpack_require__) { + return ret; + } - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_collection = global.d3_collection || {}))); - }(this, function (exports) { 'use strict'; + module.exports = select; - var prefix = "$"; + select.parse = function (str) { + return parser.parse(str); + }; - function Map() {} + select.matches = matches; - Map.prototype = map.prototype = { - constructor: Map, - has: function(key) { - return (prefix + key) in this; - }, - get: function(key) { - return this[prefix + key]; - }, - set: function(key, value) { - this[prefix + key] = value; - return this; - }, - remove: function(key) { - var property = prefix + key; - return property in this && delete this[property]; - }, - clear: function() { - for (var property in this) if (property[0] === prefix) delete this[property]; - }, - keys: function() { - var keys = []; - for (var property in this) if (property[0] === prefix) keys.push(property.slice(1)); - return keys; - }, - values: function() { - var values = []; - for (var property in this) if (property[0] === prefix) values.push(this[property]); - return values; - }, - entries: function() { - var entries = []; - for (var property in this) if (property[0] === prefix) entries.push({key: property.slice(1), value: this[property]}); - return entries; - }, - size: function() { - var size = 0; - for (var property in this) if (property[0] === prefix) ++size; - return size; - }, - empty: function() { - for (var property in this) if (property[0] === prefix) return false; - return true; - }, - each: function(f) { - for (var property in this) if (property[0] === prefix) f(this[property], property.slice(1), this); - } - }; + select.util = util; - function map(object, f) { - var map = new Map; + select.version = '@VERSION@'; + /** + * @ignore + * note 2013-03-28 + * - use recursive call to replace backtracking algorithm + * + * refer + * - http://www.w3.org/TR/selectors/ + * - http://www.impressivewebs.com/browser-support-css3-selectors/ + * - http://blogs.msdn.com/ie/archive/2010/05/13/the-css-corner-css3-selectors.aspx + * - http://sizzlejs.com/ + */ - // Copy constructor. - if (object instanceof Map) object.each(function(value, key) { map.set(key, value); }); +/***/ }), +/* 36 */ +/***/ (function(module, exports) { - // Index array by numeric index or specified key function. - else if (Array.isArray(object)) { - var i = -1, - n = object.length, - o; + /** + * attr fix for old ie + * @author yiminghe@gmail.com + */ + var R_BOOLEAN = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + R_FOCUSABLE = /^(?:button|input|object|select|textarea)$/i, + R_CLICKABLE = /^a(?:rea)?$/i, + R_INVALID_CHAR = /:|^on/; - if (f == null) while (++i < n) map.set(i, object[i]); - else while (++i < n) map.set(f(o = object[i], i, object), o); + var attrFix = {}, + propFix, + attrHooks = { + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + tabindex: { + get: function (el) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + var attributeNode = el.getAttributeNode('tabindex'); + return attributeNode && attributeNode.specified ? + parseInt(attributeNode.value, 10) : + R_FOCUSABLE.test(el.nodeName) || + R_CLICKABLE.test(el.nodeName) && el.href ? + 0 : + undefined; + } } + }, + boolHook = { + get: function (elem, name) { + // 转发到 prop 方法 + return elem[propFix[name] || name] ? + // 根据 w3c attribute , true 时返回属性名字符串 + name.toLowerCase() : + undefined; + } + }, + attrNodeHook = {}; - // Convert object to map. - else if (object) for (var key in object) map.set(key, object[key]); - - return map; + attrHooks.style = { + get: function (el) { + return el.style.cssText; } + }; - function nest() { - var keys = [], - sortKeys = [], - sortValues, - rollup, - nest; + propFix = { + hidefocus: 'hideFocus', + tabindex: 'tabIndex', + readonly: 'readOnly', + 'for': 'htmlFor', + 'class': 'className', + maxlength: 'maxLength', + cellspacing: 'cellSpacing', + cellpadding: 'cellPadding', + rowspan: 'rowSpan', + colspan: 'colSpan', + usemap: 'useMap', + frameborder: 'frameBorder', + contenteditable: 'contentEditable' + }; - function apply(array, depth, createResult, setResult) { - if (depth >= keys.length) return rollup - ? rollup(array) : (sortValues - ? array.sort(sortValues) - : array); + var ua = typeof navigator !== 'undefined' ? navigator.userAgent : ''; + var doc = typeof document !== 'undefined' ? document : {}; - var i = -1, - n = array.length, - key = keys[depth++], - keyValue, - value, - valuesByKey = map(), - values, - result = createResult(); + function numberify(s) { + var c = 0; + // convert '1.2.3.4' to 1.234 + return parseFloat(s.replace(/\./g, function () { + return (c++ === 0) ? '.' : ''; + })); + } - while (++i < n) { - if (values = valuesByKey.get(keyValue = key(value = array[i]) + "")) { - values.push(value); - } else { - valuesByKey.set(keyValue, [value]); - } - } + function ieVersion() { + var m, v; + if ((m = ua.match(/MSIE ([^;]*)|Trident.*; rv(?:\s|:)?([0-9.]+)/)) && + (v = (m[1] || m[2]))) { + return doc.documentMode || numberify(v); + } + } - valuesByKey.each(function(values, key) { - setResult(result, key, apply(values, depth, createResult, setResult)); - }); + function mix(s, t) { + for (var p in t) { + s[p] = t[p]; + } + } - return result; + function each(arr, fn) { + var i = 0, l = arr.length; + for (; i < l; i++) { + if (fn(arr[i], i) === false) { + break; + } + } + } + var ie = ieVersion(); + + if (ie && ie < 8) { + attrHooks.style.set = function (el, val) { + el.style.cssText = val; + }; + + // get attribute value from attribute node for ie + mix(attrNodeHook, { + get: function (elem, name) { + var ret = elem.getAttributeNode(name); + // Return undefined if attribute node specified by user + return ret && ( + // fix #100 + ret.specified || ret.nodeValue) ? + ret.nodeValue : + undefined; } + }); - function entries(map, depth) { - if (depth >= keys.length) return map; + // ie6,7 不区分 attribute 与 property + mix(attrFix, propFix); - var array = [], - sortKey = sortKeys[depth++]; + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + attrHooks.tabIndex = attrHooks.tabindex; - map.each(function(value, key) { - array.push({key: key, values: entries(value, depth)}); - }); + // 不光是 href, src, 还有 rowspan 等非 mapping 属性,也需要用第 2 个参数来获取原始值 + // 注意 colSpan rowSpan 已经由 propFix 转为大写 + each(['href', 'src', 'width', 'height', 'colSpan', 'rowSpan'], function (name) { + attrHooks[name] = { + get: function (elem) { + var ret = elem.getAttribute(name, 2); + return ret === null ? undefined : ret; + } + }; + }); - return sortKey - ? array.sort(function(a, b) { return sortKey(a.key, b.key); }) - : array; + attrHooks.placeholder = { + get: function (elem, name) { + return elem[name] || attrNodeHook.get(elem, name); } + }; + } - return nest = { - object: function(array) { return apply(array, 0, createObject, setObject); }, - map: function(array) { return apply(array, 0, createMap, setMap); }, - entries: function(array) { return entries(apply(array, 0, createMap, setMap), 0); }, - key: function(d) { keys.push(d); return nest; }, - sortKeys: function(order) { sortKeys[keys.length - 1] = order; return nest; }, - sortValues: function(order) { sortValues = order; return nest; }, - rollup: function(f) { rollup = f; return nest; } - }; - } + if (ie) { + var hrefFix = attrHooks.href = attrHooks.href || {}; + hrefFix.set = function (el, val, name) { + var childNodes = el.childNodes, + b, + len = childNodes.length, + allText = len > 0; + for (len = len - 1; len >= 0; len--) { + if (childNodes[len].nodeType !== 3) { + allText = 0; + } + } + if (allText) { + b = el.ownerDocument.createElement('b'); + b.style.display = 'none'; + el.appendChild(b); + } + el.setAttribute(name, '' + val); + if (b) { + el.removeChild(b); + } + }; + } - function createObject() { - return {}; - } + var RE_TRIM = /^[\s\xa0]+|[\s\xa0]+$/g, + trim = String.prototype.trim; + var SPACE = ' '; - function setObject(object, key, value) { - object[key] = value; - } + var getElementsByTagName; + getElementsByTagName = function (name, context) { + return context.getElementsByTagName(name); + }; - function createMap() { - return map(); + if (doc.createElement) { + var div = doc.createElement('div'); + div.appendChild(document.createComment('')); + if (div.getElementsByTagName('*').length) { + getElementsByTagName = function (name, context) { + var nodes = context.getElementsByTagName(name), + needsFilter = name === '*'; + // <input id='length'> + if (needsFilter || typeof nodes.length !== 'number') { + var ret = [], + i = 0, + el; + while ((el = nodes[i++])) { + if (!needsFilter || el.nodeType === 1) { + ret.push(el); + } + } + return ret; + } else { + return nodes; + } + }; } + } - function setMap(map, key, value) { - map.set(key, value); + var compareNodeOrder = ('sourceIndex' in (doc && doc.documentElement || {})) ? function (a, b) { + return a.sourceIndex - b.sourceIndex; + } : function (a, b) { + if (!a.compareDocumentPosition || !b.compareDocumentPosition) { + return a.compareDocumentPosition ? -1 : 1; } + var bit = a.compareDocumentPosition(b) & 4; + return bit ? -1 : 1; + }; - function Set() {} - - var proto = map.prototype; + var util = module.exports = { + ie: ie, - Set.prototype = set.prototype = { - constructor: Set, - has: proto.has, - add: function(value) { - value += ""; - this[prefix + value] = value; - return this; - }, - remove: proto.remove, - clear: proto.clear, - values: proto.keys, - size: proto.size, - empty: proto.empty, - each: proto.each - }; + unique: (function () { + var hasDuplicate, + baseHasDuplicate = true; - function set(object, f) { - var set = new Set; + // Here we check if the JavaScript engine is using some sort of + // optimization where it does not always call our comparison + // function. If that is the case, discard the hasDuplicate value. + // Thus far that includes Google Chrome. + [0, 0].sort(function () { + baseHasDuplicate = false; + return 0; + }); - // Copy constructor. - if (object instanceof Set) object.each(function(value) { set.add(value); }); + function sortOrder(a, b) { + if (a === b) { + hasDuplicate = true; + return 0; + } - // Otherwise, assume it’s an array. - else if (object) { - var i = -1, n = object.length; - if (f == null) while (++i < n) set.add(object[i]); - else while (++i < n) set.add(f(object[i], i, object)); + return compareNodeOrder(a, b); } - return set; - } + // 排序去重 + return function (elements) { + hasDuplicate = baseHasDuplicate; + elements.sort(sortOrder); - function keys(map) { - var keys = []; - for (var key in map) keys.push(key); - return keys; - } + if (hasDuplicate) { + var i = 1, len = elements.length; + while (i < len) { + if (elements[i] === elements[i - 1]) { + elements.splice(i, 1); + --len; + } else { + i++; + } + } + } + return elements; + }; + })(), - function values(map) { - var values = []; - for (var key in map) values.push(map[key]); - return values; - } + getElementsByTagName: getElementsByTagName, - function entries(map) { - var entries = []; - for (var key in map) entries.push({key: key, value: map[key]}); - return entries; - } + getSimpleAttr: function (el, name) { + var ret = el && el.getAttributeNode(name); + if (ret && ret.specified) { + return 'value' in ret ? ret.value : ret.nodeValue; + } + return undefined; + }, - var version = "0.1.2"; + contains: ie ? function (a, b) { + if (a.nodeType === 9) { + a = a.documentElement; + } + // !a.contains => a===document || text + // 注意原生 contains 判断时 a===b 也返回 true + b = b.parentNode; - exports.version = version; - exports.nest = nest; - exports.set = set; - exports.map = map; - exports.keys = keys; - exports.values = values; - exports.entries = entries; + if (a === b) { + return true; + } - })); + // when b is document, a.contains(b) 不支持的接口 in ie + if (b && b.nodeType === 1) { + return a.contains && a.contains(b); + } else { + return false; + } + } : function (a, b) { + return !!(a.compareDocumentPosition(b) & 16); + }, -/***/ }, -/* 51 */ -/***/ function(module, exports, __webpack_require__) { + isTag: function (el, value) { + return value === '*' || el.nodeName.toLowerCase() === value.toLowerCase(); + }, - (function (global, factory) { - true ? factory(exports, __webpack_require__(52)) : - typeof define === 'function' && define.amd ? define(['exports', 'd3-color'], factory) : - (factory((global.d3_interpolate = global.d3_interpolate || {}),global.d3_color)); - }(this, function (exports,d3Color) { 'use strict'; + hasSingleClass: function (el, cls) { + // consider xml + // https://github.com/kissyteam/kissy/issues/532 + var className = el && util.getSimpleAttr(el, 'class'); + return className && (className = className.replace(/[\r\t\n]/g, SPACE)) && + (SPACE + className + SPACE).indexOf(SPACE + cls + SPACE) > -1; + }, - function constant(x) { - return function() { - return x; - }; - } + startsWith: function (str, prefix) { + return str.lastIndexOf(prefix, 0) === 0; + }, - function linear(a, d) { - return function(t) { - return a + t * d; - }; - } + endsWith: function (str, suffix) { + var ind = str.length - suffix.length; + return ind >= 0 && str.indexOf(suffix, ind) === ind; + }, - function exponential(a, b, y) { - return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) { - return Math.pow(a + t * b, y); - }; - } + trim: trim ? + function (str) { + return str == null ? '' : trim.call(str); + } : + function (str) { + return str == null ? '' : (str + '').replace(RE_TRIM, ''); + }, - function interpolateHue(a, b) { - var d = b - a; - return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a); + attr: function (el, name) { + var attrNormalizer, ret; + // scrollLeft + name = name.toLowerCase(); + // custom attrs + name = attrFix[name] || name; + if (R_BOOLEAN.test(name)) { + attrNormalizer = boolHook; + } else if (R_INVALID_CHAR.test(name)) { + // only old ie? + attrNormalizer = attrNodeHook; + } else { + attrNormalizer = attrHooks[name]; + } + if (el && el.nodeType === 1) { + // browsers index elements by id/name on forms, give priority to attributes. + if (el.nodeName.toLowerCase() === 'form') { + attrNormalizer = attrNodeHook; + } + if (attrNormalizer && attrNormalizer.get) { + return attrNormalizer.get(el, name); + } + ret = el.getAttribute(name); + if (ret === '') { + var attrNode = el.getAttributeNode(name); + if (!attrNode || !attrNode.specified) { + return undefined; + } + } + // standard browser non-existing attribute return null + // ie<8 will return undefined , because it return property + // so norm to undefined + return ret === null ? undefined : ret; + } } + }; - function gamma(y) { - return (y = +y) === 1 ? nogamma : function(a, b) { - return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a); - }; - } +/***/ }), +/* 37 */ +/***/ (function(module, exports, __webpack_require__) { - function nogamma(a, b) { - var d = b - a; - return d ? linear(a, d) : constant(isNaN(a) ? b : a); - } + /* + Generated by kison.*/ + var parser = (function (undefined) { + /*jshint quotmark:false, loopfunc:true, indent:false, unused:false, asi:true, boss:true*/ + /* Generated by kison */ + var parser = {}, + GrammarConst = { + 'SHIFT_TYPE': 1, + 'REDUCE_TYPE': 2, + 'ACCEPT_TYPE': 0, + 'TYPE_INDEX': 0, + 'PRODUCTION_INDEX': 1, + 'TO_INDEX': 2 + }; + /*jslint quotmark: false*/ + function mix(to, from) { + for (var f in from) { + to[f] = from[f]; + } + } - var rgb$1 = (function gamma$$(y) { - var interpolateColor = gamma(y); + function isArray(obj) { + return '[object Array]' === Object.prototype.toString.call(obj); + } - function interpolateRgb(start, end) { - var r = interpolateColor((start = d3Color.rgb(start)).r, (end = d3Color.rgb(end)).r), - g = interpolateColor(start.g, end.g), - b = interpolateColor(start.b, end.b), - opacity = interpolateColor(start.opacity, end.opacity); - return function(t) { - start.r = r(t); - start.g = g(t); - start.b = b(t); - start.opacity = opacity(t); - return start + ""; - }; + function each(object, fn, context) { + if (object) { + var key, + val, + length, + i = 0; + + context = context || null; + + if (!isArray(object)) { + for (key in object) { + // can not use hasOwnProperty + if (fn.call(context, object[key], key, object) === false) { + break; + } + } + } else { + length = object.length; + for (val = object[0]; i < length; val = object[++i]) { + if (fn.call(context, val, i, object) === false) { + break; + } + } + } + } } - interpolateRgb.gamma = gamma$$; + function inArray(item, arr) { + for (var i = 0, l = arr.length; i < l; i++) { + if (arr[i] === item) { + return true; + } + } + return false; + } + var Lexer = function Lexer(cfg) { - return interpolateRgb; - })(1); + var self = this; - // TODO sparse arrays? - function array(a, b) { - var x = [], - c = [], - na = a ? a.length : 0, - nb = b ? b.length : 0, - n0 = Math.min(na, nb), - i; + /* + lex rules. + @type {Object[]} + @example + [ + { + regexp:'\\w+', + state:['xx'], + token:'c', + // this => lex + action:function(){} + } + ] + */ + self.rules = []; - for (i = 0; i < n0; ++i) x.push(value(a[i], b[i])); - for (; i < na; ++i) c[i] = a[i]; - for (; i < nb; ++i) c[i] = b[i]; + mix(self, cfg); - return function(t) { - for (i = 0; i < n0; ++i) c[i] = x[i](t); - return c; - }; - } + /* + Input languages + @type {String} + */ - function number(a, b) { - return a = +a, b -= a, function(t) { - return a + b * t; + self.resetInput(self.input); }; - } + Lexer.prototype = { + 'resetInput': function (input) { + mix(this, { + input: input, + matched: '', + stateStack: [Lexer.STATIC.INITIAL], + match: '', + text: '', + firstLine: 1, + lineNumber: 1, + lastLine: 1, + firstColumn: 1, + lastColumn: 1 + }); + }, + 'getCurrentRules': function () { + var self = this, + currentState = self.stateStack[self.stateStack.length - 1], + rules = []; + //#JSCOVERAGE_IF + if (self.mapState) { + currentState = self.mapState(currentState); + } + each(self.rules, function (r) { + var state = r.state || r[3]; + if (!state) { + if (currentState === Lexer.STATIC.INITIAL) { + rules.push(r); + } + } else if (inArray(currentState, state)) { + rules.push(r); + } + }); + return rules; + }, + 'pushState': function (state) { + this.stateStack.push(state); + }, + 'popState': function (num) { + num = num || 1; + var ret; + while (num--) { + ret = this.stateStack.pop(); + } + return ret; + }, + 'showDebugInfo': function () { + var self = this, + DEBUG_CONTEXT_LIMIT = Lexer.STATIC.DEBUG_CONTEXT_LIMIT, + matched = self.matched, + match = self.match, + input = self.input; + matched = matched.slice(0, matched.length - match.length); + //#JSCOVERAGE_IF 0 + var past = (matched.length > DEBUG_CONTEXT_LIMIT ? '...' : '') + + matched.slice(0 - DEBUG_CONTEXT_LIMIT).replace(/\n/, ' '), + next = match + input; + //#JSCOVERAGE_ENDIF + next = next.slice(0, DEBUG_CONTEXT_LIMIT) + + (next.length > DEBUG_CONTEXT_LIMIT ? '...' : ''); + return past + next + '\n' + new Array(past.length + 1).join('-') + '^'; + }, + 'mapSymbol': function mapSymbolForCodeGen(t) { + return this.symbolMap[t]; + }, + 'mapReverseSymbol': function (rs) { + var self = this, + symbolMap = self.symbolMap, + i, + reverseSymbolMap = self.reverseSymbolMap; + if (!reverseSymbolMap && symbolMap) { + reverseSymbolMap = self.reverseSymbolMap = {}; + for (i in symbolMap) { + reverseSymbolMap[symbolMap[i]] = i; + } + } + //#JSCOVERAGE_IF + if (reverseSymbolMap) { + return reverseSymbolMap[rs]; + } else { + return rs; + } + }, + 'lex': function () { + var self = this, + input = self.input, + i, + rule, + m, + ret, + lines, + rules = self.getCurrentRules(); - function object(a, b) { - var i = {}, - c = {}, - k; + self.match = self.text = ''; - if (a === null || typeof a !== "object") a = {}; - if (b === null || typeof b !== "object") b = {}; + if (!input) { + return self.mapSymbol(Lexer.STATIC.END_TAG); + } - for (k in a) { - if (k in b) { - i[k] = value(a[k], b[k]); - } else { - c[k] = a[k]; - } - } + for (i = 0; i < rules.length; i++) { + rule = rules[i]; + //#JSCOVERAGE_IF 0 + var regexp = rule.regexp || rule[1], + token = rule.token || rule[0], + action = rule.action || rule[2] || undefined; + //#JSCOVERAGE_ENDIF + if ((m = input.match(regexp))) { + lines = m[0].match(/\n.*/g); + if (lines) { + self.lineNumber += lines.length; + } + mix(self, { + firstLine: self.lastLine, + lastLine: self.lineNumber + 1, + firstColumn: self.lastColumn, + lastColumn: lines ? + lines[lines.length - 1].length - 1 : self.lastColumn + m[0].length + }); + var match; + // for error report + match = self.match = m[0]; - for (k in b) { - if (!(k in a)) { - c[k] = b[k]; - } - } + // all matches + self.matches = m; + // may change by user + self.text = match; + // matched content utils now + self.matched += match; + ret = action && action.call(self); + if (ret === undefined) { + ret = token; + } else { + ret = self.mapSymbol(ret); + } + input = input.slice(match.length); + self.input = input; - return function(t) { - for (k in i) c[k] = i[k](t); - return c; + if (ret) { + return ret; + } else { + // ignore + return self.lex(); + } + } + } + } }; - } - - var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g; - var reB = new RegExp(reA.source, "g"); - function zero(b) { - return function() { - return b; + Lexer.STATIC = { + 'INITIAL': 'I', + 'DEBUG_CONTEXT_LIMIT': 20, + 'END_TAG': '$EOF' + }; + var lexer = new Lexer({ + 'rules': [ + ['b', /^\[(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['c', /^(?:[\t\r\n\f\x20]*)\]/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['d', /^(?:[\t\r\n\f\x20]*)~=(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['e', /^(?:[\t\r\n\f\x20]*)\|=(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['f', /^(?:[\t\r\n\f\x20]*)\^=(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['g', /^(?:[\t\r\n\f\x20]*)\$=(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['h', /^(?:[\t\r\n\f\x20]*)\*=(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['i', /^(?:[\t\r\n\f\x20]*)\=(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['j', /^(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)\(/, + function () { + this.text = this.yy.trim(this.text).slice(0, -1); + this.pushState('fn'); + } + ], + ['k', /^[^\)]*/, + function () { + this.popState(); + }, + ['fn'] + ], + ['l', /^(?:[\t\r\n\f\x20]*)\)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['m', /^:not\((?:[\t\r\n\f\x20]*)/i, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['n', /^(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)/, + function () { + this.text = this.yy.unEscape(this.text); + } + ], + ['o', /^"(\\"|[^"])*"/, + function () { + this.text = this.yy.unEscapeStr(this.text); + } + ], + ['o', /^'(\\'|[^'])*'/, + function () { + this.text = this.yy.unEscapeStr(this.text); + } + ], + ['p', /^#(?:(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))+)/, + function () { + this.text = this.yy.unEscape(this.text.slice(1)); + } + ], + ['q', /^\.(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)/, + function () { + this.text = this.yy.unEscape(this.text.slice(1)); + } + ], + ['r', /^(?:[\t\r\n\f\x20]*),(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['s', /^::?/, 0], + ['t', /^(?:[\t\r\n\f\x20]*)\+(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['u', /^(?:[\t\r\n\f\x20]*)>(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['v', /^(?:[\t\r\n\f\x20]*)~(?:[\t\r\n\f\x20]*)/, + function () { + this.text = this.yy.trim(this.text); + } + ], + ['w', /^\*/, 0], + ['x', /^(?:[\t\r\n\f\x20]+)/, 0], + ['y', /^./, 0] + ] + }); + parser.lexer = lexer; + lexer.symbolMap = { + '$EOF': 'a', + 'LEFT_BRACKET': 'b', + 'RIGHT_BRACKET': 'c', + 'INCLUDES': 'd', + 'DASH_MATCH': 'e', + 'PREFIX_MATCH': 'f', + 'SUFFIX_MATCH': 'g', + 'SUBSTRING_MATCH': 'h', + 'ALL_MATCH': 'i', + 'FUNCTION': 'j', + 'PARAMETER': 'k', + 'RIGHT_PARENTHESES': 'l', + 'NOT': 'm', + 'IDENT': 'n', + 'STRING': 'o', + 'HASH': 'p', + 'CLASS': 'q', + 'COMMA': 'r', + 'COLON': 's', + 'PLUS': 't', + 'GREATER': 'u', + 'TILDE': 'v', + 'UNIVERSAL': 'w', + 'S': 'x', + 'INVALID': 'y', + '$START': 'z', + 'selectors_group': 'aa', + 'selector': 'ab', + 'simple_selector_sequence': 'ac', + 'combinator': 'ad', + 'type_selector': 'ae', + 'id_selector': 'af', + 'class_selector': 'ag', + 'attrib_match': 'ah', + 'attrib': 'ai', + 'attrib_val': 'aj', + 'pseudo': 'ak', + 'negation': 'al', + 'negation_arg': 'am', + 'suffix_selector': 'an', + 'suffix_selectors': 'ao' }; - } + parser.productions = [ + ['z', ['aa']], + ['aa', ['ab'], + function () { + return [this.$1]; + } + ], + ['aa', ['aa', 'r', 'ab'], + function () { + this.$1.push(this.$3); + } + ], + ['ab', ['ac']], + ['ab', ['ab', 'ad', 'ac'], + function () { + // LinkedList - function one(b) { - return function(t) { - return b(t) + ""; + this.$1.nextCombinator = this.$3.prevCombinator = this.$2; + var order; + order = this.$1.order = this.$1.order || 0; + this.$3.order = order + 1; + this.$3.prev = this.$1; + this.$1.next = this.$3; + return this.$3; + } + ], + ['ad', ['t']], + ['ad', ['u']], + ['ad', ['v']], + ['ad', ['x'], + function () { + return ' '; + } + ], + ['ae', ['n'], + function () { + return { + t: 'tag', + value: this.$1 + }; + } + ], + ['ae', ['w'], + function () { + return { + t: 'tag', + value: this.$1 + }; + } + ], + ['af', ['p'], + function () { + return { + t: 'id', + value: this.$1 + }; + } + ], + ['ag', ['q'], + function () { + return { + t: 'cls', + value: this.$1 + }; + } + ], + ['ah', ['f']], + ['ah', ['g']], + ['ah', ['h']], + ['ah', ['i']], + ['ah', ['d']], + ['ah', ['e']], + ['ai', ['b', 'n', 'c'], + function () { + return { + t: 'attrib', + value: { + ident: this.$2 + } + }; + } + ], + ['aj', ['n']], + ['aj', ['o']], + ['ai', ['b', 'n', 'ah', 'aj', 'c'], + function () { + return { + t: 'attrib', + value: { + ident: this.$2, + match: this.$3, + value: this.$4 + } + }; + } + ], + ['ak', ['s', 'j', 'k', 'l'], + function () { + return { + t: 'pseudo', + value: { + fn: this.$2.toLowerCase(), + param: this.$3 + } + }; + } + ], + ['ak', ['s', 'n'], + function () { + return { + t: 'pseudo', + value: { + ident: this.$2.toLowerCase() + } + }; + } + ], + ['al', ['m', 'am', 'l'], + function () { + return { + t: 'pseudo', + value: { + fn: 'not', + param: this.$2 + } + }; + } + ], + ['am', ['ae']], + ['am', ['af']], + ['am', ['ag']], + ['am', ['ai']], + ['am', ['ak']], + ['an', ['af']], + ['an', ['ag']], + ['an', ['ai']], + ['an', ['ak']], + ['an', ['al']], + ['ao', ['an'], + function () { + return [this.$1]; + } + ], + ['ao', ['ao', 'an'], + function () { + this.$1.push(this.$2); + } + ], + ['ac', ['ae']], + ['ac', ['ao'], + function () { + return { + suffix: this.$1 + }; + } + ], + ['ac', ['ae', 'ao'], + function () { + return { + t: 'tag', + value: this.$1.value, + suffix: this.$2 + }; + } + ] + ]; + parser.table = { + 'gotos': { + '0': { + 'aa': 8, + 'ab': 9, + 'ae': 10, + 'af': 11, + 'ag': 12, + 'ai': 13, + 'ak': 14, + 'al': 15, + 'an': 16, + 'ao': 17, + 'ac': 18 + }, + '2': { + 'ae': 20, + 'af': 21, + 'ag': 22, + 'ai': 23, + 'ak': 24, + 'am': 25 + }, + '9': { + 'ad': 33 + }, + '10': { + 'af': 11, + 'ag': 12, + 'ai': 13, + 'ak': 14, + 'al': 15, + 'an': 16, + 'ao': 34 + }, + '17': { + 'af': 11, + 'ag': 12, + 'ai': 13, + 'ak': 14, + 'al': 15, + 'an': 35 + }, + '19': { + 'ah': 43 + }, + '28': { + 'ab': 46, + 'ae': 10, + 'af': 11, + 'ag': 12, + 'ai': 13, + 'ak': 14, + 'al': 15, + 'an': 16, + 'ao': 17, + 'ac': 18 + }, + '33': { + 'ae': 10, + 'af': 11, + 'ag': 12, + 'ai': 13, + 'ak': 14, + 'al': 15, + 'an': 16, + 'ao': 17, + 'ac': 47 + }, + '34': { + 'af': 11, + 'ag': 12, + 'ai': 13, + 'ak': 14, + 'al': 15, + 'an': 35 + }, + '43': { + 'aj': 50 + }, + '46': { + 'ad': 33 + } + }, + 'action': { + '0': { + 'b': [1, undefined, 1], + 'm': [1, undefined, 2], + 'n': [1, undefined, 3], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6], + 'w': [1, undefined, 7] + }, + '1': { + 'n': [1, undefined, 19] + }, + '2': { + 'b': [1, undefined, 1], + 'n': [1, undefined, 3], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6], + 'w': [1, undefined, 7] + }, + '3': { + 'a': [2, 9], + 'r': [2, 9], + 't': [2, 9], + 'u': [2, 9], + 'v': [2, 9], + 'x': [2, 9], + 'p': [2, 9], + 'q': [2, 9], + 'b': [2, 9], + 's': [2, 9], + 'm': [2, 9], + 'l': [2, 9] + }, + '4': { + 'a': [2, 11], + 'r': [2, 11], + 't': [2, 11], + 'u': [2, 11], + 'v': [2, 11], + 'x': [2, 11], + 'p': [2, 11], + 'q': [2, 11], + 'b': [2, 11], + 's': [2, 11], + 'm': [2, 11], + 'l': [2, 11] + }, + '5': { + 'a': [2, 12], + 'r': [2, 12], + 't': [2, 12], + 'u': [2, 12], + 'v': [2, 12], + 'x': [2, 12], + 'p': [2, 12], + 'q': [2, 12], + 'b': [2, 12], + 's': [2, 12], + 'm': [2, 12], + 'l': [2, 12] + }, + '6': { + 'j': [1, undefined, 26], + 'n': [1, undefined, 27] + }, + '7': { + 'a': [2, 10], + 'r': [2, 10], + 't': [2, 10], + 'u': [2, 10], + 'v': [2, 10], + 'x': [2, 10], + 'p': [2, 10], + 'q': [2, 10], + 'b': [2, 10], + 's': [2, 10], + 'm': [2, 10], + 'l': [2, 10] + }, + '8': { + 'a': [0], + 'r': [1, undefined, 28] + }, + '9': { + 'a': [2, 1], + 'r': [2, 1], + 't': [1, undefined, 29], + 'u': [1, undefined, 30], + 'v': [1, undefined, 31], + 'x': [1, undefined, 32] + }, + '10': { + 'a': [2, 38], + 'r': [2, 38], + 't': [2, 38], + 'u': [2, 38], + 'v': [2, 38], + 'x': [2, 38], + 'b': [1, undefined, 1], + 'm': [1, undefined, 2], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6] + }, + '11': { + 'a': [2, 31], + 'r': [2, 31], + 't': [2, 31], + 'u': [2, 31], + 'v': [2, 31], + 'x': [2, 31], + 'p': [2, 31], + 'q': [2, 31], + 'b': [2, 31], + 's': [2, 31], + 'm': [2, 31] + }, + '12': { + 'a': [2, 32], + 'r': [2, 32], + 't': [2, 32], + 'u': [2, 32], + 'v': [2, 32], + 'x': [2, 32], + 'p': [2, 32], + 'q': [2, 32], + 'b': [2, 32], + 's': [2, 32], + 'm': [2, 32] + }, + '13': { + 'a': [2, 33], + 'r': [2, 33], + 't': [2, 33], + 'u': [2, 33], + 'v': [2, 33], + 'x': [2, 33], + 'p': [2, 33], + 'q': [2, 33], + 'b': [2, 33], + 's': [2, 33], + 'm': [2, 33] + }, + '14': { + 'a': [2, 34], + 'r': [2, 34], + 't': [2, 34], + 'u': [2, 34], + 'v': [2, 34], + 'x': [2, 34], + 'p': [2, 34], + 'q': [2, 34], + 'b': [2, 34], + 's': [2, 34], + 'm': [2, 34] + }, + '15': { + 'a': [2, 35], + 'r': [2, 35], + 't': [2, 35], + 'u': [2, 35], + 'v': [2, 35], + 'x': [2, 35], + 'p': [2, 35], + 'q': [2, 35], + 'b': [2, 35], + 's': [2, 35], + 'm': [2, 35] + }, + '16': { + 'a': [2, 36], + 'r': [2, 36], + 't': [2, 36], + 'u': [2, 36], + 'v': [2, 36], + 'x': [2, 36], + 'p': [2, 36], + 'q': [2, 36], + 'b': [2, 36], + 's': [2, 36], + 'm': [2, 36] + }, + '17': { + 'a': [2, 39], + 'r': [2, 39], + 't': [2, 39], + 'u': [2, 39], + 'v': [2, 39], + 'x': [2, 39], + 'b': [1, undefined, 1], + 'm': [1, undefined, 2], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6] + }, + '18': { + 'a': [2, 3], + 'r': [2, 3], + 't': [2, 3], + 'u': [2, 3], + 'v': [2, 3], + 'x': [2, 3] + }, + '19': { + 'c': [1, undefined, 36], + 'd': [1, undefined, 37], + 'e': [1, undefined, 38], + 'f': [1, undefined, 39], + 'g': [1, undefined, 40], + 'h': [1, undefined, 41], + 'i': [1, undefined, 42] + }, + '20': { + 'l': [2, 26] + }, + '21': { + 'l': [2, 27] + }, + '22': { + 'l': [2, 28] + }, + '23': { + 'l': [2, 29] + }, + '24': { + 'l': [2, 30] + }, + '25': { + 'l': [1, undefined, 44] + }, + '26': { + 'k': [1, undefined, 45] + }, + '27': { + 'a': [2, 24], + 'r': [2, 24], + 't': [2, 24], + 'u': [2, 24], + 'v': [2, 24], + 'x': [2, 24], + 'p': [2, 24], + 'q': [2, 24], + 'b': [2, 24], + 's': [2, 24], + 'm': [2, 24], + 'l': [2, 24] + }, + '28': { + 'b': [1, undefined, 1], + 'm': [1, undefined, 2], + 'n': [1, undefined, 3], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6], + 'w': [1, undefined, 7] + }, + '29': { + 'n': [2, 5], + 'w': [2, 5], + 'p': [2, 5], + 'q': [2, 5], + 'b': [2, 5], + 's': [2, 5], + 'm': [2, 5] + }, + '30': { + 'n': [2, 6], + 'w': [2, 6], + 'p': [2, 6], + 'q': [2, 6], + 'b': [2, 6], + 's': [2, 6], + 'm': [2, 6] + }, + '31': { + 'n': [2, 7], + 'w': [2, 7], + 'p': [2, 7], + 'q': [2, 7], + 'b': [2, 7], + 's': [2, 7], + 'm': [2, 7] + }, + '32': { + 'n': [2, 8], + 'w': [2, 8], + 'p': [2, 8], + 'q': [2, 8], + 'b': [2, 8], + 's': [2, 8], + 'm': [2, 8] + }, + '33': { + 'b': [1, undefined, 1], + 'm': [1, undefined, 2], + 'n': [1, undefined, 3], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6], + 'w': [1, undefined, 7] + }, + '34': { + 'a': [2, 40], + 'r': [2, 40], + 't': [2, 40], + 'u': [2, 40], + 'v': [2, 40], + 'x': [2, 40], + 'b': [1, undefined, 1], + 'm': [1, undefined, 2], + 'p': [1, undefined, 4], + 'q': [1, undefined, 5], + 's': [1, undefined, 6] + }, + '35': { + 'a': [2, 37], + 'r': [2, 37], + 't': [2, 37], + 'u': [2, 37], + 'v': [2, 37], + 'x': [2, 37], + 'p': [2, 37], + 'q': [2, 37], + 'b': [2, 37], + 's': [2, 37], + 'm': [2, 37] + }, + '36': { + 'a': [2, 19], + 'r': [2, 19], + 't': [2, 19], + 'u': [2, 19], + 'v': [2, 19], + 'x': [2, 19], + 'p': [2, 19], + 'q': [2, 19], + 'b': [2, 19], + 's': [2, 19], + 'm': [2, 19], + 'l': [2, 19] + }, + '37': { + 'n': [2, 17], + 'o': [2, 17] + }, + '38': { + 'n': [2, 18], + 'o': [2, 18] + }, + '39': { + 'n': [2, 13], + 'o': [2, 13] + }, + '40': { + 'n': [2, 14], + 'o': [2, 14] + }, + '41': { + 'n': [2, 15], + 'o': [2, 15] + }, + '42': { + 'n': [2, 16], + 'o': [2, 16] + }, + '43': { + 'n': [1, undefined, 48], + 'o': [1, undefined, 49] + }, + '44': { + 'a': [2, 25], + 'r': [2, 25], + 't': [2, 25], + 'u': [2, 25], + 'v': [2, 25], + 'x': [2, 25], + 'p': [2, 25], + 'q': [2, 25], + 'b': [2, 25], + 's': [2, 25], + 'm': [2, 25] + }, + '45': { + 'l': [1, undefined, 51] + }, + '46': { + 'a': [2, 2], + 'r': [2, 2], + 't': [1, undefined, 29], + 'u': [1, undefined, 30], + 'v': [1, undefined, 31], + 'x': [1, undefined, 32] + }, + '47': { + 'a': [2, 4], + 'r': [2, 4], + 't': [2, 4], + 'u': [2, 4], + 'v': [2, 4], + 'x': [2, 4] + }, + '48': { + 'c': [2, 20] + }, + '49': { + 'c': [2, 21] + }, + '50': { + 'c': [1, undefined, 52] + }, + '51': { + 'a': [2, 23], + 'r': [2, 23], + 't': [2, 23], + 'u': [2, 23], + 'v': [2, 23], + 'x': [2, 23], + 'p': [2, 23], + 'q': [2, 23], + 'b': [2, 23], + 's': [2, 23], + 'm': [2, 23], + 'l': [2, 23] + }, + '52': { + 'a': [2, 22], + 'r': [2, 22], + 't': [2, 22], + 'u': [2, 22], + 'v': [2, 22], + 'x': [2, 22], + 'p': [2, 22], + 'q': [2, 22], + 'b': [2, 22], + 's': [2, 22], + 'm': [2, 22], + 'l': [2, 22] + } + } }; - } - - function string(a, b) { - var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b - am, // current match in a - bm, // current match in b - bs, // string preceding current number in b, if any - i = -1, // index in s - s = [], // string constants and placeholders - q = []; // number interpolators - - // Coerce inputs to strings. - a = a + "", b = b + ""; + parser.parse = function parse(input, filename) { + var self = this, + lexer = self.lexer, + state, + symbol, + action, + table = self.table, + gotos = table.gotos, + tableAction = table.action, + productions = self.productions, + valueStack = [null], + // for debug info + prefix = filename ? ('in file: ' + filename + ' ') : '', + stack = [0]; - // Interpolate pairs of numbers in a & b. - while ((am = reA.exec(a)) - && (bm = reB.exec(b))) { - if ((bs = bm.index) > bi) { // a string precedes the next number in b - bs = b.slice(bi, bs); - if (s[i]) s[i] += bs; // coalesce with previous string - else s[++i] = bs; - } - if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match - if (s[i]) s[i] += bm; // coalesce with previous string - else s[++i] = bm; - } else { // interpolate non-matching numbers - s[++i] = null; - q.push({i: i, x: number(am, bm)}); - } - bi = reB.lastIndex; - } + lexer.resetInput(input); - // Add remains of b. - if (bi < b.length) { - bs = b.slice(bi); - if (s[i]) s[i] += bs; // coalesce with previous string - else s[++i] = bs; - } + while (1) { + // retrieve state number from top of stack + state = stack[stack.length - 1]; - // Special optimization for only a single match. - // Otherwise, interpolate each of the numbers and rejoin the string. - return s.length < 2 ? (q[0] - ? one(q[0].x) - : zero(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(""); - }); - } + if (!symbol) { + symbol = lexer.lex(); + } - function value(a, b) { - var t = typeof b, c; - return b == null || t === "boolean" ? constant(b) - : (t === "number" ? number - : t === "string" ? ((c = d3Color.color(b)) ? (b = c, rgb$1) : string) - : b instanceof d3Color.color ? rgb$1 - : Array.isArray(b) ? array - : object)(a, b); - } + if (symbol) { + // read action for current state and first input + action = tableAction[state] && tableAction[state][symbol]; + } else { + action = null; + } - function round(a, b) { - return a = +a, b -= a, function(t) { - return Math.round(a + b * t); - }; - } + if (!action) { + var expected = [], + error; + //#JSCOVERAGE_IF + if (tableAction[state]) { + for (var symbolForState in tableAction[state]) { + expected.push(self.lexer.mapReverseSymbol(symbolForState)); + } + } + error = prefix + 'syntax error at line ' + lexer.lineNumber + + ':\n' + lexer.showDebugInfo() + + '\n' + 'expect ' + expected.join(', '); + throw new Error(error); + } - var rad2deg = 180 / Math.PI; + switch (action[GrammarConst.TYPE_INDEX]) { + case GrammarConst.SHIFT_TYPE: + stack.push(symbol); - var identity = { - translateX: 0, - translateY: 0, - rotate: 0, - skewX: 0, - scaleX: 1, - scaleY: 1 - }; + valueStack.push(lexer.text); - function decompose(a, b, c, d, e, f) { - if (a * d === b * c) return null; + // push state + stack.push(action[GrammarConst.TO_INDEX]); - var scaleX = Math.sqrt(a * a + b * b); - a /= scaleX, b /= scaleX; + // allow to read more + symbol = null; - var skewX = a * c + b * d; - c -= a * skewX, d -= b * skewX; + break; - var scaleY = Math.sqrt(c * c + d * d); - c /= scaleY, d /= scaleY, skewX /= scaleY; + case GrammarConst.REDUCE_TYPE: + var production = productions[action[GrammarConst.PRODUCTION_INDEX]], + reducedSymbol = production.symbol || production[0], + reducedAction = production.action || production[2], + reducedRhs = production.rhs || production[1], + len = reducedRhs.length, + i = 0, + ret, + $$ = valueStack[valueStack.length - len]; // default to $$ = $1 - if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX; + ret = undefined; - return { - translateX: e, - translateY: f, - rotate: Math.atan2(b, a) * rad2deg, - skewX: Math.atan(skewX) * rad2deg, - scaleX: scaleX, - scaleY: scaleY - }; - } + self.$$ = $$; - var cssNode; - var cssRoot; - var cssView; - var svgNode; - function parseCss(value) { - if (value === "none") return identity; - if (!cssNode) cssNode = document.createElement("DIV"), cssRoot = document.documentElement, cssView = document.defaultView; - cssNode.style.transform = value; - value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue("transform"); - cssRoot.removeChild(cssNode); - var m = value.slice(7, -1).split(","); - return decompose(+m[0], +m[1], +m[2], +m[3], +m[4], +m[5]); - } + for (; i < len; i++) { + self['$' + (len - i)] = valueStack[valueStack.length - 1 - i]; + } - function parseSvg(value) { - if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g"); - svgNode.setAttribute("transform", value == null ? "" : value); - var m = svgNode.transform.baseVal.consolidate().matrix; - return decompose(m.a, m.b, m.c, m.d, m.e, m.f); - } + if (reducedAction) { + ret = reducedAction.call(self); + } - function interpolateTransform(parse, pxComma, pxParen, degParen) { + if (ret !== undefined) { + $$ = ret; + } else { + $$ = self.$$; + } - function pop(s) { - return s.length ? s.pop() + " " : ""; - } + stack = stack.slice(0, -1 * len * 2); + valueStack = valueStack.slice(0, -1 * len); - function translate(xa, ya, xb, yb, s, q) { - if (xa !== xb || ya !== yb) { - var i = s.push("translate(", null, pxComma, null, pxParen); - q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)}); - } else if (xb || yb) { - s.push("translate(" + xb + pxComma + yb + pxParen); - } - } + stack.push(reducedSymbol); - function rotate(a, b, s, q) { - if (a !== b) { - if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path - q.push({i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: number(a, b)}); - } else if (b) { - s.push(pop(s) + "rotate(" + b + degParen); - } - } + valueStack.push($$); - function skewX(a, b, s, q) { - if (a !== b) { - q.push({i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: number(a, b)}); - } else if (b) { - s.push(pop(s) + "skewX(" + b + degParen); - } - } + var newState = gotos[stack[stack.length - 2]][stack[stack.length - 1]]; - function scale(xa, ya, xb, yb, s, q) { - if (xa !== xb || ya !== yb) { - var i = s.push(pop(s) + "scale(", null, ",", null, ")"); - q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)}); - } else if (xb !== 1 || yb !== 1) { - s.push(pop(s) + "scale(" + xb + "," + yb + ")"); - } - } + stack.push(newState); - return function(a, b) { - var s = [], // string constants and placeholders - q = []; // number interpolators - a = parse(a), b = parse(b); - translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q); - rotate(a.rotate, b.rotate, s, q); - skewX(a.skewX, b.skewX, s, q); - scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q); - a = b = null; // gc - return function(t) { - var i = -1, n = q.length, o; - while (++i < n) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }; + break; + + case GrammarConst.ACCEPT_TYPE: + return $$; + } + } }; - } + return parser; + })(); + if (true) { + module.exports = parser; + } - var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)"); - var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")"); +/***/ }), +/* 38 */ +/***/ (function(module, exports) { - var rho = Math.SQRT2; - var rho2 = 2; - var rho4 = 4; - var epsilon2 = 1e-12; - function cosh(x) { - return ((x = Math.exp(x)) + 1 / x) / 2; - } + var hyphenExpression = /\-+([a-z])/gi - function sinh(x) { - return ((x = Math.exp(x)) - 1 / x) / 2; + function upperCaseFirstMatch (match, c, offset) { + if (offset !== 0) { + return c.toUpperCase() + } else { + return c } + } - function tanh(x) { - return ((x = Math.exp(2 * x)) - 1) / (x + 1); - } + function camelCase (str) { + var camelCased = str.replace(hyphenExpression, upperCaseFirstMatch) + hyphenExpression.lastIndex = 0 + return camelCased + } - // p0 = [ux0, uy0, w0] - // p1 = [ux1, uy1, w1] - function zoom(p0, p1) { - var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], - ux1 = p1[0], uy1 = p1[1], w1 = p1[2], - dx = ux1 - ux0, - dy = uy1 - uy0, - d2 = dx * dx + dy * dy, - i, - S; + module.exports = camelCase - // Special case for u0 ≅ u1. - if (d2 < epsilon2) { - S = Math.log(w1 / w0) / rho; - i = function(t) { - return [ - ux0 + t * dx, - uy0 + t * dy, - w0 * Math.exp(rho * t * S) - ]; - } - } - // General case. - else { - var d1 = Math.sqrt(d2), - b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1), - b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1), - r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), - r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1); - S = (r1 - r0) / rho; - i = function(t) { - var s = t * S, - coshr0 = cosh(r0), - u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0)); - return [ - ux0 + u * dx, - uy0 + u * dy, - w0 * coshr0 / cosh(rho * s + r0) - ]; - } - } +/***/ }), +/* 39 */ +/***/ (function(module, exports) { - i.duration = S * 1000; + function isString (value) { + return typeof value === 'string' + } - return i; - } + module.exports = isString - function interpolateHsl(start, end) { - var h = interpolateHue((start = d3Color.hsl(start)).h, (end = d3Color.hsl(end)).h), - s = nogamma(start.s, end.s), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.s = s(t); - start.l = l(t); - start.opacity = opacity(t); - return start + ""; - }; - } - function interpolateHslLong(start, end) { - var h = nogamma((start = d3Color.hsl(start)).h, (end = d3Color.hsl(end)).h), - s = nogamma(start.s, end.s), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.s = s(t); - start.l = l(t); - start.opacity = opacity(t); - return start + ""; - }; - } +/***/ }), +/* 40 */ +/***/ (function(module, exports) { - function interpolateLab(start, end) { - var l = nogamma((start = d3Color.lab(start)).l, (end = d3Color.lab(end)).l), - a = nogamma(start.a, end.a), - b = nogamma(start.b, end.b), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.l = l(t); - start.a = a(t); - start.b = b(t); - start.opacity = opacity(t); - return start + ""; - }; - } + function isUndefined (value) { + return typeof value === 'undefined' + } - function interpolateHcl(start, end) { - var h = interpolateHue((start = d3Color.hcl(start)).h, (end = d3Color.hcl(end)).h), - c = nogamma(start.c, end.c), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.c = c(t); - start.l = l(t); - start.opacity = opacity(t); - return start + ""; - }; - } + module.exports = isUndefined - function interpolateHclLong(start, end) { - var h = nogamma((start = d3Color.hcl(start)).h, (end = d3Color.hcl(end)).h), - c = nogamma(start.c, end.c), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.c = c(t); - start.l = l(t); - start.opacity = opacity(t); - return start + ""; - }; - } - var cubehelix$1 = (function gamma(y) { - y = +y; +/***/ }), +/* 41 */ +/***/ (function(module, exports) { - function interpolateCubehelix(start, end) { - var h = interpolateHue((start = d3Color.cubehelix(start)).h, (end = d3Color.cubehelix(end)).h), - s = nogamma(start.s, end.s), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.s = s(t); - start.l = l(Math.pow(t, y)); - start.opacity = opacity(t); - return start + ""; - }; + function assign (dest) { + var args = arguments + var source + + for (var i = 1; i < args.length; i++) { + source = args[i] + + for (var key in source) { + dest[key] = source[key] } + } - interpolateCubehelix.gamma = gamma; + return dest + } - return interpolateCubehelix; - })(1); + module.exports = assign - var cubehelixLong = (function gamma(y) { - y = +y; - function interpolateCubehelixLong(start, end) { - var h = nogamma((start = d3Color.cubehelix(start)).h, (end = d3Color.cubehelix(end)).h), - s = nogamma(start.s, end.s), - l = nogamma(start.l, end.l), - opacity = nogamma(start.opacity, end.opacity); - return function(t) { - start.h = h(t); - start.s = s(t); - start.l = l(Math.pow(t, y)); - start.opacity = opacity(t); - return start + ""; - }; - } +/***/ }), +/* 42 */ +/***/ (function(module, exports) { + + function mapValues (source, fn) { + var destination = {} - interpolateCubehelixLong.gamma = gamma; + for (var key in source) { + if (source.hasOwnProperty(key)) { + destination[key] = fn(source[key]) + } + } - return interpolateCubehelixLong; - })(1); + return destination + } - var version = "0.7.0"; + module.exports = mapValues - exports.version = version; - exports.interpolate = value; - exports.interpolateArray = array; - exports.interpolateNumber = number; - exports.interpolateObject = object; - exports.interpolateRound = round; - exports.interpolateString = string; - exports.interpolateTransformCss = interpolateTransformCss; - exports.interpolateTransformSvg = interpolateTransformSvg; - exports.interpolateZoom = zoom; - exports.interpolateRgb = rgb$1; - exports.interpolateHsl = interpolateHsl; - exports.interpolateHslLong = interpolateHslLong; - exports.interpolateLab = interpolateLab; - exports.interpolateHcl = interpolateHcl; - exports.interpolateHclLong = interpolateHclLong; - exports.interpolateCubehelix = cubehelix$1; - exports.interpolateCubehelixLong = cubehelixLong; - })); +/***/ }), +/* 43 */ +/***/ (function(module, exports, __webpack_require__) { -/***/ }, -/* 52 */ -/***/ function(module, exports, __webpack_require__) { + var camelCase = __webpack_require__(38) - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_color = global.d3_color || {}))); - }(this, function (exports) { 'use strict'; + function styleCamelCase (name) { + var camel = camelCase(name) - function define(constructor, factory, prototype) { - constructor.prototype = factory.prototype = prototype; - prototype.constructor = constructor; + // Detect if the style property is already camelCased + // To not convert Webkit*, Moz* and O* to lowercase + if (camel.charAt(0).toUpperCase() === name.charAt(0)) { + return name.charAt(0) + camel.slice(1) } - function extend(parent, definition) { - var prototype = Object.create(parent.prototype); - for (var key in definition) prototype[key] = definition[key]; - return prototype; + if (name.charAt(0) === '-') { + return camel.indexOf('ms') === 0 ? camel + : camel.charAt(0).toUpperCase() + camel.slice(1) + } else { + return camel } + } - function Color() {} + module.exports = styleCamelCase - var darker = 0.7; - var brighter = 1 / darker; - var reHex3 = /^#([0-9a-f]{3})$/; - var reHex6 = /^#([0-9a-f]{6})$/; - var reRgbInteger = /^rgb\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*\)$/; - var reRgbPercent = /^rgb\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/; - var reRgbaInteger = /^rgba\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/; - var reRgbaPercent = /^rgba\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/; - var reHslPercent = /^hsl\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/; - var reHslaPercent = /^hsla\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/; - var named = { - aliceblue: 0xf0f8ff, - antiquewhite: 0xfaebd7, - aqua: 0x00ffff, - aquamarine: 0x7fffd4, - azure: 0xf0ffff, - beige: 0xf5f5dc, - bisque: 0xffe4c4, - black: 0x000000, - blanchedalmond: 0xffebcd, - blue: 0x0000ff, - blueviolet: 0x8a2be2, - brown: 0xa52a2a, - burlywood: 0xdeb887, - cadetblue: 0x5f9ea0, - chartreuse: 0x7fff00, - chocolate: 0xd2691e, - coral: 0xff7f50, - cornflowerblue: 0x6495ed, - cornsilk: 0xfff8dc, - crimson: 0xdc143c, - cyan: 0x00ffff, - darkblue: 0x00008b, - darkcyan: 0x008b8b, - darkgoldenrod: 0xb8860b, - darkgray: 0xa9a9a9, - darkgreen: 0x006400, - darkgrey: 0xa9a9a9, - darkkhaki: 0xbdb76b, - darkmagenta: 0x8b008b, - darkolivegreen: 0x556b2f, - darkorange: 0xff8c00, - darkorchid: 0x9932cc, - darkred: 0x8b0000, - darksalmon: 0xe9967a, - darkseagreen: 0x8fbc8f, - darkslateblue: 0x483d8b, - darkslategray: 0x2f4f4f, - darkslategrey: 0x2f4f4f, - darkturquoise: 0x00ced1, - darkviolet: 0x9400d3, - deeppink: 0xff1493, - deepskyblue: 0x00bfff, - dimgray: 0x696969, - dimgrey: 0x696969, - dodgerblue: 0x1e90ff, - firebrick: 0xb22222, - floralwhite: 0xfffaf0, - forestgreen: 0x228b22, - fuchsia: 0xff00ff, - gainsboro: 0xdcdcdc, - ghostwhite: 0xf8f8ff, - gold: 0xffd700, - goldenrod: 0xdaa520, - gray: 0x808080, - green: 0x008000, - greenyellow: 0xadff2f, - grey: 0x808080, - honeydew: 0xf0fff0, - hotpink: 0xff69b4, - indianred: 0xcd5c5c, - indigo: 0x4b0082, - ivory: 0xfffff0, - khaki: 0xf0e68c, - lavender: 0xe6e6fa, - lavenderblush: 0xfff0f5, - lawngreen: 0x7cfc00, - lemonchiffon: 0xfffacd, - lightblue: 0xadd8e6, - lightcoral: 0xf08080, - lightcyan: 0xe0ffff, - lightgoldenrodyellow: 0xfafad2, - lightgray: 0xd3d3d3, - lightgreen: 0x90ee90, - lightgrey: 0xd3d3d3, - lightpink: 0xffb6c1, - lightsalmon: 0xffa07a, - lightseagreen: 0x20b2aa, - lightskyblue: 0x87cefa, - lightslategray: 0x778899, - lightslategrey: 0x778899, - lightsteelblue: 0xb0c4de, - lightyellow: 0xffffe0, - lime: 0x00ff00, - limegreen: 0x32cd32, - linen: 0xfaf0e6, - magenta: 0xff00ff, - maroon: 0x800000, - mediumaquamarine: 0x66cdaa, - mediumblue: 0x0000cd, - mediumorchid: 0xba55d3, - mediumpurple: 0x9370db, - mediumseagreen: 0x3cb371, - mediumslateblue: 0x7b68ee, - mediumspringgreen: 0x00fa9a, - mediumturquoise: 0x48d1cc, - mediumvioletred: 0xc71585, - midnightblue: 0x191970, - mintcream: 0xf5fffa, - mistyrose: 0xffe4e1, - moccasin: 0xffe4b5, - navajowhite: 0xffdead, - navy: 0x000080, - oldlace: 0xfdf5e6, - olive: 0x808000, - olivedrab: 0x6b8e23, - orange: 0xffa500, - orangered: 0xff4500, - orchid: 0xda70d6, - palegoldenrod: 0xeee8aa, - palegreen: 0x98fb98, - paleturquoise: 0xafeeee, - palevioletred: 0xdb7093, - papayawhip: 0xffefd5, - peachpuff: 0xffdab9, - peru: 0xcd853f, - pink: 0xffc0cb, - plum: 0xdda0dd, - powderblue: 0xb0e0e6, - purple: 0x800080, - rebeccapurple: 0x663399, - red: 0xff0000, - rosybrown: 0xbc8f8f, - royalblue: 0x4169e1, - saddlebrown: 0x8b4513, - salmon: 0xfa8072, - sandybrown: 0xf4a460, - seagreen: 0x2e8b57, - seashell: 0xfff5ee, - sienna: 0xa0522d, - silver: 0xc0c0c0, - skyblue: 0x87ceeb, - slateblue: 0x6a5acd, - slategray: 0x708090, - slategrey: 0x708090, - snow: 0xfffafa, - springgreen: 0x00ff7f, - steelblue: 0x4682b4, - tan: 0xd2b48c, - teal: 0x008080, - thistle: 0xd8bfd8, - tomato: 0xff6347, - turquoise: 0x40e0d0, - violet: 0xee82ee, - wheat: 0xf5deb3, - white: 0xffffff, - whitesmoke: 0xf5f5f5, - yellow: 0xffff00, - yellowgreen: 0x9acd32 - }; +/***/ }), +/* 44 */ +/***/ (function(module, exports) { - define(Color, color, { - displayable: function() { - return this.rgb().displayable(); - }, - toString: function() { - return this.rgb() + ""; + var Window = { + getComputedStyle: function (node) { + return { + getPropertyValue: node.style.getProperty } - }); + } + } - function color(format) { - var m; - format = (format + "").trim().toLowerCase(); - return (m = reHex3.exec(format)) ? (m = parseInt(m[1], 16), new Rgb((m >> 8 & 0xf) | (m >> 4 & 0x0f0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1)) // #f00 - : (m = reHex6.exec(format)) ? rgbn(parseInt(m[1], 16)) // #ff0000 - : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0) - : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%) - : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1) - : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1) - : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%) - : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1) - : named.hasOwnProperty(format) ? rgbn(named[format]) - : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) - : null; + module.exports = Window + + +/***/ }), +/* 45 */ +/***/ (function(module, exports, __webpack_require__) { + + var Element = __webpack_require__(32) + var mapValues = __webpack_require__(42) + + var mixin = { + componentWillMount: function () { + this.connectedFauxDOM = {} + this.animateFauxDOMUntil = 0 + }, + connectFauxDOM: function (node, name) { + this.connectedFauxDOM[name] = typeof node !== 'string' ? node : new Element(node) + setTimeout(this.drawFauxDOM) + return this.connectedFauxDOM[name] + }, + drawFauxDOM: function () { + var virtualDOM = mapValues(this.connectedFauxDOM, function (n) { + return n.toReact() + }) + this.setState(virtualDOM) } + } - function rgbn(n) { - return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1); - } + module.exports = mixin - function rgba(r, g, b, a) { - if (a <= 0) r = g = b = NaN; - return new Rgb(r, g, b, a); - } - function rgbConvert(o) { - if (!(o instanceof Color)) o = color(o); - if (!o) return new Rgb; - o = o.rgb(); - return new Rgb(o.r, o.g, o.b, o.opacity); - } +/***/ }), +/* 46 */ +/***/ (function(module, exports) { - function rgb(r, g, b, opacity) { - return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity); + var anim = { + animateFauxDOM: function (duration) { + this.animateFauxDOMUntil = Math.max(Date.now() + duration, this.animateFauxDOMUntil) + if (!this.fauxDOMAnimationInterval) { + this.fauxDOMAnimationInterval = setInterval(function () { + if (Date.now() < this.animateFauxDOMUntil) { + this.drawFauxDOM() + } else { + this.stopAnimatingFauxDOM() + } + }.bind(this), 16) + } + }, + stopAnimatingFauxDOM: function () { + this.fauxDOMAnimationInterval = clearInterval(this.fauxDOMAnimationInterval) + this.animateFauxDOMUntil = 0 + }, + isAnimatingFauxDOM: function () { + return !!this.fauxDOMAnimationInterval + }, + componentWillUnmount: function () { + this.stopAnimatingFauxDOM() } + } - function Rgb(r, g, b, opacity) { - this.r = +r; - this.g = +g; - this.b = +b; - this.opacity = +opacity; - } + module.exports = anim - define(Rgb, rgb, extend(Color, { - brighter: function(k) { - k = k == null ? brighter : Math.pow(brighter, k); - return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); - }, - darker: function(k) { - k = k == null ? darker : Math.pow(darker, k); - return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); - }, - rgb: function() { - return this; - }, - displayable: function() { - return (0 <= this.r && this.r <= 255) - && (0 <= this.g && this.g <= 255) - && (0 <= this.b && this.b <= 255) - && (0 <= this.opacity && this.opacity <= 1); - }, - toString: function() { - var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a)); - return (a === 1 ? "rgb(" : "rgba(") - + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " - + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " - + Math.max(0, Math.min(255, Math.round(this.b) || 0)) - + (a === 1 ? ")" : ", " + a + ")"); - } - })); - function hsla(h, s, l, a) { - if (a <= 0) h = s = l = NaN; - else if (l <= 0 || l >= 1) h = s = NaN; - else if (s <= 0) h = NaN; - return new Hsl(h, s, l, a); - } +/***/ }), +/* 47 */ +/***/ (function(module, exports, __webpack_require__) { - function hslConvert(o) { - if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity); - if (!(o instanceof Color)) o = color(o); - if (!o) return new Hsl; - if (o instanceof Hsl) return o; - o = o.rgb(); - var r = o.r / 255, - g = o.g / 255, - b = o.b / 255, - min = Math.min(r, g, b), - max = Math.max(r, g, b), - h = NaN, - s = max - min, - l = (max + min) / 2; - if (s) { - if (r === max) h = (g - b) / s + (g < b) * 6; - else if (g === max) h = (b - r) / s + 2; - else h = (r - g) / s + 4; - s /= l < 0.5 ? max + min : 2 - max - min; - h *= 60; - } else { - s = l > 0 && l < 1 ? 0 : h; - } - return new Hsl(h, s, l, o.opacity); - } + "use strict"; - function hsl(h, s, l, opacity) { - return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity); - } + Object.defineProperty(exports, "__esModule", { + value: true + }); - function Hsl(h, s, l, opacity) { - this.h = +h; - this.s = +s; - this.l = +l; - this.opacity = +opacity; - } + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - define(Hsl, hsl, extend(Color, { - brighter: function(k) { - k = k == null ? brighter : Math.pow(brighter, k); - return new Hsl(this.h, this.s, this.l * k, this.opacity); - }, - darker: function(k) { - k = k == null ? darker : Math.pow(darker, k); - return new Hsl(this.h, this.s, this.l * k, this.opacity); - }, - rgb: function() { - var h = this.h % 360 + (this.h < 0) * 360, - s = isNaN(h) || isNaN(this.s) ? 0 : this.s, - l = this.l, - m2 = l + (l < 0.5 ? l : 1 - l) * s, - m1 = 2 * l - m2; - return new Rgb( - hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), - hsl2rgb(h, m1, m2), - hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), - this.opacity - ); - }, - displayable: function() { - return (0 <= this.s && this.s <= 1 || isNaN(this.s)) - && (0 <= this.l && this.l <= 1) - && (0 <= this.opacity && this.opacity <= 1); - } - })); + var _react = __webpack_require__(4); - /* From FvD 13.37, CSS Color Module Level 3 */ - function hsl2rgb(h, m1, m2) { - return (h < 60 ? m1 + (m2 - m1) * h / 60 - : h < 180 ? m2 - : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 - : m1) * 255; + var _react2 = _interopRequireDefault(_react); + + var _d3Axis = __webpack_require__(48); + + var _d3Axis2 = _interopRequireDefault(_d3Axis); + + var _d3Selection = __webpack_require__(30); + + var _d3Selection2 = _interopRequireDefault(_d3Selection); + + var _reactFauxDom = __webpack_require__(31); + + var _reactFauxDom2 = _interopRequireDefault(_reactFauxDom); + + var _scale = __webpack_require__(18); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + + var Axis = function (_Component) { + _inherits(Axis, _Component); + + function Axis(props) { + _classCallCheck(this, Axis); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(Axis).call(this, props)); } - var deg2rad = Math.PI / 180; - var rad2deg = 180 / Math.PI; + _createClass(Axis, [{ + key: '_mkTickAxis', + value: function _mkTickAxis() { + var _props = this.props; + var type = _props.type; + var tickOrient = _props.tickOrient; + var tickFormat = _props.tickFormat; + var tickPadding = _props.tickPadding; + var tickSizeInner = _props.tickSizeInner; + var tickSizeOuter = _props.tickSizeOuter; + var ticks = _props.ticks; + var tickValues = _props.tickValues; - var Kn = 18; - var Xn = 0.950470; - var Yn = 1; - var Zn = 1.088830; - var t0 = 4 / 29; - var t1 = 6 / 29; - var t2 = 3 * t1 * t1; - var t3 = t1 * t1 * t1; - function labConvert(o) { - if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity); - if (o instanceof Hcl) { - var h = o.h * deg2rad; - return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity); + + var func = _d3Axis2.default; + + if (tickOrient === 'left') { + func = func.axisLeft(this._mkScale(this.props)); + } else if (tickOrient === 'right') { + func = func.axisRight(this._mkScale(this.props)); + } else if (tickOrient === 'top') { + func = func.axisTop(this._mkScale(this.props)); + } else if (tickOrient === 'bottom') { + func = func.axisBottom(this._mkScale(this.props)); + } + + if (tickFormat) func.tickFormat(tickFormat); + + if (tickPadding) func.tickPadding(tickPadding); + + if (tickSizeOuter) func.tickSizeOuter(tickSizeOuter); + + if (tickSizeInner) func.tickSizeInner(tickSizeInner); + + if (tickValues) func.tickValues(tickValues); + + if (ticks) func.ticks.apply(null, ticks); + + return func; } - if (!(o instanceof Rgb)) o = rgbConvert(o); - var b = rgb2xyz(o.r), - a = rgb2xyz(o.g), - l = rgb2xyz(o.b), - x = xyz2lab((0.4124564 * b + 0.3575761 * a + 0.1804375 * l) / Xn), - y = xyz2lab((0.2126729 * b + 0.7151522 * a + 0.0721750 * l) / Yn), - z = xyz2lab((0.0193339 * b + 0.1191920 * a + 0.9503041 * l) / Zn); - return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity); - } + }, { + key: '_mkScale', + value: function _mkScale() { + var newScale; - function lab(l, a, b, opacity) { - return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity); - } + if (this.props.scale === 'ordinal') newScale = 'band';else newScale = this.props.scale; - function Lab(l, a, b, opacity) { - this.l = +l; - this.a = +a; - this.b = +b; - this.opacity = +opacity; - } + var func = (0, _scale.scale)(Object.assign({}, this.props, { scale: newScale })); - define(Lab, lab, extend(Color, { - brighter: function(k) { - return new Lab(this.l + Kn * (k == null ? 1 : k), this.a, this.b, this.opacity); - }, - darker: function(k) { - return new Lab(this.l - Kn * (k == null ? 1 : k), this.a, this.b, this.opacity); - }, - rgb: function() { - var y = (this.l + 16) / 116, - x = isNaN(this.a) ? y : y + this.a / 500, - z = isNaN(this.b) ? y : y - this.b / 200; - y = Yn * lab2xyz(y); - x = Xn * lab2xyz(x); - z = Zn * lab2xyz(z); - return new Rgb( - xyz2rgb( 3.2404542 * x - 1.5371385 * y - 0.4985314 * z), // D65 -> sRGB - xyz2rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z), - xyz2rgb( 0.0556434 * x - 0.2040259 * y + 1.0572252 * z), - this.opacity - ); + return func; } - })); + }, { + key: 'render', + value: function render() { + var _props2 = this.props; + var showAxis = _props2.showAxis; + var gridAxisClassName = _props2.gridAxisClassName; + var axisClassName = _props2.axisClassName; + var type = _props2.type; + var style = _props2.style; + var axisStyling = _props2.axisStyling; + var gridStyleClassName = _props2.gridStyleClassName; - function xyz2lab(t) { - return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0; - } - function lab2xyz(t) { - return t > t1 ? t * t * t : t2 * (t - t0); - } + var axisGroup = _reactFauxDom2.default.createElement('g'); - function xyz2rgb(x) { - return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055); - } + if (type === 'x') var axisClasses = axisClassName + ' axis x';else if (type === 'y') var axisClasses = axisClassName + ' axis y';else if (type === 'gridx' || type === 'gridy') var axisClasses = gridAxisClassName + ' grid-axis'; - function rgb2xyz(x) { - return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4); - } + axisGroup.setAttribute('class', axisClasses); - function hclConvert(o) { - if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity); - if (!(o instanceof Lab)) o = labConvert(o); - var h = Math.atan2(o.b, o.a) * rad2deg; - return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity); - } + var axisDom = _d3Selection2.default.select(axisGroup); - function hcl(h, c, l, opacity) { - return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity); - } + axisDom.call(this._mkTickAxis()); - function Hcl(h, c, l, opacity) { - this.h = +h; - this.c = +c; - this.l = +l; - this.opacity = +opacity; - } + if (!showAxis) { + axisDom.selectAll(".grid-axis .tick text").style("opacity", "0"); - define(Hcl, hcl, extend(Color, { - brighter: function(k) { - return new Hcl(this.h, this.c, this.l + Kn * (k == null ? 1 : k), this.opacity); - }, - darker: function(k) { - return new Hcl(this.h, this.c, this.l - Kn * (k == null ? 1 : k), this.opacity); - }, - rgb: function() { - return labConvert(this).rgb(); - } - })); + if (type === 'gridx' || type === 'gridy') { + // hide domain in grids + axisDom.selectAll(".grid-axis .domain").style("opacity", "0"); + } + } - var A = -0.14861; - var B = +1.78277; - var C = -0.29227; - var D = -0.90649; - var E = +1.97294; - var ED = E * D; - var EB = E * B; - var BC_DA = B * C - D * A; - function cubehelixConvert(o) { - if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity); - if (!(o instanceof Rgb)) o = rgbConvert(o); - var r = o.r / 255, - g = o.g / 255, - b = o.b / 255, - l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB), - bl = b - l, - k = (E * (g - l) - C * bl) / D, - s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1 - h = s ? Math.atan2(k, bl) * rad2deg - 120 : NaN; - return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity); - } + // apply user defined axis path style (path refers to x-axis line)if provided or else default + if (axisStyling && axisStyling.pathClassName) { + var axisPath = axisDom.selectAll('.axis path'); + axisPath.attr("class", axisStyling.pathClassName); + } else axisDom.selectAll('.axis path').style('fill', 'none').style('stroke', '#000').style('shape-rendering', 'crispEdges').style('display', 'none'); - function cubehelix(h, s, l, opacity) { - return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity); - } + // apply user defined style for axis tick line if provided or else default + if (axisStyling && axisStyling.ticksClassName) { + var axisLine = axisDom.selectAll('.axis line'); + axisLine.attr("class", axisStyling.ticksClassName); + } else axisDom.selectAll('.axis line').style('fill', 'none').style('stroke', '#000').style('shape-rendering', 'crispEdges'); - function Cubehelix(h, s, l, opacity) { - this.h = +h; - this.s = +s; - this.l = +l; - this.opacity = +opacity; - } + // apply user defined style for grid axes if provided or else default + if (gridStyleClassName) { + var grids = axisDom.selectAll('.grid-axis line'); + grids.attr("class", gridStyleClassName); + } else axisDom.selectAll('.grid-axis line').style('opacity', .2).style('fill', 'none').style('stroke', '#000').style('stroke-width', '1.5px'); - define(Cubehelix, cubehelix, extend(Color, { - brighter: function(k) { - k = k == null ? brighter : Math.pow(brighter, k); - return new Cubehelix(this.h, this.s, this.l * k, this.opacity); - }, - darker: function(k) { - k = k == null ? darker : Math.pow(darker, k); - return new Cubehelix(this.h, this.s, this.l * k, this.opacity); - }, - rgb: function() { - var h = isNaN(this.h) ? 0 : (this.h + 120) * deg2rad, - l = +this.l, - a = isNaN(this.s) ? 0 : this.s * l * (1 - l), - cosh = Math.cos(h), - sinh = Math.sin(h); - return new Rgb( - 255 * (l + a * (A * cosh + B * sinh)), - 255 * (l + a * (C * cosh + D * sinh)), - 255 * (l + a * (E * cosh)), - this.opacity - ); - } - })); + // Axis tick labels style + var axisText = axisDom.selectAll('.axis text'); + if (style) { + for (var key in style) { + axisText.style(key, style[key]); + } + } + // user defined style for axis labels + else if (axisStyling && axisStyling.textClassName) { + axisText.attr("class", axisStyling.textClassName); + } - var version = "0.4.2"; + return axisDom.node().toReact(); + } + }]); - exports.version = version; - exports.color = color; - exports.rgb = rgb; - exports.hsl = hsl; - exports.lab = lab; - exports.hcl = hcl; - exports.cubehelix = cubehelix; + return Axis; + }(_react.Component); - })); + Axis.defaultProps = { + range: null, + rangeRoundBands: null, + domain: null, + tickFormat: null, + tickOrient: null + }; + Axis.PropTypes = { + showAxis: _react.PropTypes.bool, + type: _react.PropTypes.string, + orient: _react.PropTypes.oneOf(['top', 'bottom', 'left', 'right']), + tickOrient: _react.PropTypes.oneOf(['top', 'bottom', 'left', 'right']) + }; + exports.default = Axis; -/***/ }, -/* 53 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 48 */ +/***/ (function(module, exports, __webpack_require__) { (function (global, factory) { true ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_format = {}))); + (factory((global.d3_axis = global.d3_axis || {}))); }(this, function (exports) { 'use strict'; - // Computes the decimal coefficient and exponent of the specified number x with - // significant digits p, where x is positive and p is in [1, 21] or undefined. - // For example, formatDecimal(1.23) returns ["123", 0]. - function formatDecimal(x, p) { - if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity - var i, coefficient = x.slice(0, i); + var version = "0.3.2"; - // The string returned by toExponential either has the form \d\.\d+e[-+]\d+ - // (e.g., 1.2e+3) or the form \de[-+]\d+ (e.g., 1e+3). - return [ - coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient, - +x.slice(i + 1) - ]; - } + var slice = Array.prototype.slice; - function exponent(x) { - return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN; + function identity(x) { + return x; } - function formatGroup(grouping, thousands) { - return function(value, width) { - var i = value.length, - t = [], - j = 0, - g = grouping[0], - length = 0; + var top = 1; + var right = 2; + var bottom = 3; + var left = 4; + var epsilon = 1e-6; + function translateX(scale0, scale1, d) { + var x = scale0(d); + return "translate(" + (isFinite(x) ? x : scale1(d)) + ",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 = grouping[j = (j + 1) % grouping.length]; - } + function translateY(scale0, scale1, d) { + var y = scale0(d); + return "translate(0," + (isFinite(y) ? y : scale1(d)) + ")"; + } - return t.reverse().join(thousands); + function center(scale) { + var width = scale.bandwidth() / 2; + return function(d) { + return scale(d) + width; }; } - function formatDefault(x, p) { - x = x.toPrecision(p); + function axis(orient, scale) { + var tickArguments = [], + tickValues = null, + tickFormat = null, + tickSizeInner = 6, + tickSizeOuter = 6, + tickPadding = 3; - out: for (var n = x.length, i = 1, i0 = -1, i1; i < n; ++i) { - switch (x[i]) { - case ".": i0 = i1 = i; break; - case "0": if (i0 === 0) i0 = i; i1 = i; break; - case "e": break out; - default: if (i0 > 0) i0 = 0; break; - } - } + function axis(context) { + var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues, + format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat, + spacing = Math.max(tickSizeInner, 0) + tickPadding, + transform = orient === top || orient === bottom ? translateX : translateY, + range = scale.range(), + range0 = range[0] + 0.5, + range1 = range[range.length - 1] + 0.5, + position = (scale.bandwidth ? center : identity)(scale.copy()), + selection = context.selection ? context.selection() : context, + path = selection.selectAll(".domain").data([null]), + tick = selection.selectAll(".tick").data(values, scale).order(), + tickExit = tick.exit(), + tickEnter = tick.enter().append("g", ".domain").attr("class", "tick"), + line = tick.select("line"), + text = tick.select("text"), + k = orient === top || orient === left ? -1 : 1, + x, y = orient === left || orient === right ? (x = "x", "y") : (x = "y", "x"); - return i0 > 0 ? x.slice(0, i0) + x.slice(i1 + 1) : x; - } + path = path.merge(path.enter().append("path") + .attr("class", "domain") + .attr("stroke", "#000")); - var prefixExponent; + tick = tick.merge(tickEnter); - function formatPrefixAuto(x, p) { - var d = formatDecimal(x, p); - if (!d) return x + ""; - var coefficient = d[0], - exponent = d[1], - i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1, - n = coefficient.length; - return i === n ? coefficient - : i > n ? coefficient + new Array(i - n + 1).join("0") - : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i) - : "0." + new Array(1 - i).join("0") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y! - } + line = line.merge(tickEnter.append("line") + .attr("stroke", "#000") + .attr(x + "2", k * tickSizeInner)); - function formatRounded(x, p) { - var d = formatDecimal(x, p); - if (!d) return x + ""; - var coefficient = d[0], - exponent = d[1]; - return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient - : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1) - : coefficient + new Array(exponent - coefficient.length + 2).join("0"); - } + text = text.merge(tickEnter.append("text") + .attr("fill", "#000") + .attr(x, k * spacing)); - var formatTypes = { - "": formatDefault, - "%": function(x, p) { return (x * 100).toFixed(p); }, - "b": function(x) { return Math.round(x).toString(2); }, - "c": function(x) { return x + ""; }, - "d": function(x) { return Math.round(x).toString(10); }, - "e": function(x, p) { return x.toExponential(p); }, - "f": function(x, p) { return x.toFixed(p); }, - "g": function(x, p) { return x.toPrecision(p); }, - "o": function(x) { return Math.round(x).toString(8); }, - "p": function(x, p) { return formatRounded(x * 100, p); }, - "r": formatRounded, - "s": formatPrefixAuto, - "X": function(x) { return Math.round(x).toString(16).toUpperCase(); }, - "x": function(x) { return Math.round(x).toString(16); } - }; + if (context !== selection) { + path = path.transition(context); + tick = tick.transition(context); + line = line.transition(context); + text = text.transition(context); - // [[fill]align][sign][symbol][0][width][,][.precision][type] - var re = /^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i; + tickExit = tickExit.transition(context) + .attr("opacity", epsilon) + .attr("transform", function(d) { return transform(position, this.parentNode.__axis || position, d); }); - function formatSpecifier(specifier) { - return new FormatSpecifier(specifier); - } + tickEnter + .attr("opacity", epsilon) + .attr("transform", function(d) { return transform(this.parentNode.__axis || position, position, d); }); + } - function FormatSpecifier(specifier) { - if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier); + tickExit.remove(); - var match, - fill = match[1] || " ", - align = match[2] || ">", - sign = match[3] || "-", - symbol = match[4] || "", - zero = !!match[5], - width = match[6] && +match[6], - comma = !!match[7], - precision = match[8] && +match[8].slice(1), - type = match[9] || ""; + path + .attr("d", orient === left || orient == right + ? "M" + k * tickSizeOuter + "," + range0 + "H0.5V" + range1 + "H" + k * tickSizeOuter + : "M" + range0 + "," + k * tickSizeOuter + "V0.5H" + range1 + "V" + k * tickSizeOuter) - // The "n" type is an alias for ",g". - if (type === "n") comma = true, type = "g"; + tick + .attr("opacity", 1) + .attr("transform", function(d) { return transform(position, position, d); }); - // Map invalid types to the default format. - else if (!formatTypes[type]) type = ""; + line + .attr(x + "2", k * tickSizeInner) + .attr(y + "1", 0.5) + .attr(y + "2", 0.5); - // If zero fill is specified, padding goes after sign and before digits. - if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "="; + text + .attr(x, k * spacing) + .attr(y, 0.5) + .attr("dy", orient === top ? "0em" : orient === bottom ? ".71em" : ".32em") + .text(format); - this.fill = fill; - this.align = align; - this.sign = sign; - this.symbol = symbol; - this.zero = zero; - this.width = width; - this.comma = comma; - this.precision = precision; - this.type = type; - } + selection + .attr("fill", "none") + .attr("font-size", 10) + .attr("font-family", "sans-serif") + .attr("text-anchor", orient === right ? "start" : orient === left ? "end" : "middle") + .each(function() { this.__axis = position; }); + } - FormatSpecifier.prototype.toString = function() { - return this.fill - + this.align - + this.sign - + this.symbol - + (this.zero ? "0" : "") - + (this.width == null ? "" : Math.max(1, this.width | 0)) - + (this.comma ? "," : "") - + (this.precision == null ? "" : "." + Math.max(0, this.precision | 0)) - + this.type; - }; + axis.scale = function(_) { + return arguments.length ? (scale = _, axis) : scale; + }; - var prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"]; + axis.ticks = function() { + return tickArguments = slice.call(arguments), axis; + }; - function identity(x) { - return x; - } + axis.tickArguments = function(_) { + return arguments.length ? (tickArguments = _ == null ? [] : slice.call(_), axis) : tickArguments.slice(); + }; - function locale(locale) { - var group = locale.grouping && locale.thousands ? formatGroup(locale.grouping, locale.thousands) : identity, - currency = locale.currency, - decimal = locale.decimal; + axis.tickValues = function(_) { + return arguments.length ? (tickValues = _ == null ? null : slice.call(_), axis) : tickValues && tickValues.slice(); + }; - function newFormat(specifier) { - specifier = formatSpecifier(specifier); + axis.tickFormat = function(_) { + return arguments.length ? (tickFormat = _, axis) : tickFormat; + }; - var fill = specifier.fill, - align = specifier.align, - sign = specifier.sign, - symbol = specifier.symbol, - zero = specifier.zero, - width = specifier.width, - comma = specifier.comma, - precision = specifier.precision, - type = specifier.type; + axis.tickSize = function(_) { + return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner; + }; - // Compute the prefix and suffix. - // For SI-prefix, the suffix is lazily computed. - var prefix = symbol === "$" ? currency[0] : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "", - suffix = symbol === "$" ? currency[1] : /[%p]/.test(type) ? "%" : ""; + axis.tickSizeInner = function(_) { + return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner; + }; - // What format function should we use? - // Is this an integer type? - // Can this type generate exponential notation? - var formatType = formatTypes[type], - maybeSuffix = !type || /[defgprs%]/.test(type); + axis.tickSizeOuter = function(_) { + return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter; + }; - // Set the default precision if not specified, - // or clamp the specified precision to the supported range. - // For significant precision, it must be in [1, 21]. - // For fixed precision, it must be in [0, 20]. - precision = precision == null ? (type ? 6 : 12) - : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) - : Math.max(0, Math.min(20, precision)); + axis.tickPadding = function(_) { + return arguments.length ? (tickPadding = +_, axis) : tickPadding; + }; - function format(value) { - var valuePrefix = prefix, - valueSuffix = suffix, - i, n, c; + return axis; + } - if (type === "c") { - valueSuffix = formatType(value) + valueSuffix; - value = ""; - } else { - value = +value; + function axisTop(scale) { + return axis(top, scale); + } - // Convert negative to positive, and compute the prefix. - // Note that -0 is not less than 0, but 1 / -0 is! - var valueNegative = (value < 0 || 1 / value < 0) && (value *= -1, true); + function axisRight(scale) { + return axis(right, scale); + } - // Perform the initial formatting. - value = formatType(value, precision); + function axisBottom(scale) { + return axis(bottom, scale); + } - // If the original value was negative, it may be rounded to zero during - // formatting; treat this as (positive) zero. - if (valueNegative) { - i = -1, n = value.length; - valueNegative = false; - while (++i < n) { - if (c = value.charCodeAt(i), (48 < c && c < 58) - || (type === "x" && 96 < c && c < 103) - || (type === "X" && 64 < c && c < 71)) { - valueNegative = true; - break; - } - } - } + function axisLeft(scale) { + return axis(left, scale); + } - // Compute the prefix and suffix. - valuePrefix = (valueNegative ? (sign === "(" ? sign : "-") : sign === "-" || sign === "(" ? "" : sign) + valuePrefix; - valueSuffix = valueSuffix + (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + (valueNegative && sign === "(" ? ")" : ""); + exports.version = version; + exports.axisTop = axisTop; + exports.axisRight = axisRight; + exports.axisBottom = axisBottom; + exports.axisLeft = axisLeft; - // Break the formatted value into the integer “value” part that can be - // grouped, and fractional or exponential “suffix” part that is not. - if (maybeSuffix) { - i = -1, n = value.length; - while (++i < n) { - if (c = value.charCodeAt(i), 48 > c || c > 57) { - valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix; - value = value.slice(0, i); - break; - } - } - } - } + })); - // If the fill character is not "0", grouping is applied before padding. - if (comma && !zero) value = group(value, Infinity); +/***/ }), +/* 49 */ +/***/ (function(module, exports, __webpack_require__) { - // Compute the padding. - var length = valuePrefix.length + value.length + valueSuffix.length, - padding = length < width ? new Array(width - length + 1).join(fill) : ""; + "use strict"; - // If the fill character is "0", grouping is applied after padding. - if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = ""; + Object.defineProperty(exports, "__esModule", { + value: true + }); - // Reconstruct the final output based on the desired alignment. - switch (align) { - case "<": return valuePrefix + value + valueSuffix + padding; - case "=": return valuePrefix + padding + value + valueSuffix; - case "^": return padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); - } - return padding + valuePrefix + value + valueSuffix; - } + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - format.toString = function() { - return specifier + ""; - }; + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - return format; - } + var _react = __webpack_require__(4); - function formatPrefix(specifier, value) { - var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)), - e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3, - k = Math.pow(10, -e), - prefix = prefixes[8 + e / 3]; - return function(value) { - return f(k * value) + prefix; - }; - } + var _react2 = _interopRequireDefault(_react); - return { - format: newFormat, - formatPrefix: formatPrefix - }; - } + var _axis = __webpack_require__(47); - var defaultLocale = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["$", ""] - }); + var _axis2 = _interopRequireDefault(_axis); - var caES = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0€"] - }); + var _label = __webpack_require__(50); - var csCZ = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "\xa0Kč"] - }); + var _label2 = _interopRequireDefault(_label); - var deCH = locale({ - decimal: ",", - thousands: "'", - grouping: [3], - currency: ["", "\xa0CHF"] - }); + var _commonProps = __webpack_require__(17); - var deDE = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0€"] - }); + var _commonProps2 = _interopRequireDefault(_commonProps); - var enCA = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["$", ""] - }); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var enGB = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["£", ""] - }); + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - var esES = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0€"] - }); + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - var fiFI = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "\xa0€"] - }); + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var frCA = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "$"] - }); + var Xaxis = function (_Component) { + _inherits(Xaxis, _Component); - var frFR = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0€"] - }); + function Xaxis(props) { + _classCallCheck(this, Xaxis); - var heIL = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["₪", ""] - }); + return _possibleConstructorReturn(this, Object.getPrototypeOf(Xaxis).call(this, props)); + } - var huHU = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "\xa0Ft"] - }); + _createClass(Xaxis, [{ + key: 'render', + value: function render() { + var _props = this.props; + var height = _props.height; + var width = _props.width; + var margins = _props.margins; + var showXAxis = _props.showXAxis; + var x = _props.x; + var xAxisClassName = _props.xAxisClassName; + var xDomain = _props.xDomain; + var xRange = _props.xRange; + var xBandPaddingInner = _props.xBandPaddingInner; + var xBandPaddingOuter = _props.xBandPaddingOuter; + var xScale = _props.xScale; + var xOrient = _props.xOrient; + var xTickOrient = _props.xTickOrient; + var xTickPadding = _props.xTickPadding; + var xTickSizeOuter = _props.xTickSizeOuter; + var xTickSizeInner = _props.xTickSizeInner; + var xTickFormat = _props.xTickFormat; + var xTicks = _props.xTicks; + var xLabel = _props.xLabel; + var xLabelPosition = _props.xLabelPosition; + var labelOffset = _props.labelOffset; + var style = _props.style; + var xAxisStyling = _props.xAxisStyling; + var xTickValues = _props.xTickValues; - var itIT = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["€", ""] - }); - var jaJP = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["", "円"] - }); + var t; + var axisLabel; - var koKR = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["₩", ""] - }); + if (!xRange) { + xRange = [0, width - margins.left - margins.right]; + } - var mkMK = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "\xa0ден."] - }); + if (xOrient === 'bottom') { + // x - bottom + t = 'translate(0, ' + (height - margins.bottom - margins.top) + ')'; + } else if (xOrient === 'top') { + // x - top + t = 'translate(0, 0)'; + } - var nlNL = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["€\xa0", ""] - }); + if (xLabel) { + axisLabel = _react2.default.createElement(_label2.default, { + height: height, + width: width, + margins: margins, + labelTitle: xLabel, + labelPosition: xLabelPosition, + labelOffset: labelOffset, + bandPaddingInner: xBandPaddingInner, + bandPaddingOuter: xBandPaddingOuter + }); + } - var plPL = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["", "zł"] - }); + return _react2.default.createElement( + 'g', + { transform: t }, + _react2.default.createElement(_axis2.default, { + height: height, + width: width, + margins: margins, + showAxis: showXAxis, + axisClassName: xAxisClassName, + bandPaddingInner: xBandPaddingInner, + bandPaddingOuter: xBandPaddingOuter, + type: 'x', + proxy: x, + domain: xDomain, + range: xRange, + scale: xScale, + orient: xOrient, + tickOrient: xTickOrient, + tickFormat: xTickFormat, + tickPadding: xTickPadding, + tickSizeInner: xTickSizeInner, + tickSizeOuter: xTickSizeOuter, + style: style, + ticks: xTicks, + axisStyling: xAxisStyling, + tickValues: xTickValues + }), + axisLabel + ); + } + }]); - var ptBR = locale({ - decimal: ",", - thousands: ".", - grouping: [3], - currency: ["R$", ""] - }); + return Xaxis; + }(_react.Component); + + Xaxis.defaultProps = _extends({ + showXAxis: true, + xAxisClassName: 'react-d3-core__axis__xAxis', + xScale: 'linear', + xOrient: 'bottom', + xTickOrient: 'bottom', + xLabelPosition: 'bottom', + xTickPadding: 3, + xInnerTickSize: 6, + xOuterTickSize: 6 + }, _commonProps2.default); + Xaxis.propTypes = { + height: _react.PropTypes.number.isRequired, + width: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + showXAxis: _react.PropTypes.bool, + x: _react.PropTypes.func, + xDomain: _react.PropTypes.array, + xRange: _react.PropTypes.array, + xScale: _react.PropTypes.string.isRequired, + xOrient: _react.PropTypes.oneOf(['top', 'bottom']), + xTickOrient: _react.PropTypes.oneOf(['top', 'bottom']), + xAxisClassName: _react.PropTypes.string, + xTickSizeInner: _react.PropTypes.number, + xTickSizeOuter: _react.PropTypes.number, + xBandPaddingInner: _react.PropTypes.number, + xBandPaddingOuter: _react.PropTypes.number, + xTickPadding: _react.PropTypes.number, + xTickFormat: _react.PropTypes.func, + xTicks: _react.PropTypes.array, + style: _react.PropTypes.object, + /* + xAxisStyling object holds css styling classes for axis elements + pathClassName: "someCls" + ticksClassName: "someCls" + textClassName: "someCls" + */ + xAxisStyling: _react.PropTypes.object, + xTickValues: _react.PropTypes.array + }; + exports.default = Xaxis; - var ruRU = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "\xa0руб."] - }); +/***/ }), +/* 50 */ +/***/ (function(module, exports, __webpack_require__) { - var svSE = locale({ - decimal: ",", - thousands: "\xa0", - grouping: [3], - currency: ["", "SEK"] - }); + "use strict"; - var zhCN = locale({ - decimal: ".", - thousands: ",", - grouping: [3], - currency: ["¥", ""] - }); + Object.defineProperty(exports, "__esModule", { + value: true + }); - function precisionFixed(step) { - return Math.max(0, -exponent(Math.abs(step))); - } + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - function precisionPrefix(step, value) { - return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step))); - } + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - function precisionRound(step, max) { - step = Math.abs(step), max = Math.abs(max) - step; - return Math.max(0, exponent(max) - exponent(step)) + 1; - } + var _react = __webpack_require__(4); - var format = defaultLocale.format; - var formatPrefix = defaultLocale.formatPrefix; + var _react2 = _interopRequireDefault(_react); - var version = "0.5.1"; + var _d3Selection = __webpack_require__(30); - exports.version = version; - exports.format = format; - exports.formatPrefix = formatPrefix; - exports.formatLocale = locale; - exports.formatCaEs = caES; - exports.formatCsCz = csCZ; - exports.formatDeCh = deCH; - exports.formatDeDe = deDE; - exports.formatEnCa = enCA; - exports.formatEnGb = enGB; - exports.formatEnUs = defaultLocale; - exports.formatEsEs = esES; - exports.formatFiFi = fiFI; - exports.formatFrCa = frCA; - exports.formatFrFr = frFR; - exports.formatHeIl = heIL; - exports.formatHuHu = huHU; - exports.formatItIt = itIT; - exports.formatJaJp = jaJP; - exports.formatKoKr = koKR; - exports.formatMkMk = mkMK; - exports.formatNlNl = nlNL; - exports.formatPlPl = plPL; - exports.formatPtBr = ptBR; - exports.formatRuRu = ruRU; - exports.formatSvSe = svSE; - exports.formatZhCn = zhCN; - exports.formatSpecifier = formatSpecifier; - exports.precisionFixed = precisionFixed; - exports.precisionPrefix = precisionPrefix; - exports.precisionRound = precisionRound; + var _d3Selection2 = _interopRequireDefault(_d3Selection); - })); + var _reactFauxDom = __webpack_require__(31); -/***/ }, -/* 54 */ -/***/ function(module, exports, __webpack_require__) { + var _reactFauxDom2 = _interopRequireDefault(_reactFauxDom); - (function (global, factory) { - true ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((global.d3_time = global.d3_time || {}))); - }(this, function (exports) { 'use strict'; + var _commonProps = __webpack_require__(17); - var t0 = new Date; - var t1 = new Date; - function newInterval(floori, offseti, count, field) { + var _commonProps2 = _interopRequireDefault(_commonProps); - function interval(date) { - return floori(date = new Date(+date)), date; - } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - interval.floor = interval; + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - interval.ceil = function(date) { - return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date; - }; + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - interval.round = function(date) { - var d0 = interval(date), - d1 = interval.ceil(date); - return date - d0 < d1 - date ? d0 : d1; - }; + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - interval.offset = function(date, step) { - return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date; - }; + var Label = function (_Component) { + _inherits(Label, _Component); - interval.range = function(start, stop, step) { - var range = []; - start = interval.ceil(start); - step = step == null ? 1 : Math.floor(step); - if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date - do range.push(new Date(+start)); while (offseti(start, step), floori(start), start < stop) - return range; - }; + function Label(props) { + _classCallCheck(this, Label); - interval.filter = function(test) { - return newInterval(function(date) { - while (floori(date), !test(date)) date.setTime(date - 1); - }, function(date, step) { - while (--step >= 0) while (offseti(date, 1), !test(date)); - }); - }; + return _possibleConstructorReturn(this, Object.getPrototypeOf(Label).call(this, props)); + } - if (count) { - interval.count = function(start, end) { - t0.setTime(+start), t1.setTime(+end); - floori(t0), floori(t1); - return Math.floor(count(t0, t1)); - }; + _createClass(Label, [{ + key: '_mkLabel', + value: function _mkLabel(dom) { + var _props = this.props; + var height = _props.height; + var width = _props.width; + var margins = _props.margins; + var labelOffset = _props.labelOffset; + var labelTitle = _props.labelTitle; + var labelPosition = _props.labelPosition; + var vTransform = _props.vTransform; + var hTransform = _props.hTransform; + var textAnchor = _props.textAnchor; - interval.every = function(step) { - step = Math.floor(step); - return !isFinite(step) || !(step > 0) ? null - : !(step > 1) ? interval - : interval.filter(field - ? function(d) { return field(d) % step === 0; } - : function(d) { return interval.count(0, d) % step === 0; }); - }; - } - return interval; - } + var labelDom = _d3Selection2.default.select(dom); + var fixWidth = width - margins.left - margins.right; + var fixHeight = height - margins.top - margins.bottom; - var millisecond = newInterval(function() { - // noop - }, function(date, step) { - date.setTime(+date + step); - }, function(start, end) { - return end - start; - }); + if (labelPosition === 'top') { - // An optimized implementation for this simple case. - millisecond.every = function(k) { - k = Math.floor(k); - if (!isFinite(k) || !(k > 0)) return null; - if (!(k > 1)) return millisecond; - return newInterval(function(date) { - date.setTime(Math.floor(date / k) * k); - }, function(date, step) { - date.setTime(+date + step * k); - }, function(start, end) { - return (end - start) / k; - }); - }; + labelDom.attr('transform', hTransform).attr('y', -labelOffset).attr('x', fixWidth / 2).style('text-anchor', textAnchor).text(labelTitle); + } else if (labelPosition === 'bottom') { - var second$1 = 1e3; - var minute = 6e4; - var hour = 36e5; - var day = 864e5; - var week = 6048e5; + labelDom.attr('transform', hTransform).attr('y', +labelOffset).attr('x', fixWidth / 2).style('text-anchor', textAnchor).text(labelTitle); + } else if (labelPosition === 'left') { - var second = newInterval(function(date) { - date.setTime(Math.floor(date / second$1) * second$1); - }, function(date, step) { - date.setTime(+date + step * second$1); - }, function(start, end) { - return (end - start) / second$1; - }, function(date) { - return date.getUTCSeconds(); - }); + labelDom.attr('transform', vTransform).attr('y', -labelOffset).attr('x', -fixHeight / 2).style('text-anchor', textAnchor).text(labelTitle); + } else if (labelPosition === 'right') { - var minute$1 = newInterval(function(date) { - date.setTime(Math.floor(date / minute) * minute); - }, function(date, step) { - date.setTime(+date + step * minute); - }, function(start, end) { - return (end - start) / minute; - }, function(date) { - return date.getMinutes(); - }); + labelDom.attr('transform', vTransform).attr('y', +labelOffset).attr('x', -fixHeight / 2).style('text-anchor', textAnchor).text(labelTitle); + } - var hour$1 = newInterval(function(date) { - var offset = date.getTimezoneOffset() * minute % hour; - if (offset < 0) offset += hour; - date.setTime(Math.floor((+date - offset) / hour) * hour + offset); - }, function(date, step) { - date.setTime(+date + step * hour); - }, function(start, end) { - return (end - start) / hour; - }, function(date) { - return date.getHours(); - }); + return labelDom; + } + }, { + key: 'render', + value: function render() { + var labelClassName = this.props.labelClassName; - var day$1 = newInterval(function(date) { - date.setHours(0, 0, 0, 0); - }, function(date, step) { - date.setDate(date.getDate() + step); - }, function(start, end) { - return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * minute) / day; - }, function(date) { - return date.getDate() - 1; - }); - function weekday(i) { - return newInterval(function(date) { - date.setHours(0, 0, 0, 0); - date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7); - }, function(date, step) { - date.setDate(date.getDate() + step * 7); - }, function(start, end) { - return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * minute) / week; - }); - } + var labelText = _reactFauxDom2.default.createElement('text'); + var labelClasses = labelClassName + ' label'; + labelText.setAttribute('class', labelClasses); - var sunday = weekday(0); - var monday = weekday(1); - var tuesday = weekday(2); - var wednesday = weekday(3); - var thursday = weekday(4); - var friday = weekday(5); - var saturday = weekday(6); + var labelDom = this._mkLabel(labelText); - var month = newInterval(function(date) { - date.setHours(0, 0, 0, 0); - date.setDate(1); - }, function(date, step) { - date.setMonth(date.getMonth() + step); - }, function(start, end) { - return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12; - }, function(date) { - return date.getMonth(); - }); + return labelDom.node().toReact(); + } + }]); - var year = newInterval(function(date) { - date.setHours(0, 0, 0, 0); - date.setMonth(0, 1); - }, function(date, step) { - date.setFullYear(date.getFullYear() + step); - }, function(start, end) { - return end.getFullYear() - start.getFullYear(); - }, function(date) { - return date.getFullYear(); - }); + return Label; + }(_react.Component); - var utcMinute = newInterval(function(date) { - date.setUTCSeconds(0, 0); - }, function(date, step) { - date.setTime(+date + step * minute); - }, function(start, end) { - return (end - start) / minute; - }, function(date) { - return date.getUTCMinutes(); - }); + Label.defaultProps = _extends({ + hTransform: 'rotate(0)', + vTransform: 'rotate(270)', + labelTitle: 'label title', + labelPosition: 'bottom', + labelOffset: 40, + textAnchor: 'middle', + labelClassName: 'react-d3-core__label' + }, _commonProps2.default); + Label.propTypes = { + height: _react.PropTypes.number.isRequired, + width: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + hTransform: _react.PropTypes.string, + vTransform: _react.PropTypes.string, + labelTitle: _react.PropTypes.string, + labelPosition: _react.PropTypes.oneOf(['top', 'bottom', 'left', 'right']), + labelOffset: _react.PropTypes.number, + textAnchor: _react.PropTypes.string, + labelClassName: _react.PropTypes.string + }; + exports.default = Label; - var utcHour = newInterval(function(date) { - date.setUTCMinutes(0, 0, 0); - }, function(date, step) { - date.setTime(+date + step * hour); - }, function(start, end) { - return (end - start) / hour; - }, function(date) { - return date.getUTCHours(); - }); +/***/ }), +/* 51 */ +/***/ (function(module, exports, __webpack_require__) { - var utcDay = newInterval(function(date) { - date.setUTCHours(0, 0, 0, 0); - }, function(date, step) { - date.setUTCDate(date.getUTCDate() + step); - }, function(start, end) { - return (end - start) / day; - }, function(date) { - return date.getUTCDate() - 1; - }); + "use strict"; - function utcWeekday(i) { - return newInterval(function(date) { - date.setUTCHours(0, 0, 0, 0); - date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7); - }, function(date, step) { - date.setUTCDate(date.getUTCDate() + step * 7); - }, function(start, end) { - return (end - start) / week; - }); - } + Object.defineProperty(exports, "__esModule", { + value: true + }); - var utcSunday = utcWeekday(0); - var utcMonday = utcWeekday(1); - var utcTuesday = utcWeekday(2); - var utcWednesday = utcWeekday(3); - var utcThursday = utcWeekday(4); - var utcFriday = utcWeekday(5); - var utcSaturday = utcWeekday(6); + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - var utcMonth = newInterval(function(date) { - date.setUTCHours(0, 0, 0, 0); - date.setUTCDate(1); - }, function(date, step) { - date.setUTCMonth(date.getUTCMonth() + step); - }, function(start, end) { - return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12; - }, function(date) { - return date.getUTCMonth(); - }); + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - var utcYear = newInterval(function(date) { - date.setUTCHours(0, 0, 0, 0); - date.setUTCMonth(0, 1); - }, function(date, step) { - date.setUTCFullYear(date.getUTCFullYear() + step); - }, function(start, end) { - return end.getUTCFullYear() - start.getUTCFullYear(); - }, function(date) { - return date.getUTCFullYear(); - }); + var _react = __webpack_require__(4); - var timeMilliseconds = millisecond.range; - var timeSeconds = second.range; - var timeMinutes = minute$1.range; - var timeHours = hour$1.range; - var timeDays = day$1.range; - var timeSundays = sunday.range; - var timeMondays = monday.range; - var timeTuesdays = tuesday.range; - var timeWednesdays = wednesday.range; - var timeThursdays = thursday.range; - var timeFridays = friday.range; - var timeSaturdays = saturday.range; - var timeWeeks = sunday.range; - var timeMonths = month.range; - var timeYears = year.range; + var _react2 = _interopRequireDefault(_react); - var utcMillisecond = millisecond; - var utcMilliseconds = timeMilliseconds; - var utcSecond = second; - var utcSeconds = timeSeconds; - var utcMinutes = utcMinute.range; - var utcHours = utcHour.range; - var utcDays = utcDay.range; - var utcSundays = utcSunday.range; - var utcMondays = utcMonday.range; - var utcTuesdays = utcTuesday.range; - var utcWednesdays = utcWednesday.range; - var utcThursdays = utcThursday.range; - var utcFridays = utcFriday.range; - var utcSaturdays = utcSaturday.range; - var utcWeeks = utcSunday.range; - var utcMonths = utcMonth.range; - var utcYears = utcYear.range; + var _axis = __webpack_require__(47); - var version = "0.2.5"; + var _axis2 = _interopRequireDefault(_axis); - exports.version = version; - exports.timeMilliseconds = timeMilliseconds; - exports.timeSeconds = timeSeconds; - exports.timeMinutes = timeMinutes; - exports.timeHours = timeHours; - exports.timeDays = timeDays; - exports.timeSundays = timeSundays; - exports.timeMondays = timeMondays; - exports.timeTuesdays = timeTuesdays; - exports.timeWednesdays = timeWednesdays; - exports.timeThursdays = timeThursdays; - exports.timeFridays = timeFridays; - exports.timeSaturdays = timeSaturdays; - exports.timeWeeks = timeWeeks; - exports.timeMonths = timeMonths; - exports.timeYears = timeYears; - exports.utcMillisecond = utcMillisecond; - exports.utcMilliseconds = utcMilliseconds; - exports.utcSecond = utcSecond; - exports.utcSeconds = utcSeconds; - exports.utcMinutes = utcMinutes; - exports.utcHours = utcHours; - exports.utcDays = utcDays; - exports.utcSundays = utcSundays; - exports.utcMondays = utcMondays; - exports.utcTuesdays = utcTuesdays; - exports.utcWednesdays = utcWednesdays; - exports.utcThursdays = utcThursdays; - exports.utcFridays = utcFridays; - exports.utcSaturdays = utcSaturdays; - exports.utcWeeks = utcWeeks; - exports.utcMonths = utcMonths; - exports.utcYears = utcYears; - exports.timeMillisecond = millisecond; - exports.timeSecond = second; - exports.timeMinute = minute$1; - exports.timeHour = hour$1; - exports.timeDay = day$1; - exports.timeSunday = sunday; - exports.timeMonday = monday; - exports.timeTuesday = tuesday; - exports.timeWednesday = wednesday; - exports.timeThursday = thursday; - exports.timeFriday = friday; - exports.timeSaturday = saturday; - exports.timeWeek = sunday; - exports.timeMonth = month; - exports.timeYear = year; - exports.utcMinute = utcMinute; - exports.utcHour = utcHour; - exports.utcDay = utcDay; - exports.utcSunday = utcSunday; - exports.utcMonday = utcMonday; - exports.utcTuesday = utcTuesday; - exports.utcWednesday = utcWednesday; - exports.utcThursday = utcThursday; - exports.utcFriday = utcFriday; - exports.utcSaturday = utcSaturday; - exports.utcWeek = utcSunday; - exports.utcMonth = utcMonth; - exports.utcYear = utcYear; - exports.timeInterval = newInterval; + var _label = __webpack_require__(50); - })); + var _label2 = _interopRequireDefault(_label); -/***/ }, -/* 55 */ -/***/ function(module, exports, __webpack_require__) { + var _commonProps = __webpack_require__(17); - (function (global, factory) { - true ? factory(exports, __webpack_require__(54)) : - typeof define === 'function' && define.amd ? define(['exports', 'd3-time'], factory) : - (factory((global.d3_time_format = global.d3_time_format || {}),global.d3_time)); - }(this, function (exports,d3Time) { 'use strict'; + var _commonProps2 = _interopRequireDefault(_commonProps); - var version = "0.3.2"; + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function localDate(d) { - if (0 <= d.y && d.y < 100) { - var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L); - date.setFullYear(d.y); - return date; - } - return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L); - } + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function utcDate(d) { - if (0 <= d.y && d.y < 100) { - var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L)); - date.setUTCFullYear(d.y); - return date; - } - return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L)); - } + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - function newYear(y) { - return {y: y, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0}; - } + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - function locale$1(locale) { - var locale_dateTime = locale.dateTime, - locale_date = locale.date, - locale_time = locale.time, - locale_periods = locale.periods, - locale_weekdays = locale.days, - locale_shortWeekdays = locale.shortDays, - locale_months = locale.months, - locale_shortMonths = locale.shortMonths; + var Yaxis = function (_Component) { + _inherits(Yaxis, _Component); - var periodRe = formatRe(locale_periods), - periodLookup = formatLookup(locale_periods), - weekdayRe = formatRe(locale_weekdays), - weekdayLookup = formatLookup(locale_weekdays), - shortWeekdayRe = formatRe(locale_shortWeekdays), - shortWeekdayLookup = formatLookup(locale_shortWeekdays), - monthRe = formatRe(locale_months), - monthLookup = formatLookup(locale_months), - shortMonthRe = formatRe(locale_shortMonths), - shortMonthLookup = formatLookup(locale_shortMonths); + function Yaxis(props) { + _classCallCheck(this, Yaxis); - var formats = { - "a": formatShortWeekday, - "A": formatWeekday, - "b": formatShortMonth, - "B": formatMonth, - "c": null, - "d": formatDayOfMonth, - "e": formatDayOfMonth, - "H": formatHour24, - "I": formatHour12, - "j": formatDayOfYear, - "L": formatMilliseconds, - "m": formatMonthNumber, - "M": formatMinutes, - "p": formatPeriod, - "S": formatSeconds, - "U": formatWeekNumberSunday, - "w": formatWeekdayNumber, - "W": formatWeekNumberMonday, - "x": null, - "X": null, - "y": formatYear, - "Y": formatFullYear, - "Z": formatZone, - "%": formatLiteralPercent - }; + return _possibleConstructorReturn(this, Object.getPrototypeOf(Yaxis).call(this, props)); + } - var utcFormats = { - "a": formatUTCShortWeekday, - "A": formatUTCWeekday, - "b": formatUTCShortMonth, - "B": formatUTCMonth, - "c": null, - "d": formatUTCDayOfMonth, - "e": formatUTCDayOfMonth, - "H": formatUTCHour24, - "I": formatUTCHour12, - "j": formatUTCDayOfYear, - "L": formatUTCMilliseconds, - "m": formatUTCMonthNumber, - "M": formatUTCMinutes, - "p": formatUTCPeriod, - "S": formatUTCSeconds, - "U": formatUTCWeekNumberSunday, - "w": formatUTCWeekdayNumber, - "W": formatUTCWeekNumberMonday, - "x": null, - "X": null, - "y": formatUTCYear, - "Y": formatUTCFullYear, - "Z": formatUTCZone, - "%": formatLiteralPercent - }; + _createClass(Yaxis, [{ + key: 'render', + value: function render() { + var _props = this.props; + var width = _props.width; + var height = _props.height; + var margins = _props.margins; + var y = _props.y; + var yAxisClassName = _props.yAxisClassName; + var yDomain = _props.yDomain; + var yRange = _props.yRange; + var yBandPaddingInner = _props.yBandPaddingInner; + var yBandPaddingOuter = _props.yBandPaddingOuter; + var yScale = _props.yScale; + var yOrient = _props.yOrient; + var yTickOrient = _props.yTickOrient; + var yTickFormat = _props.yTickFormat; + var yTickPadding = _props.yTickPadding; + var yTickSizeOuter = _props.yTickSizeOuter; + var yTickSizeInner = _props.yTickSizeInner; + var yTicks = _props.yTicks; + var yLabel = _props.yLabel; + var yLabelPosition = _props.yLabelPosition; + var labelOffset = _props.labelOffset; + var showYAxis = _props.showYAxis; + var style = _props.style; + var yAxisStyling = _props.yAxisStyling; + var yTickValues = _props.yTickValues; - var parses = { - "a": parseShortWeekday, - "A": parseWeekday, - "b": parseShortMonth, - "B": parseMonth, - "c": parseLocaleDateTime, - "d": parseDayOfMonth, - "e": parseDayOfMonth, - "H": parseHour24, - "I": parseHour24, - "j": parseDayOfYear, - "L": parseMilliseconds, - "m": parseMonthNumber, - "M": parseMinutes, - "p": parsePeriod, - "S": parseSeconds, - "U": parseWeekNumberSunday, - "w": parseWeekdayNumber, - "W": parseWeekNumberMonday, - "x": parseLocaleDate, - "X": parseLocaleTime, - "y": parseYear, - "Y": parseFullYear, - "Z": parseZone, - "%": parseLiteralPercent - }; - // These recursive directive definitions must be deferred. - formats.x = newFormat(locale_date, formats); - formats.X = newFormat(locale_time, formats); - formats.c = newFormat(locale_dateTime, formats); - utcFormats.x = newFormat(locale_date, utcFormats); - utcFormats.X = newFormat(locale_time, utcFormats); - utcFormats.c = newFormat(locale_dateTime, utcFormats); + var t; + var axisLabel; - function newFormat(specifier, formats) { - return function(date) { - var string = [], - i = -1, - j = 0, - n = specifier.length, - c, - pad, - format; + if (!yRange) { + yRange = [height - margins.top - margins.bottom, 0]; + } - if (!(date instanceof Date)) date = new Date(+date); + if (yOrient === 'right') { + // y - right + t = 'translate(' + (width - margins.right - margins.left) + ', 0)'; + } else if (yOrient === 'left') { + // y - left + t = 'translate(0, 0)'; + } - while (++i < n) { - if (specifier.charCodeAt(i) === 37) { - string.push(specifier.slice(j, i)); - if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i); - else pad = c === "e" ? " " : "0"; - if (format = formats[c]) c = format(date, pad); - string.push(c); - j = i + 1; - } - } + if (yLabel) { + axisLabel = _react2.default.createElement(_label2.default, { + height: height, + width: width, + margins: margins, + labelTitle: yLabel, + labelPosition: yLabelPosition, + labelOffset: labelOffset, + bandPaddingInner: yBandPaddingInner, + bandPaddingOuter: yBandPaddingOuter + }); + } - string.push(specifier.slice(j, i)); - return string.join(""); - }; + return _react2.default.createElement( + 'g', + { transform: t }, + _react2.default.createElement(_axis2.default, { + height: height, + width: width, + margins: margins, + showAxis: showYAxis, + axisClassName: yAxisClassName, + bandPaddingInner: yBandPaddingInner, + bandPaddingOuter: yBandPaddingOuter, + type: 'y', + proxy: y, + domain: yDomain, + range: yRange, + scale: yScale, + orient: yOrient, + tickOrient: yTickOrient, + tickFormat: yTickFormat, + tickPadding: yTickPadding, + tickSizeInner: yTickSizeInner, + tickSizeOuter: yTickSizeOuter, + ticks: yTicks, + style: style, + axisStyling: yAxisStyling, + tickValues: yTickValues + }), + axisLabel + ); } + }]); - function newParse(specifier, newDate) { - return function(string) { - var d = newYear(1900), - i = parseSpecifier(d, specifier, string += "", 0); - if (i != string.length) return null; + return Yaxis; + }(_react.Component); - // The am-pm flag is 0 for AM, and 1 for PM. - if ("p" in d) d.H = d.H % 12 + d.p * 12; + Yaxis.defaultProps = _extends({ + showYAxis: true, + yAxisClassName: 'react-d3-core__axis__yAxis', + yScale: 'linear', + yOrient: 'left', + yTickOrient: 'left', + yLabelPosition: 'left', + yTickPadding: 3, + yInnerTickSize: 6, + yOuterTickSize: 6 + }, _commonProps2.default); + Yaxis.propTypes = { + height: _react.PropTypes.number.isRequired, + width: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + showYAxis: _react.PropTypes.bool, + y: _react.PropTypes.func, + yDomain: _react.PropTypes.array, + yRange: _react.PropTypes.array, + yScale: _react.PropTypes.string.isRequired, + yOrient: _react.PropTypes.oneOf(['left', 'right']), + yTickOrient: _react.PropTypes.oneOf(['left', 'right']), + yAxisClassName: _react.PropTypes.string, + yTickSizeInner: _react.PropTypes.number, + yTickSizeOuter: _react.PropTypes.number, + yBandPaddingInner: _react.PropTypes.number, + yBandPaddingOuter: _react.PropTypes.number, + yTickPadding: _react.PropTypes.number, + yTickFormat: _react.PropTypes.func, + yTicks: _react.PropTypes.array, + style: _react.PropTypes.object, + /* + yAxisStyling object holds css styling classes for axis elements + pathClassName: "someCls" + ticksClassName: "someCls" + textClassName: "someCls" + */ + yAxisStyling: _react.PropTypes.object, + yTickValues: _react.PropTypes.array + }; + exports.default = Yaxis; - // Convert day-of-week and week-of-year to day-of-year. - if ("W" in d || "U" in d) { - if (!("w" in d)) d.w = "W" in d ? 1 : 0; - var day = "Z" in d ? utcDate(newYear(d.y)).getUTCDay() : newDate(newYear(d.y)).getDay(); - d.m = 0; - d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7; - } +/***/ }), +/* 52 */ +/***/ (function(module, exports, __webpack_require__) { - // If a time zone is specified, all fields are interpreted as UTC and then - // offset according to the specified time zone. - if ("Z" in d) { - d.H += d.Z / 100 | 0; - d.M += d.Z % 100; - return utcDate(d); - } + "use strict"; + + Object.defineProperty(exports, "__esModule", { + value: true + }); - // Otherwise, all fields are in local time. - return newDate(d); - }; - } + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - function parseSpecifier(d, specifier, string, j) { - var i = 0, - n = specifier.length, - m = string.length, - c, - parse; + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - while (i < n) { - if (j >= m) return -1; - c = specifier.charCodeAt(i++); - if (c === 37) { - c = specifier.charAt(i++); - parse = parses[c in pads ? specifier.charAt(i++) : c]; - if (!parse || ((j = parse(d, string, j)) < 0)) return -1; - } else if (c != string.charCodeAt(j++)) { - return -1; - } - } + var _react = __webpack_require__(4); - return j; - } + var _react2 = _interopRequireDefault(_react); - function parsePeriod(d, string, i) { - var n = periodRe.exec(string.slice(i)); - return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } + var _axis = __webpack_require__(47); - function parseShortWeekday(d, string, i) { - var n = shortWeekdayRe.exec(string.slice(i)); - return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } + var _axis2 = _interopRequireDefault(_axis); - function parseWeekday(d, string, i) { - var n = weekdayRe.exec(string.slice(i)); - return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } + var _commonProps = __webpack_require__(17); - function parseShortMonth(d, string, i) { - var n = shortMonthRe.exec(string.slice(i)); - return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } + var _commonProps2 = _interopRequireDefault(_commonProps); - function parseMonth(d, string, i) { - var n = monthRe.exec(string.slice(i)); - return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1; - } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function parseLocaleDateTime(d, string, i) { - return parseSpecifier(d, locale_dateTime, string, i); - } + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function parseLocaleDate(d, string, i) { - return parseSpecifier(d, locale_date, string, i); - } + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - function parseLocaleTime(d, string, i) { - return parseSpecifier(d, locale_time, string, i); - } + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - function formatShortWeekday(d) { - return locale_shortWeekdays[d.getDay()]; - } + var Grid = function (_Component) { + _inherits(Grid, _Component); - function formatWeekday(d) { - return locale_weekdays[d.getDay()]; - } + function Grid(props) { + _classCallCheck(this, Grid); - function formatShortMonth(d) { - return locale_shortMonths[d.getMonth()]; - } + return _possibleConstructorReturn(this, Object.getPrototypeOf(Grid).call(this, props)); + } - function formatMonth(d) { - return locale_months[d.getMonth()]; - } + _createClass(Grid, [{ + key: 'render', + value: function render() { + var _props = this.props; + var height = _props.height; + var width = _props.width; + var margins = _props.margins; + var type = _props.type; + var gridAxisClassName = _props.gridAxisClassName; + var xBandPaddingInner = _props.xBandPaddingInner; + var xBandPaddingOuter = _props.xBandPaddingOuter; + var x = _props.x; + var xDomain = _props.xDomain; + var xRange = _props.xRange; + var xScale = _props.xScale; + var xGridCount = _props.xGridCount; + var xGridStyleClassName = _props.xGridStyleClassName; + var yBandPaddingInner = _props.yBandPaddingInner; + var yBandPaddingOuter = _props.yBandPaddingOuter; + var y = _props.y; + var yDomain = _props.yDomain; + var yRange = _props.yRange; + var yScale = _props.yScale; + var yGridCount = _props.yGridCount; + var yGridStyleClassName = _props.yGridStyleClassName; + var xTickValues = _props.xTickValues; + var yTickValues = _props.yTickValues; - function formatPeriod(d) { - return locale_periods[+(d.getHours() >= 12)]; - } - function formatUTCShortWeekday(d) { - return locale_shortWeekdays[d.getUTCDay()]; - } + var gridAxis; + var t; - function formatUTCWeekday(d) { - return locale_weekdays[d.getUTCDay()]; - } + if (!yRange) { + yRange = [height - margins.top - margins.bottom, 0]; + } - function formatUTCShortMonth(d) { - return locale_shortMonths[d.getUTCMonth()]; - } + if (!xRange) { + xRange = [0, width - margins.left - margins.right]; + } - function formatUTCMonth(d) { - return locale_months[d.getUTCMonth()]; - } + if (type === 'x') { + t = 'translate(0, ' + (height - margins.bottom - margins.top) + ')'; + var tickSize = height - margins.top - margins.bottom; - function formatUTCPeriod(d) { - return locale_periods[+(d.getUTCHours() >= 12)]; - } + // if grid axis don't pass customize ticks. + gridAxis = _react2.default.createElement(_axis2.default, { + height: height, + width: width, + margins: margins, + type: 'gridx', + showAxis: false, + gridAxisClassName: gridAxisClassName, + bandPaddingInner: xBandPaddingInner, + bandPaddingOuter: xBandPaddingOuter, + tickOrient: 'bottom', + orient: 'bottom', + tickSizeOuter: 0, + tickPadding: 10, + tickFormat: null, + tickSizeInner: -tickSize, + proxy: x, + domain: xDomain, + range: xRange, + scale: xScale, + ticks: xGridCount, + gridStyleClassName: xGridStyleClassName, + tickValues: xTickValues + }); + } else if (type === 'y') { + t = 'translate(0, 0)'; + var tickSize = width - margins.left - margins.right; - return { - format: function(specifier) { - var f = newFormat(specifier += "", formats); - f.toString = function() { return specifier; }; - return f; - }, - parse: function(specifier) { - var p = newParse(specifier += "", localDate); - p.toString = function() { return specifier; }; - return p; - }, - utcFormat: function(specifier) { - var f = newFormat(specifier += "", utcFormats); - f.toString = function() { return specifier; }; - return f; - }, - utcParse: function(specifier) { - var p = newParse(specifier, utcDate); - p.toString = function() { return specifier; }; - return p; + // if grid axis don't pass customize ticks. + gridAxis = _react2.default.createElement(_axis2.default, { + height: height, + width: width, + margins: margins, + type: 'gridy', + showAxis: false, + gridAxisClassName: gridAxisClassName, + bandPaddingInner: yBandPaddingInner, + bandPaddingOuter: yBandPaddingOuter, + tickOrient: 'left', + orient: 'left', + tickSizeOuter: 0, + tickPadding: 10, + tickSizeInner: -tickSize, + tickFormat: null, + proxy: y, + scale: yScale, + domain: yDomain, + range: yRange, + ticks: yGridCount, + gridStyleClassName: yGridStyleClassName, + tickValues: yTickValues + }); } - }; - } - var pads = {"-": "", "_": " ", "0": "0"}; - var numberRe = /^\s*\d+/; - var percentRe = /^%/; - var requoteRe = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; - function pad(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); - } + return _react2.default.createElement( + 'g', + { transform: t }, + gridAxis + ); + } + }]); - function requote(s) { - return s.replace(requoteRe, "\\$&"); - } + return Grid; + }(_react.Component); - function formatRe(names) { - return new RegExp("^(?:" + names.map(requote).join("|") + ")", "i"); - } + Grid.defaultProps = _extends({ + type: 'x', + gridAxisClassName: 'react-d3-core__grid_axis' + }, _commonProps2.default); + Grid.propTypes = { + height: _react.PropTypes.number.isRequired, + width: _react.PropTypes.number.isRequired, + margins: _react.PropTypes.object.isRequired, + type: _react.PropTypes.oneOf(['x', 'y']).isRequired, + gridAxisClassName: _react.PropTypes.string, + x: _react.PropTypes.func, + xDomain: _react.PropTypes.array, + xRange: _react.PropTypes.array, + xScale: _react.PropTypes.oneOf(['linear', 'identity', 'sqrt', 'pow', 'log', 'quantize', 'quantile', 'ordinal', 'time']).isRequired, + xBandPaddingInner: _react.PropTypes.number, + xBandPaddingOuter: _react.PropTypes.number, + y: _react.PropTypes.func, + yDomain: _react.PropTypes.array, + yRange: _react.PropTypes.array, + yScale: _react.PropTypes.oneOf(['linear', 'identity', 'sqrt', 'pow', 'log', 'quantize', 'quantile', 'ordinal', 'time']).isRequired, + yBandPaddingInner: _react.PropTypes.number, + yBandPaddingOuter: _react.PropTypes.number, + xGridCount: _react.PropTypes.array, + yGridCount: _react.PropTypes.array, + xGridStyleClassName: _react.PropTypes.string, + yGridStyleClassName: _react.PropTypes.string, + xTickValues: _react.PropTypes.array + }; + exports.default = Grid; + +/***/ }), +/* 53 */ +/***/ (function(module, exports, __webpack_require__) { - function formatLookup(names) { - var map = {}, i = -1, n = names.length; - while (++i < n) map[names[i].toLowerCase()] = i; - return map; - } + "use strict"; - function parseWeekdayNumber(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 1)); - return n ? (d.w = +n[0], i + n[0].length) : -1; - } + Object.defineProperty(exports, "__esModule", { + value: true + }); - function parseWeekNumberSunday(d, string, i) { - var n = numberRe.exec(string.slice(i)); - return n ? (d.U = +n[0], i + n[0].length) : -1; - } + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - function parseWeekNumberMonday(d, string, i) { - var n = numberRe.exec(string.slice(i)); - return n ? (d.W = +n[0], i + n[0].length) : -1; - } + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - function parseFullYear(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 4)); - return n ? (d.y = +n[0], i + n[0].length) : -1; - } + var _react = __webpack_require__(4); - function parseYear(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1; - } + var _react2 = _interopRequireDefault(_react); - function parseZone(d, string, i) { - var n = /^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(string.slice(i, i + 6)); - return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1; - } + var _grid = __webpack_require__(52); - function parseMonthNumber(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.m = n[0] - 1, i + n[0].length) : -1; - } + var _grid2 = _interopRequireDefault(_grid); - function parseDayOfMonth(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.d = +n[0], i + n[0].length) : -1; - } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function parseDayOfYear(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 3)); - return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1; - } + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function parseHour24(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.H = +n[0], i + n[0].length) : -1; - } + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - function parseMinutes(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.M = +n[0], i + n[0].length) : -1; - } + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - function parseSeconds(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 2)); - return n ? (d.S = +n[0], i + n[0].length) : -1; - } + var XGrid = function (_Component) { + _inherits(XGrid, _Component); - function parseMilliseconds(d, string, i) { - var n = numberRe.exec(string.slice(i, i + 3)); - return n ? (d.L = +n[0], i + n[0].length) : -1; - } + function XGrid(props) { + _classCallCheck(this, XGrid); - function parseLiteralPercent(d, string, i) { - var n = percentRe.exec(string.slice(i, i + 1)); - return n ? i + n[0].length : -1; + return _possibleConstructorReturn(this, Object.getPrototypeOf(XGrid).call(this, props)); } - function formatDayOfMonth(d, p) { - return pad(d.getDate(), p, 2); - } + _createClass(XGrid, [{ + key: 'render', + value: function render() { + return _react2.default.createElement(_grid2.default, _extends({}, this.props, { + type: 'x' + })); + } + }]); - function formatHour24(d, p) { - return pad(d.getHours(), p, 2); - } + return XGrid; + }(_react.Component); - function formatHour12(d, p) { - return pad(d.getHours() % 12 || 12, p, 2); - } + exports.default = XGrid; - function formatDayOfYear(d, p) { - return pad(1 + d3Time.timeDay.count(d3Time.timeYear(d), d), p, 3); - } +/***/ }), +/* 54 */ +/***/ (function(module, exports, __webpack_require__) { - function formatMilliseconds(d, p) { - return pad(d.getMilliseconds(), p, 3); - } + "use strict"; - function formatMonthNumber(d, p) { - return pad(d.getMonth() + 1, p, 2); - } + Object.defineProperty(exports, "__esModule", { + value: true + }); - function formatMinutes(d, p) { - return pad(d.getMinutes(), p, 2); - } + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - function formatSeconds(d, p) { - return pad(d.getSeconds(), p, 2); - } + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - function formatWeekNumberSunday(d, p) { - return pad(d3Time.timeSunday.count(d3Time.timeYear(d), d), p, 2); - } + var _react = __webpack_require__(4); - function formatWeekdayNumber(d) { - return d.getDay(); - } + var _react2 = _interopRequireDefault(_react); - function formatWeekNumberMonday(d, p) { - return pad(d3Time.timeMonday.count(d3Time.timeYear(d), d), p, 2); - } + var _grid = __webpack_require__(52); - function formatYear(d, p) { - return pad(d.getFullYear() % 100, p, 2); - } + var _grid2 = _interopRequireDefault(_grid); - function formatFullYear(d, p) { - return pad(d.getFullYear() % 10000, p, 4); - } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function formatZone(d) { - var z = d.getTimezoneOffset(); - return (z > 0 ? "-" : (z *= -1, "+")) - + pad(z / 60 | 0, "0", 2) - + pad(z % 60, "0", 2); - } + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - function formatUTCDayOfMonth(d, p) { - return pad(d.getUTCDate(), p, 2); - } + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - function formatUTCHour24(d, p) { - return pad(d.getUTCHours(), p, 2); - } + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - function formatUTCHour12(d, p) { - return pad(d.getUTCHours() % 12 || 12, p, 2); - } + var YGrid = function (_Component) { + _inherits(YGrid, _Component); - function formatUTCDayOfYear(d, p) { - return pad(1 + d3Time.utcDay.count(d3Time.utcYear(d), d), p, 3); - } + function YGrid(props) { + _classCallCheck(this, YGrid); - function formatUTCMilliseconds(d, p) { - return pad(d.getUTCMilliseconds(), p, 3); + return _possibleConstructorReturn(this, Object.getPrototypeOf(YGrid).call(this, props)); } - function formatUTCMonthNumber(d, p) { - return pad(d.getUTCMonth() + 1, p, 2); - } + _createClass(YGrid, [{ + key: 'render', + value: function render() { + return _react2.default.createElement(_grid2.default, _extends({}, this.props, { + type: 'y' + })); + } + }]); - function formatUTCMinutes(d, p) { - return pad(d.getUTCMinutes(), p, 2); - } + return YGrid; + }(_react.Component); - function formatUTCSeconds(d, p) { - return pad(d.getUTCSeconds(), p, 2); - } + exports.default = YGrid; - function formatUTCWeekNumberSunday(d, p) { - return pad(d3Time.utcSunday.count(d3Time.utcYear(d), d), p, 2); - } +/***/ }), +/* 55 */ +/***/ (function(module, exports, __webpack_require__) { - function formatUTCWeekdayNumber(d) { - return d.getUTCDay(); - } + 'use strict'; - function formatUTCWeekNumberMonday(d, p) { - return pad(d3Time.utcMonday.count(d3Time.utcYear(d), d), p, 2); - } + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.xDomain = xDomain; - function formatUTCYear(d, p) { - return pad(d.getUTCFullYear() % 100, p, 2); - } + var _d3Array = __webpack_require__(20); - function formatUTCFullYear(d, p) { - return pad(d.getUTCFullYear() % 10000, p, 4); - } + var _d3Array2 = _interopRequireDefault(_d3Array); - function formatUTCZone() { - return "+0000"; - } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function formatLiteralPercent() { - return "%"; - } + function xDomain(props, stack, horizonal) { + var data = props.data; + var chartSeries = props.chartSeries; + var x = props.x; + var xScale = props.xScale; + var xDomain = props.xDomain; - var locale = locale$1({ - 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"] - }); - var caES = locale$1({ - dateTime: "%A, %e de %B de %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["diumenge", "dilluns", "dimarts", "dimecres", "dijous", "divendres", "dissabte"], - shortDays: ["dg.", "dl.", "dt.", "dc.", "dj.", "dv.", "ds."], - months: ["gener", "febrer", "març", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre", "desembre"], - shortMonths: ["gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."] - }); + if (xDomain) return xDomain; - var deCH = locale$1({ - dateTime: "%A, der %e. %B %Y, %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], - shortDays: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], - months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], - shortMonths: ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"] - }); + if (!horizonal) { + if (xScale === 'ordinal') { + return data.map(function (d) { + return x(d); + }); + } else { + return _d3Array2.default.extent(data, function (d) { + return x(d); + }); + } + } else { + if (stack) { + // stack + var max = 0; + var min = 0; - var deDE = locale$1({ - dateTime: "%A, der %e. %B %Y, %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], - shortDays: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], - months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], - shortMonths: ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"] - }); + data.forEach(function (d) { + var totalTop = 0; + var totalBottom = 0; - var enCA = locale$1({ - dateTime: "%a %b %e %X %Y", - date: "%Y-%m-%d", - 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"] - }); + chartSeries.forEach(function (sd) { + var field = sd.field; - var enGB = locale$1({ - dateTime: "%a %e %b %X %Y", - date: "%d/%m/%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"] - }); + if (d[field] > 0) { + totalTop += x(d[field]); + } else if (d[field] < 0) { + totalBottom += x(d[field]); + } + }); - var esES = locale$1({ - dateTime: "%A, %e de %B de %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"], - shortDays: ["dom", "lun", "mar", "mié", "jue", "vie", "sáb"], - months: ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"], - shortMonths: ["ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"] - }); + if (totalTop > max) max = totalTop; + if (totalBottom < min) min = totalBottom; + }); - var fiFI = locale$1({ - dateTime: "%A, %-d. %Bta %Y klo %X", - date: "%-d.%-m.%Y", - time: "%H:%M:%S", - periods: ["a.m.", "p.m."], - days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai"], - shortDays: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"], - months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], - shortMonths: ["Tammi", "Helmi", "Maalis", "Huhti", "Touko", "Kesä", "Heinä", "Elo", "Syys", "Loka", "Marras", "Joulu"] - }); + return [min, max]; + } else { + // not stack, single + var domainArr = chartSeries.map(function (d) { + var field = d.field; + var extent = _d3Array2.default.extent(data, function (dt) { + return x(dt[field]); + }); - var frCA = locale$1({ - dateTime: "%a %e %b %Y %X", - date: "%Y-%m-%d", - time: "%H:%M:%S", - periods: ["", ""], - days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], - shortDays: ["dim", "lun", "mar", "mer", "jeu", "ven", "sam"], - months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"], - shortMonths: ["jan", "fév", "mar", "avr", "mai", "jui", "jul", "aoû", "sep", "oct", "nov", "déc"] - }); + return extent; + }); - var frFR = locale$1({ - dateTime: "%A, le %e %B %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], - shortDays: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."], - months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"], - shortMonths: ["janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."] - }); + return _d3Array2.default.extent([].concat.apply([], domainArr)); + } + } + } - var heIL = locale$1({ - dateTime: "%A, %e ב%B %Y %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"], - shortDays: ["א׳", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳"], - months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], - shortMonths: ["ינו׳", "פבר׳", "מרץ", "אפר׳", "מאי", "יוני", "יולי", "אוג׳", "ספט׳", "אוק׳", "נוב׳", "דצמ׳"] - }); +/***/ }), +/* 56 */ +/***/ (function(module, exports, __webpack_require__) { - var huHU = locale$1({ - dateTime: "%Y. %B %-e., %A %X", - date: "%Y. %m. %d.", - time: "%H:%M:%S", - periods: ["de.", "du."], // unused - days: ["vasárnap", "hétfő", "kedd", "szerda", "csütörtök", "péntek", "szombat"], - shortDays: ["V", "H", "K", "Sze", "Cs", "P", "Szo"], - months: ["január", "február", "március", "április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december"], - shortMonths: ["jan.", "feb.", "már.", "ápr.", "máj.", "jún.", "júl.", "aug.", "szept.", "okt.", "nov.", "dec."] - }); + 'use strict'; - var itIT = locale$1({ - dateTime: "%A %e %B %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], - shortDays: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"], - months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], - shortMonths: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"] - }); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.yDomain = yDomain; - var jaJP = locale$1({ - dateTime: "%Y %b %e %a %X", - date: "%Y/%m/%d", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"], - shortDays: ["日", "月", "火", "水", "木", "金", "土"], - months: ["睦月", "如月", "弥生", "卯月", "皐月", "水無月", "文月", "葉月", "長月", "神無月", "霜月", "師走"], - shortMonths: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"] - }); + var _d3Array = __webpack_require__(20); - var koKR = locale$1({ - dateTime: "%Y/%m/%d %a %X", - date: "%Y/%m/%d", - time: "%H:%M:%S", - periods: ["오전", "오후"], - days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"], - shortDays: ["일", "월", "화", "수", "목", "금", "토"], - months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], - shortMonths: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"] - }); + var _d3Array2 = _interopRequireDefault(_d3Array); - var mkMK = locale$1({ - dateTime: "%A, %e %B %Y г. %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["недела", "понеделник", "вторник", "среда", "четврток", "петок", "сабота"], - shortDays: ["нед", "пон", "вто", "сре", "чет", "пет", "саб"], - months: ["јануари", "февруари", "март", "април", "мај", "јуни", "јули", "август", "септември", "октомври", "ноември", "декември"], - shortMonths: ["јан", "фев", "мар", "апр", "мај", "јун", "јул", "авг", "сеп", "окт", "ное", "дек"] - }); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var nlNL = locale$1({ - dateTime: "%a %e %B %Y %T", - date: "%d-%m-%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"], - shortDays: ["zo", "ma", "di", "wo", "do", "vr", "za"], - months: ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"], - shortMonths: ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"] - }); + function yDomain(props, stack, horizonal) { + var data = props.data; + var chartSeries = props.chartSeries; + var y = props.y; + var yDomain = props.yDomain; + var yScale = props.yScale; - var plPL = locale$1({ - dateTime: "%A, %e %B %Y, %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], // unused - days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"], - shortDays: ["Niedz.", "Pon.", "Wt.", "Śr.", "Czw.", "Pt.", "Sob."], - months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], - shortMonths: ["Stycz.", "Luty", "Marz.", "Kwie.", "Maj", "Czerw.", "Lipc.", "Sierp.", "Wrz.", "Paźdz.", "Listop.", "Grudz."]/* In Polish language abbraviated months are not commonly used so there is a dispute about the proper abbraviations. */ - }); - var ptBR = locale$1({ - dateTime: "%A, %e de %B de %Y. %X", - date: "%d/%m/%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"], - shortDays: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"], - months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], - shortMonths: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"] - }); + if (yDomain) return yDomain; - var ruRU = locale$1({ - dateTime: "%A, %e %B %Y г. %X", - date: "%d.%m.%Y", - time: "%H:%M:%S", - periods: ["AM", "PM"], - days: ["воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота"], - shortDays: ["вс", "пн", "вт", "ср", "чт", "пт", "сб"], - months: ["января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря"], - shortMonths: ["янв", "фев", "мар", "апр", "май", "июн", "июл", "авг", "сен", "окт", "ноя", "дек"] - }); + if (!horizonal) { + if (stack) { + // stack + var max = 0; + var min = 0; - var svSE = locale$1({ - dateTime: "%A den %d %B %Y %X", - date: "%Y-%m-%d", - time: "%H:%M:%S", - periods: ["fm", "em"], - days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"], - shortDays: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"], - months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], - shortMonths: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"] - }); + data.forEach(function (d) { + var totalTop = 0; + var totalBottom = 0; - var zhCN = locale$1({ - dateTime: "%x %A %X", - date: "%Y年%-m月%-d日", - time: "%H:%M:%S", - periods: ["上午", "下午"], - days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], - shortDays: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"], - months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], - shortMonths: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"] - }); + chartSeries.forEach(function (sd) { + var field = sd.field; + + if (d[field] > 0) { + totalTop += y(d[field]); + } else if (d[field] < 0) { + totalBottom += y(d[field]); + } + }); + + if (totalTop > max) max = totalTop; + if (totalBottom < min) min = totalBottom; + }); + + return [min, max]; + } else { + // not stack, single + var domainArr = chartSeries.map(function (d) { + var field = d.field; + var extent = _d3Array2.default.extent(data, function (dt) { + return y(dt[field]); + }); - var isoSpecifier = "%Y-%m-%dT%H:%M:%S.%LZ"; + return extent; + }); - function formatIsoNative(date) { - return date.toISOString(); + var extentArr = _d3Array2.default.extent([].concat.apply([], domainArr)); + + if (extentArr[0] * extentArr[1] >= 0) { + return [0, extentArr[1]]; + } else { + return extentArr; + } + } + } else { + if (yScale === 'ordinal') { + return data.map(function (d) { + return y(d); + }); + } else { + return _d3Array2.default.extent(data, function (d) { + return y(d); + }); + } } + } - var formatIso = Date.prototype.toISOString - ? formatIsoNative - : locale.utcFormat(isoSpecifier); +/***/ }), +/* 57 */ +/***/ (function(module, exports, __webpack_require__) { - function parseIsoNative(string) { - var date = new Date(string); - return isNaN(date) ? null : date; - } + "use strict"; - var parseIso = +new Date("2000-01-01T00:00:00.000Z") - ? parseIsoNative - : locale.utcParse(isoSpecifier); + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.pieProps = undefined; - var timeFormat = locale.format; - var timeParse = locale.parse; - var utcFormat = locale.utcFormat; - var utcParse = locale.utcParse; + var _d3Scale = __webpack_require__(19); - exports.timeFormat = timeFormat; - exports.timeParse = timeParse; - exports.utcFormat = utcFormat; - exports.utcParse = utcParse; - exports.version = version; - exports.timeFormatLocale = locale$1; - exports.timeFormatCaEs = caES; - exports.timeFormatDeCh = deCH; - exports.timeFormatDeDe = deDE; - exports.timeFormatEnCa = enCA; - exports.timeFormatEnGb = enGB; - exports.timeFormatEnUs = locale; - exports.timeFormatEsEs = esES; - exports.timeFormatFiFi = fiFI; - exports.timeFormatFrCa = frCA; - exports.timeFormatFrFr = frFR; - exports.timeFormatHeIl = heIL; - exports.timeFormatHuHu = huHU; - exports.timeFormatItIt = itIT; - exports.timeFormatJaJp = jaJP; - exports.timeFormatKoKr = koKR; - exports.timeFormatMkMk = mkMK; - exports.timeFormatNlNl = nlNL; - exports.timeFormatPlPl = plPL; - exports.timeFormatPtBr = ptBR; - exports.timeFormatRuRu = ruRU; - exports.timeFormatSvSe = svSE; - exports.timeFormatZhCn = zhCN; - exports.isoFormat = formatIso; - exports.isoParse = parseIso; + var _d3Scale2 = _interopRequireDefault(_d3Scale); - })); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { default: obj }; + } -/***/ }, -/* 56 */ -/***/ function(module, exports, __webpack_require__) { + var width = 960; + var height = 500; + var margins = { top: 80, right: 100, bottom: 80, left: 100 }; + + exports.default = { + width: width, + height: height, + margins: margins, + y: function y(d) { + return +d; + }, + xScale: 'linear', + yScale: 'linear', + showXGrid: true, + showYGrid: true, + showLegend: true + }; + var pieProps = exports.pieProps = { + width: width, + height: height, + margins: margins, + innerRadius: 0, + categoricalColors: _d3Scale2.default.scaleCategory10(), + pieSort: function pieSort() {}, + pieTextShow: true + }; + +/***/ }), +/* 58 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -15428,12 +11998,28 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _reactD3Core = __webpack_require__(5); + var _propTypes = __webpack_require__(5); + + var PropTypes = _interopRequireWildcard(_propTypes); + + var _reactD3Core = __webpack_require__(15); - var _commonProps = __webpack_require__(47); + var _commonProps = __webpack_require__(57); var _commonProps2 = _interopRequireDefault(_commonProps); + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {};if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + } + }newObj.default = obj;return newObj; + } + } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -15462,7 +12048,7 @@ var ReactD3Shape = function ChartSvg(props) { _classCallCheck(this, ChartSvg); - return _possibleConstructorReturn(this, Object.getPrototypeOf(ChartSvg).call(this, props)); + return _possibleConstructorReturn(this, (ChartSvg.__proto__ || Object.getPrototypeOf(ChartSvg)).call(this, props)); } _createClass(ChartSvg, [{ @@ -15470,15 +12056,15 @@ var ReactD3Shape = value: function render() { var _this2 = this; - var _props = this.props; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var data = _props.data; - var svgClassName = _props.svgClassName; - var id = _props.id; - var name = _props.name; - var value = _props.value; + var _props = this.props, + height = _props.height, + width = _props.width, + margins = _props.margins, + data = _props.data, + svgClassName = _props.svgClassName, + id = _props.id, + name = _props.name, + value = _props.value; var children = _react2.default.Children.map(this.props.children, function (el) { if (el) return _react2.default.cloneElement(el, _this2.props);else return null; @@ -15505,21 +12091,21 @@ var ReactD3Shape = svgClassName: 'react-d3-core__container_svg' }, _commonProps2.default); ChartSvg.propTypes = { - id: _react.PropTypes.string, - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - svgClassName: _react.PropTypes.string.isRequired + id: PropTypes.string, + width: PropTypes.number.isRequired, + height: PropTypes.number.isRequired, + margins: PropTypes.object.isRequired, + svgClassName: PropTypes.string.isRequired }; exports.default = ChartSvg; -/***/ }, -/* 57 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 59 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(d3) {"use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -15539,16 +12125,32 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _commonProps = __webpack_require__(47); + var _propTypes = __webpack_require__(5); + + var PropTypes = _interopRequireWildcard(_propTypes); + + var _commonProps = __webpack_require__(57); var _commonProps2 = _interopRequireDefault(_commonProps); - var _reactD3Core = __webpack_require__(5); + var _reactD3Core = __webpack_require__(15); - var _reactDom = __webpack_require__(58); + var _reactDom = __webpack_require__(60); var _reactDom2 = _interopRequireDefault(_reactDom); + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {};if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + } + }newObj.default = obj;return newObj; + } + } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -15575,14 +12177,13 @@ var ReactD3Shape = Renders d3 brush and returns new x-axis values depending on brush movements. This allows brush events to be dealt with at the React level so that every chart can have an attached brush */ - var Brush = function (_Component) { _inherits(Brush, _Component); function Brush(props) { _classCallCheck(this, Brush); - var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(Brush).call(this, props)); + var _this = _possibleConstructorReturn(this, (Brush.__proto__ || Object.getPrototypeOf(Brush)).call(this, props)); _this.state = { xBrushScaleSet: _this._mkXScale(props) @@ -15593,10 +12194,10 @@ var ReactD3Shape = _createClass(Brush, [{ key: '_mkXScale', value: function _mkXScale(props) { - var xScale = props.xScale; - var xRange = props.xRange; - var xDomain = props.xDomain; - var xRangeRoundBands = props.xRangeRoundBands; + var xScale = props.xScale, + xRange = props.xRange, + xDomain = props.xDomain, + xRangeRoundBands = props.xRangeRoundBands; var newXScale = { scale: xScale, @@ -15629,20 +12230,16 @@ var ReactD3Shape = value: function _updateBrush() { var _this2 = this; - var _state = this.state; - var xBrushScaleSet = _state.xBrushScaleSet; - var yBrushScaleSet = _state.yBrushScaleSet; - var _props = // callback method to which brush will pass the axis and new xDomain values on brush - // user defined brush style or else use default - this.props; - var height = _props.height; - var margins = _props.margins; - var brushExtent = _props.brushExtent; - var // used to set default brush drag area hightlighted - keepBrushOn = _props.keepBrushOn; - var // if true the brush will be visible after mouse release and user can move it left/right. If not after mouse release it will disappear - onBrushDomainChange = _props.onBrushDomainChange; - var brushStyle = _props.brushStyle; + var _state = this.state, + xBrushScaleSet = _state.xBrushScaleSet, + yBrushScaleSet = _state.yBrushScaleSet; + var _props = this.props, + height = _props.height, + margins = _props.margins, + brushExtent = _props.brushExtent, + keepBrushOn = _props.keepBrushOn, + onBrushDomainChange = _props.onBrushDomainChange, + brushStyle = _props.brushStyle; // create d3 svg bursh with xDaomin values @@ -15684,19 +12281,19 @@ var ReactD3Shape = exports.default = Brush; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2))) -/***/ }, -/* 58 */ -/***/ function(module, exports) { +/***/ }), +/* 60 */ +/***/ (function(module, exports) { module.exports = ReactDOM; -/***/ }, -/* 59 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 61 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -15726,13 +12323,13 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _reactD3Core = __webpack_require__(5); + var _reactD3Core = __webpack_require__(15); var _chart = __webpack_require__(3); var _chart2 = _interopRequireDefault(_chart); - var _straightLine = __webpack_require__(60); + var _straightLine = __webpack_require__(62); var _straightLine2 = _interopRequireDefault(_straightLine); @@ -15769,7 +12366,7 @@ var ReactD3Shape = function BlankChart(props) { _classCallCheck(this, BlankChart); - return _possibleConstructorReturn(this, Object.getPrototypeOf(BlankChart).call(this, props)); + return _possibleConstructorReturn(this, (BlankChart.__proto__ || Object.getPrototypeOf(BlankChart)).call(this, props)); } _createClass(BlankChart, [{ @@ -15780,16 +12377,15 @@ var ReactD3Shape = }, { key: 'render', value: function render() { - var _props = // do not display Y ticks for blank chart - this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var showXGrid = _props.showXGrid; - var showYGrid = _props.showYGrid; - var xDomain = _props.xDomain; - var noDataTitleText = _props.noDataTitleText; - var yTicks = _props.yTicks; + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + showXGrid = _props.showXGrid, + showYGrid = _props.showYGrid, + xDomain = _props.xDomain, + noDataTitleText = _props.noDataTitleText, + yTicks = _props.yTicks; var xgrid, ygrid, textXMargin, textYMargin; @@ -15815,13 +12411,13 @@ var ReactD3Shape = }; exports.default = BlankChart; -/***/ }, -/* 60 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 62 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(d3) {"use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -15841,7 +12437,7 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _reactDom = __webpack_require__(58); + var _reactDom = __webpack_require__(60); var _reactDom2 = _interopRequireDefault(_reactDom); @@ -15870,14 +12466,13 @@ var ReactD3Shape = /* Renders straightline with given x and y coordinates. */ - var StraightLine = function (_Component) { _inherits(StraightLine, _Component); function StraightLine(props) { _classCallCheck(this, StraightLine); - return _possibleConstructorReturn(this, Object.getPrototypeOf(StraightLine).call(this, props)); + return _possibleConstructorReturn(this, (StraightLine.__proto__ || Object.getPrototypeOf(StraightLine)).call(this, props)); } _createClass(StraightLine, [{ @@ -15894,13 +12489,13 @@ var ReactD3Shape = }, { key: 'getLine', value: function getLine() { - var _props = this.props; - var x1 = _props.x1; - var x2 = _props.x2; - var y1 = _props.y1; - var y2 = _props.y2; - var width = _props.width; - var height = _props.height; + var _props = this.props, + x1 = _props.x1, + x2 = _props.x2, + y1 = _props.y1, + y2 = _props.y2, + width = _props.width, + height = _props.height; this.line = d3.select(_reactDom2.default.findDOMNode(this.refs.StLine)).append("line").attr("x1", x1).attr("y1", y1).attr("x2", x2).attr("y2", y2); @@ -15923,13 +12518,13 @@ var ReactD3Shape = exports.default = StraightLine; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2))) -/***/ }, -/* 61 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 63 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -15959,16 +12554,32 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _d3Shape = __webpack_require__(62); + var _propTypes = __webpack_require__(5); + + var PropTypes = _interopRequireWildcard(_propTypes); + + var _d3Shape = __webpack_require__(64); var _d3Shape2 = _interopRequireDefault(_d3Shape); - var _commonProps = __webpack_require__(47); + var _commonProps = __webpack_require__(57); var _commonProps2 = _interopRequireDefault(_commonProps); var _series = __webpack_require__(1); + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {};if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + } + }newObj.default = obj;return newObj; + } + } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -15997,7 +12608,7 @@ var ReactD3Shape = function Line(props) { _classCallCheck(this, Line); - return _possibleConstructorReturn(this, Object.getPrototypeOf(Line).call(this, props)); + return _possibleConstructorReturn(this, (Line.__proto__ || Object.getPrototypeOf(Line)).call(this, props)); } _createClass(Line, [{ @@ -16021,9 +12632,9 @@ var ReactD3Shape = }, { key: '_setAxes', value: function _setAxes(data) { - var _props = this.props; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; + var _props = this.props, + xScaleSet = _props.xScaleSet, + yScaleSet = _props.yScaleSet; var line = _d3Shape2.default.line().x(function (d) { return xScaleSet(d.x); @@ -16051,12 +12662,12 @@ var ReactD3Shape = }, _commonProps2.default); exports.default = Line; -/***/ }, -/* 62 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 64 */ +/***/ (function(module, exports, __webpack_require__) { (function (global, factory) { - true ? factory(exports, __webpack_require__(63)) : + true ? factory(exports, __webpack_require__(65)) : typeof define === 'function' && define.amd ? define(['exports', 'd3-path'], factory) : (factory((global.d3_shape = {}),global.d3_path)); }(this, function (exports,d3Path) { 'use strict'; @@ -17803,9 +14414,9 @@ var ReactD3Shape = })); -/***/ }, -/* 63 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 65 */ +/***/ (function(module, exports, __webpack_require__) { (function (global, factory) { true ? factory(exports) : @@ -17963,13 +14574,13 @@ var ReactD3Shape = })); -/***/ }, -/* 64 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 66 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -17999,16 +14610,32 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _d3Shape = __webpack_require__(62); + var _propTypes = __webpack_require__(5); + + var PropTypes = _interopRequireWildcard(_propTypes); + + var _d3Shape = __webpack_require__(64); var _d3Shape2 = _interopRequireDefault(_d3Shape); - var _commonProps = __webpack_require__(47); + var _commonProps = __webpack_require__(57); var _commonProps2 = _interopRequireDefault(_commonProps); var _series = __webpack_require__(1); + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {};if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + } + }newObj.default = obj;return newObj; + } + } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -18037,15 +14664,15 @@ var ReactD3Shape = function Area(props) { _classCallCheck(this, Area); - return _possibleConstructorReturn(this, Object.getPrototypeOf(Area).call(this, props)); + return _possibleConstructorReturn(this, (Area.__proto__ || Object.getPrototypeOf(Area)).call(this, props)); } _createClass(Area, [{ key: '_mkArea', value: function _mkArea() { - var _props = this.props; - var areaClassName = _props.areaClassName; - var areaOpacity = _props.areaOpacity; + var _props = this.props, + areaClassName = _props.areaClassName, + areaOpacity = _props.areaOpacity; var dataset = (0, _series.series)(this.props); var that = this; @@ -18063,11 +14690,11 @@ var ReactD3Shape = }, { key: '_setAxes', value: function _setAxes(data) { - var _props2 = this.props; - var height = _props2.height; - var margins = _props2.margins; - var xScaleSet = _props2.xScaleSet; - var yScaleSet = _props2.yScaleSet; + var _props2 = this.props, + height = _props2.height, + margins = _props2.margins, + xScaleSet = _props2.xScaleSet, + yScaleSet = _props2.yScaleSet; var area = _d3Shape2.default.area().x(function (d) { return xScaleSet(d.x); @@ -18104,13 +14731,13 @@ var ReactD3Shape = }, _commonProps2.default); exports.default = Area; -/***/ }, -/* 65 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 67 */ +/***/ (function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(d3) {"use strict"; + "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -18140,16 +14767,36 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _d3Shape = __webpack_require__(62); + var _propTypes = __webpack_require__(5); + + var PropTypes = _interopRequireWildcard(_propTypes); + + var _d = __webpack_require__(2); + + var _d2 = _interopRequireDefault(_d); + + var _d3Shape = __webpack_require__(64); var _d3Shape2 = _interopRequireDefault(_d3Shape); - var _commonProps = __webpack_require__(47); + var _commonProps = __webpack_require__(57); var _commonProps2 = _interopRequireDefault(_commonProps); var _series = __webpack_require__(1); + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {};if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + } + }newObj.default = obj;return newObj; + } + } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -18178,7 +14825,7 @@ var ReactD3Shape = function AreaStack(props) { _classCallCheck(this, AreaStack); - return _possibleConstructorReturn(this, Object.getPrototypeOf(AreaStack).call(this, props)); + return _possibleConstructorReturn(this, (AreaStack.__proto__ || Object.getPrototypeOf(AreaStack)).call(this, props)); } _createClass(AreaStack, [{ @@ -18226,16 +14873,16 @@ var ReactD3Shape = } }; }; - return d3.layout.stack().values(function (d) { + return _d2.default.layout.stack().values(function (d) { return d.data; }).out(buildOut(chartSeries.length)); } }, { key: '_setAxes', value: function _setAxes() { - var _props = this.props; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; + var _props = this.props, + xScaleSet = _props.xScaleSet, + yScaleSet = _props.yScaleSet; return _d3Shape2.default.area().x(function (d) { return xScaleSet(d.x); @@ -18262,15 +14909,14 @@ var ReactD3Shape = areaClassName: 'react-d3-basic__area_stack' }, _commonProps2.default); exports.default = AreaStack; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2))) -/***/ }, -/* 66 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 68 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -18320,7 +14966,7 @@ var ReactD3Shape = function Bar(props) { _classCallCheck(this, Bar); - return _possibleConstructorReturn(this, Object.getPrototypeOf(Bar).call(this, props)); + return _possibleConstructorReturn(this, (Bar.__proto__ || Object.getPrototypeOf(Bar)).call(this, props)); } _createClass(Bar, [{ @@ -18343,13 +14989,13 @@ var ReactD3Shape = value: function _mkBar() { var _this2 = this; - var _props = this.props; - var height = _props.height; - var width = _props.width; - var margins = _props.margins; - var barClassName = _props.barClassName; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; + var _props = this.props, + height = _props.height, + width = _props.width, + margins = _props.margins, + barClassName = _props.barClassName, + xScaleSet = _props.xScaleSet, + yScaleSet = _props.yScaleSet; var that = this; var dataset = (0, _series.series)(this.props)[0]; @@ -18400,13 +15046,13 @@ var ReactD3Shape = }; exports.default = Bar; -/***/ }, -/* 67 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 69 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -18456,7 +15102,7 @@ var ReactD3Shape = function BarHorizontal(props) { _classCallCheck(this, BarHorizontal); - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarHorizontal).call(this, props)); + return _possibleConstructorReturn(this, (BarHorizontal.__proto__ || Object.getPrototypeOf(BarHorizontal)).call(this, props)); } _createClass(BarHorizontal, [{ @@ -18474,12 +15120,12 @@ var ReactD3Shape = value: function _mkBar(dom) { var _this2 = this; - var _props = this.props; - var height = _props.height; - var margins = _props.margins; - var barClassName = _props.barClassName; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; + var _props = this.props, + height = _props.height, + margins = _props.margins, + barClassName = _props.barClassName, + xScaleSet = _props.xScaleSet, + yScaleSet = _props.yScaleSet; var that = this; var dataset = (0, _series.series)(this.props, true)[0]; @@ -18528,13 +15174,13 @@ var ReactD3Shape = }; exports.default = BarHorizontal; -/***/ }, -/* 68 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 70 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -18554,7 +15200,7 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _d3Scale = __webpack_require__(48); + var _d3Scale = __webpack_require__(19); var _d3Scale2 = _interopRequireDefault(_d3Scale); @@ -18588,7 +15234,7 @@ var ReactD3Shape = function BarGroup(props) { _classCallCheck(this, BarGroup); - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarGroup).call(this, props)); + return _possibleConstructorReturn(this, (BarGroup.__proto__ || Object.getPrototypeOf(BarGroup)).call(this, props)); } _createClass(BarGroup, [{ @@ -18606,12 +15252,12 @@ var ReactD3Shape = value: function _mkBarGroup(dom) { var _this2 = this; - var _props = this.props; - var height = _props.height; - var margins = _props.margins; - var barClassName = _props.barClassName; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; + var _props = this.props, + height = _props.height, + margins = _props.margins, + barClassName = _props.barClassName, + xScaleSet = _props.xScaleSet, + yScaleSet = _props.yScaleSet; var that = this; var dataset = (0, _series.series)(this.props); @@ -18669,13 +15315,13 @@ var ReactD3Shape = }; exports.default = BarGroup; -/***/ }, -/* 69 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 71 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -18695,7 +15341,7 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _d3Scale = __webpack_require__(48); + var _d3Scale = __webpack_require__(19); var _d3Scale2 = _interopRequireDefault(_d3Scale); @@ -18729,7 +15375,7 @@ var ReactD3Shape = function BarGroupHorizontal(props) { _classCallCheck(this, BarGroupHorizontal); - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarGroupHorizontal).call(this, props)); + return _possibleConstructorReturn(this, (BarGroupHorizontal.__proto__ || Object.getPrototypeOf(BarGroupHorizontal)).call(this, props)); } _createClass(BarGroupHorizontal, [{ @@ -18747,14 +15393,14 @@ var ReactD3Shape = value: function _mkBarGroup() { var _this2 = this; - var _props = this.props; - var height = _props.height; - var margins = _props.margins; - var barClassName = _props.barClassName; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; - var onMouseOut = _props.onMouseOut; - var onMouseOver = _props.onMouseOver; + var _props = this.props, + height = _props.height, + margins = _props.margins, + barClassName = _props.barClassName, + xScaleSet = _props.xScaleSet, + yScaleSet = _props.yScaleSet, + onMouseOut = _props.onMouseOut, + onMouseOver = _props.onMouseOver; var that = this; var dataset = (0, _series.series)(this.props, true); @@ -18812,13 +15458,13 @@ var ReactD3Shape = }; exports.default = BarGroupHorizontal; -/***/ }, -/* 70 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 72 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -18872,7 +15518,7 @@ var ReactD3Shape = function BarStack(props) { _classCallCheck(this, BarStack); - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarStack).call(this, props)); + return _possibleConstructorReturn(this, (BarStack.__proto__ || Object.getPrototypeOf(BarStack)).call(this, props)); } _createClass(BarStack, [{ @@ -18895,13 +15541,13 @@ var ReactD3Shape = value: function _mkBarStack() { var _this2 = this; - var _props = this.props; - var height = _props.height; - var margins = _props.margins; - var barClassName = _props.barClassName; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; - var barWidth = _props.barWidth; + var _props = this.props, + height = _props.height, + margins = _props.margins, + barClassName = _props.barClassName, + xScaleSet = _props.xScaleSet, + yScaleSet = _props.yScaleSet, + barWidth = _props.barWidth; var that = this; var dataset = (0, _series.series)(this.props); @@ -18996,13 +15642,13 @@ var ReactD3Shape = }; exports.default = BarStack; -/***/ }, -/* 71 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 73 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -19056,7 +15702,7 @@ var ReactD3Shape = function BarStackHorizontal(props) { _classCallCheck(this, BarStackHorizontal); - return _possibleConstructorReturn(this, Object.getPrototypeOf(BarStackHorizontal).call(this, props)); + return _possibleConstructorReturn(this, (BarStackHorizontal.__proto__ || Object.getPrototypeOf(BarStackHorizontal)).call(this, props)); } _createClass(BarStackHorizontal, [{ @@ -19074,13 +15720,13 @@ var ReactD3Shape = value: function _mkBarStack(dom) { var _this2 = this; - var _props = this.props; - var height = _props.height; - var margins = _props.margins; - var barClassName = _props.barClassName; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; - var barWidth = _props.barWidth; + var _props = this.props, + height = _props.height, + margins = _props.margins, + barClassName = _props.barClassName, + xScaleSet = _props.xScaleSet, + yScaleSet = _props.yScaleSet, + barWidth = _props.barWidth; var that = this; var dataset = (0, _series.series)(this.props, true); @@ -19179,13 +15825,13 @@ var ReactD3Shape = }; exports.default = BarStackHorizontal; -/***/ }, -/* 72 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 74 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -19215,11 +15861,11 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _d3Shape = __webpack_require__(62); + var _d3Shape = __webpack_require__(64); var _d3Shape2 = _interopRequireDefault(_d3Shape); - var _commonProps = __webpack_require__(47); + var _commonProps = __webpack_require__(57); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; @@ -19249,7 +15895,7 @@ var ReactD3Shape = function Pie(props) { _classCallCheck(this, Pie); - return _possibleConstructorReturn(this, Object.getPrototypeOf(Pie).call(this, props)); + return _possibleConstructorReturn(this, (Pie.__proto__ || Object.getPrototypeOf(Pie)).call(this, props)); } _createClass(Pie, [{ @@ -19265,12 +15911,12 @@ var ReactD3Shape = }, { key: 'mkSeries', value: function mkSeries() { - var _props = this.props; - var data = _props.data; - var chartSeries = _props.chartSeries; - var value = _props.value; - var name = _props.name; - var categoricalColors = _props.categoricalColors; + var _props = this.props, + data = _props.data, + chartSeries = _props.chartSeries, + value = _props.value, + name = _props.name, + categoricalColors = _props.categoricalColors; var chartSeriesData = chartSeries.map(function (f, i) { @@ -19296,15 +15942,15 @@ var ReactD3Shape = value: function _mkPie() { var _this2 = this; - var _props2 = this.props; - var width = _props2.width; - var height = _props2.height; - var innerRadius = _props2.innerRadius; - var outerRadius = _props2.outerRadius; - var pieSort = _props2.pieSort; - var value = _props2.value; - var radius = _props2.radius; - var pieTextShow = _props2.pieTextShow; + var _props2 = this.props, + width = _props2.width, + height = _props2.height, + innerRadius = _props2.innerRadius, + outerRadius = _props2.outerRadius, + pieSort = _props2.pieSort, + value = _props2.value, + radius = _props2.radius, + pieTextShow = _props2.pieTextShow; var that = this; var radius = this.props.radius || Math.min(width - 100, height - 100) / 2; @@ -19355,10 +16001,10 @@ var ReactD3Shape = }, { key: 'render', value: function render() { - var _props3 = this.props; - var width = _props3.width; - var height = _props3.height; - var margins = _props3.margins; + var _props3 = this.props, + width = _props3.width, + height = _props3.height, + margins = _props3.margins; var t = 'translate(' + (width - margins.left - margins.right) / 2 + ', ' + (height - margins.top - margins.bottom) / 2 + ')'; var pie = this._mkPie(); @@ -19376,13 +16022,13 @@ var ReactD3Shape = }, _commonProps.pieProps); exports.default = Pie; -/***/ }, -/* 73 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 75 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -19402,12 +16048,28 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _d3Shape = __webpack_require__(62); + var _propTypes = __webpack_require__(5); + + var PropTypes = _interopRequireWildcard(_propTypes); + + var _d3Shape = __webpack_require__(64); var _d3Shape2 = _interopRequireDefault(_d3Shape); var _series = __webpack_require__(1); + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {};if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + } + }newObj.default = obj;return newObj; + } + } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -19436,19 +16098,19 @@ var ReactD3Shape = function Scatter(props) { _classCallCheck(this, Scatter); - return _possibleConstructorReturn(this, Object.getPrototypeOf(Scatter).call(this, props)); + return _possibleConstructorReturn(this, (Scatter.__proto__ || Object.getPrototypeOf(Scatter)).call(this, props)); } _createClass(Scatter, [{ key: '_mkScatter', value: function _mkScatter(dataset) { - var _props = this.props; - var scatterClassName = _props.scatterClassName; - var defaultSymbol = _props.defaultSymbol; - var defaultSymbolSize = _props.defaultSymbolSize; - var brushSymbol = _props.brushSymbol; - var xScaleSet = _props.xScaleSet; - var yScaleSet = _props.yScaleSet; + var _props = this.props, + scatterClassName = _props.scatterClassName, + defaultSymbol = _props.defaultSymbol, + defaultSymbolSize = _props.defaultSymbolSize, + brushSymbol = _props.brushSymbol, + xScaleSet = _props.xScaleSet, + yScaleSet = _props.yScaleSet; // for building symbols in brush, set to circle and size to 4 @@ -19514,13 +16176,13 @@ var ReactD3Shape = }; exports.default = Scatter; -/***/ }, -/* 74 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 76 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -19550,9 +16212,13 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _reactD3Core = __webpack_require__(5); + var _propTypes = __webpack_require__(5); + + var PropTypes = _interopRequireWildcard(_propTypes); + + var _reactD3Core = __webpack_require__(15); - var _line = __webpack_require__(61); + var _line = __webpack_require__(63); var _line2 = _interopRequireDefault(_line); @@ -19560,26 +16226,38 @@ var ReactD3Shape = var _chart2 = _interopRequireDefault(_chart); - var _blank_chart = __webpack_require__(59); + var _blank_chart = __webpack_require__(61); var _blank_chart2 = _interopRequireDefault(_blank_chart); - var _area = __webpack_require__(64); + var _area = __webpack_require__(66); var _area2 = _interopRequireDefault(_area); - var _brush = __webpack_require__(57); + var _brush = __webpack_require__(59); var _brush2 = _interopRequireDefault(_brush); - var _rectangle = __webpack_require__(75); + var _rectangle = __webpack_require__(77); var _rectangle2 = _interopRequireDefault(_rectangle); - var _commonProps = __webpack_require__(47); + var _commonProps = __webpack_require__(57); var _commonProps2 = _interopRequireDefault(_commonProps); + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {};if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + } + }newObj.default = obj;return newObj; + } + } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -19613,7 +16291,7 @@ var ReactD3Shape = function MultiLineBrushChart(props) { _classCallCheck(this, MultiLineBrushChart); - return _possibleConstructorReturn(this, Object.getPrototypeOf(MultiLineBrushChart).call(this, props)); + return _possibleConstructorReturn(this, (MultiLineBrushChart.__proto__ || Object.getPrototypeOf(MultiLineBrushChart)).call(this, props)); } _createClass(MultiLineBrushChart, [{ @@ -19622,19 +16300,18 @@ var ReactD3Shape = // if there is no data render Blank chart if (!(this.props.data && this.props.data.length > 0)) return _react2.default.createElement(_blank_chart2.default, this.props); - var _props = // user can provide css classname to change chart's background, stroke, etc Note: this is implemented via svg rectangle element - this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var data = _props.data; - var chartSeries = _props.chartSeries; - var showXGrid = _props.showXGrid; - var showYGrid = _props.showYGrid; - var showLegend = _props.showLegend; - var categoricalColors = _props.categoricalColors; - var isBrushable = _props.isBrushable; - var chartClassName = _props.chartClassName; + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + data = _props.data, + chartSeries = _props.chartSeries, + showXGrid = _props.showXGrid, + showYGrid = _props.showYGrid, + showLegend = _props.showLegend, + categoricalColors = _props.categoricalColors, + isBrushable = _props.isBrushable, + chartClassName = _props.chartClassName; var xgrid, ygrid; @@ -19679,21 +16356,21 @@ var ReactD3Shape = isBrushable: false }, _commonProps2.default); MultiLineBrushChart.propTypes = { - width: _react.PropTypes.number.isRequired, - height: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - data: _react.PropTypes.array.isRequired, - chartSeries: _react.PropTypes.array.isRequired + width: PropTypes.number.isRequired, + height: PropTypes.number.isRequired, + margins: PropTypes.object.isRequired, + data: PropTypes.array.isRequired, + chartSeries: PropTypes.array.isRequired }; exports.default = MultiLineBrushChart; -/***/ }, -/* 75 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 77 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(d3) {"use strict"; - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; Object.defineProperty(exports, "__esModule", { value: true @@ -19713,10 +16390,26 @@ var ReactD3Shape = var _react2 = _interopRequireDefault(_react); - var _reactDom = __webpack_require__(58); + var _propTypes = __webpack_require__(5); + + var PropTypes = _interopRequireWildcard(_propTypes); + + var _reactDom = __webpack_require__(60); var _reactDom2 = _interopRequireDefault(_reactDom); + function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {};if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; + } + }newObj.default = obj;return newObj; + } + } + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -19742,14 +16435,13 @@ var ReactD3Shape = /* Renders svg rectangle for given width and height */ - var Rect = function (_Component) { _inherits(Rect, _Component); function Rect(props) { _classCallCheck(this, Rect); - return _possibleConstructorReturn(this, Object.getPrototypeOf(Rect).call(this, props)); + return _possibleConstructorReturn(this, (Rect.__proto__ || Object.getPrototypeOf(Rect)).call(this, props)); } _createClass(Rect, [{ @@ -19766,11 +16458,11 @@ var ReactD3Shape = }, { key: 'drawRectangle', value: function drawRectangle() { - var _props = this.props; - var width = _props.width; - var height = _props.height; - var margins = _props.margins; - var styleClassName = _props.styleClassName; + var _props = this.props, + width = _props.width, + height = _props.height, + margins = _props.margins, + styleClassName = _props.styleClassName; this.rectangle = d3.select(_reactDom2.default.findDOMNode(this.refs.Rect)).append("rect").attr("x", 0).attr("y", -5).attr("width", width - margins.left - margins.right).attr("height", height - margins.bottom - margins.top + 3).attr("class", styleClassName); @@ -19787,13 +16479,13 @@ var ReactD3Shape = }(_react.Component); Rect.propTypes = { - height: _react.PropTypes.number.isRequired, - width: _react.PropTypes.number.isRequired, - margins: _react.PropTypes.object.isRequired, - styleClassName: _react.PropTypes.string.isRequired + height: PropTypes.number.isRequired, + width: PropTypes.number.isRequired, + margins: PropTypes.object.isRequired, + styleClassName: PropTypes.string.isRequired }; exports.default = Rect; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2))) -/***/ } +/***/ }) /******/ ]); \ No newline at end of file diff --git a/react-d3-shape.min.js b/react-d3-shape.min.js index a688d6c..19d243c 100644 --- a/react-d3-shape.min.js +++ b/react-d3-shape.min.js @@ -1,13 +1,15 @@ -var ReactD3Shape=function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _series=__webpack_require__(1);Object.defineProperty(exports,"series",{enumerable:!0,get:function(){return _series.series}});var _chart=__webpack_require__(3);Object.defineProperty(exports,"Chart",{enumerable:!0,get:function(){return _interopRequireDefault(_chart)["default"]}});var _chartpie=__webpack_require__(56);Object.defineProperty(exports,"ChartPie",{enumerable:!0,get:function(){return _interopRequireDefault(_chartpie)["default"]}});var _brush=__webpack_require__(57);Object.defineProperty(exports,"Brush",{enumerable:!0,get:function(){return _interopRequireDefault(_brush)["default"]}});var _blank_chart=__webpack_require__(59);Object.defineProperty(exports,"BlankChart",{enumerable:!0,get:function(){return _interopRequireDefault(_blank_chart)["default"]}});var _line=__webpack_require__(61);Object.defineProperty(exports,"Line",{enumerable:!0,get:function(){return _interopRequireDefault(_line)["default"]}});var _area=__webpack_require__(64);Object.defineProperty(exports,"Area",{enumerable:!0,get:function(){return _interopRequireDefault(_area)["default"]}});var _area_stack=__webpack_require__(65);Object.defineProperty(exports,"AreaStack",{enumerable:!0,get:function(){return _interopRequireDefault(_area_stack)["default"]}});var _bar=__webpack_require__(66);Object.defineProperty(exports,"Bar",{enumerable:!0,get:function(){return _interopRequireDefault(_bar)["default"]}});var _bar_horizontal=__webpack_require__(67);Object.defineProperty(exports,"BarHorizontal",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_horizontal)["default"]}});var _bar_group=__webpack_require__(68);Object.defineProperty(exports,"BarGroup",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_group)["default"]}});var _bar_group_horizontal=__webpack_require__(69);Object.defineProperty(exports,"BarGroupHorizontal",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_group_horizontal)["default"]}});var _bar_stack=__webpack_require__(70);Object.defineProperty(exports,"BarStack",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_stack)["default"]}});var _bar_stack_horizontal=__webpack_require__(71);Object.defineProperty(exports,"BarStackHorizontal",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_stack_horizontal)["default"]}});var _pie=__webpack_require__(72);Object.defineProperty(exports,"Pie",{enumerable:!0,get:function(){return _interopRequireDefault(_pie)["default"]}});var _scatter=__webpack_require__(73);Object.defineProperty(exports,"Scatter",{enumerable:!0,get:function(){return _interopRequireDefault(_scatter)["default"]}});var _multi_line_brush=__webpack_require__(74);Object.defineProperty(exports,"MultiLineBrushChart",{enumerable:!0,get:function(){return _interopRequireDefault(_multi_line_brush)["default"]}})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function series(props,horizontal){var data=props.data,chartSeries=props.chartSeries,x=props.x,y=props.y,categoricalColors=props.categoricalColors;categoricalColors=categoricalColors||_d2["default"].scale.category10();var chartSeriesData=chartSeries.map(function(f,i){f.color=f.color||categoricalColors(i),f.name=f.name||f.field;var mapping=data.map(function(d){return d._style||(d._style={}),horizontal?{y:y(d),x:x(d[f.field]),color:f.color,name:f.name,field:f.field,_style:d._style}:{x:x(d),y:y(d[f.field]),color:f.color,name:f.name,field:f.field,_style:d._style}});return Object.assign(f,{data:mapping})});return chartSeriesData}Object.defineProperty(exports,"__esModule",{value:!0}),exports.series=series;var _d=__webpack_require__(2),_d2=_interopRequireDefault(_d)},function(module,exports){module.exports=d3},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_reactD3Core=__webpack_require__(5),_commonProps=__webpack_require__(47),_commonProps2=_interopRequireDefault(_commonProps),ChartSvg=function(_Component){function ChartSvg(props){return _classCallCheck(this,ChartSvg),_possibleConstructorReturn(this,Object.getPrototypeOf(ChartSvg).call(this,props))}return _inherits(ChartSvg,_Component),_createClass(ChartSvg,[{key:"render",value:function(){var _props=this.props,horizontal=_props.horizontal,height=_props.height,width=_props.width,margins=_props.margins,xScale=_props.xScale,yScale=_props.yScale,xRange=_props.xRange,yRange=_props.yRange,xDomain=_props.xDomain,yDomain=_props.yDomain,xTicks=_props.xTicks,yTicks=_props.yTicks,xTickFormat=_props.xTickFormat,yTickFormat=_props.yTickFormat,xBandPaddingInner=_props.xBandPaddingInner,xBandPaddingOuter=_props.xBandPaddingOuter,yBandPaddingInner=_props.yBandPaddingInner,yBandPaddingOuter=_props.yBandPaddingOuter,xLabel=_props.xLabel,yLabel=_props.yLabel,stack=_props.stack,data=_props.data,svgClassName=_props.svgClassName,id=_props.id,x=_props.x,y=_props.y,xRange=xRange||[0,width-margins.left-margins.right],yRange=yRange||[height-margins.top-margins.bottom,0],xDomain=xDomain||(0,_reactD3Core.xDomainCount)(this.props,stack,horizontal),yDomain=yDomain||(0,_reactD3Core.yDomainCount)(this.props,stack,horizontal);"ordinal"===xScale&&(xScale="band"),"ordinal"===yScale&&(yScale="band");var newXScale={scale:xScale,range:xRange,domain:xDomain,bandPaddingInner:xBandPaddingInner,bandPaddingOuter:xBandPaddingOuter},xScaleSet=(0,_reactD3Core.scale)(newXScale),newYScale={scale:yScale,range:yRange,domain:yDomain,bandPaddingInner:yBandPaddingInner,bandPaddingOuter:yBandPaddingOuter},yScaleSet=(0,_reactD3Core.scale)(newYScale),children=_react2["default"].Children.map(this.props.children,function(el){return el?_react2["default"].cloneElement(el,{height:height,width:width,margins:margins,xScaleSet:xScaleSet,yScaleSet:yScaleSet,xDomain:xDomain,yDomain:yDomain,xRange:xRange,yRange:yRange,xBandPaddingInner:xBandPaddingInner,xBandPaddingOuter:xBandPaddingOuter,yBandPaddingInner:yBandPaddingInner,yBandPaddingOuter:yBandPaddingOuter,xScale:xScale,yScale:yScale,xTickFormat:xTickFormat,yTickFormat:yTickFormat,xTicks:xTicks,yTicks:yTicks,xLabel:xLabel,yLabel:yLabel,data:data,x:x,y:y}):null}),t="translate("+margins.left+", "+margins.top+")";return _react2["default"].createElement("svg",{height:height,width:width,className:svgClassName,id:id,ref:"svgContainer"},_react2["default"].createElement("g",{transform:t},children))}}]),ChartSvg}(_react.Component);ChartSvg.defaultProps=_extends({svgClassName:"react-d3-core__container_svg"},_commonProps2["default"]),ChartSvg.propTypes={id:_react.PropTypes.string,width:_react.PropTypes.number.isRequired,height:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,svgClassName:_react.PropTypes.string.isRequired},exports["default"]=ChartSvg},function(module,exports){module.exports=React},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _svg=__webpack_require__(6);Object.defineProperty(exports,"Svg",{enumerable:!0,get:function(){return _interopRequireDefault(_svg)["default"]}});var _title=__webpack_require__(17);Object.defineProperty(exports,"Title",{enumerable:!0,get:function(){return _interopRequireDefault(_title)["default"]}});var _chartContainer=__webpack_require__(18);Object.defineProperty(exports,"Chart",{enumerable:!0,get:function(){return _interopRequireDefault(_chartContainer)["default"]}});var _axis=__webpack_require__(37);Object.defineProperty(exports,"Axis",{enumerable:!0,get:function(){return _interopRequireDefault(_axis)["default"]}});var _xaxis=__webpack_require__(39);Object.defineProperty(exports,"Xaxis",{enumerable:!0,get:function(){return _interopRequireDefault(_xaxis)["default"]}});var _yaxis=__webpack_require__(41);Object.defineProperty(exports,"Yaxis",{enumerable:!0,get:function(){return _interopRequireDefault(_yaxis)["default"]}});var _label=__webpack_require__(40);Object.defineProperty(exports,"Label",{enumerable:!0,get:function(){return _interopRequireDefault(_label)["default"]}});var _legend=__webpack_require__(19);Object.defineProperty(exports,"Legend",{enumerable:!0,get:function(){return _interopRequireDefault(_legend)["default"]}});var _grid=__webpack_require__(42);Object.defineProperty(exports,"Grid",{enumerable:!0,get:function(){return _interopRequireDefault(_grid)["default"]}});var _xgrid=__webpack_require__(43);Object.defineProperty(exports,"Xgrid",{enumerable:!0,get:function(){return _interopRequireDefault(_xgrid)["default"]}});var _ygrid=__webpack_require__(44);Object.defineProperty(exports,"Ygrid",{enumerable:!0,get:function(){return _interopRequireDefault(_ygrid)["default"]}});var _scale=__webpack_require__(8);Object.defineProperty(exports,"scale",{enumerable:!0,get:function(){return _scale.scale}});var _xDomain=__webpack_require__(45);Object.defineProperty(exports,"xDomainCount",{enumerable:!0,get:function(){return _xDomain.xDomain}});var _yDomain=__webpack_require__(46);Object.defineProperty(exports,"yDomainCount",{enumerable:!0,get:function(){return _yDomain.yDomain}})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_commonProps=__webpack_require__(7),_commonProps2=_interopRequireDefault(_commonProps),ChartSvg=(__webpack_require__(8),function(_Component){function ChartSvg(props){return _classCallCheck(this,ChartSvg),_possibleConstructorReturn(this,Object.getPrototypeOf(ChartSvg).call(this,props))}return _inherits(ChartSvg,_Component),_createClass(ChartSvg,[{key:"render",value:function(){var _props=this.props,height=_props.height,width=_props.width,margins=_props.margins,svgClassName=_props.svgClassName,id=_props.id,children=_props.children,t="translate("+margins.left+", "+margins.top+")";return _react2["default"].createElement("svg",{height:height,width:width,className:svgClassName,id:id,ref:"svgContainer"},_react2["default"].createElement("g",{transform:t},children))}}]),ChartSvg}(_react.Component));ChartSvg.defaultProps=_extends({svgClassName:"react-d3-core__container_svg",onZoom:function(){},scaleExtent:[1,10]},_commonProps2["default"]),ChartSvg.propTypes={id:_react.PropTypes.string,width:_react.PropTypes.number.isRequired,height:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,svgClassName:_react.PropTypes.string.isRequired},exports["default"]=ChartSvg},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]={width:960,height:500,margins:{top:80,right:100,bottom:80,left:100}}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function scale(props){var func,scale=(props.type,props.scale);return"linear"===scale?func=_d3Scale2["default"].scaleLinear():"identity"===scale?func=_d3Scale2["default"].scaleIdentity():"sqrt"===scale?func=_d3Scale2["default"].scaleSqrt():"pow"===scale?func=_d3Scale2["default"].scalePow():"log"===scale?func=_d3Scale2["default"].scaleLog():"quantize"===scale?func=_d3Scale2["default"].scaleQuantize():"quantile"===scale?func=_d3Scale2["default"].scaleQuantile():"ordinal"===scale?func=_d3Scale2["default"].scaleOrdinal():"band"===scale?func=_d3Scale2["default"].scaleBand():"time"===scale?func=_d3Scale2["default"].scaleTime():new Error('Please check your axis scale setting. "'+scale+'" scale is invalid. '),func=_mkScaleSettings(props,func)}function _mkScaleSettings(props,func){var range=(props.type,props.range),domain=props.domain,scale=props.scale,bandPaddingInner=props.bandPaddingInner,bandPaddingOuter=props.bandPaddingOuter;return range&&func.range(range),domain&&func.domain(domain),"band"===scale&&(func.round(!0),bandPaddingInner?func.paddingInner(bandPaddingInner):func.paddingInner(.1),bandPaddingOuter?func.paddingOuter(bandPaddingOuter):func.paddingOuter(.1)),func}Object.defineProperty(exports,"__esModule",{value:!0}),exports.scale=scale;var _d3Scale=__webpack_require__(9),_d3Scale2=_interopRequireDefault(_d3Scale)},function(module,exports,__webpack_require__){!function(global,factory){factory(exports,__webpack_require__(10),__webpack_require__(11),__webpack_require__(12),__webpack_require__(14),__webpack_require__(15),__webpack_require__(16),__webpack_require__(13))}(this,function(exports,d3Array,d3Collection,d3Interpolate,d3Format,d3Time,d3TimeFormat,d3Color){"use strict";function ordinal(){function scale(d){var key=d+"",i=index.get(key);if(!i){if(unknown!==implicit)return unknown;index.set(key,i=domain.push(d))}return range[(i-1)%range.length]}var index=d3Collection.map(),domain=[],range=[],unknown=implicit;return scale.domain=function(_){if(!arguments.length)return domain.slice();domain=[],index=d3Collection.map();for(var d,key,i=-1,n=_.length;++i<n;)index.has(key=(d=_[i])+"")||index.set(key,domain.push(d));return scale},scale.range=function(_){return arguments.length?(range=slice.call(_),scale):range.slice()},scale.unknown=function(_){return arguments.length?(unknown=_,scale):unknown},scale.copy=function(){return ordinal().domain(domain).range(range).unknown(unknown)},scale}function band(){function rescale(){var n=domain().length,reverse=range[1]<range[0],start=range[reverse-0],stop=range[1-reverse];step=(stop-start)/Math.max(1,n-paddingInner+2*paddingOuter),round&&(step=Math.floor(step)),start+=(stop-start-step*(n-paddingInner))*align,bandwidth=step*(1-paddingInner),round&&(start=Math.round(start),bandwidth=Math.round(bandwidth));var values=d3Array.range(n).map(function(i){return start+step*i});return ordinalRange(reverse?values.reverse():values)}var step,bandwidth,scale=ordinal().unknown(void 0),domain=scale.domain,ordinalRange=scale.range,range=[0,1],round=!1,paddingInner=0,paddingOuter=0,align=.5;return delete scale.unknown,scale.domain=function(_){return arguments.length?(domain(_),rescale()):domain()},scale.range=function(_){return arguments.length?(range=[+_[0],+_[1]],rescale()):range.slice()},scale.rangeRound=function(_){return range=[+_[0],+_[1]],round=!0,rescale()},scale.bandwidth=function(){return bandwidth},scale.step=function(){return step},scale.round=function(_){return arguments.length?(round=!!_,rescale()):round},scale.padding=function(_){return arguments.length?(paddingInner=paddingOuter=Math.max(0,Math.min(1,_)),rescale()):paddingInner},scale.paddingInner=function(_){return arguments.length?(paddingInner=Math.max(0,Math.min(1,_)),rescale()):paddingInner},scale.paddingOuter=function(_){return arguments.length?(paddingOuter=Math.max(0,Math.min(1,_)),rescale()):paddingOuter},scale.align=function(_){return arguments.length?(align=Math.max(0,Math.min(1,_)),rescale()):align},scale.copy=function(){return band().domain(domain()).range(range).round(round).paddingInner(paddingInner).paddingOuter(paddingOuter).align(align)},rescale()}function pointish(scale){var copy=scale.copy;return scale.padding=scale.paddingOuter,delete scale.paddingInner,delete scale.paddingOuter,scale.copy=function(){return pointish(copy())},scale}function point(){return pointish(band().paddingInner(1))}function constant(x){return function(){return x}}function number(x){return+x}function deinterpolate(a,b){return(b-=a=+a)?function(x){return(x-a)/b}:constant(b)}function deinterpolateClamp(deinterpolate){return function(a,b){var d=deinterpolate(a=+a,b=+b);return function(x){return a>=x?0:x>=b?1:d(x)}}}function reinterpolateClamp(reinterpolate){return function(a,b){var r=reinterpolate(a=+a,b=+b);return function(t){return 0>=t?a:t>=1?b:r(t)}}}function bimap(domain,range,deinterpolate,reinterpolate){var d0=domain[0],d1=domain[1],r0=range[0],r1=range[1];return d0>d1?(d0=deinterpolate(d1,d0),r0=reinterpolate(r1,r0)):(d0=deinterpolate(d0,d1),r0=reinterpolate(r0,r1)),function(x){return r0(d0(x))}}function polymap(domain,range,deinterpolate,reinterpolate){var j=Math.min(domain.length,range.length)-1,d=new Array(j),r=new Array(j),i=-1;for(domain[j]<domain[0]&&(domain=domain.slice().reverse(),range=range.slice().reverse());++i<j;)d[i]=deinterpolate(domain[i],domain[i+1]),r[i]=reinterpolate(range[i],range[i+1]);return function(x){var i=d3Array.bisect(domain,x,1,j)-1;return r[i](d[i](x))}}function copy(source,target){return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp())}function continuous(deinterpolate$$,reinterpolate){function rescale(){var map=Math.min(domain.length,range.length)>2?polymap:bimap;return output=map(domain,range,clamp?deinterpolateClamp(deinterpolate$$):deinterpolate$$,interpolate),input=map(range,domain,deinterpolate,clamp?reinterpolateClamp(reinterpolate):reinterpolate),scale}function scale(x){return output(+x)}var output,input,domain=unit,range=unit,interpolate=d3Interpolate.interpolate,clamp=!1;return scale.invert=function(y){return input(+y)},scale.domain=function(_){return arguments.length?(domain=map$1.call(_,number),rescale()):domain.slice()},scale.range=function(_){return arguments.length?(range=slice.call(_),rescale()):range.slice()},scale.rangeRound=function(_){return range=slice.call(_),interpolate=d3Interpolate.interpolateRound,rescale()},scale.clamp=function(_){return arguments.length?(clamp=!!_,rescale()):clamp},scale.interpolate=function(_){return arguments.length?(interpolate=_,rescale()):interpolate},rescale()}function tickFormat(domain,count,specifier){var precision,start=domain[0],stop=domain[domain.length-1],step=d3Array.tickStep(start,stop,null==count?10:count);switch(specifier=d3Format.formatSpecifier(null==specifier?",f":specifier),specifier.type){case"s":var value=Math.max(Math.abs(start),Math.abs(stop));return null!=specifier.precision||isNaN(precision=d3Format.precisionPrefix(step,value))||(specifier.precision=precision),d3Format.formatPrefix(specifier,value);case"":case"e":case"g":case"p":case"r":null!=specifier.precision||isNaN(precision=d3Format.precisionRound(step,Math.max(Math.abs(start),Math.abs(stop))))||(specifier.precision=precision-("e"===specifier.type));break;case"f":case"%":null!=specifier.precision||isNaN(precision=d3Format.precisionFixed(step))||(specifier.precision=precision-2*("%"===specifier.type))}return d3Format.format(specifier)}function linearish(scale){var domain=scale.domain;return scale.ticks=function(count){var d=domain();return d3Array.ticks(d[0],d[d.length-1],null==count?10:count)},scale.tickFormat=function(count,specifier){return tickFormat(domain(),count,specifier)},scale.nice=function(count){var d=domain(),i=d.length-1,n=null==count?10:count,start=d[0],stop=d[i],step=d3Array.tickStep(start,stop,n);return step&&(step=d3Array.tickStep(Math.floor(start/step)*step,Math.ceil(stop/step)*step,n),d[0]=Math.floor(start/step)*step,d[i]=Math.ceil(stop/step)*step,domain(d)),scale},scale}function linear(){var scale=continuous(deinterpolate,d3Interpolate.interpolateNumber);return scale.copy=function(){return copy(scale,linear())},linearish(scale)}function identity(){function scale(x){return+x}var domain=[0,1];return scale.invert=scale,scale.domain=scale.range=function(_){return arguments.length?(domain=map$1.call(_,number),scale):domain.slice()},scale.copy=function(){return identity().domain(domain)},linearish(scale)}function nice(domain,interval){domain=domain.slice();var t,i0=0,i1=domain.length-1,x0=domain[i0],x1=domain[i1];return x0>x1&&(t=i0,i0=i1,i1=t,t=x0,x0=x1,x1=t),domain[i0]=interval.floor(x0),domain[i1]=interval.ceil(x1),domain}function deinterpolate$1(a,b){return(b=Math.log(b/a))?function(x){return Math.log(x/a)/b}:constant(b)}function reinterpolate(a,b){return 0>a?function(t){return-Math.pow(-b,t)*Math.pow(-a,1-t)}:function(t){return Math.pow(b,t)*Math.pow(a,1-t)}}function pow10(x){return isFinite(x)?+("1e"+x):0>x?0:x}function powp(base){return 10===base?pow10:base===Math.E?Math.exp:function(x){return Math.pow(base,x)}}function logp(base){return base===Math.E?Math.log:10===base&&Math.log10||2===base&&Math.log2||(base=Math.log(base),function(x){return Math.log(x)/base})}function reflect(f){return function(x){return-f(-x)}}function log(){function rescale(){return logs=logp(base),pows=powp(base),domain()[0]<0&&(logs=reflect(logs),pows=reflect(pows)),scale}var scale=continuous(deinterpolate$1,reinterpolate).domain([1,10]),domain=scale.domain,base=10,logs=logp(10),pows=powp(10);return scale.base=function(_){return arguments.length?(base=+_,rescale()):base},scale.domain=function(_){return arguments.length?(domain(_),rescale()):domain()},scale.ticks=function(count){var r,d=domain(),u=d[0],v=d[d.length-1];(r=u>v)&&(i=u,u=v,v=i);var p,k,t,i=logs(u),j=logs(v),n=null==count?10:+count,z=[];if(!(base%1)&&n>j-i){if(i=Math.round(i)-1,j=Math.round(j)+1,u>0){for(;j>i;++i)for(k=1,p=pows(i);base>k;++k)if(t=p*k,!(u>t)){if(t>v)break;z.push(t)}}else for(;j>i;++i)for(k=base-1,p=pows(i);k>=1;--k)if(t=p*k,!(u>t)){if(t>v)break;z.push(t)}r&&z.reverse()}else z=d3Array.ticks(i,j,Math.min(j-i,n)).map(pows);return z},scale.tickFormat=function(count,specifier){if(null==specifier&&(specifier=10===base?".0e":","),"function"!=typeof specifier&&(specifier=d3Format.format(specifier)),count===1/0)return specifier;null==count&&(count=10);var k=Math.max(1,base*count/scale.ticks().length);return function(d){var i=d/pows(Math.round(logs(d)));return base-.5>i*base&&(i*=base),k>=i?specifier(d):""}},scale.nice=function(){return domain(nice(domain(),{floor:function(x){return pows(Math.floor(logs(x)))},ceil:function(x){return pows(Math.ceil(logs(x)))}}))},scale.copy=function(){return copy(scale,log().base(base))},scale}function raise(x,exponent){return 0>x?-Math.pow(-x,exponent):Math.pow(x,exponent)}function pow(){function deinterpolate(a,b){return(b=raise(b,exponent)-(a=raise(a,exponent)))?function(x){return(raise(x,exponent)-a)/b}:constant(b)}function reinterpolate(a,b){return b=raise(b,exponent)-(a=raise(a,exponent)),function(t){return raise(a+b*t,1/exponent)}}var exponent=1,scale=continuous(deinterpolate,reinterpolate),domain=scale.domain;return scale.exponent=function(_){return arguments.length?(exponent=+_,domain(domain())):exponent},scale.copy=function(){return copy(scale,pow().exponent(exponent))},linearish(scale)}function sqrt(){return pow().exponent(.5)}function quantile$1(){function rescale(){var i=0,n=Math.max(1,range.length);for(thresholds=new Array(n-1);++i<n;)thresholds[i-1]=d3Array.quantile(domain,i/n);return scale}function scale(x){return isNaN(x=+x)?void 0:range[d3Array.bisect(thresholds,x)]}var domain=[],range=[],thresholds=[];return scale.invertExtent=function(y){var i=range.indexOf(y);return 0>i?[NaN,NaN]:[i>0?thresholds[i-1]:domain[0],i<thresholds.length?thresholds[i]:domain[domain.length-1]]},scale.domain=function(_){if(!arguments.length)return domain.slice();domain=[];for(var d,i=0,n=_.length;n>i;++i)d=_[i],null==d||isNaN(d=+d)||domain.push(d);return domain.sort(d3Array.ascending),rescale()},scale.range=function(_){return arguments.length?(range=slice.call(_),rescale()):range.slice()},scale.quantiles=function(){return thresholds.slice()},scale.copy=function(){return quantile$1().domain(domain).range(range)},scale}function quantize(){function scale(x){return x>=x?range[d3Array.bisect(domain,x,0,n)]:void 0}function rescale(){var i=-1;for(domain=new Array(n);++i<n;)domain[i]=((i+1)*x1-(i-n)*x0)/(n+1);return scale}var x0=0,x1=1,n=1,domain=[.5],range=[0,1];return scale.domain=function(_){return arguments.length?(x0=+_[0],x1=+_[1],rescale()):[x0,x1]},scale.range=function(_){return arguments.length?(n=(range=slice.call(_)).length-1,rescale()):range.slice()},scale.invertExtent=function(y){var i=range.indexOf(y);return 0>i?[NaN,NaN]:1>i?[x0,domain[0]]:i>=n?[domain[n-1],x1]:[domain[i-1],domain[i]]},scale.copy=function(){return quantize().domain([x0,x1]).range(range)},linearish(scale)}function threshold(){function scale(x){return x>=x?range[d3Array.bisect(domain,x,0,n)]:void 0}var domain=[.5],range=[0,1],n=1;return scale.domain=function(_){return arguments.length?(domain=slice.call(_),n=Math.min(domain.length,range.length-1),scale):domain.slice()},scale.range=function(_){return arguments.length?(range=slice.call(_),n=Math.min(domain.length,range.length-1),scale):range.slice()},scale.invertExtent=function(y){var i=range.indexOf(y);return[domain[i-1],domain[i]]},scale.copy=function(){return threshold().domain(domain).range(range)},scale}function newDate(t){return new Date(t)}function calendar(year,month,week,day,hour,minute,second,millisecond,format){function tickFormat(date){return(second(date)<date?formatMillisecond:minute(date)<date?formatSecond:hour(date)<date?formatMinute:day(date)<date?formatHour:month(date)<date?week(date)<date?formatDay:formatWeek:year(date)<date?formatMonth:formatYear)(date)}function tickInterval(interval,start,stop,step){if(null==interval&&(interval=10),"number"==typeof interval){var target=Math.abs(stop-start)/interval,i=d3Array.bisector(function(i){return i[2]}).right(tickIntervals,target);i===tickIntervals.length?(step=d3Array.tickStep(start/durationYear,stop/durationYear,interval),interval=year):i?(i=tickIntervals[target/tickIntervals[i-1][2]<tickIntervals[i][2]/target?i-1:i],step=i[1],interval=i[0]):(step=d3Array.tickStep(start,stop,interval),interval=millisecond)}return null==step?interval:interval.every(step)}var scale=continuous(deinterpolate,d3Interpolate.interpolateNumber),invert=scale.invert,domain=scale.domain,formatMillisecond=format(".%L"),formatSecond=format(":%S"),formatMinute=format("%I:%M"),formatHour=format("%I %p"),formatDay=format("%a %d"),formatWeek=format("%b %d"),formatMonth=format("%B"),formatYear=format("%Y"),tickIntervals=[[second,1,durationSecond],[second,5,5*durationSecond],[second,15,15*durationSecond],[second,30,30*durationSecond],[minute,1,durationMinute],[minute,5,5*durationMinute],[minute,15,15*durationMinute],[minute,30,30*durationMinute],[hour,1,durationHour],[hour,3,3*durationHour],[hour,6,6*durationHour],[hour,12,12*durationHour],[day,1,durationDay],[day,2,2*durationDay],[week,1,durationWeek],[month,1,durationMonth],[month,3,3*durationMonth],[year,1,durationYear]];return scale.invert=function(y){return new Date(invert(y))},scale.domain=function(_){return arguments.length?domain(_):domain().map(newDate)},scale.ticks=function(interval,step){var t,d=domain(),t0=d[0],t1=d[d.length-1],r=t0>t1;return r&&(t=t0,t0=t1,t1=t),t=tickInterval(interval,t0,t1,step),t=t?t.range(t0,t1+1):[],r?t.reverse():t},scale.tickFormat=function(specifier){return null==specifier?tickFormat:format(specifier)},scale.nice=function(interval,step){var d=domain();return(interval=tickInterval(interval,d[0],d[d.length-1],step))?domain(nice(d,interval)):scale},scale.copy=function(){return copy(scale,calendar(year,month,week,day,hour,minute,second,millisecond,format))},scale}function time(){return calendar(d3Time.timeYear,d3Time.timeMonth,d3Time.timeWeek,d3Time.timeDay,d3Time.timeHour,d3Time.timeMinute,d3Time.timeSecond,d3Time.timeMillisecond,d3TimeFormat.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}function utcTime(){return calendar(d3Time.utcYear,d3Time.utcMonth,d3Time.utcWeek,d3Time.utcDay,d3Time.utcHour,d3Time.utcMinute,d3Time.utcSecond,d3Time.utcMillisecond,d3TimeFormat.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}function colors(s){return s.match(/.{6}/g).map(function(x){return"#"+x})}function category10(){return ordinal().range(colors10)}function category20b(){return ordinal().range(colors20b)}function category20c(){ -return ordinal().range(colors20c)}function category20(){return ordinal().range(colors20)}function cubehelix$1(){return linear().interpolate(d3Interpolate.interpolateCubehelixLong).range([d3Color.cubehelix(300,.5,0),d3Color.cubehelix(-240,.5,1)])}function sequential(interpolate){function scale(x){var t=(x-x0)/(x1-x0);return interpolate(clamp?Math.max(0,Math.min(1,t)):t)}var x0=0,x1=1,clamp=!1;return scale.domain=function(_){return arguments.length?(x0=+_[0],x1=+_[1],scale):[x0,x1]},scale.clamp=function(_){return arguments.length?(clamp=!!_,scale):clamp},scale.copy=function(){return sequential(interpolate).domain([x0,x1]).clamp(clamp)},linearish(scale)}function warm(){return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100,.75,.35),d3Color.cubehelix(80,1.5,.8)))}function cool(){return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260,.75,.35),d3Color.cubehelix(80,1.5,.8)))}function rainbow(){var rainbow=d3Color.cubehelix();return sequential(function(t){(0>t||t>1)&&(t-=Math.floor(t));var ts=Math.abs(t-.5);return rainbow.h=360*t-100,rainbow.s=1.5-1.5*ts,rainbow.l=.8-.9*ts,rainbow+""})}function ramp(range){var s=sequential(function(t){return range[Math.round(t*range.length-t)]}).clamp(!0);return delete s.clamp,s}function viridis(){return ramp(rangeViridis)}function magma(){return ramp(rangeMagma)}function inferno(){return ramp(rangeInferno)}function plasma(){return ramp(rangePlasma)}var array=Array.prototype,map$1=array.map,slice=array.slice,implicit={name:"implicit"},unit=[0,1],durationSecond=1e3,durationMinute=60*durationSecond,durationHour=60*durationMinute,durationDay=24*durationHour,durationWeek=7*durationDay,durationMonth=30*durationDay,durationYear=365*durationDay,colors10=colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),colors20b=colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),colors20c=colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),colors20=colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),rangeViridis=colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"),rangeMagma=colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"),rangeInferno=colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"),rangePlasma=colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"),version="0.6.4";exports.version=version,exports.scaleBand=band,exports.scalePoint=point,exports.scaleIdentity=identity,exports.scaleLinear=linear,exports.scaleLog=log,exports.scaleOrdinal=ordinal,exports.scaleImplicit=implicit,exports.scalePow=pow,exports.scaleSqrt=sqrt,exports.scaleQuantile=quantile$1,exports.scaleQuantize=quantize,exports.scaleThreshold=threshold,exports.scaleTime=time,exports.scaleUtc=utcTime,exports.scaleCategory10=category10,exports.scaleCategory20b=category20b,exports.scaleCategory20c=category20c,exports.scaleCategory20=category20,exports.scaleCubehelix=cubehelix$1,exports.scaleRainbow=rainbow,exports.scaleWarm=warm,exports.scaleCool=cool,exports.scaleViridis=viridis,exports.scaleMagma=magma,exports.scaleInferno=inferno,exports.scalePlasma=plasma})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function ascending(a,b){return b>a?-1:a>b?1:a>=b?0:NaN}function bisector(compare){return 1===compare.length&&(compare=ascendingComparator(compare)),{left:function(a,x,lo,hi){for(null==lo&&(lo=0),null==hi&&(hi=a.length);hi>lo;){var mid=lo+hi>>>1;compare(a[mid],x)<0?lo=mid+1:hi=mid}return lo},right:function(a,x,lo,hi){for(null==lo&&(lo=0),null==hi&&(hi=a.length);hi>lo;){var mid=lo+hi>>>1;compare(a[mid],x)>0?hi=mid:lo=mid+1}return lo}}}function ascendingComparator(f){return function(d,x){return ascending(f(d),x)}}function descending(a,b){return a>b?-1:b>a?1:b>=a?0:NaN}function number$1(x){return null===x?NaN:+x}function variance(array,f){var a,d,n=array.length,m=0,s=0,i=-1,j=0;if(null==f)for(;++i<n;)isNaN(a=number$1(array[i]))||(d=a-m,m+=d/++j,s+=d*(a-m));else for(;++i<n;)isNaN(a=number$1(f(array[i],i,array)))||(d=a-m,m+=d/++j,s+=d*(a-m));return j>1?s/(j-1):void 0}function deviation(array,f){var v=variance(array,f);return v?Math.sqrt(v):v}function extent(array,f){var a,b,c,i=-1,n=array.length;if(null==f){for(;++i<n;)if(null!=(b=array[i])&&b>=b){a=c=b;break}for(;++i<n;)null!=(b=array[i])&&(a>b&&(a=b),b>c&&(c=b))}else{for(;++i<n;)if(null!=(b=f(array[i],i,array))&&b>=b){a=c=b;break}for(;++i<n;)null!=(b=f(array[i],i,array))&&(a>b&&(a=b),b>c&&(c=b))}return[a,c]}function constant(x){return function(){return x}}function identity(x){return x}function range(start,stop,step){start=+start,stop=+stop,step=(n=arguments.length)<2?(stop=start,start=0,1):3>n?1:+step;for(var i=-1,n=0|Math.max(0,Math.ceil((stop-start)/step)),range=new Array(n);++i<n;)range[i]=start+i*step;return range}function ticks(start,stop,count){var step=tickStep(start,stop,count);return range(Math.ceil(start/step)*step,Math.floor(stop/step)*step+step/2,step)}function tickStep(start,stop,count){var step0=Math.abs(stop-start)/Math.max(0,count),step1=Math.pow(10,Math.floor(Math.log(step0)/Math.LN10)),error=step0/step1;return error>=e10?step1*=10:error>=e5?step1*=5:error>=e2&&(step1*=2),start>stop?-step1:step1}function sturges(values){return Math.ceil(Math.log(values.length)/Math.LN2)+1}function number(x){return+x}function histogram(){function histogram(data){var i,x,n=data.length,values=new Array(n);for(i=0;n>i;++i)values[i]=+value(data[i],i,data);var xz=domain(values),x0=+xz[0],x1=+xz[1],tz=threshold(values,x0,x1);Array.isArray(tz)||(tz=ticks(x0,x1,+tz));var m=tz.length;for(i=0;m>i;++i)tz[i]=+tz[i];for(;tz[0]<=x0;)tz.shift(),--m;for(;tz[m-1]>=x1;)tz.pop(),--m;var bin,bins=new Array(m+1);for(i=0;m>=i;++i)bin=bins[i]=[],bin.x0=i>0?tz[i-1]:x0,bin.x1=m>i?tz[i]:x1;for(i=0;n>i;++i)x=values[i],x>=x0&&x1>=x&&bins[bisectRight(tz,x,0,m)].push(data[i]);return bins}var value=identity,domain=extent,threshold=sturges;return histogram.value=function(_){return arguments.length?(value="function"==typeof _?_:constant(+_),histogram):value},histogram.domain=function(_){return arguments.length?(domain="function"==typeof _?_:constant([+_[0],+_[1]]),histogram):domain},histogram.thresholds=function(_){return arguments.length?(threshold="function"==typeof _?_:constant(Array.isArray(_)?Array.prototype.map.call(_,number):+_),histogram):threshold},histogram}function quantile(array,p,f){if(null==f&&(f=number$1),n=array.length){if((p=+p)<=0||2>n)return+f(array[0],0,array);if(p>=1)return+f(array[n-1],n-1,array);var n,h=(n-1)*p,i=Math.floor(h),a=+f(array[i],i,array),b=+f(array[i+1],i+1,array);return a+(b-a)*(h-i)}}function freedmanDiaconis(values,min,max){return values.sort(ascending),Math.ceil((max-min)/(2*(quantile(values,.75)-quantile(values,.25))*Math.pow(values.length,-1/3)))}function scott(values,min,max){return Math.ceil((max-min)/(3.5*deviation(values)*Math.pow(values.length,-1/3)))}function max(array,f){var a,b,i=-1,n=array.length;if(null==f){for(;++i<n;)if(null!=(b=array[i])&&b>=b){a=b;break}for(;++i<n;)null!=(b=array[i])&&b>a&&(a=b)}else{for(;++i<n;)if(null!=(b=f(array[i],i,array))&&b>=b){a=b;break}for(;++i<n;)null!=(b=f(array[i],i,array))&&b>a&&(a=b)}return a}function mean(array,f){var a,s=0,n=array.length,i=-1,j=n;if(null==f)for(;++i<n;)isNaN(a=number$1(array[i]))?--j:s+=a;else for(;++i<n;)isNaN(a=number$1(f(array[i],i,array)))?--j:s+=a;return j?s/j:void 0}function median(array,f){var a,numbers=[],n=array.length,i=-1;if(null==f)for(;++i<n;)isNaN(a=number$1(array[i]))||numbers.push(a);else for(;++i<n;)isNaN(a=number$1(f(array[i],i,array)))||numbers.push(a);return quantile(numbers.sort(ascending),.5)}function merge(arrays){for(var m,merged,array,n=arrays.length,i=-1,j=0;++i<n;)j+=arrays[i].length;for(merged=new Array(j);--n>=0;)for(array=arrays[n],m=array.length;--m>=0;)merged[--j]=array[m];return merged}function min(array,f){var a,b,i=-1,n=array.length;if(null==f){for(;++i<n;)if(null!=(b=array[i])&&b>=b){a=b;break}for(;++i<n;)null!=(b=array[i])&&a>b&&(a=b)}else{for(;++i<n;)if(null!=(b=f(array[i],i,array))&&b>=b){a=b;break}for(;++i<n;)null!=(b=f(array[i],i,array))&&a>b&&(a=b)}return a}function pairs(array){for(var i=0,n=array.length-1,p=array[0],pairs=new Array(0>n?0:n);n>i;)pairs[i]=[p,p=array[++i]];return pairs}function permute(array,indexes){for(var i=indexes.length,permutes=new Array(i);i--;)permutes[i]=array[indexes[i]];return permutes}function scan(array,compare){if(n=array.length){var n,xi,i=0,j=0,xj=array[j];for(compare||(compare=ascending);++i<n;)(compare(xi=array[i],xj)<0||0!==compare(xj,xj))&&(xj=xi,j=i);return 0===compare(xj,xj)?j:void 0}}function shuffle(array,i0,i1){for(var t,i,m=(null==i1?array.length:i1)-(i0=null==i0?0:+i0);m;)i=Math.random()*m--|0,t=array[m+i0],array[m+i0]=array[i+i0],array[i+i0]=t;return array}function sum(array,f){var a,s=0,n=array.length,i=-1;if(null==f)for(;++i<n;)(a=+array[i])&&(s+=a);else for(;++i<n;)(a=+f(array[i],i,array))&&(s+=a);return s}function transpose(matrix){if(!(n=matrix.length))return[];for(var i=-1,m=min(matrix,length),transpose=new Array(m);++i<m;)for(var n,j=-1,row=transpose[i]=new Array(n);++j<n;)row[j]=matrix[j][i];return transpose}function length(d){return d.length}function zip(){return transpose(arguments)}var ascendingBisect=bisector(ascending),bisectRight=ascendingBisect.right,bisectLeft=ascendingBisect.left,e10=Math.sqrt(50),e5=Math.sqrt(10),e2=Math.sqrt(2),version="0.7.1";exports.version=version,exports.bisect=bisectRight,exports.bisectRight=bisectRight,exports.bisectLeft=bisectLeft,exports.ascending=ascending,exports.bisector=bisector,exports.descending=descending,exports.deviation=deviation,exports.extent=extent,exports.histogram=histogram,exports.thresholdFreedmanDiaconis=freedmanDiaconis,exports.thresholdScott=scott,exports.thresholdSturges=sturges,exports.max=max,exports.mean=mean,exports.median=median,exports.merge=merge,exports.min=min,exports.pairs=pairs,exports.permute=permute,exports.quantile=quantile,exports.range=range,exports.scan=scan,exports.shuffle=shuffle,exports.sum=sum,exports.ticks=ticks,exports.tickStep=tickStep,exports.transpose=transpose,exports.variance=variance,exports.zip=zip})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function Map(){}function map(object,f){var map=new Map;if(object instanceof Map)object.each(function(value,key){map.set(key,value)});else if(Array.isArray(object)){var o,i=-1,n=object.length;if(null==f)for(;++i<n;)map.set(i,object[i]);else for(;++i<n;)map.set(f(o=object[i],i,object),o)}else if(object)for(var key in object)map.set(key,object[key]);return map}function nest(){function apply(array,depth,createResult,setResult){if(depth>=keys.length)return rollup?rollup(array):sortValues?array.sort(sortValues):array;for(var keyValue,value,values,i=-1,n=array.length,key=keys[depth++],valuesByKey=map(),result=createResult();++i<n;)(values=valuesByKey.get(keyValue=key(value=array[i])+""))?values.push(value):valuesByKey.set(keyValue,[value]);return valuesByKey.each(function(values,key){setResult(result,key,apply(values,depth,createResult,setResult))}),result}function entries(map,depth){if(depth>=keys.length)return map;var array=[],sortKey=sortKeys[depth++];return map.each(function(value,key){array.push({key:key,values:entries(value,depth)})}),sortKey?array.sort(function(a,b){return sortKey(a.key,b.key)}):array}var sortValues,rollup,nest,keys=[],sortKeys=[];return nest={object:function(array){return apply(array,0,createObject,setObject)},map:function(array){return apply(array,0,createMap,setMap)},entries:function(array){return entries(apply(array,0,createMap,setMap),0)},key:function(d){return keys.push(d),nest},sortKeys:function(order){return sortKeys[keys.length-1]=order,nest},sortValues:function(order){return sortValues=order,nest},rollup:function(f){return rollup=f,nest}}}function createObject(){return{}}function setObject(object,key,value){object[key]=value}function createMap(){return map()}function setMap(map,key,value){map.set(key,value)}function Set(){}function set(object,f){var set=new Set;if(object instanceof Set)object.each(function(value){set.add(value)});else if(object){var i=-1,n=object.length;if(null==f)for(;++i<n;)set.add(object[i]);else for(;++i<n;)set.add(f(object[i],i,object))}return set}function keys(map){var keys=[];for(var key in map)keys.push(key);return keys}function values(map){var values=[];for(var key in map)values.push(map[key]);return values}function entries(map){var entries=[];for(var key in map)entries.push({key:key,value:map[key]});return entries}var prefix="$";Map.prototype=map.prototype={constructor:Map,has:function(key){return prefix+key in this},get:function(key){return this[prefix+key]},set:function(key,value){return this[prefix+key]=value,this},remove:function(key){var property=prefix+key;return property in this&&delete this[property]},clear:function(){for(var property in this)property[0]===prefix&&delete this[property]},keys:function(){var keys=[];for(var property in this)property[0]===prefix&&keys.push(property.slice(1));return keys},values:function(){var values=[];for(var property in this)property[0]===prefix&&values.push(this[property]);return values},entries:function(){var entries=[];for(var property in this)property[0]===prefix&&entries.push({key:property.slice(1),value:this[property]});return entries},size:function(){var size=0;for(var property in this)property[0]===prefix&&++size;return size},empty:function(){for(var property in this)if(property[0]===prefix)return!1;return!0},each:function(f){for(var property in this)property[0]===prefix&&f(this[property],property.slice(1),this)}};var proto=map.prototype;Set.prototype=set.prototype={constructor:Set,has:proto.has,add:function(value){return value+="",this[prefix+value]=value,this},remove:proto.remove,clear:proto.clear,values:proto.keys,size:proto.size,empty:proto.empty,each:proto.each};var version="0.1.2";exports.version=version,exports.nest=nest,exports.set=set,exports.map=map,exports.keys=keys,exports.values=values,exports.entries=entries})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports,__webpack_require__(13))}(this,function(exports,d3Color){"use strict";function constant(x){return function(){return x}}function linear(a,d){return function(t){return a+t*d}}function exponential(a,b,y){return a=Math.pow(a,y),b=Math.pow(b,y)-a,y=1/y,function(t){return Math.pow(a+t*b,y)}}function interpolateHue(a,b){var d=b-a;return d?linear(a,d>180||-180>d?d-360*Math.round(d/360):d):constant(isNaN(a)?b:a)}function gamma(y){return 1===(y=+y)?nogamma:function(a,b){return b-a?exponential(a,b,y):constant(isNaN(a)?b:a)}}function nogamma(a,b){var d=b-a;return d?linear(a,d):constant(isNaN(a)?b:a)}function array(a,b){var i,x=[],c=[],na=a?a.length:0,nb=b?b.length:0,n0=Math.min(na,nb);for(i=0;n0>i;++i)x.push(value(a[i],b[i]));for(;na>i;++i)c[i]=a[i];for(;nb>i;++i)c[i]=b[i];return function(t){for(i=0;n0>i;++i)c[i]=x[i](t);return c}}function number(a,b){return a=+a,b-=a,function(t){return a+b*t}}function object(a,b){var k,i={},c={};null!==a&&"object"==typeof a||(a={}),null!==b&&"object"==typeof b||(b={});for(k in a)k in b?i[k]=value(a[k],b[k]):c[k]=a[k];for(k in b)k in a||(c[k]=b[k]);return function(t){for(k in i)c[k]=i[k](t);return c}}function zero(b){return function(){return b}}function one(b){return function(t){return b(t)+""}}function string(a,b){var am,bm,bs,bi=reA.lastIndex=reB.lastIndex=0,i=-1,s=[],q=[];for(a+="",b+="";(am=reA.exec(a))&&(bm=reB.exec(b));)(bs=bm.index)>bi&&(bs=b.slice(bi,bs),s[i]?s[i]+=bs:s[++i]=bs),(am=am[0])===(bm=bm[0])?s[i]?s[i]+=bm:s[++i]=bm:(s[++i]=null,q.push({i:i,x:number(am,bm)})),bi=reB.lastIndex;return bi<b.length&&(bs=b.slice(bi),s[i]?s[i]+=bs:s[++i]=bs),s.length<2?q[0]?one(q[0].x):zero(b):(b=q.length,function(t){for(var o,i=0;b>i;++i)s[(o=q[i]).i]=o.x(t);return s.join("")})}function value(a,b){var c,t=typeof b;return null==b||"boolean"===t?constant(b):("number"===t?number:"string"===t?(c=d3Color.color(b))?(b=c,rgb$1):string:b instanceof d3Color.color?rgb$1:Array.isArray(b)?array:object)(a,b)}function round(a,b){return a=+a,b-=a,function(t){return Math.round(a+b*t)}}function decompose(a,b,c,d,e,f){if(a*d===b*c)return null;var scaleX=Math.sqrt(a*a+b*b);a/=scaleX,b/=scaleX;var skewX=a*c+b*d;c-=a*skewX,d-=b*skewX;var scaleY=Math.sqrt(c*c+d*d);return c/=scaleY,d/=scaleY,skewX/=scaleY,b*c>a*d&&(a=-a,b=-b,skewX=-skewX,scaleX=-scaleX),{translateX:e,translateY:f,rotate:Math.atan2(b,a)*rad2deg,skewX:Math.atan(skewX)*rad2deg,scaleX:scaleX,scaleY:scaleY}}function parseCss(value){if("none"===value)return identity;cssNode||(cssNode=document.createElement("DIV"),cssRoot=document.documentElement,cssView=document.defaultView),cssNode.style.transform=value,value=cssView.getComputedStyle(cssRoot.appendChild(cssNode),null).getPropertyValue("transform"),cssRoot.removeChild(cssNode);var m=value.slice(7,-1).split(",");return decompose(+m[0],+m[1],+m[2],+m[3],+m[4],+m[5])}function parseSvg(value){svgNode||(svgNode=document.createElementNS("http://www.w3.org/2000/svg","g")),svgNode.setAttribute("transform",null==value?"":value);var m=svgNode.transform.baseVal.consolidate().matrix;return decompose(m.a,m.b,m.c,m.d,m.e,m.f)}function interpolateTransform(parse,pxComma,pxParen,degParen){function pop(s){return s.length?s.pop()+" ":""}function translate(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push("translate(",null,pxComma,null,pxParen);q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else(xb||yb)&&s.push("translate("+xb+pxComma+yb+pxParen)}function rotate(a,b,s,q){a!==b?(a-b>180?b+=360:b-a>180&&(a+=360),q.push({i:s.push(pop(s)+"rotate(",null,degParen)-2,x:number(a,b)})):b&&s.push(pop(s)+"rotate("+b+degParen)}function skewX(a,b,s,q){a!==b?q.push({i:s.push(pop(s)+"skewX(",null,degParen)-2,x:number(a,b)}):b&&s.push(pop(s)+"skewX("+b+degParen)}function scale(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push(pop(s)+"scale(",null,",",null,")");q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else 1===xb&&1===yb||s.push(pop(s)+"scale("+xb+","+yb+")")}return function(a,b){var s=[],q=[];return a=parse(a),b=parse(b),translate(a.translateX,a.translateY,b.translateX,b.translateY,s,q),rotate(a.rotate,b.rotate,s,q),skewX(a.skewX,b.skewX,s,q),scale(a.scaleX,a.scaleY,b.scaleX,b.scaleY,s,q),a=b=null,function(t){for(var o,i=-1,n=q.length;++i<n;)s[(o=q[i]).i]=o.x(t);return s.join("")}}}function cosh(x){return((x=Math.exp(x))+1/x)/2}function sinh(x){return((x=Math.exp(x))-1/x)/2}function tanh(x){return((x=Math.exp(2*x))-1)/(x+1)}function zoom(p0,p1){var i,S,ux0=p0[0],uy0=p0[1],w0=p0[2],ux1=p1[0],uy1=p1[1],w1=p1[2],dx=ux1-ux0,dy=uy1-uy0,d2=dx*dx+dy*dy;if(epsilon2>d2)S=Math.log(w1/w0)/rho,i=function(t){return[ux0+t*dx,uy0+t*dy,w0*Math.exp(rho*t*S)]};else{var d1=Math.sqrt(d2),b0=(w1*w1-w0*w0+rho4*d2)/(2*w0*rho2*d1),b1=(w1*w1-w0*w0-rho4*d2)/(2*w1*rho2*d1),r0=Math.log(Math.sqrt(b0*b0+1)-b0),r1=Math.log(Math.sqrt(b1*b1+1)-b1);S=(r1-r0)/rho,i=function(t){var s=t*S,coshr0=cosh(r0),u=w0/(rho2*d1)*(coshr0*tanh(rho*s+r0)-sinh(r0));return[ux0+u*dx,uy0+u*dy,w0*coshr0/cosh(rho*s+r0)]}}return i.duration=1e3*S,i}function interpolateHsl(start,end){var h=interpolateHue((start=d3Color.hsl(start)).h,(end=d3Color.hsl(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(t),start.opacity=opacity(t),start+""}}function interpolateHslLong(start,end){var h=nogamma((start=d3Color.hsl(start)).h,(end=d3Color.hsl(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(t),start.opacity=opacity(t),start+""}}function interpolateLab(start,end){var l=nogamma((start=d3Color.lab(start)).l,(end=d3Color.lab(end)).l),a=nogamma(start.a,end.a),b=nogamma(start.b,end.b),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.l=l(t),start.a=a(t),start.b=b(t),start.opacity=opacity(t),start+""}}function interpolateHcl(start,end){var h=interpolateHue((start=d3Color.hcl(start)).h,(end=d3Color.hcl(end)).h),c=nogamma(start.c,end.c),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.c=c(t),start.l=l(t),start.opacity=opacity(t),start+""}}function interpolateHclLong(start,end){var h=nogamma((start=d3Color.hcl(start)).h,(end=d3Color.hcl(end)).h),c=nogamma(start.c,end.c),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.c=c(t),start.l=l(t),start.opacity=opacity(t),start+""}}var cssNode,cssRoot,cssView,svgNode,rgb$1=function gamma$$(y){function interpolateRgb(start,end){var r=interpolateColor((start=d3Color.rgb(start)).r,(end=d3Color.rgb(end)).r),g=interpolateColor(start.g,end.g),b=interpolateColor(start.b,end.b),opacity=interpolateColor(start.opacity,end.opacity);return function(t){return start.r=r(t),start.g=g(t),start.b=b(t),start.opacity=opacity(t),start+""}}var interpolateColor=gamma(y);return interpolateRgb.gamma=gamma$$,interpolateRgb}(1),reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g"),rad2deg=180/Math.PI,identity={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},interpolateTransformCss=interpolateTransform(parseCss,"px, ","px)","deg)"),interpolateTransformSvg=interpolateTransform(parseSvg,", ",")",")"),rho=Math.SQRT2,rho2=2,rho4=4,epsilon2=1e-12,cubehelix$1=function gamma(y){function interpolateCubehelix(start,end){var h=interpolateHue((start=d3Color.cubehelix(start)).h,(end=d3Color.cubehelix(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(Math.pow(t,y)),start.opacity=opacity(t),start+""}}return y=+y,interpolateCubehelix.gamma=gamma,interpolateCubehelix}(1),cubehelixLong=function gamma(y){function interpolateCubehelixLong(start,end){var h=nogamma((start=d3Color.cubehelix(start)).h,(end=d3Color.cubehelix(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(Math.pow(t,y)),start.opacity=opacity(t),start+""}}return y=+y,interpolateCubehelixLong.gamma=gamma,interpolateCubehelixLong}(1),version="0.7.0";exports.version=version,exports.interpolate=value,exports.interpolateArray=array,exports.interpolateNumber=number,exports.interpolateObject=object,exports.interpolateRound=round,exports.interpolateString=string,exports.interpolateTransformCss=interpolateTransformCss,exports.interpolateTransformSvg=interpolateTransformSvg,exports.interpolateZoom=zoom,exports.interpolateRgb=rgb$1,exports.interpolateHsl=interpolateHsl,exports.interpolateHslLong=interpolateHslLong,exports.interpolateLab=interpolateLab,exports.interpolateHcl=interpolateHcl,exports.interpolateHclLong=interpolateHclLong,exports.interpolateCubehelix=cubehelix$1,exports.interpolateCubehelixLong=cubehelixLong})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function define(constructor,factory,prototype){constructor.prototype=factory.prototype=prototype,prototype.constructor=constructor}function extend(parent,definition){var prototype=Object.create(parent.prototype);for(var key in definition)prototype[key]=definition[key];return prototype}function Color(){}function color(format){var m;return format=(format+"").trim().toLowerCase(),(m=reHex3.exec(format))?(m=parseInt(m[1],16),new Rgb(m>>8&15|m>>4&240,m>>4&15|240&m,(15&m)<<4|15&m,1)):(m=reHex6.exec(format))?rgbn(parseInt(m[1],16)):(m=reRgbInteger.exec(format))?new Rgb(m[1],m[2],m[3],1):(m=reRgbPercent.exec(format))?new Rgb(255*m[1]/100,255*m[2]/100,255*m[3]/100,1):(m=reRgbaInteger.exec(format))?rgba(m[1],m[2],m[3],m[4]):(m=reRgbaPercent.exec(format))?rgba(255*m[1]/100,255*m[2]/100,255*m[3]/100,m[4]):(m=reHslPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,1):(m=reHslaPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,m[4]):named.hasOwnProperty(format)?rgbn(named[format]):"transparent"===format?new Rgb(NaN,NaN,NaN,0):null}function rgbn(n){return new Rgb(n>>16&255,n>>8&255,255&n,1)}function rgba(r,g,b,a){return 0>=a&&(r=g=b=NaN),new Rgb(r,g,b,a)}function rgbConvert(o){return o instanceof Color||(o=color(o)),o?(o=o.rgb(),new Rgb(o.r,o.g,o.b,o.opacity)):new Rgb}function rgb(r,g,b,opacity){return 1===arguments.length?rgbConvert(r):new Rgb(r,g,b,null==opacity?1:opacity)}function Rgb(r,g,b,opacity){this.r=+r,this.g=+g,this.b=+b,this.opacity=+opacity}function hsla(h,s,l,a){return 0>=a?h=s=l=NaN:0>=l||l>=1?h=s=NaN:0>=s&&(h=NaN),new Hsl(h,s,l,a)}function hslConvert(o){if(o instanceof Hsl)return new Hsl(o.h,o.s,o.l,o.opacity);if(o instanceof Color||(o=color(o)),!o)return new Hsl;if(o instanceof Hsl)return o;o=o.rgb();var r=o.r/255,g=o.g/255,b=o.b/255,min=Math.min(r,g,b),max=Math.max(r,g,b),h=NaN,s=max-min,l=(max+min)/2;return s?(h=r===max?(g-b)/s+6*(b>g):g===max?(b-r)/s+2:(r-g)/s+4,s/=.5>l?max+min:2-max-min,h*=60):s=l>0&&1>l?0:h,new Hsl(h,s,l,o.opacity)}function hsl(h,s,l,opacity){return 1===arguments.length?hslConvert(h):new Hsl(h,s,l,null==opacity?1:opacity)}function Hsl(h,s,l,opacity){this.h=+h,this.s=+s,this.l=+l,this.opacity=+opacity}function hsl2rgb(h,m1,m2){return 255*(60>h?m1+(m2-m1)*h/60:180>h?m2:240>h?m1+(m2-m1)*(240-h)/60:m1)}function labConvert(o){if(o instanceof Lab)return new Lab(o.l,o.a,o.b,o.opacity);if(o instanceof Hcl){var h=o.h*deg2rad;return new Lab(o.l,Math.cos(h)*o.c,Math.sin(h)*o.c,o.opacity)}o instanceof Rgb||(o=rgbConvert(o));var b=rgb2xyz(o.r),a=rgb2xyz(o.g),l=rgb2xyz(o.b),x=xyz2lab((.4124564*b+.3575761*a+.1804375*l)/Xn),y=xyz2lab((.2126729*b+.7151522*a+.072175*l)/Yn),z=xyz2lab((.0193339*b+.119192*a+.9503041*l)/Zn); -return new Lab(116*y-16,500*(x-y),200*(y-z),o.opacity)}function lab(l,a,b,opacity){return 1===arguments.length?labConvert(l):new Lab(l,a,b,null==opacity?1:opacity)}function Lab(l,a,b,opacity){this.l=+l,this.a=+a,this.b=+b,this.opacity=+opacity}function xyz2lab(t){return t>t3?Math.pow(t,1/3):t/t2+t0}function lab2xyz(t){return t>t1?t*t*t:t2*(t-t0)}function xyz2rgb(x){return 255*(.0031308>=x?12.92*x:1.055*Math.pow(x,1/2.4)-.055)}function rgb2xyz(x){return(x/=255)<=.04045?x/12.92:Math.pow((x+.055)/1.055,2.4)}function hclConvert(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);o instanceof Lab||(o=labConvert(o));var h=Math.atan2(o.b,o.a)*rad2deg;return new Hcl(0>h?h+360:h,Math.sqrt(o.a*o.a+o.b*o.b),o.l,o.opacity)}function hcl(h,c,l,opacity){return 1===arguments.length?hclConvert(h):new Hcl(h,c,l,null==opacity?1:opacity)}function Hcl(h,c,l,opacity){this.h=+h,this.c=+c,this.l=+l,this.opacity=+opacity}function cubehelixConvert(o){if(o instanceof Cubehelix)return new Cubehelix(o.h,o.s,o.l,o.opacity);o instanceof Rgb||(o=rgbConvert(o));var r=o.r/255,g=o.g/255,b=o.b/255,l=(BC_DA*b+ED*r-EB*g)/(BC_DA+ED-EB),bl=b-l,k=(E*(g-l)-C*bl)/D,s=Math.sqrt(k*k+bl*bl)/(E*l*(1-l)),h=s?Math.atan2(k,bl)*rad2deg-120:NaN;return new Cubehelix(0>h?h+360:h,s,l,o.opacity)}function cubehelix(h,s,l,opacity){return 1===arguments.length?cubehelixConvert(h):new Cubehelix(h,s,l,null==opacity?1:opacity)}function Cubehelix(h,s,l,opacity){this.h=+h,this.s=+s,this.l=+l,this.opacity=+opacity}var darker=.7,brighter=1/darker,reHex3=/^#([0-9a-f]{3})$/,reHex6=/^#([0-9a-f]{6})$/,reRgbInteger=/^rgb\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*\)$/,reRgbPercent=/^rgb\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,reRgbaInteger=/^rgba\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,reRgbaPercent=/^rgba\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,reHslPercent=/^hsl\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,reHslaPercent=/^hsla\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,named={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,rebeccapurple:6697881,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};define(Color,color,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),define(Rgb,rgb,extend(Color,{brighter:function(k){return k=null==k?brighter:Math.pow(brighter,k),new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},darker:function(k){return k=null==k?darker:Math.pow(darker,k),new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var a=this.opacity;return a=isNaN(a)?1:Math.max(0,Math.min(1,a)),(1===a?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===a?")":", "+a+")")}})),define(Hsl,hsl,extend(Color,{brighter:function(k){return k=null==k?brighter:Math.pow(brighter,k),new Hsl(this.h,this.s,this.l*k,this.opacity)},darker:function(k){return k=null==k?darker:Math.pow(darker,k),new Hsl(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=this.h%360+360*(this.h<0),s=isNaN(h)||isNaN(this.s)?0:this.s,l=this.l,m2=l+(.5>l?l:1-l)*s,m1=2*l-m2;return new Rgb(hsl2rgb(h>=240?h-240:h+120,m1,m2),hsl2rgb(h,m1,m2),hsl2rgb(120>h?h+240:h-120,m1,m2),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var deg2rad=Math.PI/180,rad2deg=180/Math.PI,Kn=18,Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1;define(Lab,lab,extend(Color,{brighter:function(k){return new Lab(this.l+Kn*(null==k?1:k),this.a,this.b,this.opacity)},darker:function(k){return new Lab(this.l-Kn*(null==k?1:k),this.a,this.b,this.opacity)},rgb:function(){var y=(this.l+16)/116,x=isNaN(this.a)?y:y+this.a/500,z=isNaN(this.b)?y:y-this.b/200;return y=Yn*lab2xyz(y),x=Xn*lab2xyz(x),z=Zn*lab2xyz(z),new Rgb(xyz2rgb(3.2404542*x-1.5371385*y-.4985314*z),xyz2rgb(-.969266*x+1.8760108*y+.041556*z),xyz2rgb(.0556434*x-.2040259*y+1.0572252*z),this.opacity)}})),define(Hcl,hcl,extend(Color,{brighter:function(k){return new Hcl(this.h,this.c,this.l+Kn*(null==k?1:k),this.opacity)},darker:function(k){return new Hcl(this.h,this.c,this.l-Kn*(null==k?1:k),this.opacity)},rgb:function(){return labConvert(this).rgb()}}));var A=-.14861,B=1.78277,C=-.29227,D=-.90649,E=1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;define(Cubehelix,cubehelix,extend(Color,{brighter:function(k){return k=null==k?brighter:Math.pow(brighter,k),new Cubehelix(this.h,this.s,this.l*k,this.opacity)},darker:function(k){return k=null==k?darker:Math.pow(darker,k),new Cubehelix(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=isNaN(this.h)?0:(this.h+120)*deg2rad,l=+this.l,a=isNaN(this.s)?0:this.s*l*(1-l),cosh=Math.cos(h),sinh=Math.sin(h);return new Rgb(255*(l+a*(A*cosh+B*sinh)),255*(l+a*(C*cosh+D*sinh)),255*(l+a*(E*cosh)),this.opacity)}}));var version="0.4.2";exports.version=version,exports.color=color,exports.rgb=rgb,exports.hsl=hsl,exports.lab=lab,exports.hcl=hcl,exports.cubehelix=cubehelix})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function formatDecimal(x,p){if((i=(x=p?x.toExponential(p-1):x.toExponential()).indexOf("e"))<0)return null;var i,coefficient=x.slice(0,i);return[coefficient.length>1?coefficient[0]+coefficient.slice(2):coefficient,+x.slice(i+1)]}function exponent(x){return x=formatDecimal(Math.abs(x)),x?x[1]:NaN}function formatGroup(grouping,thousands){return function(value,width){for(var i=value.length,t=[],j=0,g=grouping[0],length=0;i>0&&g>0&&(length+g+1>width&&(g=Math.max(1,width-length)),t.push(value.substring(i-=g,i+g)),!((length+=g+1)>width));)g=grouping[j=(j+1)%grouping.length];return t.reverse().join(thousands)}}function formatDefault(x,p){x=x.toPrecision(p);out:for(var i1,n=x.length,i=1,i0=-1;n>i;++i)switch(x[i]){case".":i0=i1=i;break;case"0":0===i0&&(i0=i),i1=i;break;case"e":break out;default:i0>0&&(i0=0)}return i0>0?x.slice(0,i0)+x.slice(i1+1):x}function formatPrefixAuto(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1],i=exponent-(prefixExponent=3*Math.max(-8,Math.min(8,Math.floor(exponent/3))))+1,n=coefficient.length;return i===n?coefficient:i>n?coefficient+new Array(i-n+1).join("0"):i>0?coefficient.slice(0,i)+"."+coefficient.slice(i):"0."+new Array(1-i).join("0")+formatDecimal(x,Math.max(0,p+i-1))[0]}function formatRounded(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1];return 0>exponent?"0."+new Array(-exponent).join("0")+coefficient:coefficient.length>exponent+1?coefficient.slice(0,exponent+1)+"."+coefficient.slice(exponent+1):coefficient+new Array(exponent-coefficient.length+2).join("0")}function formatSpecifier(specifier){return new FormatSpecifier(specifier)}function FormatSpecifier(specifier){if(!(match=re.exec(specifier)))throw new Error("invalid format: "+specifier);var match,fill=match[1]||" ",align=match[2]||">",sign=match[3]||"-",symbol=match[4]||"",zero=!!match[5],width=match[6]&&+match[6],comma=!!match[7],precision=match[8]&&+match[8].slice(1),type=match[9]||"";"n"===type?(comma=!0,type="g"):formatTypes[type]||(type=""),(zero||"0"===fill&&"="===align)&&(zero=!0,fill="0",align="="),this.fill=fill,this.align=align,this.sign=sign,this.symbol=symbol,this.zero=zero,this.width=width,this.comma=comma,this.precision=precision,this.type=type}function identity(x){return x}function locale(locale){function newFormat(specifier){function format(value){var i,n,c,valuePrefix=prefix,valueSuffix=suffix;if("c"===type)valueSuffix=formatType(value)+valueSuffix,value="";else{value=+value;var valueNegative=(0>value||0>1/value)&&(value*=-1,!0);if(value=formatType(value,precision),valueNegative)for(i=-1,n=value.length,valueNegative=!1;++i<n;)if(c=value.charCodeAt(i),c>48&&58>c||"x"===type&&c>96&&103>c||"X"===type&&c>64&&71>c){valueNegative=!0;break}if(valuePrefix=(valueNegative?"("===sign?sign:"-":"-"===sign||"("===sign?"":sign)+valuePrefix,valueSuffix=valueSuffix+("s"===type?prefixes[8+prefixExponent/3]:"")+(valueNegative&&"("===sign?")":""),maybeSuffix)for(i=-1,n=value.length;++i<n;)if(c=value.charCodeAt(i),48>c||c>57){valueSuffix=(46===c?decimal+value.slice(i+1):value.slice(i))+valueSuffix,value=value.slice(0,i);break}}comma&&!zero&&(value=group(value,1/0));var length=valuePrefix.length+value.length+valueSuffix.length,padding=width>length?new Array(width-length+1).join(fill):"";switch(comma&&zero&&(value=group(padding+value,padding.length?width-valueSuffix.length:1/0),padding=""),align){case"<":return valuePrefix+value+valueSuffix+padding;case"=":return valuePrefix+padding+value+valueSuffix;case"^":return padding.slice(0,length=padding.length>>1)+valuePrefix+value+valueSuffix+padding.slice(length)}return padding+valuePrefix+value+valueSuffix}specifier=formatSpecifier(specifier);var fill=specifier.fill,align=specifier.align,sign=specifier.sign,symbol=specifier.symbol,zero=specifier.zero,width=specifier.width,comma=specifier.comma,precision=specifier.precision,type=specifier.type,prefix="$"===symbol?currency[0]:"#"===symbol&&/[boxX]/.test(type)?"0"+type.toLowerCase():"",suffix="$"===symbol?currency[1]:/[%p]/.test(type)?"%":"",formatType=formatTypes[type],maybeSuffix=!type||/[defgprs%]/.test(type);return precision=null==precision?type?6:12:/[gprs]/.test(type)?Math.max(1,Math.min(21,precision)):Math.max(0,Math.min(20,precision)),format.toString=function(){return specifier+""},format}function formatPrefix(specifier,value){var f=newFormat((specifier=formatSpecifier(specifier),specifier.type="f",specifier)),e=3*Math.max(-8,Math.min(8,Math.floor(exponent(value)/3))),k=Math.pow(10,-e),prefix=prefixes[8+e/3];return function(value){return f(k*value)+prefix}}var group=locale.grouping&&locale.thousands?formatGroup(locale.grouping,locale.thousands):identity,currency=locale.currency,decimal=locale.decimal;return{format:newFormat,formatPrefix:formatPrefix}}function precisionFixed(step){return Math.max(0,-exponent(Math.abs(step)))}function precisionPrefix(step,value){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(exponent(value)/3)))-exponent(Math.abs(step)))}function precisionRound(step,max){return step=Math.abs(step),max=Math.abs(max)-step,Math.max(0,exponent(max)-exponent(step))+1}var prefixExponent,formatTypes={"":formatDefault,"%":function(x,p){return(100*x).toFixed(p)},b:function(x){return Math.round(x).toString(2)},c:function(x){return x+""},d:function(x){return Math.round(x).toString(10)},e:function(x,p){return x.toExponential(p)},f:function(x,p){return x.toFixed(p)},g:function(x,p){return x.toPrecision(p)},o:function(x){return Math.round(x).toString(8)},p:function(x,p){return formatRounded(100*x,p)},r:formatRounded,s:formatPrefixAuto,X:function(x){return Math.round(x).toString(16).toUpperCase()},x:function(x){return Math.round(x).toString(16)}},re=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],defaultLocale=locale({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),caES=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),csCZ=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," Kč"]}),deCH=locale({decimal:",",thousands:"'",grouping:[3],currency:[""," CHF"]}),deDE=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),enCA=locale({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),enGB=locale({decimal:".",thousands:",",grouping:[3],currency:["£",""]}),esES=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),fiFI=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," €"]}),frCA=locale({decimal:",",thousands:" ",grouping:[3],currency:["","$"]}),frFR=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),heIL=locale({decimal:".",thousands:",",grouping:[3],currency:["₪",""]}),huHU=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," Ft"]}),itIT=locale({decimal:",",thousands:".",grouping:[3],currency:["€",""]}),jaJP=locale({decimal:".",thousands:",",grouping:[3],currency:["","円"]}),koKR=locale({decimal:".",thousands:",",grouping:[3],currency:["₩",""]}),mkMK=locale({decimal:",",thousands:".",grouping:[3],currency:[""," ден."]}),nlNL=locale({decimal:",",thousands:".",grouping:[3],currency:["€ ",""]}),plPL=locale({decimal:",",thousands:".",grouping:[3],currency:["","zł"]}),ptBR=locale({decimal:",",thousands:".",grouping:[3],currency:["R$",""]}),ruRU=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," руб."]}),svSE=locale({decimal:",",thousands:" ",grouping:[3],currency:["","SEK"]}),zhCN=locale({decimal:".",thousands:",",grouping:[3],currency:["¥",""]}),format=defaultLocale.format,formatPrefix=defaultLocale.formatPrefix,version="0.5.1";exports.version=version,exports.format=format,exports.formatPrefix=formatPrefix,exports.formatLocale=locale,exports.formatCaEs=caES,exports.formatCsCz=csCZ,exports.formatDeCh=deCH,exports.formatDeDe=deDE,exports.formatEnCa=enCA,exports.formatEnGb=enGB,exports.formatEnUs=defaultLocale,exports.formatEsEs=esES,exports.formatFiFi=fiFI,exports.formatFrCa=frCA,exports.formatFrFr=frFR,exports.formatHeIl=heIL,exports.formatHuHu=huHU,exports.formatItIt=itIT,exports.formatJaJp=jaJP,exports.formatKoKr=koKR,exports.formatMkMk=mkMK,exports.formatNlNl=nlNL,exports.formatPlPl=plPL,exports.formatPtBr=ptBR,exports.formatRuRu=ruRU,exports.formatSvSe=svSE,exports.formatZhCn=zhCN,exports.formatSpecifier=formatSpecifier,exports.precisionFixed=precisionFixed,exports.precisionPrefix=precisionPrefix,exports.precisionRound=precisionRound})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function newInterval(floori,offseti,count,field){function interval(date){return floori(date=new Date(+date)),date}return interval.floor=interval,interval.ceil=function(date){return floori(date=new Date(date-1)),offseti(date,1),floori(date),date},interval.round=function(date){var d0=interval(date),d1=interval.ceil(date);return d1-date>date-d0?d0:d1},interval.offset=function(date,step){return offseti(date=new Date(+date),null==step?1:Math.floor(step)),date},interval.range=function(start,stop,step){var range=[];if(start=interval.ceil(start),step=null==step?1:Math.floor(step),!(stop>start&&step>0))return range;do range.push(new Date(+start));while(offseti(start,step),floori(start),stop>start);return range},interval.filter=function(test){return newInterval(function(date){for(;floori(date),!test(date);)date.setTime(date-1)},function(date,step){for(;--step>=0;)for(;offseti(date,1),!test(date););})},count&&(interval.count=function(start,end){return t0.setTime(+start),t1.setTime(+end),floori(t0),floori(t1),Math.floor(count(t0,t1))},interval.every=function(step){return step=Math.floor(step),isFinite(step)&&step>0?step>1?interval.filter(field?function(d){return field(d)%step===0}:function(d){return interval.count(0,d)%step===0}):interval:null}),interval}function weekday(i){return newInterval(function(date){date.setHours(0,0,0,0),date.setDate(date.getDate()-(date.getDay()+7-i)%7)},function(date,step){date.setDate(date.getDate()+7*step)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*minute)/week})}function utcWeekday(i){return newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCDate(date.getUTCDate()-(date.getUTCDay()+7-i)%7)},function(date,step){date.setUTCDate(date.getUTCDate()+7*step)},function(start,end){return(end-start)/week})}var t0=new Date,t1=new Date,millisecond=newInterval(function(){},function(date,step){date.setTime(+date+step)},function(start,end){return end-start});millisecond.every=function(k){return k=Math.floor(k),isFinite(k)&&k>0?k>1?newInterval(function(date){date.setTime(Math.floor(date/k)*k)},function(date,step){date.setTime(+date+step*k)},function(start,end){return(end-start)/k}):millisecond:null};var second$1=1e3,minute=6e4,hour=36e5,day=864e5,week=6048e5,second=newInterval(function(date){date.setTime(Math.floor(date/second$1)*second$1)},function(date,step){date.setTime(+date+step*second$1)},function(start,end){return(end-start)/second$1},function(date){return date.getUTCSeconds()}),minute$1=newInterval(function(date){date.setTime(Math.floor(date/minute)*minute)},function(date,step){date.setTime(+date+step*minute)},function(start,end){return(end-start)/minute},function(date){return date.getMinutes()}),hour$1=newInterval(function(date){var offset=date.getTimezoneOffset()*minute%hour;0>offset&&(offset+=hour),date.setTime(Math.floor((+date-offset)/hour)*hour+offset)},function(date,step){date.setTime(+date+step*hour)},function(start,end){return(end-start)/hour},function(date){return date.getHours()}),day$1=newInterval(function(date){date.setHours(0,0,0,0)},function(date,step){date.setDate(date.getDate()+step)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*minute)/day},function(date){return date.getDate()-1}),sunday=weekday(0),monday=weekday(1),tuesday=weekday(2),wednesday=weekday(3),thursday=weekday(4),friday=weekday(5),saturday=weekday(6),month=newInterval(function(date){date.setHours(0,0,0,0),date.setDate(1)},function(date,step){date.setMonth(date.getMonth()+step)},function(start,end){return end.getMonth()-start.getMonth()+12*(end.getFullYear()-start.getFullYear())},function(date){return date.getMonth()}),year=newInterval(function(date){date.setHours(0,0,0,0),date.setMonth(0,1)},function(date,step){date.setFullYear(date.getFullYear()+step)},function(start,end){return end.getFullYear()-start.getFullYear()},function(date){return date.getFullYear()}),utcMinute=newInterval(function(date){date.setUTCSeconds(0,0)},function(date,step){date.setTime(+date+step*minute)},function(start,end){return(end-start)/minute},function(date){return date.getUTCMinutes()}),utcHour=newInterval(function(date){date.setUTCMinutes(0,0,0)},function(date,step){date.setTime(+date+step*hour)},function(start,end){return(end-start)/hour},function(date){return date.getUTCHours()}),utcDay=newInterval(function(date){date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCDate(date.getUTCDate()+step)},function(start,end){return(end-start)/day},function(date){return date.getUTCDate()-1}),utcSunday=utcWeekday(0),utcMonday=utcWeekday(1),utcTuesday=utcWeekday(2),utcWednesday=utcWeekday(3),utcThursday=utcWeekday(4),utcFriday=utcWeekday(5),utcSaturday=utcWeekday(6),utcMonth=newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCDate(1)},function(date,step){date.setUTCMonth(date.getUTCMonth()+step)},function(start,end){return end.getUTCMonth()-start.getUTCMonth()+12*(end.getUTCFullYear()-start.getUTCFullYear())},function(date){return date.getUTCMonth()}),utcYear=newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCMonth(0,1)},function(date,step){date.setUTCFullYear(date.getUTCFullYear()+step)},function(start,end){return end.getUTCFullYear()-start.getUTCFullYear()},function(date){return date.getUTCFullYear()}),timeMilliseconds=millisecond.range,timeSeconds=second.range,timeMinutes=minute$1.range,timeHours=hour$1.range,timeDays=day$1.range,timeSundays=sunday.range,timeMondays=monday.range,timeTuesdays=tuesday.range,timeWednesdays=wednesday.range,timeThursdays=thursday.range,timeFridays=friday.range,timeSaturdays=saturday.range,timeWeeks=sunday.range,timeMonths=month.range,timeYears=year.range,utcMillisecond=millisecond,utcMilliseconds=timeMilliseconds,utcSecond=second,utcSeconds=timeSeconds,utcMinutes=utcMinute.range,utcHours=utcHour.range,utcDays=utcDay.range,utcSundays=utcSunday.range,utcMondays=utcMonday.range,utcTuesdays=utcTuesday.range,utcWednesdays=utcWednesday.range,utcThursdays=utcThursday.range,utcFridays=utcFriday.range,utcSaturdays=utcSaturday.range,utcWeeks=utcSunday.range,utcMonths=utcMonth.range,utcYears=utcYear.range,version="0.2.5";exports.version=version,exports.timeMilliseconds=timeMilliseconds,exports.timeSeconds=timeSeconds,exports.timeMinutes=timeMinutes,exports.timeHours=timeHours,exports.timeDays=timeDays,exports.timeSundays=timeSundays,exports.timeMondays=timeMondays,exports.timeTuesdays=timeTuesdays,exports.timeWednesdays=timeWednesdays,exports.timeThursdays=timeThursdays,exports.timeFridays=timeFridays,exports.timeSaturdays=timeSaturdays,exports.timeWeeks=timeWeeks,exports.timeMonths=timeMonths,exports.timeYears=timeYears,exports.utcMillisecond=utcMillisecond,exports.utcMilliseconds=utcMilliseconds,exports.utcSecond=utcSecond,exports.utcSeconds=utcSeconds,exports.utcMinutes=utcMinutes,exports.utcHours=utcHours,exports.utcDays=utcDays,exports.utcSundays=utcSundays,exports.utcMondays=utcMondays,exports.utcTuesdays=utcTuesdays,exports.utcWednesdays=utcWednesdays,exports.utcThursdays=utcThursdays,exports.utcFridays=utcFridays,exports.utcSaturdays=utcSaturdays,exports.utcWeeks=utcWeeks,exports.utcMonths=utcMonths,exports.utcYears=utcYears,exports.timeMillisecond=millisecond,exports.timeSecond=second,exports.timeMinute=minute$1,exports.timeHour=hour$1,exports.timeDay=day$1,exports.timeSunday=sunday,exports.timeMonday=monday,exports.timeTuesday=tuesday,exports.timeWednesday=wednesday,exports.timeThursday=thursday,exports.timeFriday=friday,exports.timeSaturday=saturday,exports.timeWeek=sunday,exports.timeMonth=month,exports.timeYear=year,exports.utcMinute=utcMinute,exports.utcHour=utcHour,exports.utcDay=utcDay,exports.utcSunday=utcSunday,exports.utcMonday=utcMonday,exports.utcTuesday=utcTuesday,exports.utcWednesday=utcWednesday,exports.utcThursday=utcThursday,exports.utcFriday=utcFriday,exports.utcSaturday=utcSaturday,exports.utcWeek=utcSunday,exports.utcMonth=utcMonth,exports.utcYear=utcYear,exports.timeInterval=newInterval})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports,__webpack_require__(15))}(this,function(exports,d3Time){"use strict";function localDate(d){if(0<=d.y&&d.y<100){var date=new Date(-1,d.m,d.d,d.H,d.M,d.S,d.L);return date.setFullYear(d.y),date}return new Date(d.y,d.m,d.d,d.H,d.M,d.S,d.L)}function utcDate(d){if(0<=d.y&&d.y<100){var date=new Date(Date.UTC(-1,d.m,d.d,d.H,d.M,d.S,d.L));return date.setUTCFullYear(d.y),date}return new Date(Date.UTC(d.y,d.m,d.d,d.H,d.M,d.S,d.L))}function newYear(y){return{y:y,m:0,d:1,H:0,M:0,S:0,L:0}}function locale$1(locale){function newFormat(specifier,formats){return function(date){var c,pad,format,string=[],i=-1,j=0,n=specifier.length;for(date instanceof Date||(date=new Date(+date));++i<n;)37===specifier.charCodeAt(i)&&(string.push(specifier.slice(j,i)),null!=(pad=pads[c=specifier.charAt(++i)])?c=specifier.charAt(++i):pad="e"===c?" ":"0",(format=formats[c])&&(c=format(date,pad)),string.push(c),j=i+1);return string.push(specifier.slice(j,i)),string.join("")}}function newParse(specifier,newDate){return function(string){var d=newYear(1900),i=parseSpecifier(d,specifier,string+="",0);if(i!=string.length)return null;if("p"in d&&(d.H=d.H%12+12*d.p),"W"in d||"U"in d){"w"in d||(d.w="W"in d?1:0);var day="Z"in d?utcDate(newYear(d.y)).getUTCDay():newDate(newYear(d.y)).getDay();d.m=0,d.d="W"in d?(d.w+6)%7+7*d.W-(day+5)%7:d.w+7*d.U-(day+6)%7}return"Z"in d?(d.H+=d.Z/100|0,d.M+=d.Z%100,utcDate(d)):newDate(d)}}function parseSpecifier(d,specifier,string,j){for(var c,parse,i=0,n=specifier.length,m=string.length;n>i;){if(j>=m)return-1;if(c=specifier.charCodeAt(i++),37===c){if(c=specifier.charAt(i++),parse=parses[c in pads?specifier.charAt(i++):c],!parse||(j=parse(d,string,j))<0)return-1}else if(c!=string.charCodeAt(j++))return-1}return j}function parsePeriod(d,string,i){var n=periodRe.exec(string.slice(i));return n?(d.p=periodLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortWeekday(d,string,i){var n=shortWeekdayRe.exec(string.slice(i));return n?(d.w=shortWeekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseWeekday(d,string,i){var n=weekdayRe.exec(string.slice(i));return n?(d.w=weekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortMonth(d,string,i){var n=shortMonthRe.exec(string.slice(i));return n?(d.m=shortMonthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseMonth(d,string,i){var n=monthRe.exec(string.slice(i));return n?(d.m=monthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseLocaleDateTime(d,string,i){return parseSpecifier(d,locale_dateTime,string,i)}function parseLocaleDate(d,string,i){return parseSpecifier(d,locale_date,string,i)}function parseLocaleTime(d,string,i){return parseSpecifier(d,locale_time,string,i)}function formatShortWeekday(d){return locale_shortWeekdays[d.getDay()]}function formatWeekday(d){return locale_weekdays[d.getDay()]}function formatShortMonth(d){return locale_shortMonths[d.getMonth()]}function formatMonth(d){return locale_months[d.getMonth()]}function formatPeriod(d){return locale_periods[+(d.getHours()>=12)]}function formatUTCShortWeekday(d){return locale_shortWeekdays[d.getUTCDay()]}function formatUTCWeekday(d){return locale_weekdays[d.getUTCDay()]}function formatUTCShortMonth(d){return locale_shortMonths[d.getUTCMonth()]}function formatUTCMonth(d){return locale_months[d.getUTCMonth()]}function formatUTCPeriod(d){return locale_periods[+(d.getUTCHours()>=12)]}var locale_dateTime=locale.dateTime,locale_date=locale.date,locale_time=locale.time,locale_periods=locale.periods,locale_weekdays=locale.days,locale_shortWeekdays=locale.shortDays,locale_months=locale.months,locale_shortMonths=locale.shortMonths,periodRe=formatRe(locale_periods),periodLookup=formatLookup(locale_periods),weekdayRe=formatRe(locale_weekdays),weekdayLookup=formatLookup(locale_weekdays),shortWeekdayRe=formatRe(locale_shortWeekdays),shortWeekdayLookup=formatLookup(locale_shortWeekdays),monthRe=formatRe(locale_months),monthLookup=formatLookup(locale_months),shortMonthRe=formatRe(locale_shortMonths),shortMonthLookup=formatLookup(locale_shortMonths),formats={a:formatShortWeekday,A:formatWeekday,b:formatShortMonth,B:formatMonth,c:null,d:formatDayOfMonth,e:formatDayOfMonth,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:formatPeriod,S:formatSeconds,U:formatWeekNumberSunday,w:formatWeekdayNumber,W:formatWeekNumberMonday,x:null,X:null,y:formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent},utcFormats={a:formatUTCShortWeekday,A:formatUTCWeekday,b:formatUTCShortMonth,B:formatUTCMonth,c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:formatUTCPeriod,S:formatUTCSeconds,U:formatUTCWeekNumberSunday,w:formatUTCWeekdayNumber,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent},parses={a:parseShortWeekday,A:parseWeekday,b:parseShortMonth,B:parseMonth,c:parseLocaleDateTime,d:parseDayOfMonth,e:parseDayOfMonth,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:parsePeriod,S:parseSeconds,U:parseWeekNumberSunday,w:parseWeekdayNumber,W:parseWeekNumberMonday,x:parseLocaleDate,X:parseLocaleTime,y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};return formats.x=newFormat(locale_date,formats),formats.X=newFormat(locale_time,formats),formats.c=newFormat(locale_dateTime,formats),utcFormats.x=newFormat(locale_date,utcFormats),utcFormats.X=newFormat(locale_time,utcFormats),utcFormats.c=newFormat(locale_dateTime,utcFormats),{format:function(specifier){var f=newFormat(specifier+="",formats);return f.toString=function(){return specifier},f},parse:function(specifier){var p=newParse(specifier+="",localDate);return p.toString=function(){return specifier},p},utcFormat:function(specifier){var f=newFormat(specifier+="",utcFormats);return f.toString=function(){return specifier},f},utcParse:function(specifier){var p=newParse(specifier,utcDate);return p.toString=function(){return specifier},p}}}function pad(value,fill,width){var sign=0>value?"-":"",string=(sign?-value:value)+"",length=string.length;return sign+(width>length?new Array(width-length+1).join(fill)+string:string)}function requote(s){return s.replace(requoteRe,"\\$&")}function formatRe(names){return new RegExp("^(?:"+names.map(requote).join("|")+")","i")}function formatLookup(names){for(var map={},i=-1,n=names.length;++i<n;)map[names[i].toLowerCase()]=i;return map}function parseWeekdayNumber(d,string,i){var n=numberRe.exec(string.slice(i,i+1));return n?(d.w=+n[0],i+n[0].length):-1}function parseWeekNumberSunday(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.U=+n[0],i+n[0].length):-1}function parseWeekNumberMonday(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.W=+n[0],i+n[0].length):-1}function parseFullYear(d,string,i){var n=numberRe.exec(string.slice(i,i+4)); -return n?(d.y=+n[0],i+n[0].length):-1}function parseYear(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.y=+n[0]+(+n[0]>68?1900:2e3),i+n[0].length):-1}function parseZone(d,string,i){var n=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(string.slice(i,i+6));return n?(d.Z=n[1]?0:-(n[2]+(n[3]||"00")),i+n[0].length):-1}function parseMonthNumber(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.m=n[0]-1,i+n[0].length):-1}function parseDayOfMonth(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.d=+n[0],i+n[0].length):-1}function parseDayOfYear(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.m=0,d.d=+n[0],i+n[0].length):-1}function parseHour24(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.H=+n[0],i+n[0].length):-1}function parseMinutes(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.M=+n[0],i+n[0].length):-1}function parseSeconds(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.S=+n[0],i+n[0].length):-1}function parseMilliseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.L=+n[0],i+n[0].length):-1}function parseLiteralPercent(d,string,i){var n=percentRe.exec(string.slice(i,i+1));return n?i+n[0].length:-1}function formatDayOfMonth(d,p){return pad(d.getDate(),p,2)}function formatHour24(d,p){return pad(d.getHours(),p,2)}function formatHour12(d,p){return pad(d.getHours()%12||12,p,2)}function formatDayOfYear(d,p){return pad(1+d3Time.timeDay.count(d3Time.timeYear(d),d),p,3)}function formatMilliseconds(d,p){return pad(d.getMilliseconds(),p,3)}function formatMonthNumber(d,p){return pad(d.getMonth()+1,p,2)}function formatMinutes(d,p){return pad(d.getMinutes(),p,2)}function formatSeconds(d,p){return pad(d.getSeconds(),p,2)}function formatWeekNumberSunday(d,p){return pad(d3Time.timeSunday.count(d3Time.timeYear(d),d),p,2)}function formatWeekdayNumber(d){return d.getDay()}function formatWeekNumberMonday(d,p){return pad(d3Time.timeMonday.count(d3Time.timeYear(d),d),p,2)}function formatYear(d,p){return pad(d.getFullYear()%100,p,2)}function formatFullYear(d,p){return pad(d.getFullYear()%1e4,p,4)}function formatZone(d){var z=d.getTimezoneOffset();return(z>0?"-":(z*=-1,"+"))+pad(z/60|0,"0",2)+pad(z%60,"0",2)}function formatUTCDayOfMonth(d,p){return pad(d.getUTCDate(),p,2)}function formatUTCHour24(d,p){return pad(d.getUTCHours(),p,2)}function formatUTCHour12(d,p){return pad(d.getUTCHours()%12||12,p,2)}function formatUTCDayOfYear(d,p){return pad(1+d3Time.utcDay.count(d3Time.utcYear(d),d),p,3)}function formatUTCMilliseconds(d,p){return pad(d.getUTCMilliseconds(),p,3)}function formatUTCMonthNumber(d,p){return pad(d.getUTCMonth()+1,p,2)}function formatUTCMinutes(d,p){return pad(d.getUTCMinutes(),p,2)}function formatUTCSeconds(d,p){return pad(d.getUTCSeconds(),p,2)}function formatUTCWeekNumberSunday(d,p){return pad(d3Time.utcSunday.count(d3Time.utcYear(d),d),p,2)}function formatUTCWeekdayNumber(d){return d.getUTCDay()}function formatUTCWeekNumberMonday(d,p){return pad(d3Time.utcMonday.count(d3Time.utcYear(d),d),p,2)}function formatUTCYear(d,p){return pad(d.getUTCFullYear()%100,p,2)}function formatUTCFullYear(d,p){return pad(d.getUTCFullYear()%1e4,p,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatIsoNative(date){return date.toISOString()}function parseIsoNative(string){var date=new Date(string);return isNaN(date)?null:date}var version="0.3.2",pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,locale=locale$1({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"]}),caES=locale$1({dateTime:"%A, %e de %B de %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],shortDays:["dg.","dl.","dt.","dc.","dj.","dv.","ds."],months:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],shortMonths:["gen.","febr.","març","abr.","maig","juny","jul.","ag.","set.","oct.","nov.","des."]}),deCH=locale$1({dateTime:"%A, der %e. %B %Y, %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}),deDE=locale$1({dateTime:"%A, der %e. %B %Y, %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}),enCA=locale$1({dateTime:"%a %b %e %X %Y",date:"%Y-%m-%d",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"]}),enGB=locale$1({dateTime:"%a %e %b %X %Y",date:"%d/%m/%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"]}),esES=locale$1({dateTime:"%A, %e de %B de %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],shortDays:["dom","lun","mar","mié","jue","vie","sáb"],months:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],shortMonths:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"]}),fiFI=locale$1({dateTime:"%A, %-d. %Bta %Y klo %X",date:"%-d.%-m.%Y",time:"%H:%M:%S",periods:["a.m.","p.m."],days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],shortDays:["Su","Ma","Ti","Ke","To","Pe","La"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],shortMonths:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"]}),frCA=locale$1({dateTime:"%a %e %b %Y %X",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["",""],days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],shortDays:["dim","lun","mar","mer","jeu","ven","sam"],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],shortMonths:["jan","fév","mar","avr","mai","jui","jul","aoû","sep","oct","nov","déc"]}),frFR=locale$1({dateTime:"%A, le %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],shortDays:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],shortMonths:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."]}),heIL=locale$1({dateTime:"%A, %e ב%B %Y %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],shortDays:["א׳","ב׳","ג׳","ד׳","ה׳","ו׳","ש׳"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],shortMonths:["ינו׳","פבר׳","מרץ","אפר׳","מאי","יוני","יולי","אוג׳","ספט׳","אוק׳","נוב׳","דצמ׳"]}),huHU=locale$1({dateTime:"%Y. %B %-e., %A %X",date:"%Y. %m. %d.",time:"%H:%M:%S",periods:["de.","du."],days:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],shortDays:["V","H","K","Sze","Cs","P","Szo"],months:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],shortMonths:["jan.","feb.","már.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."]}),itIT=locale$1({dateTime:"%A %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],shortDays:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],shortMonths:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"]}),jaJP=locale$1({dateTime:"%Y %b %e %a %X",date:"%Y/%m/%d",time:"%H:%M:%S",periods:["AM","PM"],days:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],shortDays:["日","月","火","水","木","金","土"],months:["睦月","如月","弥生","卯月","皐月","水無月","文月","葉月","長月","神無月","霜月","師走"],shortMonths:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]}),koKR=locale$1({dateTime:"%Y/%m/%d %a %X",date:"%Y/%m/%d",time:"%H:%M:%S",periods:["오전","오후"],days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],shortDays:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],shortMonths:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]}),mkMK=locale$1({dateTime:"%A, %e %B %Y г. %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["недела","понеделник","вторник","среда","четврток","петок","сабота"],shortDays:["нед","пон","вто","сре","чет","пет","саб"],months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],shortMonths:["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек"]}),nlNL=locale$1({dateTime:"%a %e %B %Y %T",date:"%d-%m-%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],shortDays:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],shortMonths:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"]}),plPL=locale$1({dateTime:"%A, %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],shortDays:["Niedz.","Pon.","Wt.","Śr.","Czw.","Pt.","Sob."],months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],shortMonths:["Stycz.","Luty","Marz.","Kwie.","Maj","Czerw.","Lipc.","Sierp.","Wrz.","Paźdz.","Listop.","Grudz."]}),ptBR=locale$1({dateTime:"%A, %e de %B de %Y. %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],shortDays:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],shortMonths:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"]}),ruRU=locale$1({dateTime:"%A, %e %B %Y г. %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],shortDays:["вс","пн","вт","ср","чт","пт","сб"],months:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],shortMonths:["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек"]}),svSE=locale$1({dateTime:"%A den %d %B %Y %X",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["fm","em"],days:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],shortDays:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"]}),zhCN=locale$1({dateTime:"%x %A %X",date:"%Y年%-m月%-d日",time:"%H:%M:%S",periods:["上午","下午"],days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],shortDays:["周日","周一","周二","周三","周四","周五","周六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],shortMonths:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]}),isoSpecifier="%Y-%m-%dT%H:%M:%S.%LZ",formatIso=Date.prototype.toISOString?formatIsoNative:locale.utcFormat(isoSpecifier),parseIso=+new Date("2000-01-01T00:00:00.000Z")?parseIsoNative:locale.utcParse(isoSpecifier),timeFormat=locale.format,timeParse=locale.parse,utcFormat=locale.utcFormat,utcParse=locale.utcParse;exports.timeFormat=timeFormat,exports.timeParse=timeParse,exports.utcFormat=utcFormat,exports.utcParse=utcParse,exports.version=version,exports.timeFormatLocale=locale$1,exports.timeFormatCaEs=caES,exports.timeFormatDeCh=deCH,exports.timeFormatDeDe=deDE,exports.timeFormatEnCa=enCA,exports.timeFormatEnGb=enGB,exports.timeFormatEnUs=locale,exports.timeFormatEsEs=esES,exports.timeFormatFiFi=fiFI,exports.timeFormatFrCa=frCA,exports.timeFormatFrFr=frFR,exports.timeFormatHeIl=heIL,exports.timeFormatHuHu=huHU,exports.timeFormatItIt=itIT,exports.timeFormatJaJp=jaJP,exports.timeFormatKoKr=koKR,exports.timeFormatMkMk=mkMK,exports.timeFormatNlNl=nlNL,exports.timeFormatPlPl=plPL,exports.timeFormatPtBr=ptBR,exports.timeFormatRuRu=ruRU,exports.timeFormatSvSe=svSE,exports.timeFormatZhCn=zhCN,exports.isoFormat=formatIso,exports.isoParse=parseIso})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_commonProps=__webpack_require__(7),_commonProps2=_interopRequireDefault(_commonProps),ChartTitle=function(_Component){function ChartTitle(props){return _classCallCheck(this,ChartTitle),_possibleConstructorReturn(this,Object.getPrototypeOf(ChartTitle).call(this,props))}return _inherits(ChartTitle,_Component),_createClass(ChartTitle,[{key:"render",value:function(){var _props=this.props,titleClassName=_props.titleClassName,title=_props.title,width=_props.width,titleStyle={width:width,textAlign:"center",fontSize:"2em",paddingBottom:"1.3em"};return _react2["default"].createElement("div",{style:titleStyle,className:titleClassName},title)}}]),ChartTitle}(_react.Component);ChartTitle.defaultProps=_extends({titleClassName:"react-d3-core__container_title",title:""},_commonProps2["default"]),ChartTitle.propTypes={width:_react.PropTypes.number.isRequired,title:_react.PropTypes.string,titleClassName:_react.PropTypes.string},exports["default"]=ChartTitle},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_svg=__webpack_require__(6),_svg2=_interopRequireDefault(_svg),_legend=__webpack_require__(19),_legend2=_interopRequireDefault(_legend),_commonProps=__webpack_require__(7),_commonProps2=_interopRequireDefault(_commonProps),ChartContainer=function(_Component){function ChartContainer(props){return _classCallCheck(this,ChartContainer),_possibleConstructorReturn(this,Object.getPrototypeOf(ChartContainer).call(this,props))}return _inherits(ChartContainer,_Component),_createClass(ChartContainer,[{key:"render",value:function(){var legend,_props=this.props,width=_props.width,chartSeries=_props.chartSeries,divStyle={width:width};return chartSeries&&(legend=_react2["default"].createElement(_legend2["default"],_extends({},this.props,{chartSeries:chartSeries}))),_react2["default"].createElement("div",{style:divStyle},legend,_react2["default"].createElement(_svg2["default"],this.props))}}]),ChartContainer}(_react.Component);ChartContainer.defaultProps=_commonProps2["default"],exports["default"]=ChartContainer},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_d3Selection=(_interopRequireDefault(_react),__webpack_require__(20)),_d3Selection2=_interopRequireDefault(_d3Selection),_d3Scale=__webpack_require__(9),_d3Scale2=_interopRequireDefault(_d3Scale),_reactFauxDom=__webpack_require__(21),_reactFauxDom2=_interopRequireDefault(_reactFauxDom),_commonProps=__webpack_require__(7),_commonProps2=_interopRequireDefault(_commonProps),Legend=function(_Component){function Legend(props){return _classCallCheck(this,Legend),_possibleConstructorReturn(this,Object.getPrototypeOf(Legend).call(this,props))}return _inherits(Legend,_Component),_createClass(Legend,[{key:"_radius",value:function(swatchShape){return"circle"===swatchShape?18:0}},{key:"_series",value:function(props){var chartSeries=props.chartSeries,categoricalColors=props.categoricalColors,colors=categoricalColors||_d3Scale2["default"].scaleCategory10();return chartSeries.map(function(_ref,i){var name=_ref.name,color=_ref.color,field=_ref.field;return{color:color||colors(i),name:name||field,field:field}})}},{key:"_mkLegend",value:function(dom){var _props=this.props,legendClassName=_props.legendClassName,backgroundColor=_props.backgroundColor,legendPosition=_props.legendPosition,swatchShape=(_props.legendOffset,_props.swatchShape),legendArea=(_props.chartSeries,_props.margins,_props.width,_d3Selection2["default"].select(dom)),series=this._series(this.props),radius=this._radius(swatchShape),legend=legendArea.selectAll("div").data(series).enter().append("div").attr("class",legendClassName+" legend").style("height",20).style("padding",5).style("background-color",backgroundColor).style("display","inline-block");legend.append("div").style("width",18).style("height",18).style("border-radius",radius).style("background-color",function(d){return d.color}).style("float",legendPosition),legend.append("div").style("padding-left",5).style("padding-right",5).text(function(d){return d.name}).style("float",legendPosition);return legendArea}},{key:"render",value:function(){var _props2=this.props,legendClassName=_props2.legendClassName,width=_props2.width,legendGroup=(_props2.height,_reactFauxDom2["default"].createElement("div")),legendClasses=legendClassName+" legend";return legendGroup.setAttribute("class",legendClasses),legendGroup.style.width=width,legendGroup.style.textAlign="center",this._mkLegend(legendGroup).node().toReact()}}]),Legend}(_react.Component);Legend.defaultProps=_extends({backgroundColor:"#FFF",legendHeight:50,legendPosition:"left",legendOffset:90,legendClassName:"react-d3-core__legend",swatchShape:"square"},_commonProps2["default"]),Legend.propTypes={backgroundColor:_react.PropTypes.string,width:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,chartSeries:_react.PropTypes.array.isRequired,legendOffset:_react.PropTypes.number.isRequired,legendClassName:_react.PropTypes.string.isRequired,legendPosition:_react.PropTypes.oneOf(["left","right"]).isRequired,swatchShape:_react.PropTypes.oneOf(["circle","square"])},exports["default"]=Legend},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function namespace(name){var prefix=name+="",i=prefix.indexOf(":");return i>=0&&"xmlns"!==(prefix=name.slice(0,i))&&(name=name.slice(i+1)),namespaces.hasOwnProperty(prefix)?{space:namespaces[prefix],local:name}:name}function creatorInherit(name){return function(){var document=this.ownerDocument,uri=this.namespaceURI;return uri===xhtml&&document.documentElement.namespaceURI===xhtml?document.createElement(name):document.createElementNS(uri,name)}}function creatorFixed(fullname){return function(){return this.ownerDocument.createElementNS(fullname.space,fullname.local)}}function creator(name){var fullname=namespace(name);return(fullname.local?creatorFixed:creatorInherit)(fullname)}function filterContextListener(listener,index,group){return listener=contextListener(listener,index,group),function(event){var related=event.relatedTarget;related&&(related===this||8&related.compareDocumentPosition(this))||listener.call(this,event)}}function contextListener(listener,index,group){return function(event1){var event0=exports.event;exports.event=event1;try{listener.call(this,this.__data__,index,group)}finally{exports.event=event0}}}function parseTypenames(typenames){return typenames.trim().split(/^|\s+/).map(function(t){var name="",i=t.indexOf(".");return i>=0&&(name=t.slice(i+1),t=t.slice(0,i)),{type:t,name:name}})}function onRemove(typename){return function(){var on=this.__on;if(on){for(var o,j=0,i=-1,m=on.length;m>j;++j)o=on[j],typename.type&&o.type!==typename.type||o.name!==typename.name?on[++i]=o:this.removeEventListener(o.type,o.listener,o.capture);++i?on.length=i:delete this.__on}}}function onAdd(typename,value,capture){var wrap=filterEvents.hasOwnProperty(typename.type)?filterContextListener:contextListener;return function(d,i,group){var o,on=this.__on,listener=wrap(value,i,group);if(on)for(var j=0,m=on.length;m>j;++j)if((o=on[j]).type===typename.type&&o.name===typename.name)return this.removeEventListener(o.type,o.listener,o.capture),this.addEventListener(o.type,o.listener=listener,o.capture=capture),void(o.value=value);this.addEventListener(typename.type,listener,capture),o={type:typename.type,name:typename.name,value:value,listener:listener,capture:capture},on?on.push(o):this.__on=[o]}}function selection_on(typename,value,capture){var i,t,typenames=parseTypenames(typename+""),n=typenames.length;{if(!(arguments.length<2)){for(on=value?onAdd:onRemove,null==capture&&(capture=!1),i=0;n>i;++i)this.each(on(typenames[i],value,capture));return this}var on=this.node().__on;if(on)for(var o,j=0,m=on.length;m>j;++j)for(i=0,o=on[j];n>i;++i)if((t=typenames[i]).type===o.type&&t.name===o.name)return o.value}}function customEvent(event1,listener,that,args){var event0=exports.event;event1.sourceEvent=exports.event,exports.event=event1;try{return listener.apply(that,args)}finally{exports.event=event0}}function sourceEvent(){for(var source,current=exports.event;source=current.sourceEvent;)current=source;return current}function point(node,event){var svg=node.ownerSVGElement||node;if(svg.createSVGPoint){var point=svg.createSVGPoint();return point.x=event.clientX,point.y=event.clientY,point=point.matrixTransform(node.getScreenCTM().inverse()),[point.x,point.y]}var rect=node.getBoundingClientRect();return[event.clientX-rect.left-node.clientLeft,event.clientY-rect.top-node.clientTop]}function mouse(node){var event=sourceEvent();return event.changedTouches&&(event=event.changedTouches[0]),point(node,event)}function selector(selector){return function(){return this.querySelector(selector)}}function selection_select(select){"function"!=typeof select&&(select=selector(select));for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;m>j;++j)for(var node,subnode,group=groups[j],n=group.length,subgroup=subgroups[j]=new Array(n),i=0;n>i;++i)(node=group[i])&&(subnode=select.call(node,node.__data__,i,group))&&("__data__"in node&&(subnode.__data__=node.__data__),subgroup[i]=subnode);return new Selection(subgroups,this._parents)}function selectorAll(selector){return function(){return this.querySelectorAll(selector)}}function selection_selectAll(select){"function"!=typeof select&&(select=selectorAll(select));for(var groups=this._groups,m=groups.length,subgroups=[],parents=[],j=0;m>j;++j)for(var node,group=groups[j],n=group.length,i=0;n>i;++i)(node=group[i])&&(subgroups.push(select.call(node,node.__data__,i,group)),parents.push(node));return new Selection(subgroups,parents)}function selection_filter(match){"function"!=typeof match&&(match=matcher$1(match));for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;m>j;++j)for(var node,group=groups[j],n=group.length,subgroup=subgroups[j]=new Array(n),i=0;n>i;++i)(node=group[i])&&match.call(node,node.__data__,i,group)&&(subgroup[i]=node);return new Selection(subgroups,this._parents)}function constant(x){return function(){return x}}function bindIndex(parent,group,enter,update,exit,data){for(var node,i=0,groupLength=group.length,dataLength=data.length;dataLength>i;++i)(node=group[i])?(node.__data__=data[i],update[i]=node):enter[i]=new EnterNode(parent,data[i]);for(;groupLength>i;++i)(node=group[i])&&(exit[i]=node)}function bindKey(parent,group,enter,update,exit,data,key){var i,node,keyValue,nodeByKeyValue={},groupLength=group.length,dataLength=data.length,keyValues=new Array(groupLength);for(i=0;groupLength>i;++i)(node=group[i])&&(keyValues[i]=keyValue=keyPrefix+key.call(node,node.__data__,i,group),nodeByKeyValue[keyValue]||(nodeByKeyValue[keyValue]=node));for(i=0;dataLength>i;++i)keyValue=keyPrefix+key.call(parent,data[i],i,data),(node=nodeByKeyValue[keyValue])?node!==!0&&(update[i]=node,node.__data__=data[i]):enter[i]=new EnterNode(parent,data[i]),nodeByKeyValue[keyValue]=!0;for(i=0;groupLength>i;++i)(node=group[i])&&nodeByKeyValue[keyValues[i]]!==!0&&(exit[i]=node)}function selection_data(value,key){if(!value)return data=new Array(this.size()),j=-1,this.each(function(d){data[++j]=d}),data;var bind=key?bindKey:bindIndex,parents=this._parents,groups=this._groups;"function"!=typeof value&&(value=constant(value));for(var m=groups.length,update=new Array(m),enter=new Array(m),exit=new Array(m),j=0;m>j;++j){var parent=parents[j],group=groups[j],groupLength=group.length,data=value.call(parent,parent&&parent.__data__,j,parents),dataLength=data.length,enterGroup=enter[j]=new Array(dataLength),updateGroup=update[j]=new Array(dataLength),exitGroup=exit[j]=new Array(groupLength);bind(parent,group,enterGroup,updateGroup,exitGroup,data,key);for(var previous,next,i0=0,i1=0;dataLength>i0;++i0)if(previous=enterGroup[i0]){for(i0>=i1&&(i1=i0+1);!(next=updateGroup[i1])&&++i1<dataLength;);previous._next=next||null}}return update=new Selection(update,parents), -update._enter=enter,update._exit=exit,update}function EnterNode(parent,datum){this.ownerDocument=parent.ownerDocument,this.namespaceURI=parent.namespaceURI,this._next=null,this._parent=parent,this.__data__=datum}function sparse(update){return new Array(update.length)}function selection_enter(){return new Selection(this._enter||this._groups.map(sparse),this._parents)}function selection_exit(){return new Selection(this._exit||this._groups.map(sparse),this._parents)}function selection_merge(selection){for(var groups0=this._groups,groups1=selection._groups,m0=groups0.length,m1=groups1.length,m=Math.min(m0,m1),merges=new Array(m0),j=0;m>j;++j)for(var node,group0=groups0[j],group1=groups1[j],n=group0.length,merge=merges[j]=new Array(n),i=0;n>i;++i)(node=group0[i]||group1[i])&&(merge[i]=node);for(;m0>j;++j)merges[j]=groups0[j];return new Selection(merges,this._parents)}function selection_order(){for(var groups=this._groups,j=-1,m=groups.length;++j<m;)for(var node,group=groups[j],i=group.length-1,next=group[i];--i>=0;)(node=group[i])&&(next&&next!==node.nextSibling&&next.parentNode.insertBefore(node,next),next=node);return this}function selection_sort(compare){function compareNode(a,b){return a&&b?compare(a.__data__,b.__data__):!a-!b}compare||(compare=ascending);for(var groups=this._groups,m=groups.length,sortgroups=new Array(m),j=0;m>j;++j){for(var node,group=groups[j],n=group.length,sortgroup=sortgroups[j]=new Array(n),i=0;n>i;++i)(node=group[i])&&(sortgroup[i]=node);sortgroup.sort(compareNode)}return new Selection(sortgroups,this._parents).order()}function ascending(a,b){return b>a?-1:a>b?1:a>=b?0:NaN}function selection_call(){var callback=arguments[0];return arguments[0]=this,callback.apply(null,arguments),this}function selection_nodes(){var nodes=new Array(this.size()),i=-1;return this.each(function(){nodes[++i]=this}),nodes}function selection_node(){for(var groups=this._groups,j=0,m=groups.length;m>j;++j)for(var group=groups[j],i=0,n=group.length;n>i;++i){var node=group[i];if(node)return node}return null}function selection_size(){var size=0;return this.each(function(){++size}),size}function selection_empty(){return!this.node()}function selection_each(callback){for(var groups=this._groups,j=0,m=groups.length;m>j;++j)for(var node,group=groups[j],i=0,n=group.length;n>i;++i)(node=group[i])&&callback.call(node,node.__data__,i,group);return this}function attrRemove(name){return function(){this.removeAttribute(name)}}function attrRemoveNS(fullname){return function(){this.removeAttributeNS(fullname.space,fullname.local)}}function attrConstant(name,value){return function(){this.setAttribute(name,value)}}function attrConstantNS(fullname,value){return function(){this.setAttributeNS(fullname.space,fullname.local,value)}}function attrFunction(name,value){return function(){var v=value.apply(this,arguments);null==v?this.removeAttribute(name):this.setAttribute(name,v)}}function attrFunctionNS(fullname,value){return function(){var v=value.apply(this,arguments);null==v?this.removeAttributeNS(fullname.space,fullname.local):this.setAttributeNS(fullname.space,fullname.local,v)}}function selection_attr(name,value){var fullname=namespace(name);if(arguments.length<2){var node=this.node();return fullname.local?node.getAttributeNS(fullname.space,fullname.local):node.getAttribute(fullname)}return this.each((null==value?fullname.local?attrRemoveNS:attrRemove:"function"==typeof value?fullname.local?attrFunctionNS:attrFunction:fullname.local?attrConstantNS:attrConstant)(fullname,value))}function defaultView(node){return node.ownerDocument&&node.ownerDocument.defaultView||node.document&&node||node.defaultView}function styleRemove(name){return function(){this.style.removeProperty(name)}}function styleConstant(name,value,priority){return function(){this.style.setProperty(name,value,priority)}}function styleFunction(name,value,priority){return function(){var v=value.apply(this,arguments);null==v?this.style.removeProperty(name):this.style.setProperty(name,v,priority)}}function selection_style(name,value,priority){var node;return arguments.length>1?this.each((null==value?styleRemove:"function"==typeof value?styleFunction:styleConstant)(name,value,null==priority?"":priority)):defaultView(node=this.node()).getComputedStyle(node,null).getPropertyValue(name)}function propertyRemove(name){return function(){delete this[name]}}function propertyConstant(name,value){return function(){this[name]=value}}function propertyFunction(name,value){return function(){var v=value.apply(this,arguments);null==v?delete this[name]:this[name]=v}}function selection_property(name,value){return arguments.length>1?this.each((null==value?propertyRemove:"function"==typeof value?propertyFunction:propertyConstant)(name,value)):this.node()[name]}function classArray(string){return string.trim().split(/^|\s+/)}function classList(node){return node.classList||new ClassList(node)}function ClassList(node){this._node=node,this._names=classArray(node.getAttribute("class")||"")}function classedAdd(node,names){for(var list=classList(node),i=-1,n=names.length;++i<n;)list.add(names[i])}function classedRemove(node,names){for(var list=classList(node),i=-1,n=names.length;++i<n;)list.remove(names[i])}function classedTrue(names){return function(){classedAdd(this,names)}}function classedFalse(names){return function(){classedRemove(this,names)}}function classedFunction(names,value){return function(){(value.apply(this,arguments)?classedAdd:classedRemove)(this,names)}}function selection_classed(name,value){var names=classArray(name+"");if(arguments.length<2){for(var list=classList(this.node()),i=-1,n=names.length;++i<n;)if(!list.contains(names[i]))return!1;return!0}return this.each(("function"==typeof value?classedFunction:value?classedTrue:classedFalse)(names,value))}function textRemove(){this.textContent=""}function textConstant(value){return function(){this.textContent=value}}function textFunction(value){return function(){var v=value.apply(this,arguments);this.textContent=null==v?"":v}}function selection_text(value){return arguments.length?this.each(null==value?textRemove:("function"==typeof value?textFunction:textConstant)(value)):this.node().textContent}function htmlRemove(){this.innerHTML=""}function htmlConstant(value){return function(){this.innerHTML=value}}function htmlFunction(value){return function(){var v=value.apply(this,arguments);this.innerHTML=null==v?"":v}}function selection_html(value){return arguments.length?this.each(null==value?htmlRemove:("function"==typeof value?htmlFunction:htmlConstant)(value)):this.node().innerHTML}function raise(){this.nextSibling&&this.parentNode.appendChild(this)}function selection_raise(){return this.each(raise)}function lower(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function selection_lower(){return this.each(lower)}function append(create){return function(){return this.appendChild(create.apply(this,arguments))}}function insert(create,select){return function(){return this.insertBefore(create.apply(this,arguments),select.apply(this,arguments)||null)}}function constantNull(){return null}function selection_append(name,before){var create="function"==typeof name?name:creator(name);return this.select(arguments.length<2?append(create):insert(create,null==before?constantNull:"function"==typeof before?before:selector(before)))}function remove(){var parent=this.parentNode;parent&&parent.removeChild(this)}function selection_remove(){return this.each(remove)}function selection_datum(value){return arguments.length?this.property("__data__",value):this.node().__data__}function dispatchEvent(node,type,params){var window=defaultView(node),event=window.CustomEvent;event?event=new event(type,params):(event=window.document.createEvent("Event"),params?(event.initEvent(type,params.bubbles,params.cancelable),event.detail=params.detail):event.initEvent(type,!1,!1)),node.dispatchEvent(event)}function dispatchConstant(type,params){return function(){return dispatchEvent(this,type,params)}}function dispatchFunction(type,params){return function(){return dispatchEvent(this,type,params.apply(this,arguments))}}function selection_dispatch(type,params){return this.each(("function"==typeof params?dispatchFunction:dispatchConstant)(type,params))}function Selection(groups,parents){this._groups=groups,this._parents=parents}function selection(){return new Selection([[document.documentElement]],root)}function select(selector){return"string"==typeof selector?new Selection([[document.querySelector(selector)]],[document.documentElement]):new Selection([[selector]],root)}function selectAll(selector){return"string"==typeof selector?new Selection([document.querySelectorAll(selector)],[document.documentElement]):new Selection([selector],root)}function touch(node,touches,identifier){arguments.length<3&&(identifier=touches,touches=sourceEvent().changedTouches);for(var touch,i=0,n=touches?touches.length:0;n>i;++i)if((touch=touches[i]).identifier===identifier)return point(node,touch);return null}function touches(node,touches){null==touches&&(touches=sourceEvent().touches);for(var i=0,n=touches?touches.length:0,points=new Array(n);n>i;++i)points[i]=point(node,touches[i]);return points}var version="0.7.2",xhtml="http://www.w3.org/1999/xhtml",namespaces={svg:"http://www.w3.org/2000/svg",xhtml:xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},matcher=function(selector){return function(){return this.matches(selector)}};if("undefined"!=typeof document){var element=document.documentElement;if(!element.matches){var vendorMatches=element.webkitMatchesSelector||element.msMatchesSelector||element.mozMatchesSelector||element.oMatchesSelector;matcher=function(selector){return function(){return vendorMatches.call(this,selector)}}}}var matcher$1=matcher,filterEvents={};if(exports.event=null,"undefined"!=typeof document){var element$1=document.documentElement;"onmouseenter"in element$1||(filterEvents={mouseenter:"mouseover",mouseleave:"mouseout"})}var keyPrefix="$";EnterNode.prototype={constructor:EnterNode,appendChild:function(child){return this._parent.insertBefore(child,this._next)},insertBefore:function(child,next){return this._parent.insertBefore(child,next)},querySelector:function(selector){return this._parent.querySelector(selector)},querySelectorAll:function(selector){return this._parent.querySelectorAll(selector)}},ClassList.prototype={add:function(name){var i=this._names.indexOf(name);0>i&&(this._names.push(name),this._node.setAttribute("class",this._names.join(" ")))},remove:function(name){var i=this._names.indexOf(name);i>=0&&(this._names.splice(i,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(name){return this._names.indexOf(name)>=0}};var root=[null];Selection.prototype=selection.prototype={constructor:Selection,select:selection_select,selectAll:selection_selectAll,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,merge:selection_merge,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,remove:selection_remove,datum:selection_datum,on:selection_on,dispatch:selection_dispatch},exports.version=version,exports.creator=creator,exports.matcher=matcher$1,exports.mouse=mouse,exports.namespace=namespace,exports.namespaces=namespaces,exports.select=select,exports.selectAll=selectAll,exports.selection=selection,exports.selector=selector,exports.selectorAll=selectorAll,exports.touch=touch,exports.touches=touches,exports.window=defaultView,exports.customEvent=customEvent})},function(module,exports,__webpack_require__){var Element=__webpack_require__(22),Window=__webpack_require__(34),core=__webpack_require__(35),anim=__webpack_require__(36),ReactFauxDOM={Element:Element,defaultView:Window,mixins:{core:core,anim:anim},createElement:function(nodeName){return new Element(nodeName)},createElementNS:function(namespace,nodeName){return this.createElement(nodeName)},compareDocumentPosition:function(){return 8}};Element.prototype.ownerDocument=ReactFauxDOM,module.exports=ReactFauxDOM},function(module,exports,__webpack_require__){function Element(nodeName,parentNode){this.nodeName=nodeName,this.parentNode=parentNode,this.childNodes=[],this.eventListeners={},this.text="";var props=this.props={style:{setProperty:function(name,value){props.style[styleCamelCase(name)]=value},getProperty:function(name){return props.style[styleCamelCase(name)]},removeProperty:function(name){delete props.style[styleCamelCase(name)]}}};this.style=props.style}var React=__webpack_require__(4),styleAttr=__webpack_require__(23),querySelectorAll=__webpack_require__(24),camelCase=__webpack_require__(28),isString=__webpack_require__(29),isUndefined=__webpack_require__(30),assign=__webpack_require__(31),mapValues=__webpack_require__(32),styleCamelCase=__webpack_require__(33);Element.prototype.nodeType=1,Element.prototype.eventNameMappings={blur:"onBlur",change:"onChange",click:"onClick",contextmenu:"onContextMenu",copy:"onCopy",cut:"onCut",doubleclick:"onDoubleClick",drag:"onDrag",dragend:"onDragEnd",dragenter:"onDragEnter",dragexit:"onDragExit",dragleave:"onDragLeave",dragover:"onDragOver",dragstart:"onDragStart",drop:"onDrop",error:"onError",focus:"onFocus",input:"onInput",keydown:"onKeyDown",keypress:"onKeyPress",keyup:"onKeyUp",load:"onLoad",mousedown:"onMouseDown",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseover:"onMouseOver",mouseup:"onMouseUp",paste:"onPaste",scroll:"onScroll",submit:"onSubmit",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",wheel:"onWheel"},Element.prototype.skipNameTransformationExpressions=[/^data-/,/^aria-/],Element.prototype.attributeNameMappings={"class":"className"},Element.prototype.attributeToPropName=function(name){var skipTransformMatches=this.skipNameTransformationExpressions.map(function(expr){return expr.test(name)});return skipTransformMatches.some(Boolean)?name:this.attributeNameMappings[name]||camelCase(name)},Element.prototype.setAttribute=function(name,value){if("style"===name&&isString(value)){var styles=styleAttr.parse(value);for(var key in styles)this.style.setProperty(key,styles[key])}else this.props[this.attributeToPropName(name)]=value},Element.prototype.getAttribute=function(name){return this.props[this.attributeToPropName(name)]},Element.prototype.getAttributeNode=function(name){var value=this.getAttribute(name);return isUndefined(value)?void 0:{value:value,specified:!0}},Element.prototype.removeAttribute=function(name){delete this.props[this.attributeToPropName(name)]},Element.prototype.eventToPropName=function(name){return this.eventNameMappings[name]||name},Element.prototype.addEventListener=function(name,fn){var prop=this.eventToPropName(name);this.eventListeners[prop]=this.eventListeners[prop]||[],this.eventListeners[prop].push(fn)},Element.prototype.removeEventListener=function(name,fn){var listeners=this.eventListeners[this.eventToPropName(name)];if(listeners){var match=listeners.indexOf(fn);-1!==match&&listeners.splice(match,1)}},Element.prototype.appendChild=function(el){return el.parentNode=this,this.childNodes.push(el),el},Element.prototype.insertBefore=function(el,before){var index=this.childNodes.indexOf(before);return el.parentNode=this,-1!==index?this.childNodes.splice(index,0,el):this.childNodes.push(el),el},Element.prototype.removeChild=function(child){var target=this.childNodes.indexOf(child);this.childNodes.splice(target,1)},Element.prototype.querySelector=function(){return this.querySelectorAll.apply(this,arguments)[0]||null},Element.prototype.querySelectorAll=function(selector){if(!selector)throw new Error("Not enough arguments");return querySelectorAll(selector,this)},Element.prototype.getElementsByTagName=function(nodeName){var children=this.children;if(0===children.length)return[];var matches;matches="*"!==nodeName?children.filter(function(el){return el.nodeName===nodeName}):children;var childMatches=children.map(function(el){return el.getElementsByTagName(nodeName)});return matches.concat.apply(matches,childMatches)},Element.prototype.getElementById=function(id){var children=this.children;if(0===children.length)return null;var match=children.filter(function(el){return el.getAttribute("id")===id})[0];if(match)return match;var childMatches=children.map(function(el){return el.getElementById(id)});return childMatches.filter(function(match){return null!==match})[0]||null},Element.prototype.toReact=function(index){function uniqueKey(){return"faux-dom-"+index}index=index||0;var props=assign({},this.props);props.style=assign({},props.style);var originalElement=this;return isUndefined(props.key)&&(props.key=uniqueKey()),delete props.style.setProperty,delete props.style.getProperty,delete props.style.removeProperty,assign(props,mapValues(this.eventListeners,function(listeners){return function(syntheticEvent){var event;syntheticEvent&&(event=syntheticEvent.nativeEvent,event.syntheticEvent=syntheticEvent),mapValues(listeners,function(listener){listener.call(originalElement,event)})}})),React.createElement(this.nodeName,props,this.text||this.children.map(function(el,i){return el instanceof Element?el.toReact(i):el}))},Object.defineProperties(Element.prototype,{nextSibling:{get:function(){var siblings=this.parentNode.children,me=siblings.indexOf(this);return siblings[me+1]}},previousSibling:{get:function(){var siblings=this.parentNode.children,me=siblings.indexOf(this);return siblings[me-1]}},innerHTML:{get:function(){return this.text},set:function(text){this.text=text}},textContent:{get:function(){return this.text},set:function(text){this.text=text}},children:{get:function(){return this.childNodes.filter(function(el){return el.nodeType?1===el.nodeType:!0})}}});var namespaceMethods=["setAttribute","getAttribute","getAttributeNode","removeAttribute","getElementsByTagName","getElementById"];namespaceMethods.forEach(function(name){var fn=Element.prototype[name];Element.prototype[name+"NS"]=function(){return fn.apply(this,Array.prototype.slice.call(arguments,1))}}),module.exports=Element},function(module,exports){function parse(raw){var trim=function(s){return s.trim()},obj={};return getKeyValueChunks(raw).map(trim).filter(Boolean).forEach(function(item){var pos=item.indexOf(":"),key=item.substr(0,pos).trim(),val=item.substr(pos+1).trim();obj[key]=val}),obj}function getKeyValueChunks(raw){for(var nextSplit,chunks=[],offset=0,sep=";",hasUnclosedUrl=/url\([^\)]+$/,chunk="";offset<raw.length;)nextSplit=raw.indexOf(sep,offset),-1===nextSplit&&(nextSplit=raw.length),chunk+=raw.substring(offset,nextSplit),hasUnclosedUrl.test(chunk)?(chunk+=";",offset=nextSplit+1):(chunks.push(chunk),chunk="",offset=nextSplit+1);return chunks}function stringify(obj){return Object.keys(obj).map(function(key){return key+":"+obj[key]}).join(";")}function normalize(str){return stringify(parse(str))}module.exports.parse=parse,module.exports.stringify=stringify,module.exports.normalize=normalize},function(module,exports,__webpack_require__){module.exports=__webpack_require__(25)},function(module,exports,__webpack_require__){function unEscape(str){return str.replace(unescape,unescapeFn)}function resetStatus(){subMatchesCache={}}function dir(el,direction){do el=el[direction];while(el&&1!==el.nodeType);return el}function getAb(param){var match,a=0,b=0;return"number"==typeof param?b=param:"odd"===param?(a=2,b=1):"even"===param?(a=2,b=0):(match=param.replace(/\s/g,"").match(aNPlusB))&&(match[1]?(a=parseInt(match[2],10),isNaN(a)&&(a="-"===match[2]?-1:1)):a=0,b=parseInt(match[3],10)||0),{a:a,b:b}}function matchIndexByAb(index,a,b,eq){if(0===a){if(index===b)return eq}else if((index-b)/a>=0&&(index-b)%a===0&&eq)return 1}function isXML(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return documentElement?"html"!==documentElement.nodeName.toLowerCase():!1}function matches(str,seeds){return select(str,null,seeds)}function singleMatch(el,match){if(!match)return!0;if(!el)return!1;if(9===el.nodeType)return!1;var matchSuffixLen,matchSuffixIndex,matched=1,matchSuffix=match.suffix;if("tag"===match.t&&(matched&=matchExpr.tag(el,match.value)),matched&&matchSuffix)for(matchSuffixLen=matchSuffix.length,matchSuffixIndex=0;matched&&matchSuffixLen>matchSuffixIndex;matchSuffixIndex++){var singleMatchSuffix=matchSuffix[matchSuffixIndex],singleMatchSuffixType=singleMatchSuffix.t;matchExpr[singleMatchSuffixType]&&(matched&=matchExpr[singleMatchSuffixType](el,singleMatchSuffix.value))}return matched}function matchImmediate(el,match){var relativeOp,matched=1,startEl=el,startMatch=match;do{if(matched&=singleMatch(el,match),!matched)return relativeOp=relativeExpr[match.nextCombinator],relativeOp.immediate?{el:dir(startEl,relativeExpr[startMatch.nextCombinator].dir),match:startMatch}:{el:el&&dir(el,relativeOp.dir),match:match};if(match=match&&match.prev,!match)return!0;if(relativeOp=relativeExpr[match.nextCombinator],el=dir(el,relativeOp.dir),!relativeOp.immediate)return{el:el,match:match}}while(el);return{el:dir(startEl,relativeExpr[startMatch.nextCombinator].dir),match:startMatch}}function findFixedMatchFromHead(el,head){var relativeOp,cur=head;do{if(!singleMatch(el,cur))return null;if(cur=cur.prev,!cur)return!0;relativeOp=relativeExpr[cur.nextCombinator],el=dir(el,relativeOp.dir)}while(el&&relativeOp.immediate);return el?{el:el,match:cur}:null}function genId(el){var selectorId;return isContextXML?(selectorId=el.getAttribute(EXPANDO_SELECTOR_KEY))||el.setAttribute(EXPANDO_SELECTOR_KEY,selectorId=+new Date+"_"+ ++uuid):(selectorId=el[EXPANDO_SELECTOR_KEY])||(selectorId=el[EXPANDO_SELECTOR_KEY]=+new Date+"_"+ ++uuid),selectorId}function matchSub(el,match){var matchKey,selectorId=genId(el);return matchKey=selectorId+"_"+(match.order||0),matchKey in subMatchesCache?subMatchesCache[matchKey]:(subMatchesCache[matchKey]=matchSubInternal(el,match),subMatchesCache[matchKey])}function matchSubInternal(el,match){var matchImmediateRet=matchImmediate(el,match);if(matchImmediateRet===!0)return!0;for(el=matchImmediateRet.el,match=matchImmediateRet.match;el;){if(matchSub(el,match))return!0;el=dir(el,relativeExpr[match.nextCombinator].dir)}return!1}function select(str,context,seeds){caches[str]||(caches[str]=parser.parse(str));var contextDocument,group,selector=caches[str],groupIndex=0,groupLen=selector.length,ret=[];for(seeds&&(context=context||seeds[0].ownerDocument),contextDocument=context&&context.ownerDocument||"undefined"!=typeof document&&document,context&&9===context.nodeType&&!contextDocument&&(contextDocument=context),context=context||contextDocument,isContextXML=isXML(context);groupLen>groupIndex;groupIndex++){resetStatus(),group=selector[groupIndex];var suffixIndex,suffixLen,seedsIndex,seedsLen,suffix=group.suffix,mySeeds=seeds,id=null;if(!mySeeds){if(suffix&&!isContextXML)for(suffixIndex=0,suffixLen=suffix.length;suffixLen>suffixIndex;suffixIndex++){var singleSuffix=suffix[suffixIndex];if("id"===singleSuffix.t){id=singleSuffix.value;break}}if(id){var doesNotHasById=!context.getElementById,contextInDom=util.contains(contextDocument,context),tmp=doesNotHasById?contextInDom?contextDocument.getElementById(id):null:context.getElementById(id);if(!tmp&&doesNotHasById||tmp&&getAttr(tmp,"id")!==id){for(var tmps=util.getElementsByTagName("*",context),tmpLen=tmps.length,tmpI=0;tmpLen>tmpI;tmpI++)if(tmp=tmps[tmpI],getAttr(tmp,"id")===id){mySeeds=[tmp];break}tmpI===tmpLen&&(mySeeds=[])}else contextInDom&&tmp&&context!==contextDocument&&(tmp=util.contains(context,tmp)?tmp:null),mySeeds=tmp?[tmp]:[]}else mySeeds=util.getElementsByTagName(group.value||"*",context)}if(seedsIndex=0,seedsLen=mySeeds.length)for(;seedsLen>seedsIndex;seedsIndex++){var seed=mySeeds[seedsIndex],matchHead=findFixedMatchFromHead(seed,group);matchHead===!0?ret.push(seed):matchHead&&matchSub(matchHead.el,matchHead.match)&&ret.push(seed)}}return groupLen>1&&(ret=util.unique(ret)),ret}var isContextXML,matchExpr,util=__webpack_require__(26),parser=__webpack_require__(27),EXPANDO_SELECTOR_KEY="_ks_data_selector_id_",caches={},uuid=0,subMatchesCache={},getAttr=function(el,name){return isContextXML?util.getSimpleAttr(el,name):util.attr(el,name)},hasSingleClass=util.hasSingleClass,isTag=util.isTag,aNPlusB=/^(([+-]?(?:\d+)?)?n)?([+-]?\d+)?$/,unescape=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,unescapeFn=function(_,escaped){var high="0x"+escaped-65536;return isNaN(high)?escaped:0>high?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,1023&high|56320)},pseudoFnExpr={"nth-child":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,count=0,len=childNodes.length;len>count;count++)if(child=childNodes[count],1===child.nodeType&&(index++,ret=matchIndexByAb(index,a,b,child===el),void 0!==ret))return ret;return 0},"nth-last-child":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,len=childNodes.length,count=len-1;count>=0;count--)if(child=childNodes[count],1===child.nodeType&&(index++,ret=matchIndexByAb(index,a,b,child===el),void 0!==ret))return ret;return 0},"nth-of-type":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,elType=el.tagName,count=0,len=childNodes.length;len>count;count++)if(child=childNodes[count],child.tagName===elType&&(index++,ret=matchIndexByAb(index,a,b,child===el),void 0!==ret))return ret;return 0},"nth-last-of-type":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,len=childNodes.length,elType=el.tagName,count=len-1;count>=0;count--)if(child=childNodes[count],child.tagName===elType&&(index++,ret=matchIndexByAb(index,a,b,child===el),void 0!==ret))return ret;return 0},lang:function(el,lang){var elLang;lang=unEscape(lang.toLowerCase());do if(elLang=isContextXML?el.getAttribute("xml:lang")||el.getAttribute("lang"):el.lang)return elLang=elLang.toLowerCase(),elLang===lang||0===elLang.indexOf(lang+"-");while((el=el.parentNode)&&1===el.nodeType);return!1},not:function(el,negationArg){return!matchExpr[negationArg.t](el,negationArg.value)}},pseudoIdentExpr={empty:function(el){for(var child,nodeType,childNodes=el.childNodes,index=0,len=childNodes.length-1;len>index;index++)if(child=childNodes[index],nodeType=child.nodeType,1===nodeType||3===nodeType||4===nodeType||5===nodeType)return 0;return 1},root:function(el){return 9===el.nodeType?!0:el.ownerDocument&&el===el.ownerDocument.documentElement},"first-child":function(el){return pseudoFnExpr["nth-child"](el,1)},"last-child":function(el){return pseudoFnExpr["nth-last-child"](el,1)},"first-of-type":function(el){return pseudoFnExpr["nth-of-type"](el,1)},"last-of-type":function(el){return pseudoFnExpr["nth-last-of-type"](el,1)},"only-child":function(el){return pseudoIdentExpr["first-child"](el)&&pseudoIdentExpr["last-child"](el)},"only-of-type":function(el){return pseudoIdentExpr["first-of-type"](el)&&pseudoIdentExpr["last-of-type"](el)},focus:function(el){var doc=el.ownerDocument;return doc&&el===doc.activeElement&&(!doc.hasFocus||doc.hasFocus())&&!!(el.type||el.href||el.tabIndex>=0)},target:function(el){var hash=location.hash;return hash&&hash.slice(1)===getAttr(el,"id")},enabled:function(el){return!el.disabled},disabled:function(el){return el.disabled},checked:function(el){var nodeName=el.nodeName.toLowerCase();return"input"===nodeName&&el.checked||"option"===nodeName&&el.selected}},attributeExpr={"~=":function(elValue,value){return!value||value.indexOf(" ")>-1?0:-1!==(" "+elValue+" ").indexOf(" "+value+" ")},"|=":function(elValue,value){return-1!==(" "+elValue).indexOf(" "+value+"-")},"^=":function(elValue,value){return value&&util.startsWith(elValue,value)},"$=":function(elValue,value){return value&&util.endsWith(elValue,value)},"*=":function(elValue,value){return value&&-1!==elValue.indexOf(value)},"=":function(elValue,value){return elValue===value}},relativeExpr={">":{dir:"parentNode",immediate:1}," ":{dir:"parentNode"},"+":{dir:"previousSibling",immediate:1},"~":{dir:"previousSibling"}};matchExpr={tag:isTag,cls:hasSingleClass,id:function(el,value){return getAttr(el,"id")===value},attrib:function(el,value){var name=value.ident;isContextXML||(name=name.toLowerCase());var elValue=getAttr(el,name),match=value.match;if(!match&&void 0!==elValue)return 1;if(match){if(void 0===elValue)return 0;var matchFn=attributeExpr[match];if(matchFn)return matchFn(elValue+"",value.value+"")}return 0},pseudo:function(el,value){var fn,fnStr,ident;if(fnStr=value.fn){if(!(fn=pseudoFnExpr[fnStr]))throw new SyntaxError("Syntax error: not support pseudo: "+fnStr);return fn(el,value.param)}if(ident=value.ident){if(!pseudoIdentExpr[ident])throw new SyntaxError("Syntax error: not support pseudo: "+ident);return pseudoIdentExpr[ident](el)}return 0}},parser.lexer.yy={trim:util.trim,unEscape:unEscape,unEscapeStr:function(str){return this.unEscape(str.slice(1,-1))}},module.exports=select,select.parse=function(str){return parser.parse(str)},select.matches=matches,select.util=util,select.version="@VERSION@"},function(module,exports){function numberify(s){var c=0;return parseFloat(s.replace(/\./g,function(){return 0===c++?".":""}))}function ieVersion(){var m,v;return(m=ua.match(/MSIE ([^;]*)|Trident.*; rv(?:\s|:)?([0-9.]+)/))&&(v=m[1]||m[2])?doc.documentMode||numberify(v):void 0}function mix(s,t){for(var p in t)s[p]=t[p]}function each(arr,fn){for(var i=0,l=arr.length;l>i&&fn(arr[i],i)!==!1;i++);}var propFix,R_BOOLEAN=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,R_FOCUSABLE=/^(?:button|input|object|select|textarea)$/i,R_CLICKABLE=/^a(?:rea)?$/i,R_INVALID_CHAR=/:|^on/,attrFix={},attrHooks={tabindex:{get:function(el){var attributeNode=el.getAttributeNode("tabindex");return attributeNode&&attributeNode.specified?parseInt(attributeNode.value,10):R_FOCUSABLE.test(el.nodeName)||R_CLICKABLE.test(el.nodeName)&&el.href?0:void 0}}},boolHook={get:function(elem,name){return elem[propFix[name]||name]?name.toLowerCase():void 0}},attrNodeHook={};attrHooks.style={get:function(el){return el.style.cssText}},propFix={hidefocus:"hideFocus",tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"};var ua="undefined"!=typeof navigator?navigator.userAgent:"",doc="undefined"!=typeof document?document:{},ie=ieVersion();if(ie&&8>ie&&(attrHooks.style.set=function(el,val){el.style.cssText=val},mix(attrNodeHook,{get:function(elem,name){var ret=elem.getAttributeNode(name);return ret&&(ret.specified||ret.nodeValue)?ret.nodeValue:void 0}}),mix(attrFix,propFix),attrHooks.tabIndex=attrHooks.tabindex,each(["href","src","width","height","colSpan","rowSpan"],function(name){attrHooks[name]={get:function(elem){var ret=elem.getAttribute(name,2);return null===ret?void 0:ret}}}),attrHooks.placeholder={get:function(elem,name){return elem[name]||attrNodeHook.get(elem,name)}}),ie){var hrefFix=attrHooks.href=attrHooks.href||{};hrefFix.set=function(el,val,name){var b,childNodes=el.childNodes,len=childNodes.length,allText=len>0;for(len-=1;len>=0;len--)3!==childNodes[len].nodeType&&(allText=0);allText&&(b=el.ownerDocument.createElement("b"), -b.style.display="none",el.appendChild(b)),el.setAttribute(name,""+val),b&&el.removeChild(b)}}var getElementsByTagName,RE_TRIM=/^[\s\xa0]+|[\s\xa0]+$/g,trim=String.prototype.trim,SPACE=" ";if(getElementsByTagName=function(name,context){return context.getElementsByTagName(name)},doc.createElement){var div=doc.createElement("div");div.appendChild(document.createComment("")),div.getElementsByTagName("*").length&&(getElementsByTagName=function(name,context){var nodes=context.getElementsByTagName(name),needsFilter="*"===name;if(needsFilter||"number"!=typeof nodes.length){for(var el,ret=[],i=0;el=nodes[i++];)needsFilter&&1!==el.nodeType||ret.push(el);return ret}return nodes})}var compareNodeOrder="sourceIndex"in(doc&&doc.documentElement||{})?function(a,b){return a.sourceIndex-b.sourceIndex}:function(a,b){if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;var bit=4&a.compareDocumentPosition(b);return bit?-1:1},util=module.exports={ie:ie,unique:function(){function sortOrder(a,b){return a===b?(hasDuplicate=!0,0):compareNodeOrder(a,b)}var hasDuplicate,baseHasDuplicate=!0;return[0,0].sort(function(){return baseHasDuplicate=!1,0}),function(elements){if(hasDuplicate=baseHasDuplicate,elements.sort(sortOrder),hasDuplicate)for(var i=1,len=elements.length;len>i;)elements[i]===elements[i-1]?(elements.splice(i,1),--len):i++;return elements}}(),getElementsByTagName:getElementsByTagName,getSimpleAttr:function(el,name){var ret=el&&el.getAttributeNode(name);return ret&&ret.specified?"value"in ret?ret.value:ret.nodeValue:void 0},contains:ie?function(a,b){return 9===a.nodeType&&(a=a.documentElement),b=b.parentNode,a===b?!0:b&&1===b.nodeType?a.contains&&a.contains(b):!1}:function(a,b){return!!(16&a.compareDocumentPosition(b))},isTag:function(el,value){return"*"===value||el.nodeName.toLowerCase()===value.toLowerCase()},hasSingleClass:function(el,cls){var className=el&&util.getSimpleAttr(el,"class");return className&&(className=className.replace(/[\r\t\n]/g,SPACE))&&(SPACE+className+SPACE).indexOf(SPACE+cls+SPACE)>-1},startsWith:function(str,prefix){return 0===str.lastIndexOf(prefix,0)},endsWith:function(str,suffix){var ind=str.length-suffix.length;return ind>=0&&str.indexOf(suffix,ind)===ind},trim:trim?function(str){return null==str?"":trim.call(str)}:function(str){return null==str?"":(str+"").replace(RE_TRIM,"")},attr:function(el,name){var attrNormalizer,ret;if(name=name.toLowerCase(),name=attrFix[name]||name,attrNormalizer=R_BOOLEAN.test(name)?boolHook:R_INVALID_CHAR.test(name)?attrNodeHook:attrHooks[name],el&&1===el.nodeType){if("form"===el.nodeName.toLowerCase()&&(attrNormalizer=attrNodeHook),attrNormalizer&&attrNormalizer.get)return attrNormalizer.get(el,name);if(ret=el.getAttribute(name),""===ret){var attrNode=el.getAttributeNode(name);if(!attrNode||!attrNode.specified)return}return null===ret?void 0:ret}}}},function(module,exports,__webpack_require__){var parser=function(undefined){function mix(to,from){for(var f in from)to[f]=from[f]}function isArray(obj){return"[object Array]"===Object.prototype.toString.call(obj)}function each(object,fn,context){if(object){var key,val,length,i=0;if(context=context||null,isArray(object))for(length=object.length,val=object[0];length>i&&fn.call(context,val,i,object)!==!1;val=object[++i]);else for(key in object)if(fn.call(context,object[key],key,object)===!1)break}}function inArray(item,arr){for(var i=0,l=arr.length;l>i;i++)if(arr[i]===item)return!0;return!1}var parser={},GrammarConst={SHIFT_TYPE:1,REDUCE_TYPE:2,ACCEPT_TYPE:0,TYPE_INDEX:0,PRODUCTION_INDEX:1,TO_INDEX:2},Lexer=function(cfg){var self=this;self.rules=[],mix(self,cfg),self.resetInput(self.input)};Lexer.prototype={resetInput:function(input){mix(this,{input:input,matched:"",stateStack:[Lexer.STATIC.INITIAL],match:"",text:"",firstLine:1,lineNumber:1,lastLine:1,firstColumn:1,lastColumn:1})},getCurrentRules:function(){var self=this,currentState=self.stateStack[self.stateStack.length-1],rules=[];return self.mapState&&(currentState=self.mapState(currentState)),each(self.rules,function(r){var state=r.state||r[3];state?inArray(currentState,state)&&rules.push(r):currentState===Lexer.STATIC.INITIAL&&rules.push(r)}),rules},pushState:function(state){this.stateStack.push(state)},popState:function(num){num=num||1;for(var ret;num--;)ret=this.stateStack.pop();return ret},showDebugInfo:function(){var self=this,DEBUG_CONTEXT_LIMIT=Lexer.STATIC.DEBUG_CONTEXT_LIMIT,matched=self.matched,match=self.match,input=self.input;matched=matched.slice(0,matched.length-match.length);var past=(matched.length>DEBUG_CONTEXT_LIMIT?"...":"")+matched.slice(0-DEBUG_CONTEXT_LIMIT).replace(/\n/," "),next=match+input;return next=next.slice(0,DEBUG_CONTEXT_LIMIT)+(next.length>DEBUG_CONTEXT_LIMIT?"...":""),past+next+"\n"+new Array(past.length+1).join("-")+"^"},mapSymbol:function(t){return this.symbolMap[t]},mapReverseSymbol:function(rs){var i,self=this,symbolMap=self.symbolMap,reverseSymbolMap=self.reverseSymbolMap;if(!reverseSymbolMap&&symbolMap){reverseSymbolMap=self.reverseSymbolMap={};for(i in symbolMap)reverseSymbolMap[symbolMap[i]]=i}return reverseSymbolMap?reverseSymbolMap[rs]:rs},lex:function(){var i,rule,m,ret,lines,self=this,input=self.input,rules=self.getCurrentRules();if(self.match=self.text="",!input)return self.mapSymbol(Lexer.STATIC.END_TAG);for(i=0;i<rules.length;i++){rule=rules[i];var regexp=rule.regexp||rule[1],token=rule.token||rule[0],action=rule.action||rule[2]||undefined;if(m=input.match(regexp)){lines=m[0].match(/\n.*/g),lines&&(self.lineNumber+=lines.length),mix(self,{firstLine:self.lastLine,lastLine:self.lineNumber+1,firstColumn:self.lastColumn,lastColumn:lines?lines[lines.length-1].length-1:self.lastColumn+m[0].length});var match;return match=self.match=m[0],self.matches=m,self.text=match,self.matched+=match,ret=action&&action.call(self),ret=ret===undefined?token:self.mapSymbol(ret),input=input.slice(match.length),self.input=input,ret?ret:self.lex()}}}},Lexer.STATIC={INITIAL:"I",DEBUG_CONTEXT_LIMIT:20,END_TAG:"$EOF"};var lexer=new Lexer({rules:[["b",/^\[(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["c",/^(?:[\t\r\n\f\x20]*)\]/,function(){this.text=this.yy.trim(this.text)}],["d",/^(?:[\t\r\n\f\x20]*)~=(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["e",/^(?:[\t\r\n\f\x20]*)\|=(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["f",/^(?:[\t\r\n\f\x20]*)\^=(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["g",/^(?:[\t\r\n\f\x20]*)\$=(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["h",/^(?:[\t\r\n\f\x20]*)\*=(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["i",/^(?:[\t\r\n\f\x20]*)\=(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["j",/^(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)\(/,function(){this.text=this.yy.trim(this.text).slice(0,-1),this.pushState("fn")}],["k",/^[^\)]*/,function(){this.popState()},["fn"]],["l",/^(?:[\t\r\n\f\x20]*)\)/,function(){this.text=this.yy.trim(this.text)}],["m",/^:not\((?:[\t\r\n\f\x20]*)/i,function(){this.text=this.yy.trim(this.text)}],["n",/^(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)/,function(){this.text=this.yy.unEscape(this.text)}],["o",/^"(\\"|[^"])*"/,function(){this.text=this.yy.unEscapeStr(this.text)}],["o",/^'(\\'|[^'])*'/,function(){this.text=this.yy.unEscapeStr(this.text)}],["p",/^#(?:(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))+)/,function(){this.text=this.yy.unEscape(this.text.slice(1))}],["q",/^\.(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)/,function(){this.text=this.yy.unEscape(this.text.slice(1))}],["r",/^(?:[\t\r\n\f\x20]*),(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["s",/^::?/,0],["t",/^(?:[\t\r\n\f\x20]*)\+(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["u",/^(?:[\t\r\n\f\x20]*)>(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["v",/^(?:[\t\r\n\f\x20]*)~(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["w",/^\*/,0],["x",/^(?:[\t\r\n\f\x20]+)/,0],["y",/^./,0]]});return parser.lexer=lexer,lexer.symbolMap={$EOF:"a",LEFT_BRACKET:"b",RIGHT_BRACKET:"c",INCLUDES:"d",DASH_MATCH:"e",PREFIX_MATCH:"f",SUFFIX_MATCH:"g",SUBSTRING_MATCH:"h",ALL_MATCH:"i",FUNCTION:"j",PARAMETER:"k",RIGHT_PARENTHESES:"l",NOT:"m",IDENT:"n",STRING:"o",HASH:"p",CLASS:"q",COMMA:"r",COLON:"s",PLUS:"t",GREATER:"u",TILDE:"v",UNIVERSAL:"w",S:"x",INVALID:"y",$START:"z",selectors_group:"aa",selector:"ab",simple_selector_sequence:"ac",combinator:"ad",type_selector:"ae",id_selector:"af",class_selector:"ag",attrib_match:"ah",attrib:"ai",attrib_val:"aj",pseudo:"ak",negation:"al",negation_arg:"am",suffix_selector:"an",suffix_selectors:"ao"},parser.productions=[["z",["aa"]],["aa",["ab"],function(){return[this.$1]}],["aa",["aa","r","ab"],function(){this.$1.push(this.$3)}],["ab",["ac"]],["ab",["ab","ad","ac"],function(){this.$1.nextCombinator=this.$3.prevCombinator=this.$2;var order;return order=this.$1.order=this.$1.order||0,this.$3.order=order+1,this.$3.prev=this.$1,this.$1.next=this.$3,this.$3}],["ad",["t"]],["ad",["u"]],["ad",["v"]],["ad",["x"],function(){return" "}],["ae",["n"],function(){return{t:"tag",value:this.$1}}],["ae",["w"],function(){return{t:"tag",value:this.$1}}],["af",["p"],function(){return{t:"id",value:this.$1}}],["ag",["q"],function(){return{t:"cls",value:this.$1}}],["ah",["f"]],["ah",["g"]],["ah",["h"]],["ah",["i"]],["ah",["d"]],["ah",["e"]],["ai",["b","n","c"],function(){return{t:"attrib",value:{ident:this.$2}}}],["aj",["n"]],["aj",["o"]],["ai",["b","n","ah","aj","c"],function(){return{t:"attrib",value:{ident:this.$2,match:this.$3,value:this.$4}}}],["ak",["s","j","k","l"],function(){return{t:"pseudo",value:{fn:this.$2.toLowerCase(),param:this.$3}}}],["ak",["s","n"],function(){return{t:"pseudo",value:{ident:this.$2.toLowerCase()}}}],["al",["m","am","l"],function(){return{t:"pseudo",value:{fn:"not",param:this.$2}}}],["am",["ae"]],["am",["af"]],["am",["ag"]],["am",["ai"]],["am",["ak"]],["an",["af"]],["an",["ag"]],["an",["ai"]],["an",["ak"]],["an",["al"]],["ao",["an"],function(){return[this.$1]}],["ao",["ao","an"],function(){this.$1.push(this.$2)}],["ac",["ae"]],["ac",["ao"],function(){return{suffix:this.$1}}],["ac",["ae","ao"],function(){return{t:"tag",value:this.$1.value,suffix:this.$2}}]],parser.table={gotos:{0:{aa:8,ab:9,ae:10,af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:17,ac:18},2:{ae:20,af:21,ag:22,ai:23,ak:24,am:25},9:{ad:33},10:{af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:34},17:{af:11,ag:12,ai:13,ak:14,al:15,an:35},19:{ah:43},28:{ab:46,ae:10,af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:17,ac:18},33:{ae:10,af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:17,ac:47},34:{af:11,ag:12,ai:13,ak:14,al:15,an:35},43:{aj:50},46:{ad:33}},action:{0:{b:[1,undefined,1],m:[1,undefined,2],n:[1,undefined,3],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6],w:[1,undefined,7]},1:{n:[1,undefined,19]},2:{b:[1,undefined,1],n:[1,undefined,3],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6],w:[1,undefined,7]},3:{a:[2,9],r:[2,9],t:[2,9],u:[2,9],v:[2,9],x:[2,9],p:[2,9],q:[2,9],b:[2,9],s:[2,9],m:[2,9],l:[2,9]},4:{a:[2,11],r:[2,11],t:[2,11],u:[2,11],v:[2,11],x:[2,11],p:[2,11],q:[2,11],b:[2,11],s:[2,11],m:[2,11],l:[2,11]},5:{a:[2,12],r:[2,12],t:[2,12],u:[2,12],v:[2,12],x:[2,12],p:[2,12],q:[2,12],b:[2,12],s:[2,12],m:[2,12],l:[2,12]},6:{j:[1,undefined,26],n:[1,undefined,27]},7:{a:[2,10],r:[2,10],t:[2,10],u:[2,10],v:[2,10],x:[2,10],p:[2,10],q:[2,10],b:[2,10],s:[2,10],m:[2,10],l:[2,10]},8:{a:[0],r:[1,undefined,28]},9:{a:[2,1],r:[2,1],t:[1,undefined,29],u:[1,undefined,30],v:[1,undefined,31],x:[1,undefined,32]},10:{a:[2,38],r:[2,38],t:[2,38],u:[2,38],v:[2,38],x:[2,38],b:[1,undefined,1],m:[1,undefined,2],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6]},11:{a:[2,31],r:[2,31],t:[2,31],u:[2,31],v:[2,31],x:[2,31],p:[2,31],q:[2,31],b:[2,31],s:[2,31],m:[2,31]},12:{a:[2,32],r:[2,32],t:[2,32],u:[2,32],v:[2,32],x:[2,32],p:[2,32],q:[2,32],b:[2,32],s:[2,32],m:[2,32]},13:{a:[2,33],r:[2,33],t:[2,33],u:[2,33],v:[2,33],x:[2,33],p:[2,33],q:[2,33],b:[2,33],s:[2,33],m:[2,33]},14:{a:[2,34],r:[2,34],t:[2,34],u:[2,34],v:[2,34],x:[2,34],p:[2,34],q:[2,34],b:[2,34],s:[2,34],m:[2,34]},15:{a:[2,35],r:[2,35],t:[2,35],u:[2,35],v:[2,35],x:[2,35],p:[2,35],q:[2,35],b:[2,35],s:[2,35],m:[2,35]},16:{a:[2,36],r:[2,36],t:[2,36],u:[2,36],v:[2,36],x:[2,36],p:[2,36],q:[2,36],b:[2,36],s:[2,36],m:[2,36]},17:{a:[2,39],r:[2,39],t:[2,39],u:[2,39],v:[2,39],x:[2,39],b:[1,undefined,1],m:[1,undefined,2],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6]},18:{a:[2,3],r:[2,3],t:[2,3],u:[2,3],v:[2,3],x:[2,3]},19:{c:[1,undefined,36],d:[1,undefined,37],e:[1,undefined,38],f:[1,undefined,39],g:[1,undefined,40],h:[1,undefined,41],i:[1,undefined,42]},20:{l:[2,26]},21:{l:[2,27]},22:{l:[2,28]},23:{l:[2,29]},24:{l:[2,30]},25:{l:[1,undefined,44]},26:{k:[1,undefined,45]},27:{a:[2,24],r:[2,24],t:[2,24],u:[2,24],v:[2,24],x:[2,24],p:[2,24],q:[2,24],b:[2,24],s:[2,24],m:[2,24],l:[2,24]},28:{b:[1,undefined,1],m:[1,undefined,2],n:[1,undefined,3],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6],w:[1,undefined,7]},29:{n:[2,5],w:[2,5],p:[2,5],q:[2,5],b:[2,5],s:[2,5],m:[2,5]},30:{n:[2,6],w:[2,6],p:[2,6],q:[2,6],b:[2,6],s:[2,6],m:[2,6]},31:{n:[2,7],w:[2,7],p:[2,7],q:[2,7],b:[2,7],s:[2,7],m:[2,7]},32:{n:[2,8],w:[2,8],p:[2,8],q:[2,8],b:[2,8],s:[2,8],m:[2,8]},33:{b:[1,undefined,1],m:[1,undefined,2],n:[1,undefined,3],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6],w:[1,undefined,7]},34:{a:[2,40],r:[2,40],t:[2,40],u:[2,40],v:[2,40],x:[2,40],b:[1,undefined,1],m:[1,undefined,2],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6]},35:{a:[2,37],r:[2,37],t:[2,37],u:[2,37],v:[2,37],x:[2,37],p:[2,37],q:[2,37],b:[2,37],s:[2,37],m:[2,37]},36:{a:[2,19],r:[2,19],t:[2,19],u:[2,19],v:[2,19],x:[2,19],p:[2,19],q:[2,19],b:[2,19],s:[2,19],m:[2,19],l:[2,19]},37:{n:[2,17],o:[2,17]},38:{n:[2,18],o:[2,18]},39:{n:[2,13],o:[2,13]},40:{n:[2,14],o:[2,14]},41:{n:[2,15],o:[2,15]},42:{n:[2,16],o:[2,16]},43:{n:[1,undefined,48],o:[1,undefined,49]},44:{a:[2,25],r:[2,25],t:[2,25],u:[2,25],v:[2,25],x:[2,25],p:[2,25],q:[2,25],b:[2,25],s:[2,25],m:[2,25]},45:{l:[1,undefined,51]},46:{a:[2,2],r:[2,2],t:[1,undefined,29],u:[1,undefined,30],v:[1,undefined,31],x:[1,undefined,32]},47:{a:[2,4],r:[2,4],t:[2,4],u:[2,4],v:[2,4],x:[2,4]},48:{c:[2,20]},49:{c:[2,21]},50:{c:[1,undefined,52]},51:{a:[2,23],r:[2,23],t:[2,23],u:[2,23],v:[2,23],x:[2,23],p:[2,23],q:[2,23],b:[2,23],s:[2,23],m:[2,23],l:[2,23]},52:{a:[2,22],r:[2,22],t:[2,22],u:[2,22],v:[2,22],x:[2,22],p:[2,22],q:[2,22],b:[2,22],s:[2,22],m:[2,22],l:[2,22]}}},parser.parse=function(input,filename){var state,symbol,action,self=this,lexer=self.lexer,table=self.table,gotos=table.gotos,tableAction=table.action,productions=self.productions,valueStack=[null],prefix=filename?"in file: "+filename+" ":"",stack=[0];for(lexer.resetInput(input);;){if(state=stack[stack.length-1],symbol||(symbol=lexer.lex()),action=symbol?tableAction[state]&&tableAction[state][symbol]:null,!action){var error,expected=[];if(tableAction[state])for(var symbolForState in tableAction[state])expected.push(self.lexer.mapReverseSymbol(symbolForState));throw error=prefix+"syntax error at line "+lexer.lineNumber+":\n"+lexer.showDebugInfo()+"\nexpect "+expected.join(", "),new Error(error)}switch(action[GrammarConst.TYPE_INDEX]){case GrammarConst.SHIFT_TYPE:stack.push(symbol),valueStack.push(lexer.text),stack.push(action[GrammarConst.TO_INDEX]),symbol=null;break;case GrammarConst.REDUCE_TYPE:var ret,production=productions[action[GrammarConst.PRODUCTION_INDEX]],reducedSymbol=production.symbol||production[0],reducedAction=production.action||production[2],reducedRhs=production.rhs||production[1],len=reducedRhs.length,i=0,$$=valueStack[valueStack.length-len];for(ret=undefined,self.$$=$$;len>i;i++)self["$"+(len-i)]=valueStack[valueStack.length-1-i];reducedAction&&(ret=reducedAction.call(self)),$$=ret!==undefined?ret:self.$$,stack=stack.slice(0,-1*len*2),valueStack=valueStack.slice(0,-1*len),stack.push(reducedSymbol),valueStack.push($$);var newState=gotos[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case GrammarConst.ACCEPT_TYPE:return $$}}},parser}();module.exports=parser},function(module,exports){function upperCaseFirstMatch(match,c,offset){return 0!==offset?c.toUpperCase():c}function camelCase(str){var camelCased=str.replace(hyphenExpression,upperCaseFirstMatch);return hyphenExpression.lastIndex=0,camelCased}var hyphenExpression=/\-+([a-z])/gi;module.exports=camelCase},function(module,exports){function isString(value){return"string"==typeof value}module.exports=isString},function(module,exports){function isUndefined(value){return"undefined"==typeof value}module.exports=isUndefined},function(module,exports){function assign(dest){for(var source,args=arguments,i=1;i<args.length;i++){source=args[i];for(var key in source)dest[key]=source[key]}return dest}module.exports=assign},function(module,exports){function mapValues(source,fn){var destination={};for(var key in source)source.hasOwnProperty(key)&&(destination[key]=fn(source[key]));return destination}module.exports=mapValues},function(module,exports,__webpack_require__){function styleCamelCase(name){var camel=camelCase(name);return camel.charAt(0).toUpperCase()===name.charAt(0)?name.charAt(0)+camel.slice(1):"-"===name.charAt(0)?0===camel.indexOf("ms")?camel:camel.charAt(0).toUpperCase()+camel.slice(1):camel}var camelCase=__webpack_require__(28);module.exports=styleCamelCase},function(module,exports){var Window={getComputedStyle:function(node){return{getPropertyValue:node.style.getProperty}}};module.exports=Window},function(module,exports,__webpack_require__){var Element=__webpack_require__(22),mapValues=__webpack_require__(32),mixin={componentWillMount:function(){this.connectedFauxDOM={},this.animateFauxDOMUntil=0},connectFauxDOM:function(node,name){return this.connectedFauxDOM[name]="string"!=typeof node?node:new Element(node),setTimeout(this.drawFauxDOM),this.connectedFauxDOM[name]},drawFauxDOM:function(){var virtualDOM=mapValues(this.connectedFauxDOM,function(n){return n.toReact()});this.setState(virtualDOM)}};module.exports=mixin},function(module,exports){var anim={animateFauxDOM:function(duration){this.animateFauxDOMUntil=Math.max(Date.now()+duration,this.animateFauxDOMUntil),this.fauxDOMAnimationInterval||(this.fauxDOMAnimationInterval=setInterval(function(){Date.now()<this.animateFauxDOMUntil?this.drawFauxDOM():this.stopAnimatingFauxDOM()}.bind(this),16))},stopAnimatingFauxDOM:function(){this.fauxDOMAnimationInterval=clearInterval(this.fauxDOMAnimationInterval),this.animateFauxDOMUntil=0},isAnimatingFauxDOM:function(){return!!this.fauxDOMAnimationInterval},componentWillUnmount:function(){this.stopAnimatingFauxDOM()}};module.exports=anim},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_d3Axis=(_interopRequireDefault(_react),__webpack_require__(38)),_d3Axis2=_interopRequireDefault(_d3Axis),_d3Selection=__webpack_require__(20),_d3Selection2=_interopRequireDefault(_d3Selection),_reactFauxDom=__webpack_require__(21),_reactFauxDom2=_interopRequireDefault(_reactFauxDom),_scale=__webpack_require__(8),Axis=function(_Component){function Axis(props){return _classCallCheck(this,Axis),_possibleConstructorReturn(this,Object.getPrototypeOf(Axis).call(this,props))}return _inherits(Axis,_Component),_createClass(Axis,[{key:"_mkTickAxis",value:function(){var _props=this.props,tickOrient=(_props.type,_props.tickOrient),tickFormat=_props.tickFormat,tickPadding=_props.tickPadding,tickSizeInner=_props.tickSizeInner,tickSizeOuter=_props.tickSizeOuter,ticks=_props.ticks,tickValues=_props.tickValues,func=_d3Axis2["default"];return"left"===tickOrient?func=func.axisLeft(this._mkScale(this.props)):"right"===tickOrient?func=func.axisRight(this._mkScale(this.props)):"top"===tickOrient?func=func.axisTop(this._mkScale(this.props)):"bottom"===tickOrient&&(func=func.axisBottom(this._mkScale(this.props))),tickFormat&&func.tickFormat(tickFormat),tickPadding&&func.tickPadding(tickPadding),tickSizeOuter&&func.tickSizeOuter(tickSizeOuter),tickSizeInner&&func.tickSizeInner(tickSizeInner),tickValues&&func.tickValues(tickValues),ticks&&func.ticks.apply(null,ticks),func}},{key:"_mkScale",value:function(){var newScale;newScale="ordinal"===this.props.scale?"band":this.props.scale;var func=(0,_scale.scale)(Object.assign({},this.props,{scale:newScale}));return func}},{key:"render",value:function(){var _props2=this.props,showAxis=_props2.showAxis,gridAxisClassName=_props2.gridAxisClassName,axisClassName=_props2.axisClassName,type=_props2.type,style=_props2.style,axisStyling=_props2.axisStyling,gridStyleClassName=_props2.gridStyleClassName,axisGroup=_reactFauxDom2["default"].createElement("g");if("x"===type)var axisClasses=axisClassName+" axis x";else if("y"===type)var axisClasses=axisClassName+" axis y";else if("gridx"===type||"gridy"===type)var axisClasses=gridAxisClassName+" grid-axis";axisGroup.setAttribute("class",axisClasses);var axisDom=_d3Selection2["default"].select(axisGroup);if(axisDom.call(this._mkTickAxis()),showAxis||(axisDom.selectAll(".grid-axis .tick text").style("opacity","0"),"gridx"!==type&&"gridy"!==type||axisDom.selectAll(".grid-axis .domain").style("opacity","0")),axisStyling&&axisStyling.pathClassName){var axisPath=axisDom.selectAll(".axis path");axisPath.attr("class",axisStyling.pathClassName)}else axisDom.selectAll(".axis path").style("fill","none").style("stroke","#000").style("shape-rendering","crispEdges").style("display","none");if(axisStyling&&axisStyling.ticksClassName){var axisLine=axisDom.selectAll(".axis line");axisLine.attr("class",axisStyling.ticksClassName)}else axisDom.selectAll(".axis line").style("fill","none").style("stroke","#000").style("shape-rendering","crispEdges");if(gridStyleClassName){var grids=axisDom.selectAll(".grid-axis line");grids.attr("class",gridStyleClassName)}else axisDom.selectAll(".grid-axis line").style("opacity",.2).style("fill","none").style("stroke","#000").style("stroke-width","1.5px");var axisText=axisDom.selectAll(".axis text");if(style)for(var key in style)axisText.style(key,style[key]);else axisStyling&&axisStyling.textClassName&&axisText.attr("class",axisStyling.textClassName);return axisDom.node().toReact()}}]),Axis}(_react.Component);Axis.defaultProps={range:null,rangeRoundBands:null,domain:null,tickFormat:null,tickOrient:null},Axis.PropTypes={showAxis:_react.PropTypes.bool,type:_react.PropTypes.string,orient:_react.PropTypes.oneOf(["top","bottom","left","right"]),tickOrient:_react.PropTypes.oneOf(["top","bottom","left","right"])},exports["default"]=Axis},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function identity(x){return x}function translateX(scale0,scale1,d){var x=scale0(d);return"translate("+(isFinite(x)?x:scale1(d))+",0)"}function translateY(scale0,scale1,d){var y=scale0(d);return"translate(0,"+(isFinite(y)?y:scale1(d))+")"}function center(scale){var width=scale.bandwidth()/2;return function(d){return scale(d)+width}}function axis(orient,scale){function axis(context){var values=null==tickValues?scale.ticks?scale.ticks.apply(scale,tickArguments):scale.domain():tickValues,format=null==tickFormat?scale.tickFormat?scale.tickFormat.apply(scale,tickArguments):identity:tickFormat,spacing=Math.max(tickSizeInner,0)+tickPadding,transform=orient===top||orient===bottom?translateX:translateY,range=scale.range(),range0=range[0],range1=range[range.length-1],position=(scale.bandwidth?center:identity)(scale.copy()),selection=context.selection?context.selection():context,path=selection.selectAll(".domain").data([null]),tick=selection.selectAll(".tick").data(values,scale).order(),tickExit=tick.exit(),tickEnter=tick.enter().append("g",".domain").attr("class","tick"),line=tick.select("line"),text=tick.select("text");switch(path=path.merge(path.enter().append("path").attr("class","domain")),tick=tick.merge(tickEnter),line=line.merge(tickEnter.append("line")),text=text.merge(tickEnter.append("text")),context!==selection&&(path=path.transition(context),tick=tick.transition(context),tickExit=tickExit.transition(context).style("opacity",epsilon).attr("transform",function(d){return transform(position,this.parentNode.__axis||position,d)}),tickEnter.style("opacity",epsilon).attr("transform",function(d){return transform(this.parentNode.__axis||position,position,d)}),line=line.transition(context),text=text.transition(context)),tick.style("opacity",1).attr("transform",function(d){return transform(position,position,d)}),tickExit.remove(),text.text(format),orient){case top:path.attr("d","M"+range0+","+-tickSizeOuter+"V0H"+range1+"V"+-tickSizeOuter),line.attr("x2",0).attr("y2",-tickSizeInner),text.attr("x",0).attr("y",-spacing).attr("dy","0em").style("text-anchor","middle");break;case right:path.attr("d","M"+tickSizeOuter+","+range0+"H0V"+range1+"H"+tickSizeOuter),line.attr("y2",0).attr("x2",tickSizeInner),text.attr("y",0).attr("x",spacing).attr("dy",".32em").style("text-anchor","start");break;case bottom:path.attr("d","M"+range0+","+tickSizeOuter+"V0H"+range1+"V"+tickSizeOuter),line.attr("x2",0).attr("y2",tickSizeInner),text.attr("x",0).attr("y",spacing).attr("dy",".71em").style("text-anchor","middle");break;case left:path.attr("d","M"+-tickSizeOuter+","+range0+"H0V"+range1+"H"+-tickSizeOuter),line.attr("y2",0).attr("x2",-tickSizeInner),text.attr("y",0).attr("x",-spacing).attr("dy",".32em").style("text-anchor","end")}selection.each(function(){this.__axis=position})}var tickArguments=[],tickValues=null,tickFormat=null,tickSizeInner=6,tickSizeOuter=6,tickPadding=3;return axis.scale=function(_){return arguments.length?(scale=_,axis):scale},axis.ticks=function(){return tickArguments=slice.call(arguments),axis},axis.tickArguments=function(_){return arguments.length?(tickArguments=null==_?[]:slice.call(_),axis):tickArguments.slice()},axis.tickValues=function(_){return arguments.length?(tickValues=null==_?null:slice.call(_),axis):tickValues&&tickValues.slice()},axis.tickFormat=function(_){return arguments.length?(tickFormat=_,axis):tickFormat},axis.tickSize=function(_){return arguments.length?(tickSizeInner=tickSizeOuter=+_,axis):tickSizeInner},axis.tickSizeInner=function(_){return arguments.length?(tickSizeInner=+_,axis):tickSizeInner},axis.tickSizeOuter=function(_){return arguments.length?(tickSizeOuter=+_,axis):tickSizeOuter},axis.tickPadding=function(_){return arguments.length?(tickPadding=+_,axis):tickPadding},axis}function axisTop(scale){return axis(top,scale)}function axisRight(scale){return axis(right,scale)}function axisBottom(scale){return axis(bottom,scale)}function axisLeft(scale){return axis(left,scale)}var version="0.3.1",slice=Array.prototype.slice,top=1,right=2,bottom=3,left=4,epsilon=1e-6;exports.version=version,exports.axisTop=axisTop,exports.axisRight=axisRight,exports.axisBottom=axisBottom,exports.axisLeft=axisLeft})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_axis=__webpack_require__(37),_axis2=_interopRequireDefault(_axis),_label=__webpack_require__(40),_label2=_interopRequireDefault(_label),_commonProps=__webpack_require__(7),_commonProps2=_interopRequireDefault(_commonProps),Xaxis=function(_Component){function Xaxis(props){return _classCallCheck(this,Xaxis),_possibleConstructorReturn(this,Object.getPrototypeOf(Xaxis).call(this,props))}return _inherits(Xaxis,_Component),_createClass(Xaxis,[{key:"render",value:function(){var t,axisLabel,_props=this.props,height=_props.height,width=_props.width,margins=_props.margins,showXAxis=_props.showXAxis,x=_props.x,xAxisClassName=_props.xAxisClassName,xDomain=_props.xDomain,xRange=_props.xRange,xBandPaddingInner=_props.xBandPaddingInner,xBandPaddingOuter=_props.xBandPaddingOuter,xScale=_props.xScale,xOrient=_props.xOrient,xTickOrient=_props.xTickOrient,xTickPadding=_props.xTickPadding,xTickSizeOuter=_props.xTickSizeOuter,xTickSizeInner=_props.xTickSizeInner,xTickFormat=_props.xTickFormat,xTicks=_props.xTicks,xLabel=_props.xLabel,xLabelPosition=_props.xLabelPosition,labelOffset=_props.labelOffset,style=_props.style,xAxisStyling=_props.xAxisStyling,xTickValues=_props.xTickValues; -return xRange||(xRange=[0,width-margins.left-margins.right]),"bottom"===xOrient?t="translate(0, "+(height-margins.bottom-margins.top)+")":"top"===xOrient&&(t="translate(0, 0)"),xLabel&&(axisLabel=_react2["default"].createElement(_label2["default"],{height:height,width:width,margins:margins,labelTitle:xLabel,labelPosition:xLabelPosition,labelOffset:labelOffset,bandPaddingInner:xBandPaddingInner,bandPaddingOuter:xBandPaddingOuter})),_react2["default"].createElement("g",{transform:t},_react2["default"].createElement(_axis2["default"],{height:height,width:width,margins:margins,showAxis:showXAxis,axisClassName:xAxisClassName,bandPaddingInner:xBandPaddingInner,bandPaddingOuter:xBandPaddingOuter,type:"x",proxy:x,domain:xDomain,range:xRange,scale:xScale,orient:xOrient,tickOrient:xTickOrient,tickFormat:xTickFormat,tickPadding:xTickPadding,tickSizeInner:xTickSizeInner,tickSizeOuter:xTickSizeOuter,style:style,ticks:xTicks,axisStyling:xAxisStyling,tickValues:xTickValues}),axisLabel)}}]),Xaxis}(_react.Component);Xaxis.defaultProps=_extends({showXAxis:!0,xAxisClassName:"react-d3-core__axis__xAxis",xScale:"linear",xOrient:"bottom",xTickOrient:"bottom",xLabelPosition:"bottom",xTickPadding:3,xInnerTickSize:6,xOuterTickSize:6},_commonProps2["default"]),Xaxis.propTypes={height:_react.PropTypes.number.isRequired,width:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,showXAxis:_react.PropTypes.bool,x:_react.PropTypes.func,xDomain:_react.PropTypes.array,xRange:_react.PropTypes.array,xScale:_react.PropTypes.string.isRequired,xOrient:_react.PropTypes.oneOf(["top","bottom"]),xTickOrient:_react.PropTypes.oneOf(["top","bottom"]),xAxisClassName:_react.PropTypes.string,xTickSizeInner:_react.PropTypes.number,xTickSizeOuter:_react.PropTypes.number,xBandPaddingInner:_react.PropTypes.number,xBandPaddingOuter:_react.PropTypes.number,xTickPadding:_react.PropTypes.number,xTickFormat:_react.PropTypes.func,xTicks:_react.PropTypes.array,style:_react.PropTypes.object,xAxisStyling:_react.PropTypes.object,xTickValues:_react.PropTypes.array},exports["default"]=Xaxis},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_d3Selection=(_interopRequireDefault(_react),__webpack_require__(20)),_d3Selection2=_interopRequireDefault(_d3Selection),_reactFauxDom=__webpack_require__(21),_reactFauxDom2=_interopRequireDefault(_reactFauxDom),_commonProps=__webpack_require__(7),_commonProps2=_interopRequireDefault(_commonProps),Label=function(_Component){function Label(props){return _classCallCheck(this,Label),_possibleConstructorReturn(this,Object.getPrototypeOf(Label).call(this,props))}return _inherits(Label,_Component),_createClass(Label,[{key:"_mkLabel",value:function(dom){var _props=this.props,height=_props.height,width=_props.width,margins=_props.margins,labelOffset=_props.labelOffset,labelTitle=_props.labelTitle,labelPosition=_props.labelPosition,vTransform=_props.vTransform,hTransform=_props.hTransform,textAnchor=_props.textAnchor,labelDom=_d3Selection2["default"].select(dom),fixWidth=width-margins.left-margins.right,fixHeight=height-margins.top-margins.bottom;return"top"===labelPosition?labelDom.attr("transform",hTransform).attr("y",-labelOffset).attr("x",fixWidth/2).style("text-anchor",textAnchor).text(labelTitle):"bottom"===labelPosition?labelDom.attr("transform",hTransform).attr("y",+labelOffset).attr("x",fixWidth/2).style("text-anchor",textAnchor).text(labelTitle):"left"===labelPosition?labelDom.attr("transform",vTransform).attr("y",-labelOffset).attr("x",-fixHeight/2).style("text-anchor",textAnchor).text(labelTitle):"right"===labelPosition&&labelDom.attr("transform",vTransform).attr("y",+labelOffset).attr("x",-fixHeight/2).style("text-anchor",textAnchor).text(labelTitle),labelDom}},{key:"render",value:function(){var labelClassName=this.props.labelClassName,labelText=_reactFauxDom2["default"].createElement("text"),labelClasses=labelClassName+" label";labelText.setAttribute("class",labelClasses);var labelDom=this._mkLabel(labelText);return labelDom.node().toReact()}}]),Label}(_react.Component);Label.defaultProps=_extends({hTransform:"rotate(0)",vTransform:"rotate(270)",labelTitle:"label title",labelPosition:"bottom",labelOffset:40,textAnchor:"middle",labelClassName:"react-d3-core__label"},_commonProps2["default"]),Label.propTypes={height:_react.PropTypes.number.isRequired,width:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,hTransform:_react.PropTypes.string,vTransform:_react.PropTypes.string,labelTitle:_react.PropTypes.string,labelPosition:_react.PropTypes.oneOf(["top","bottom","left","right"]),labelOffset:_react.PropTypes.number,textAnchor:_react.PropTypes.string,labelClassName:_react.PropTypes.string},exports["default"]=Label},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_axis=__webpack_require__(37),_axis2=_interopRequireDefault(_axis),_label=__webpack_require__(40),_label2=_interopRequireDefault(_label),_commonProps=__webpack_require__(7),_commonProps2=_interopRequireDefault(_commonProps),Yaxis=function(_Component){function Yaxis(props){return _classCallCheck(this,Yaxis),_possibleConstructorReturn(this,Object.getPrototypeOf(Yaxis).call(this,props))}return _inherits(Yaxis,_Component),_createClass(Yaxis,[{key:"render",value:function(){var t,axisLabel,_props=this.props,width=_props.width,height=_props.height,margins=_props.margins,y=_props.y,yAxisClassName=_props.yAxisClassName,yDomain=_props.yDomain,yRange=_props.yRange,yBandPaddingInner=_props.yBandPaddingInner,yBandPaddingOuter=_props.yBandPaddingOuter,yScale=_props.yScale,yOrient=_props.yOrient,yTickOrient=_props.yTickOrient,yTickFormat=_props.yTickFormat,yTickPadding=_props.yTickPadding,yTickSizeOuter=_props.yTickSizeOuter,yTickSizeInner=_props.yTickSizeInner,yTicks=_props.yTicks,yLabel=_props.yLabel,yLabelPosition=_props.yLabelPosition,labelOffset=_props.labelOffset,showYAxis=_props.showYAxis,style=_props.style,yAxisStyling=_props.yAxisStyling,yTickValues=_props.yTickValues;return yRange||(yRange=[height-margins.top-margins.bottom,0]),"right"===yOrient?t="translate("+(width-margins.right-margins.left)+", 0)":"left"===yOrient&&(t="translate(0, 0)"),yLabel&&(axisLabel=_react2["default"].createElement(_label2["default"],{height:height,width:width,margins:margins,labelTitle:yLabel,labelPosition:yLabelPosition,labelOffset:labelOffset,bandPaddingInner:yBandPaddingInner,bandPaddingOuter:yBandPaddingOuter})),_react2["default"].createElement("g",{transform:t},_react2["default"].createElement(_axis2["default"],{height:height,width:width,margins:margins,showAxis:showYAxis,axisClassName:yAxisClassName,bandPaddingInner:yBandPaddingInner,bandPaddingOuter:yBandPaddingOuter,type:"y",proxy:y,domain:yDomain,range:yRange,scale:yScale,orient:yOrient,tickOrient:yTickOrient,tickFormat:yTickFormat,tickPadding:yTickPadding,tickSizeInner:yTickSizeInner,tickSizeOuter:yTickSizeOuter,ticks:yTicks,style:style,axisStyling:yAxisStyling,tickValues:yTickValues}),axisLabel)}}]),Yaxis}(_react.Component);Yaxis.defaultProps=_extends({showYAxis:!0,yAxisClassName:"react-d3-core__axis__yAxis",yScale:"linear",yOrient:"left",yTickOrient:"left",yLabelPosition:"left",yTickPadding:3,yInnerTickSize:6,yOuterTickSize:6},_commonProps2["default"]),Yaxis.propTypes={height:_react.PropTypes.number.isRequired,width:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,showYAxis:_react.PropTypes.bool,y:_react.PropTypes.func,yDomain:_react.PropTypes.array,yRange:_react.PropTypes.array,yScale:_react.PropTypes.string.isRequired,yOrient:_react.PropTypes.oneOf(["left","right"]),yTickOrient:_react.PropTypes.oneOf(["left","right"]),yAxisClassName:_react.PropTypes.string,yTickSizeInner:_react.PropTypes.number,yTickSizeOuter:_react.PropTypes.number,yBandPaddingInner:_react.PropTypes.number,yBandPaddingOuter:_react.PropTypes.number,yTickPadding:_react.PropTypes.number,yTickFormat:_react.PropTypes.func,yTicks:_react.PropTypes.array,style:_react.PropTypes.object,yAxisStyling:_react.PropTypes.object,yTickValues:_react.PropTypes.array},exports["default"]=Yaxis},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_axis=__webpack_require__(37),_axis2=_interopRequireDefault(_axis),_commonProps=__webpack_require__(7),_commonProps2=_interopRequireDefault(_commonProps),Grid=function(_Component){function Grid(props){return _classCallCheck(this,Grid),_possibleConstructorReturn(this,Object.getPrototypeOf(Grid).call(this,props))}return _inherits(Grid,_Component),_createClass(Grid,[{key:"render",value:function(){var gridAxis,t,_props=this.props,height=_props.height,width=_props.width,margins=_props.margins,type=_props.type,gridAxisClassName=_props.gridAxisClassName,xBandPaddingInner=_props.xBandPaddingInner,xBandPaddingOuter=_props.xBandPaddingOuter,x=_props.x,xDomain=_props.xDomain,xRange=_props.xRange,xScale=_props.xScale,xGridCount=_props.xGridCount,xGridStyleClassName=_props.xGridStyleClassName,yBandPaddingInner=_props.yBandPaddingInner,yBandPaddingOuter=_props.yBandPaddingOuter,y=_props.y,yDomain=_props.yDomain,yRange=_props.yRange,yScale=_props.yScale,yGridCount=_props.yGridCount,yGridStyleClassName=_props.yGridStyleClassName,xTickValues=_props.xTickValues,yTickValues=_props.yTickValues;if(yRange||(yRange=[height-margins.top-margins.bottom,0]),xRange||(xRange=[0,width-margins.left-margins.right]),"x"===type){t="translate(0, "+(height-margins.bottom-margins.top)+")";var tickSize=height-margins.top-margins.bottom;gridAxis=_react2["default"].createElement(_axis2["default"],{height:height,width:width,margins:margins,type:"gridx",showAxis:!1,gridAxisClassName:gridAxisClassName,bandPaddingInner:xBandPaddingInner,bandPaddingOuter:xBandPaddingOuter,tickOrient:"bottom",orient:"bottom",tickSizeOuter:0,tickPadding:10,tickFormat:null,tickSizeInner:-tickSize,proxy:x,domain:xDomain,range:xRange,scale:xScale,ticks:xGridCount,gridStyleClassName:xGridStyleClassName,tickValues:xTickValues})}else if("y"===type){t="translate(0, 0)";var tickSize=width-margins.left-margins.right;gridAxis=_react2["default"].createElement(_axis2["default"],{height:height,width:width,margins:margins,type:"gridy",showAxis:!1,gridAxisClassName:gridAxisClassName,bandPaddingInner:yBandPaddingInner,bandPaddingOuter:yBandPaddingOuter,tickOrient:"left",orient:"left",tickSizeOuter:0,tickPadding:10,tickSizeInner:-tickSize,tickFormat:null,proxy:y,scale:yScale,domain:yDomain,range:yRange,ticks:yGridCount,gridStyleClassName:yGridStyleClassName,tickValues:yTickValues})}return _react2["default"].createElement("g",{transform:t},gridAxis)}}]),Grid}(_react.Component);Grid.defaultProps=_extends({type:"x",gridAxisClassName:"react-d3-core__grid_axis"},_commonProps2["default"]),Grid.propTypes={height:_react.PropTypes.number.isRequired,width:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,type:_react.PropTypes.oneOf(["x","y"]).isRequired,gridAxisClassName:_react.PropTypes.string,x:_react.PropTypes.func,xDomain:_react.PropTypes.array,xRange:_react.PropTypes.array,xScale:_react.PropTypes.oneOf(["linear","identity","sqrt","pow","log","quantize","quantile","ordinal","time"]).isRequired,xBandPaddingInner:_react.PropTypes.number,xBandPaddingOuter:_react.PropTypes.number,y:_react.PropTypes.func,yDomain:_react.PropTypes.array,yRange:_react.PropTypes.array,yScale:_react.PropTypes.oneOf(["linear","identity","sqrt","pow","log","quantize","quantile","ordinal","time"]).isRequired,yBandPaddingInner:_react.PropTypes.number,yBandPaddingOuter:_react.PropTypes.number,xGridCount:_react.PropTypes.array,yGridCount:_react.PropTypes.array,xGridStyleClassName:_react.PropTypes.string,yGridStyleClassName:_react.PropTypes.string,xTickValues:_react.PropTypes.array},exports["default"]=Grid},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_grid=__webpack_require__(42),_grid2=_interopRequireDefault(_grid),XGrid=function(_Component){function XGrid(props){return _classCallCheck(this,XGrid),_possibleConstructorReturn(this,Object.getPrototypeOf(XGrid).call(this,props))}return _inherits(XGrid,_Component),_createClass(XGrid,[{key:"render",value:function(){return _react2["default"].createElement(_grid2["default"],_extends({},this.props,{type:"x"}))}}]),XGrid}(_react.Component);exports["default"]=XGrid},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_grid=__webpack_require__(42),_grid2=_interopRequireDefault(_grid),YGrid=function(_Component){function YGrid(props){return _classCallCheck(this,YGrid),_possibleConstructorReturn(this,Object.getPrototypeOf(YGrid).call(this,props))}return _inherits(YGrid,_Component),_createClass(YGrid,[{key:"render",value:function(){return _react2["default"].createElement(_grid2["default"],_extends({},this.props,{type:"y"}))}}]),YGrid}(_react.Component);exports["default"]=YGrid},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function xDomain(props,stack,horizonal){var data=props.data,chartSeries=props.chartSeries,x=props.x,xScale=props.xScale,xDomain=props.xDomain;if(xDomain)return xDomain;if(horizonal){if(stack){var max=0,min=0;return data.forEach(function(d){var totalTop=0,totalBottom=0;chartSeries.forEach(function(sd){var field=sd.field;d[field]>0?totalTop+=x(d[field]):d[field]<0&&(totalBottom+=x(d[field]))}),totalTop>max&&(max=totalTop),min>totalBottom&&(min=totalBottom)}),[min,max]}var domainArr=chartSeries.map(function(d){var field=d.field,extent=_d3Array2["default"].extent(data,function(dt){return x(dt[field])});return extent});return _d3Array2["default"].extent([].concat.apply([],domainArr))}return"ordinal"===xScale?data.map(function(d){return x(d)}):_d3Array2["default"].extent(data,function(d){return x(d)})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.xDomain=xDomain;var _d3Array=__webpack_require__(10),_d3Array2=_interopRequireDefault(_d3Array)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function yDomain(props,stack,horizonal){var data=props.data,chartSeries=props.chartSeries,y=props.y,yDomain=props.yDomain,yScale=props.yScale;if(yDomain)return yDomain;if(horizonal)return"ordinal"===yScale?data.map(function(d){return y(d)}):_d3Array2["default"].extent(data,function(d){return y(d)});if(stack){var max=0,min=0;return data.forEach(function(d){var totalTop=0,totalBottom=0;chartSeries.forEach(function(sd){var field=sd.field;d[field]>0?totalTop+=y(d[field]):d[field]<0&&(totalBottom+=y(d[field]))}),totalTop>max&&(max=totalTop),min>totalBottom&&(min=totalBottom)}),[min,max]}var domainArr=chartSeries.map(function(d){var field=d.field,extent=_d3Array2["default"].extent(data,function(dt){return y(dt[field])});return extent}),extentArr=_d3Array2["default"].extent([].concat.apply([],domainArr));return extentArr[0]*extentArr[1]>=0?[0,extentArr[1]]:extentArr}Object.defineProperty(exports,"__esModule",{value:!0}),exports.yDomain=yDomain;var _d3Array=__webpack_require__(10),_d3Array2=_interopRequireDefault(_d3Array)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.pieProps=void 0;var _d3Scale=__webpack_require__(48),_d3Scale2=_interopRequireDefault(_d3Scale),width=960,height=500,margins={top:80,right:100,bottom:80,left:100};exports["default"]={width:width,height:height,margins:margins,y:function(d){return+d},xScale:"linear",yScale:"linear",showXGrid:!0,showYGrid:!0,showLegend:!0};exports.pieProps={width:width,height:height,margins:margins,innerRadius:0,categoricalColors:_d3Scale2["default"].scaleCategory10(),pieSort:function(){},pieTextShow:!0}},function(module,exports,__webpack_require__){!function(global,factory){factory(exports,__webpack_require__(49),__webpack_require__(50),__webpack_require__(51),__webpack_require__(53),__webpack_require__(54),__webpack_require__(55),__webpack_require__(52))}(this,function(exports,d3Array,d3Collection,d3Interpolate,d3Format,d3Time,d3TimeFormat,d3Color){"use strict";function ordinal(){function scale(d){var key=d+"",i=index.get(key);if(!i){if(unknown!==implicit)return unknown;index.set(key,i=domain.push(d))}return range[(i-1)%range.length]}var index=d3Collection.map(),domain=[],range=[],unknown=implicit;return scale.domain=function(_){if(!arguments.length)return domain.slice();domain=[],index=d3Collection.map();for(var d,key,i=-1,n=_.length;++i<n;)index.has(key=(d=_[i])+"")||index.set(key,domain.push(d));return scale},scale.range=function(_){return arguments.length?(range=slice.call(_),scale):range.slice()},scale.unknown=function(_){return arguments.length?(unknown=_,scale):unknown},scale.copy=function(){return ordinal().domain(domain).range(range).unknown(unknown)},scale}function band(){function rescale(){var n=domain().length,reverse=range[1]<range[0],start=range[reverse-0],stop=range[1-reverse];step=(stop-start)/Math.max(1,n-paddingInner+2*paddingOuter),round&&(step=Math.floor(step)),start+=(stop-start-step*(n-paddingInner))*align,bandwidth=step*(1-paddingInner),round&&(start=Math.round(start),bandwidth=Math.round(bandwidth));var values=d3Array.range(n).map(function(i){return start+step*i});return ordinalRange(reverse?values.reverse():values)}var step,bandwidth,scale=ordinal().unknown(void 0),domain=scale.domain,ordinalRange=scale.range,range=[0,1],round=!1,paddingInner=0,paddingOuter=0,align=.5;return delete scale.unknown,scale.domain=function(_){return arguments.length?(domain(_),rescale()):domain()},scale.range=function(_){return arguments.length?(range=[+_[0],+_[1]],rescale()):range.slice()},scale.rangeRound=function(_){return range=[+_[0],+_[1]],round=!0,rescale()},scale.bandwidth=function(){return bandwidth},scale.step=function(){return step},scale.round=function(_){return arguments.length?(round=!!_,rescale()):round},scale.padding=function(_){return arguments.length?(paddingInner=paddingOuter=Math.max(0,Math.min(1,_)),rescale()):paddingInner},scale.paddingInner=function(_){return arguments.length?(paddingInner=Math.max(0,Math.min(1,_)),rescale()):paddingInner},scale.paddingOuter=function(_){return arguments.length?(paddingOuter=Math.max(0,Math.min(1,_)),rescale()):paddingOuter},scale.align=function(_){return arguments.length?(align=Math.max(0,Math.min(1,_)),rescale()):align},scale.copy=function(){return band().domain(domain()).range(range).round(round).paddingInner(paddingInner).paddingOuter(paddingOuter).align(align)},rescale()}function pointish(scale){var copy=scale.copy;return scale.padding=scale.paddingOuter,delete scale.paddingInner,delete scale.paddingOuter,scale.copy=function(){return pointish(copy())},scale}function point(){return pointish(band().paddingInner(1))}function constant(x){return function(){return x}}function number(x){return+x}function deinterpolate(a,b){return(b-=a=+a)?function(x){return(x-a)/b}:constant(b)}function deinterpolateClamp(deinterpolate){return function(a,b){var d=deinterpolate(a=+a,b=+b);return function(x){return a>=x?0:x>=b?1:d(x)}}}function reinterpolateClamp(reinterpolate){return function(a,b){var r=reinterpolate(a=+a,b=+b);return function(t){return 0>=t?a:t>=1?b:r(t)}}}function bimap(domain,range,deinterpolate,reinterpolate){var d0=domain[0],d1=domain[1],r0=range[0],r1=range[1];return d0>d1?(d0=deinterpolate(d1,d0),r0=reinterpolate(r1,r0)):(d0=deinterpolate(d0,d1),r0=reinterpolate(r0,r1)),function(x){return r0(d0(x))}}function polymap(domain,range,deinterpolate,reinterpolate){var j=Math.min(domain.length,range.length)-1,d=new Array(j),r=new Array(j),i=-1;for(domain[j]<domain[0]&&(domain=domain.slice().reverse(),range=range.slice().reverse());++i<j;)d[i]=deinterpolate(domain[i],domain[i+1]),r[i]=reinterpolate(range[i],range[i+1]);return function(x){var i=d3Array.bisect(domain,x,1,j)-1;return r[i](d[i](x))}}function copy(source,target){return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp())}function continuous(deinterpolate$$,reinterpolate){function rescale(){var map=Math.min(domain.length,range.length)>2?polymap:bimap;return output=map(domain,range,clamp?deinterpolateClamp(deinterpolate$$):deinterpolate$$,interpolate),input=map(range,domain,deinterpolate,clamp?reinterpolateClamp(reinterpolate):reinterpolate),scale}function scale(x){return output(+x)}var output,input,domain=unit,range=unit,interpolate=d3Interpolate.interpolate,clamp=!1;return scale.invert=function(y){return input(+y)},scale.domain=function(_){return arguments.length?(domain=map$1.call(_,number),rescale()):domain.slice()},scale.range=function(_){return arguments.length?(range=slice.call(_),rescale()):range.slice()},scale.rangeRound=function(_){return range=slice.call(_),interpolate=d3Interpolate.interpolateRound,rescale()},scale.clamp=function(_){return arguments.length?(clamp=!!_,rescale()):clamp},scale.interpolate=function(_){return arguments.length?(interpolate=_,rescale()):interpolate},rescale()}function tickFormat(domain,count,specifier){var precision,start=domain[0],stop=domain[domain.length-1],step=d3Array.tickStep(start,stop,null==count?10:count);switch(specifier=d3Format.formatSpecifier(null==specifier?",f":specifier),specifier.type){case"s":var value=Math.max(Math.abs(start),Math.abs(stop));return null!=specifier.precision||isNaN(precision=d3Format.precisionPrefix(step,value))||(specifier.precision=precision),d3Format.formatPrefix(specifier,value);case"":case"e":case"g":case"p":case"r":null!=specifier.precision||isNaN(precision=d3Format.precisionRound(step,Math.max(Math.abs(start),Math.abs(stop))))||(specifier.precision=precision-("e"===specifier.type));break;case"f":case"%":null!=specifier.precision||isNaN(precision=d3Format.precisionFixed(step))||(specifier.precision=precision-2*("%"===specifier.type))}return d3Format.format(specifier)}function linearish(scale){var domain=scale.domain;return scale.ticks=function(count){var d=domain();return d3Array.ticks(d[0],d[d.length-1],null==count?10:count)},scale.tickFormat=function(count,specifier){ -return tickFormat(domain(),count,specifier)},scale.nice=function(count){var d=domain(),i=d.length-1,n=null==count?10:count,start=d[0],stop=d[i],step=d3Array.tickStep(start,stop,n);return step&&(step=d3Array.tickStep(Math.floor(start/step)*step,Math.ceil(stop/step)*step,n),d[0]=Math.floor(start/step)*step,d[i]=Math.ceil(stop/step)*step,domain(d)),scale},scale}function linear(){var scale=continuous(deinterpolate,d3Interpolate.interpolateNumber);return scale.copy=function(){return copy(scale,linear())},linearish(scale)}function identity(){function scale(x){return+x}var domain=[0,1];return scale.invert=scale,scale.domain=scale.range=function(_){return arguments.length?(domain=map$1.call(_,number),scale):domain.slice()},scale.copy=function(){return identity().domain(domain)},linearish(scale)}function nice(domain,interval){domain=domain.slice();var t,i0=0,i1=domain.length-1,x0=domain[i0],x1=domain[i1];return x0>x1&&(t=i0,i0=i1,i1=t,t=x0,x0=x1,x1=t),domain[i0]=interval.floor(x0),domain[i1]=interval.ceil(x1),domain}function deinterpolate$1(a,b){return(b=Math.log(b/a))?function(x){return Math.log(x/a)/b}:constant(b)}function reinterpolate(a,b){return 0>a?function(t){return-Math.pow(-b,t)*Math.pow(-a,1-t)}:function(t){return Math.pow(b,t)*Math.pow(a,1-t)}}function pow10(x){return isFinite(x)?+("1e"+x):0>x?0:x}function powp(base){return 10===base?pow10:base===Math.E?Math.exp:function(x){return Math.pow(base,x)}}function logp(base){return base===Math.E?Math.log:10===base&&Math.log10||2===base&&Math.log2||(base=Math.log(base),function(x){return Math.log(x)/base})}function reflect(f){return function(x){return-f(-x)}}function log(){function rescale(){return logs=logp(base),pows=powp(base),domain()[0]<0&&(logs=reflect(logs),pows=reflect(pows)),scale}var scale=continuous(deinterpolate$1,reinterpolate).domain([1,10]),domain=scale.domain,base=10,logs=logp(10),pows=powp(10);return scale.base=function(_){return arguments.length?(base=+_,rescale()):base},scale.domain=function(_){return arguments.length?(domain(_),rescale()):domain()},scale.ticks=function(count){var r,d=domain(),u=d[0],v=d[d.length-1];(r=u>v)&&(i=u,u=v,v=i);var p,k,t,i=logs(u),j=logs(v),n=null==count?10:+count,z=[];if(!(base%1)&&n>j-i){if(i=Math.round(i)-1,j=Math.round(j)+1,u>0){for(;j>i;++i)for(k=1,p=pows(i);base>k;++k)if(t=p*k,!(u>t)){if(t>v)break;z.push(t)}}else for(;j>i;++i)for(k=base-1,p=pows(i);k>=1;--k)if(t=p*k,!(u>t)){if(t>v)break;z.push(t)}r&&z.reverse()}else z=d3Array.ticks(i,j,Math.min(j-i,n)).map(pows);return z},scale.tickFormat=function(count,specifier){if(null==specifier&&(specifier=10===base?".0e":","),"function"!=typeof specifier&&(specifier=d3Format.format(specifier)),count===1/0)return specifier;null==count&&(count=10);var k=Math.max(1,base*count/scale.ticks().length);return function(d){var i=d/pows(Math.round(logs(d)));return base-.5>i*base&&(i*=base),k>=i?specifier(d):""}},scale.nice=function(){return domain(nice(domain(),{floor:function(x){return pows(Math.floor(logs(x)))},ceil:function(x){return pows(Math.ceil(logs(x)))}}))},scale.copy=function(){return copy(scale,log().base(base))},scale}function raise(x,exponent){return 0>x?-Math.pow(-x,exponent):Math.pow(x,exponent)}function pow(){function deinterpolate(a,b){return(b=raise(b,exponent)-(a=raise(a,exponent)))?function(x){return(raise(x,exponent)-a)/b}:constant(b)}function reinterpolate(a,b){return b=raise(b,exponent)-(a=raise(a,exponent)),function(t){return raise(a+b*t,1/exponent)}}var exponent=1,scale=continuous(deinterpolate,reinterpolate),domain=scale.domain;return scale.exponent=function(_){return arguments.length?(exponent=+_,domain(domain())):exponent},scale.copy=function(){return copy(scale,pow().exponent(exponent))},linearish(scale)}function sqrt(){return pow().exponent(.5)}function quantile$1(){function rescale(){var i=0,n=Math.max(1,range.length);for(thresholds=new Array(n-1);++i<n;)thresholds[i-1]=d3Array.quantile(domain,i/n);return scale}function scale(x){return isNaN(x=+x)?void 0:range[d3Array.bisect(thresholds,x)]}var domain=[],range=[],thresholds=[];return scale.invertExtent=function(y){var i=range.indexOf(y);return 0>i?[NaN,NaN]:[i>0?thresholds[i-1]:domain[0],i<thresholds.length?thresholds[i]:domain[domain.length-1]]},scale.domain=function(_){if(!arguments.length)return domain.slice();domain=[];for(var d,i=0,n=_.length;n>i;++i)d=_[i],null==d||isNaN(d=+d)||domain.push(d);return domain.sort(d3Array.ascending),rescale()},scale.range=function(_){return arguments.length?(range=slice.call(_),rescale()):range.slice()},scale.quantiles=function(){return thresholds.slice()},scale.copy=function(){return quantile$1().domain(domain).range(range)},scale}function quantize(){function scale(x){return x>=x?range[d3Array.bisect(domain,x,0,n)]:void 0}function rescale(){var i=-1;for(domain=new Array(n);++i<n;)domain[i]=((i+1)*x1-(i-n)*x0)/(n+1);return scale}var x0=0,x1=1,n=1,domain=[.5],range=[0,1];return scale.domain=function(_){return arguments.length?(x0=+_[0],x1=+_[1],rescale()):[x0,x1]},scale.range=function(_){return arguments.length?(n=(range=slice.call(_)).length-1,rescale()):range.slice()},scale.invertExtent=function(y){var i=range.indexOf(y);return 0>i?[NaN,NaN]:1>i?[x0,domain[0]]:i>=n?[domain[n-1],x1]:[domain[i-1],domain[i]]},scale.copy=function(){return quantize().domain([x0,x1]).range(range)},linearish(scale)}function threshold(){function scale(x){return x>=x?range[d3Array.bisect(domain,x,0,n)]:void 0}var domain=[.5],range=[0,1],n=1;return scale.domain=function(_){return arguments.length?(domain=slice.call(_),n=Math.min(domain.length,range.length-1),scale):domain.slice()},scale.range=function(_){return arguments.length?(range=slice.call(_),n=Math.min(domain.length,range.length-1),scale):range.slice()},scale.invertExtent=function(y){var i=range.indexOf(y);return[domain[i-1],domain[i]]},scale.copy=function(){return threshold().domain(domain).range(range)},scale}function newDate(t){return new Date(t)}function calendar(year,month,week,day,hour,minute,second,millisecond,format){function tickFormat(date){return(second(date)<date?formatMillisecond:minute(date)<date?formatSecond:hour(date)<date?formatMinute:day(date)<date?formatHour:month(date)<date?week(date)<date?formatDay:formatWeek:year(date)<date?formatMonth:formatYear)(date)}function tickInterval(interval,start,stop,step){if(null==interval&&(interval=10),"number"==typeof interval){var target=Math.abs(stop-start)/interval,i=d3Array.bisector(function(i){return i[2]}).right(tickIntervals,target);i===tickIntervals.length?(step=d3Array.tickStep(start/durationYear,stop/durationYear,interval),interval=year):i?(i=tickIntervals[target/tickIntervals[i-1][2]<tickIntervals[i][2]/target?i-1:i],step=i[1],interval=i[0]):(step=d3Array.tickStep(start,stop,interval),interval=millisecond)}return null==step?interval:interval.every(step)}var scale=continuous(deinterpolate,d3Interpolate.interpolateNumber),invert=scale.invert,domain=scale.domain,formatMillisecond=format(".%L"),formatSecond=format(":%S"),formatMinute=format("%I:%M"),formatHour=format("%I %p"),formatDay=format("%a %d"),formatWeek=format("%b %d"),formatMonth=format("%B"),formatYear=format("%Y"),tickIntervals=[[second,1,durationSecond],[second,5,5*durationSecond],[second,15,15*durationSecond],[second,30,30*durationSecond],[minute,1,durationMinute],[minute,5,5*durationMinute],[minute,15,15*durationMinute],[minute,30,30*durationMinute],[hour,1,durationHour],[hour,3,3*durationHour],[hour,6,6*durationHour],[hour,12,12*durationHour],[day,1,durationDay],[day,2,2*durationDay],[week,1,durationWeek],[month,1,durationMonth],[month,3,3*durationMonth],[year,1,durationYear]];return scale.invert=function(y){return new Date(invert(y))},scale.domain=function(_){return arguments.length?domain(_):domain().map(newDate)},scale.ticks=function(interval,step){var t,d=domain(),t0=d[0],t1=d[d.length-1],r=t0>t1;return r&&(t=t0,t0=t1,t1=t),t=tickInterval(interval,t0,t1,step),t=t?t.range(t0,t1+1):[],r?t.reverse():t},scale.tickFormat=function(specifier){return null==specifier?tickFormat:format(specifier)},scale.nice=function(interval,step){var d=domain();return(interval=tickInterval(interval,d[0],d[d.length-1],step))?domain(nice(d,interval)):scale},scale.copy=function(){return copy(scale,calendar(year,month,week,day,hour,minute,second,millisecond,format))},scale}function time(){return calendar(d3Time.timeYear,d3Time.timeMonth,d3Time.timeWeek,d3Time.timeDay,d3Time.timeHour,d3Time.timeMinute,d3Time.timeSecond,d3Time.timeMillisecond,d3TimeFormat.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}function utcTime(){return calendar(d3Time.utcYear,d3Time.utcMonth,d3Time.utcWeek,d3Time.utcDay,d3Time.utcHour,d3Time.utcMinute,d3Time.utcSecond,d3Time.utcMillisecond,d3TimeFormat.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}function colors(s){return s.match(/.{6}/g).map(function(x){return"#"+x})}function category10(){return ordinal().range(colors10)}function category20b(){return ordinal().range(colors20b)}function category20c(){return ordinal().range(colors20c)}function category20(){return ordinal().range(colors20)}function cubehelix$1(){return linear().interpolate(d3Interpolate.interpolateCubehelixLong).range([d3Color.cubehelix(300,.5,0),d3Color.cubehelix(-240,.5,1)])}function sequential(interpolate){function scale(x){var t=(x-x0)/(x1-x0);return interpolate(clamp?Math.max(0,Math.min(1,t)):t)}var x0=0,x1=1,clamp=!1;return scale.domain=function(_){return arguments.length?(x0=+_[0],x1=+_[1],scale):[x0,x1]},scale.clamp=function(_){return arguments.length?(clamp=!!_,scale):clamp},scale.copy=function(){return sequential(interpolate).domain([x0,x1]).clamp(clamp)},linearish(scale)}function warm(){return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100,.75,.35),d3Color.cubehelix(80,1.5,.8)))}function cool(){return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260,.75,.35),d3Color.cubehelix(80,1.5,.8)))}function rainbow(){var rainbow=d3Color.cubehelix();return sequential(function(t){(0>t||t>1)&&(t-=Math.floor(t));var ts=Math.abs(t-.5);return rainbow.h=360*t-100,rainbow.s=1.5-1.5*ts,rainbow.l=.8-.9*ts,rainbow+""})}function ramp(range){var s=sequential(function(t){return range[Math.round(t*range.length-t)]}).clamp(!0);return delete s.clamp,s}function viridis(){return ramp(rangeViridis)}function magma(){return ramp(rangeMagma)}function inferno(){return ramp(rangeInferno)}function plasma(){return ramp(rangePlasma)}var array=Array.prototype,map$1=array.map,slice=array.slice,implicit={name:"implicit"},unit=[0,1],durationSecond=1e3,durationMinute=60*durationSecond,durationHour=60*durationMinute,durationDay=24*durationHour,durationWeek=7*durationDay,durationMonth=30*durationDay,durationYear=365*durationDay,colors10=colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),colors20b=colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),colors20c=colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),colors20=colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),rangeViridis=colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"),rangeMagma=colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"),rangeInferno=colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"),rangePlasma=colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"),version="0.6.4";exports.version=version,exports.scaleBand=band,exports.scalePoint=point,exports.scaleIdentity=identity,exports.scaleLinear=linear,exports.scaleLog=log,exports.scaleOrdinal=ordinal,exports.scaleImplicit=implicit,exports.scalePow=pow,exports.scaleSqrt=sqrt,exports.scaleQuantile=quantile$1,exports.scaleQuantize=quantize,exports.scaleThreshold=threshold,exports.scaleTime=time,exports.scaleUtc=utcTime,exports.scaleCategory10=category10,exports.scaleCategory20b=category20b,exports.scaleCategory20c=category20c,exports.scaleCategory20=category20,exports.scaleCubehelix=cubehelix$1,exports.scaleRainbow=rainbow,exports.scaleWarm=warm,exports.scaleCool=cool,exports.scaleViridis=viridis,exports.scaleMagma=magma,exports.scaleInferno=inferno,exports.scalePlasma=plasma})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function ascending(a,b){return b>a?-1:a>b?1:a>=b?0:NaN}function bisector(compare){return 1===compare.length&&(compare=ascendingComparator(compare)),{left:function(a,x,lo,hi){for(null==lo&&(lo=0),null==hi&&(hi=a.length);hi>lo;){var mid=lo+hi>>>1;compare(a[mid],x)<0?lo=mid+1:hi=mid}return lo},right:function(a,x,lo,hi){for(null==lo&&(lo=0),null==hi&&(hi=a.length);hi>lo;){var mid=lo+hi>>>1;compare(a[mid],x)>0?hi=mid:lo=mid+1}return lo}}}function ascendingComparator(f){return function(d,x){return ascending(f(d),x)}}function descending(a,b){return a>b?-1:b>a?1:b>=a?0:NaN}function number$1(x){return null===x?NaN:+x}function variance(array,f){var a,d,n=array.length,m=0,s=0,i=-1,j=0;if(null==f)for(;++i<n;)isNaN(a=number$1(array[i]))||(d=a-m,m+=d/++j,s+=d*(a-m));else for(;++i<n;)isNaN(a=number$1(f(array[i],i,array)))||(d=a-m,m+=d/++j,s+=d*(a-m));return j>1?s/(j-1):void 0}function deviation(array,f){var v=variance(array,f);return v?Math.sqrt(v):v}function extent(array,f){var a,b,c,i=-1,n=array.length;if(null==f){for(;++i<n;)if(null!=(b=array[i])&&b>=b){a=c=b;break}for(;++i<n;)null!=(b=array[i])&&(a>b&&(a=b),b>c&&(c=b))}else{for(;++i<n;)if(null!=(b=f(array[i],i,array))&&b>=b){a=c=b;break}for(;++i<n;)null!=(b=f(array[i],i,array))&&(a>b&&(a=b),b>c&&(c=b))}return[a,c]}function constant(x){return function(){return x}}function identity(x){return x}function range(start,stop,step){start=+start,stop=+stop,step=(n=arguments.length)<2?(stop=start,start=0,1):3>n?1:+step;for(var i=-1,n=0|Math.max(0,Math.ceil((stop-start)/step)),range=new Array(n);++i<n;)range[i]=start+i*step;return range}function ticks(start,stop,count){var step=tickStep(start,stop,count);return range(Math.ceil(start/step)*step,Math.floor(stop/step)*step+step/2,step)}function tickStep(start,stop,count){var step0=Math.abs(stop-start)/Math.max(0,count),step1=Math.pow(10,Math.floor(Math.log(step0)/Math.LN10)),error=step0/step1;return error>=e10?step1*=10:error>=e5?step1*=5:error>=e2&&(step1*=2),start>stop?-step1:step1}function sturges(values){return Math.ceil(Math.log(values.length)/Math.LN2)+1}function number(x){return+x}function histogram(){function histogram(data){var i,x,n=data.length,values=new Array(n);for(i=0;n>i;++i)values[i]=+value(data[i],i,data);var xz=domain(values),x0=+xz[0],x1=+xz[1],tz=threshold(values,x0,x1);Array.isArray(tz)||(tz=ticks(x0,x1,+tz));var m=tz.length;for(i=0;m>i;++i)tz[i]=+tz[i];for(;tz[0]<=x0;)tz.shift(),--m;for(;tz[m-1]>=x1;)tz.pop(),--m;var bin,bins=new Array(m+1);for(i=0;m>=i;++i)bin=bins[i]=[],bin.x0=i>0?tz[i-1]:x0,bin.x1=m>i?tz[i]:x1;for(i=0;n>i;++i)x=values[i],x>=x0&&x1>=x&&bins[bisectRight(tz,x,0,m)].push(data[i]);return bins}var value=identity,domain=extent,threshold=sturges;return histogram.value=function(_){return arguments.length?(value="function"==typeof _?_:constant(+_),histogram):value},histogram.domain=function(_){return arguments.length?(domain="function"==typeof _?_:constant([+_[0],+_[1]]),histogram):domain},histogram.thresholds=function(_){return arguments.length?(threshold="function"==typeof _?_:constant(Array.isArray(_)?Array.prototype.map.call(_,number):+_),histogram):threshold},histogram}function quantile(array,p,f){if(null==f&&(f=number$1),n=array.length){if((p=+p)<=0||2>n)return+f(array[0],0,array);if(p>=1)return+f(array[n-1],n-1,array);var n,h=(n-1)*p,i=Math.floor(h),a=+f(array[i],i,array),b=+f(array[i+1],i+1,array);return a+(b-a)*(h-i)}}function freedmanDiaconis(values,min,max){return values.sort(ascending),Math.ceil((max-min)/(2*(quantile(values,.75)-quantile(values,.25))*Math.pow(values.length,-1/3)))}function scott(values,min,max){return Math.ceil((max-min)/(3.5*deviation(values)*Math.pow(values.length,-1/3)))}function max(array,f){var a,b,i=-1,n=array.length;if(null==f){for(;++i<n;)if(null!=(b=array[i])&&b>=b){a=b;break}for(;++i<n;)null!=(b=array[i])&&b>a&&(a=b)}else{for(;++i<n;)if(null!=(b=f(array[i],i,array))&&b>=b){a=b;break}for(;++i<n;)null!=(b=f(array[i],i,array))&&b>a&&(a=b)}return a}function mean(array,f){var a,s=0,n=array.length,i=-1,j=n;if(null==f)for(;++i<n;)isNaN(a=number$1(array[i]))?--j:s+=a;else for(;++i<n;)isNaN(a=number$1(f(array[i],i,array)))?--j:s+=a;return j?s/j:void 0}function median(array,f){var a,numbers=[],n=array.length,i=-1;if(null==f)for(;++i<n;)isNaN(a=number$1(array[i]))||numbers.push(a);else for(;++i<n;)isNaN(a=number$1(f(array[i],i,array)))||numbers.push(a);return quantile(numbers.sort(ascending),.5)}function merge(arrays){for(var m,merged,array,n=arrays.length,i=-1,j=0;++i<n;)j+=arrays[i].length;for(merged=new Array(j);--n>=0;)for(array=arrays[n],m=array.length;--m>=0;)merged[--j]=array[m];return merged}function min(array,f){var a,b,i=-1,n=array.length;if(null==f){for(;++i<n;)if(null!=(b=array[i])&&b>=b){a=b;break}for(;++i<n;)null!=(b=array[i])&&a>b&&(a=b)}else{for(;++i<n;)if(null!=(b=f(array[i],i,array))&&b>=b){a=b;break}for(;++i<n;)null!=(b=f(array[i],i,array))&&a>b&&(a=b)}return a}function pairs(array){for(var i=0,n=array.length-1,p=array[0],pairs=new Array(0>n?0:n);n>i;)pairs[i]=[p,p=array[++i]];return pairs}function permute(array,indexes){for(var i=indexes.length,permutes=new Array(i);i--;)permutes[i]=array[indexes[i]];return permutes}function scan(array,compare){if(n=array.length){var n,xi,i=0,j=0,xj=array[j];for(compare||(compare=ascending);++i<n;)(compare(xi=array[i],xj)<0||0!==compare(xj,xj))&&(xj=xi,j=i);return 0===compare(xj,xj)?j:void 0}}function shuffle(array,i0,i1){for(var t,i,m=(null==i1?array.length:i1)-(i0=null==i0?0:+i0);m;)i=Math.random()*m--|0,t=array[m+i0],array[m+i0]=array[i+i0],array[i+i0]=t;return array}function sum(array,f){var a,s=0,n=array.length,i=-1;if(null==f)for(;++i<n;)(a=+array[i])&&(s+=a);else for(;++i<n;)(a=+f(array[i],i,array))&&(s+=a);return s}function transpose(matrix){if(!(n=matrix.length))return[];for(var i=-1,m=min(matrix,length),transpose=new Array(m);++i<m;)for(var n,j=-1,row=transpose[i]=new Array(n);++j<n;)row[j]=matrix[j][i];return transpose}function length(d){return d.length}function zip(){return transpose(arguments)}var ascendingBisect=bisector(ascending),bisectRight=ascendingBisect.right,bisectLeft=ascendingBisect.left,e10=Math.sqrt(50),e5=Math.sqrt(10),e2=Math.sqrt(2),version="0.7.1";exports.version=version,exports.bisect=bisectRight,exports.bisectRight=bisectRight,exports.bisectLeft=bisectLeft,exports.ascending=ascending,exports.bisector=bisector,exports.descending=descending,exports.deviation=deviation,exports.extent=extent,exports.histogram=histogram,exports.thresholdFreedmanDiaconis=freedmanDiaconis,exports.thresholdScott=scott,exports.thresholdSturges=sturges,exports.max=max,exports.mean=mean,exports.median=median,exports.merge=merge,exports.min=min,exports.pairs=pairs,exports.permute=permute,exports.quantile=quantile,exports.range=range,exports.scan=scan,exports.shuffle=shuffle,exports.sum=sum,exports.ticks=ticks,exports.tickStep=tickStep,exports.transpose=transpose,exports.variance=variance,exports.zip=zip})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function Map(){}function map(object,f){var map=new Map;if(object instanceof Map)object.each(function(value,key){map.set(key,value)});else if(Array.isArray(object)){var o,i=-1,n=object.length;if(null==f)for(;++i<n;)map.set(i,object[i]);else for(;++i<n;)map.set(f(o=object[i],i,object),o)}else if(object)for(var key in object)map.set(key,object[key]);return map}function nest(){function apply(array,depth,createResult,setResult){if(depth>=keys.length)return rollup?rollup(array):sortValues?array.sort(sortValues):array;for(var keyValue,value,values,i=-1,n=array.length,key=keys[depth++],valuesByKey=map(),result=createResult();++i<n;)(values=valuesByKey.get(keyValue=key(value=array[i])+""))?values.push(value):valuesByKey.set(keyValue,[value]);return valuesByKey.each(function(values,key){setResult(result,key,apply(values,depth,createResult,setResult))}),result}function entries(map,depth){if(depth>=keys.length)return map;var array=[],sortKey=sortKeys[depth++];return map.each(function(value,key){array.push({key:key,values:entries(value,depth)})}),sortKey?array.sort(function(a,b){return sortKey(a.key,b.key)}):array}var sortValues,rollup,nest,keys=[],sortKeys=[];return nest={object:function(array){return apply(array,0,createObject,setObject)},map:function(array){return apply(array,0,createMap,setMap)},entries:function(array){return entries(apply(array,0,createMap,setMap),0)},key:function(d){return keys.push(d),nest},sortKeys:function(order){return sortKeys[keys.length-1]=order,nest},sortValues:function(order){return sortValues=order,nest},rollup:function(f){return rollup=f,nest}}}function createObject(){return{}}function setObject(object,key,value){object[key]=value}function createMap(){return map()}function setMap(map,key,value){map.set(key,value)}function Set(){}function set(object,f){var set=new Set;if(object instanceof Set)object.each(function(value){set.add(value)});else if(object){var i=-1,n=object.length;if(null==f)for(;++i<n;)set.add(object[i]);else for(;++i<n;)set.add(f(object[i],i,object))}return set}function keys(map){var keys=[];for(var key in map)keys.push(key);return keys}function values(map){var values=[];for(var key in map)values.push(map[key]);return values}function entries(map){var entries=[];for(var key in map)entries.push({key:key,value:map[key]});return entries}var prefix="$";Map.prototype=map.prototype={constructor:Map,has:function(key){return prefix+key in this},get:function(key){return this[prefix+key]},set:function(key,value){return this[prefix+key]=value,this},remove:function(key){var property=prefix+key;return property in this&&delete this[property]},clear:function(){for(var property in this)property[0]===prefix&&delete this[property]},keys:function(){var keys=[];for(var property in this)property[0]===prefix&&keys.push(property.slice(1));return keys},values:function(){var values=[];for(var property in this)property[0]===prefix&&values.push(this[property]);return values},entries:function(){var entries=[];for(var property in this)property[0]===prefix&&entries.push({key:property.slice(1),value:this[property]});return entries},size:function(){var size=0;for(var property in this)property[0]===prefix&&++size;return size},empty:function(){for(var property in this)if(property[0]===prefix)return!1;return!0},each:function(f){for(var property in this)property[0]===prefix&&f(this[property],property.slice(1),this)}};var proto=map.prototype;Set.prototype=set.prototype={constructor:Set,has:proto.has,add:function(value){return value+="",this[prefix+value]=value,this},remove:proto.remove,clear:proto.clear,values:proto.keys,size:proto.size,empty:proto.empty,each:proto.each};var version="0.1.2";exports.version=version,exports.nest=nest,exports.set=set,exports.map=map,exports.keys=keys,exports.values=values,exports.entries=entries})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports,__webpack_require__(52))}(this,function(exports,d3Color){"use strict";function constant(x){return function(){return x}}function linear(a,d){return function(t){return a+t*d}}function exponential(a,b,y){return a=Math.pow(a,y),b=Math.pow(b,y)-a,y=1/y,function(t){return Math.pow(a+t*b,y)}}function interpolateHue(a,b){var d=b-a;return d?linear(a,d>180||-180>d?d-360*Math.round(d/360):d):constant(isNaN(a)?b:a)}function gamma(y){return 1===(y=+y)?nogamma:function(a,b){return b-a?exponential(a,b,y):constant(isNaN(a)?b:a)}}function nogamma(a,b){var d=b-a;return d?linear(a,d):constant(isNaN(a)?b:a)}function array(a,b){var i,x=[],c=[],na=a?a.length:0,nb=b?b.length:0,n0=Math.min(na,nb);for(i=0;n0>i;++i)x.push(value(a[i],b[i]));for(;na>i;++i)c[i]=a[i];for(;nb>i;++i)c[i]=b[i];return function(t){for(i=0;n0>i;++i)c[i]=x[i](t);return c}}function number(a,b){return a=+a,b-=a,function(t){return a+b*t}}function object(a,b){var k,i={},c={};null!==a&&"object"==typeof a||(a={}),null!==b&&"object"==typeof b||(b={});for(k in a)k in b?i[k]=value(a[k],b[k]):c[k]=a[k];for(k in b)k in a||(c[k]=b[k]);return function(t){for(k in i)c[k]=i[k](t);return c}}function zero(b){return function(){return b}}function one(b){return function(t){return b(t)+""}}function string(a,b){var am,bm,bs,bi=reA.lastIndex=reB.lastIndex=0,i=-1,s=[],q=[];for(a+="",b+="";(am=reA.exec(a))&&(bm=reB.exec(b));)(bs=bm.index)>bi&&(bs=b.slice(bi,bs),s[i]?s[i]+=bs:s[++i]=bs),(am=am[0])===(bm=bm[0])?s[i]?s[i]+=bm:s[++i]=bm:(s[++i]=null,q.push({i:i,x:number(am,bm)})),bi=reB.lastIndex;return bi<b.length&&(bs=b.slice(bi),s[i]?s[i]+=bs:s[++i]=bs),s.length<2?q[0]?one(q[0].x):zero(b):(b=q.length,function(t){for(var o,i=0;b>i;++i)s[(o=q[i]).i]=o.x(t);return s.join("")})}function value(a,b){var c,t=typeof b;return null==b||"boolean"===t?constant(b):("number"===t?number:"string"===t?(c=d3Color.color(b))?(b=c,rgb$1):string:b instanceof d3Color.color?rgb$1:Array.isArray(b)?array:object)(a,b)}function round(a,b){return a=+a,b-=a,function(t){return Math.round(a+b*t)}}function decompose(a,b,c,d,e,f){if(a*d===b*c)return null;var scaleX=Math.sqrt(a*a+b*b);a/=scaleX,b/=scaleX;var skewX=a*c+b*d;c-=a*skewX,d-=b*skewX;var scaleY=Math.sqrt(c*c+d*d);return c/=scaleY,d/=scaleY,skewX/=scaleY,b*c>a*d&&(a=-a,b=-b,skewX=-skewX,scaleX=-scaleX),{translateX:e,translateY:f,rotate:Math.atan2(b,a)*rad2deg,skewX:Math.atan(skewX)*rad2deg,scaleX:scaleX,scaleY:scaleY}}function parseCss(value){if("none"===value)return identity;cssNode||(cssNode=document.createElement("DIV"),cssRoot=document.documentElement,cssView=document.defaultView),cssNode.style.transform=value,value=cssView.getComputedStyle(cssRoot.appendChild(cssNode),null).getPropertyValue("transform"), -cssRoot.removeChild(cssNode);var m=value.slice(7,-1).split(",");return decompose(+m[0],+m[1],+m[2],+m[3],+m[4],+m[5])}function parseSvg(value){svgNode||(svgNode=document.createElementNS("http://www.w3.org/2000/svg","g")),svgNode.setAttribute("transform",null==value?"":value);var m=svgNode.transform.baseVal.consolidate().matrix;return decompose(m.a,m.b,m.c,m.d,m.e,m.f)}function interpolateTransform(parse,pxComma,pxParen,degParen){function pop(s){return s.length?s.pop()+" ":""}function translate(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push("translate(",null,pxComma,null,pxParen);q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else(xb||yb)&&s.push("translate("+xb+pxComma+yb+pxParen)}function rotate(a,b,s,q){a!==b?(a-b>180?b+=360:b-a>180&&(a+=360),q.push({i:s.push(pop(s)+"rotate(",null,degParen)-2,x:number(a,b)})):b&&s.push(pop(s)+"rotate("+b+degParen)}function skewX(a,b,s,q){a!==b?q.push({i:s.push(pop(s)+"skewX(",null,degParen)-2,x:number(a,b)}):b&&s.push(pop(s)+"skewX("+b+degParen)}function scale(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push(pop(s)+"scale(",null,",",null,")");q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else 1===xb&&1===yb||s.push(pop(s)+"scale("+xb+","+yb+")")}return function(a,b){var s=[],q=[];return a=parse(a),b=parse(b),translate(a.translateX,a.translateY,b.translateX,b.translateY,s,q),rotate(a.rotate,b.rotate,s,q),skewX(a.skewX,b.skewX,s,q),scale(a.scaleX,a.scaleY,b.scaleX,b.scaleY,s,q),a=b=null,function(t){for(var o,i=-1,n=q.length;++i<n;)s[(o=q[i]).i]=o.x(t);return s.join("")}}}function cosh(x){return((x=Math.exp(x))+1/x)/2}function sinh(x){return((x=Math.exp(x))-1/x)/2}function tanh(x){return((x=Math.exp(2*x))-1)/(x+1)}function zoom(p0,p1){var i,S,ux0=p0[0],uy0=p0[1],w0=p0[2],ux1=p1[0],uy1=p1[1],w1=p1[2],dx=ux1-ux0,dy=uy1-uy0,d2=dx*dx+dy*dy;if(epsilon2>d2)S=Math.log(w1/w0)/rho,i=function(t){return[ux0+t*dx,uy0+t*dy,w0*Math.exp(rho*t*S)]};else{var d1=Math.sqrt(d2),b0=(w1*w1-w0*w0+rho4*d2)/(2*w0*rho2*d1),b1=(w1*w1-w0*w0-rho4*d2)/(2*w1*rho2*d1),r0=Math.log(Math.sqrt(b0*b0+1)-b0),r1=Math.log(Math.sqrt(b1*b1+1)-b1);S=(r1-r0)/rho,i=function(t){var s=t*S,coshr0=cosh(r0),u=w0/(rho2*d1)*(coshr0*tanh(rho*s+r0)-sinh(r0));return[ux0+u*dx,uy0+u*dy,w0*coshr0/cosh(rho*s+r0)]}}return i.duration=1e3*S,i}function interpolateHsl(start,end){var h=interpolateHue((start=d3Color.hsl(start)).h,(end=d3Color.hsl(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(t),start.opacity=opacity(t),start+""}}function interpolateHslLong(start,end){var h=nogamma((start=d3Color.hsl(start)).h,(end=d3Color.hsl(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(t),start.opacity=opacity(t),start+""}}function interpolateLab(start,end){var l=nogamma((start=d3Color.lab(start)).l,(end=d3Color.lab(end)).l),a=nogamma(start.a,end.a),b=nogamma(start.b,end.b),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.l=l(t),start.a=a(t),start.b=b(t),start.opacity=opacity(t),start+""}}function interpolateHcl(start,end){var h=interpolateHue((start=d3Color.hcl(start)).h,(end=d3Color.hcl(end)).h),c=nogamma(start.c,end.c),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.c=c(t),start.l=l(t),start.opacity=opacity(t),start+""}}function interpolateHclLong(start,end){var h=nogamma((start=d3Color.hcl(start)).h,(end=d3Color.hcl(end)).h),c=nogamma(start.c,end.c),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.c=c(t),start.l=l(t),start.opacity=opacity(t),start+""}}var cssNode,cssRoot,cssView,svgNode,rgb$1=function gamma$$(y){function interpolateRgb(start,end){var r=interpolateColor((start=d3Color.rgb(start)).r,(end=d3Color.rgb(end)).r),g=interpolateColor(start.g,end.g),b=interpolateColor(start.b,end.b),opacity=interpolateColor(start.opacity,end.opacity);return function(t){return start.r=r(t),start.g=g(t),start.b=b(t),start.opacity=opacity(t),start+""}}var interpolateColor=gamma(y);return interpolateRgb.gamma=gamma$$,interpolateRgb}(1),reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g"),rad2deg=180/Math.PI,identity={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},interpolateTransformCss=interpolateTransform(parseCss,"px, ","px)","deg)"),interpolateTransformSvg=interpolateTransform(parseSvg,", ",")",")"),rho=Math.SQRT2,rho2=2,rho4=4,epsilon2=1e-12,cubehelix$1=function gamma(y){function interpolateCubehelix(start,end){var h=interpolateHue((start=d3Color.cubehelix(start)).h,(end=d3Color.cubehelix(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(Math.pow(t,y)),start.opacity=opacity(t),start+""}}return y=+y,interpolateCubehelix.gamma=gamma,interpolateCubehelix}(1),cubehelixLong=function gamma(y){function interpolateCubehelixLong(start,end){var h=nogamma((start=d3Color.cubehelix(start)).h,(end=d3Color.cubehelix(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(Math.pow(t,y)),start.opacity=opacity(t),start+""}}return y=+y,interpolateCubehelixLong.gamma=gamma,interpolateCubehelixLong}(1),version="0.7.0";exports.version=version,exports.interpolate=value,exports.interpolateArray=array,exports.interpolateNumber=number,exports.interpolateObject=object,exports.interpolateRound=round,exports.interpolateString=string,exports.interpolateTransformCss=interpolateTransformCss,exports.interpolateTransformSvg=interpolateTransformSvg,exports.interpolateZoom=zoom,exports.interpolateRgb=rgb$1,exports.interpolateHsl=interpolateHsl,exports.interpolateHslLong=interpolateHslLong,exports.interpolateLab=interpolateLab,exports.interpolateHcl=interpolateHcl,exports.interpolateHclLong=interpolateHclLong,exports.interpolateCubehelix=cubehelix$1,exports.interpolateCubehelixLong=cubehelixLong})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function define(constructor,factory,prototype){constructor.prototype=factory.prototype=prototype,prototype.constructor=constructor}function extend(parent,definition){var prototype=Object.create(parent.prototype);for(var key in definition)prototype[key]=definition[key];return prototype}function Color(){}function color(format){var m;return format=(format+"").trim().toLowerCase(),(m=reHex3.exec(format))?(m=parseInt(m[1],16),new Rgb(m>>8&15|m>>4&240,m>>4&15|240&m,(15&m)<<4|15&m,1)):(m=reHex6.exec(format))?rgbn(parseInt(m[1],16)):(m=reRgbInteger.exec(format))?new Rgb(m[1],m[2],m[3],1):(m=reRgbPercent.exec(format))?new Rgb(255*m[1]/100,255*m[2]/100,255*m[3]/100,1):(m=reRgbaInteger.exec(format))?rgba(m[1],m[2],m[3],m[4]):(m=reRgbaPercent.exec(format))?rgba(255*m[1]/100,255*m[2]/100,255*m[3]/100,m[4]):(m=reHslPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,1):(m=reHslaPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,m[4]):named.hasOwnProperty(format)?rgbn(named[format]):"transparent"===format?new Rgb(NaN,NaN,NaN,0):null}function rgbn(n){return new Rgb(n>>16&255,n>>8&255,255&n,1)}function rgba(r,g,b,a){return 0>=a&&(r=g=b=NaN),new Rgb(r,g,b,a)}function rgbConvert(o){return o instanceof Color||(o=color(o)),o?(o=o.rgb(),new Rgb(o.r,o.g,o.b,o.opacity)):new Rgb}function rgb(r,g,b,opacity){return 1===arguments.length?rgbConvert(r):new Rgb(r,g,b,null==opacity?1:opacity)}function Rgb(r,g,b,opacity){this.r=+r,this.g=+g,this.b=+b,this.opacity=+opacity}function hsla(h,s,l,a){return 0>=a?h=s=l=NaN:0>=l||l>=1?h=s=NaN:0>=s&&(h=NaN),new Hsl(h,s,l,a)}function hslConvert(o){if(o instanceof Hsl)return new Hsl(o.h,o.s,o.l,o.opacity);if(o instanceof Color||(o=color(o)),!o)return new Hsl;if(o instanceof Hsl)return o;o=o.rgb();var r=o.r/255,g=o.g/255,b=o.b/255,min=Math.min(r,g,b),max=Math.max(r,g,b),h=NaN,s=max-min,l=(max+min)/2;return s?(h=r===max?(g-b)/s+6*(b>g):g===max?(b-r)/s+2:(r-g)/s+4,s/=.5>l?max+min:2-max-min,h*=60):s=l>0&&1>l?0:h,new Hsl(h,s,l,o.opacity)}function hsl(h,s,l,opacity){return 1===arguments.length?hslConvert(h):new Hsl(h,s,l,null==opacity?1:opacity)}function Hsl(h,s,l,opacity){this.h=+h,this.s=+s,this.l=+l,this.opacity=+opacity}function hsl2rgb(h,m1,m2){return 255*(60>h?m1+(m2-m1)*h/60:180>h?m2:240>h?m1+(m2-m1)*(240-h)/60:m1)}function labConvert(o){if(o instanceof Lab)return new Lab(o.l,o.a,o.b,o.opacity);if(o instanceof Hcl){var h=o.h*deg2rad;return new Lab(o.l,Math.cos(h)*o.c,Math.sin(h)*o.c,o.opacity)}o instanceof Rgb||(o=rgbConvert(o));var b=rgb2xyz(o.r),a=rgb2xyz(o.g),l=rgb2xyz(o.b),x=xyz2lab((.4124564*b+.3575761*a+.1804375*l)/Xn),y=xyz2lab((.2126729*b+.7151522*a+.072175*l)/Yn),z=xyz2lab((.0193339*b+.119192*a+.9503041*l)/Zn);return new Lab(116*y-16,500*(x-y),200*(y-z),o.opacity)}function lab(l,a,b,opacity){return 1===arguments.length?labConvert(l):new Lab(l,a,b,null==opacity?1:opacity)}function Lab(l,a,b,opacity){this.l=+l,this.a=+a,this.b=+b,this.opacity=+opacity}function xyz2lab(t){return t>t3?Math.pow(t,1/3):t/t2+t0}function lab2xyz(t){return t>t1?t*t*t:t2*(t-t0)}function xyz2rgb(x){return 255*(.0031308>=x?12.92*x:1.055*Math.pow(x,1/2.4)-.055)}function rgb2xyz(x){return(x/=255)<=.04045?x/12.92:Math.pow((x+.055)/1.055,2.4)}function hclConvert(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);o instanceof Lab||(o=labConvert(o));var h=Math.atan2(o.b,o.a)*rad2deg;return new Hcl(0>h?h+360:h,Math.sqrt(o.a*o.a+o.b*o.b),o.l,o.opacity)}function hcl(h,c,l,opacity){return 1===arguments.length?hclConvert(h):new Hcl(h,c,l,null==opacity?1:opacity)}function Hcl(h,c,l,opacity){this.h=+h,this.c=+c,this.l=+l,this.opacity=+opacity}function cubehelixConvert(o){if(o instanceof Cubehelix)return new Cubehelix(o.h,o.s,o.l,o.opacity);o instanceof Rgb||(o=rgbConvert(o));var r=o.r/255,g=o.g/255,b=o.b/255,l=(BC_DA*b+ED*r-EB*g)/(BC_DA+ED-EB),bl=b-l,k=(E*(g-l)-C*bl)/D,s=Math.sqrt(k*k+bl*bl)/(E*l*(1-l)),h=s?Math.atan2(k,bl)*rad2deg-120:NaN;return new Cubehelix(0>h?h+360:h,s,l,o.opacity)}function cubehelix(h,s,l,opacity){return 1===arguments.length?cubehelixConvert(h):new Cubehelix(h,s,l,null==opacity?1:opacity)}function Cubehelix(h,s,l,opacity){this.h=+h,this.s=+s,this.l=+l,this.opacity=+opacity}var darker=.7,brighter=1/darker,reHex3=/^#([0-9a-f]{3})$/,reHex6=/^#([0-9a-f]{6})$/,reRgbInteger=/^rgb\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*\)$/,reRgbPercent=/^rgb\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,reRgbaInteger=/^rgba\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,reRgbaPercent=/^rgba\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,reHslPercent=/^hsl\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,reHslaPercent=/^hsla\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,named={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,rebeccapurple:6697881,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};define(Color,color,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),define(Rgb,rgb,extend(Color,{brighter:function(k){return k=null==k?brighter:Math.pow(brighter,k),new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},darker:function(k){return k=null==k?darker:Math.pow(darker,k),new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var a=this.opacity;return a=isNaN(a)?1:Math.max(0,Math.min(1,a)),(1===a?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===a?")":", "+a+")")}})),define(Hsl,hsl,extend(Color,{brighter:function(k){return k=null==k?brighter:Math.pow(brighter,k),new Hsl(this.h,this.s,this.l*k,this.opacity)},darker:function(k){return k=null==k?darker:Math.pow(darker,k),new Hsl(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=this.h%360+360*(this.h<0),s=isNaN(h)||isNaN(this.s)?0:this.s,l=this.l,m2=l+(.5>l?l:1-l)*s,m1=2*l-m2;return new Rgb(hsl2rgb(h>=240?h-240:h+120,m1,m2),hsl2rgb(h,m1,m2),hsl2rgb(120>h?h+240:h-120,m1,m2),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var deg2rad=Math.PI/180,rad2deg=180/Math.PI,Kn=18,Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1;define(Lab,lab,extend(Color,{brighter:function(k){return new Lab(this.l+Kn*(null==k?1:k),this.a,this.b,this.opacity)},darker:function(k){return new Lab(this.l-Kn*(null==k?1:k),this.a,this.b,this.opacity)},rgb:function(){var y=(this.l+16)/116,x=isNaN(this.a)?y:y+this.a/500,z=isNaN(this.b)?y:y-this.b/200;return y=Yn*lab2xyz(y),x=Xn*lab2xyz(x),z=Zn*lab2xyz(z),new Rgb(xyz2rgb(3.2404542*x-1.5371385*y-.4985314*z),xyz2rgb(-.969266*x+1.8760108*y+.041556*z),xyz2rgb(.0556434*x-.2040259*y+1.0572252*z),this.opacity)}})),define(Hcl,hcl,extend(Color,{brighter:function(k){return new Hcl(this.h,this.c,this.l+Kn*(null==k?1:k),this.opacity)},darker:function(k){return new Hcl(this.h,this.c,this.l-Kn*(null==k?1:k),this.opacity)},rgb:function(){return labConvert(this).rgb()}}));var A=-.14861,B=1.78277,C=-.29227,D=-.90649,E=1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;define(Cubehelix,cubehelix,extend(Color,{brighter:function(k){return k=null==k?brighter:Math.pow(brighter,k),new Cubehelix(this.h,this.s,this.l*k,this.opacity)},darker:function(k){return k=null==k?darker:Math.pow(darker,k),new Cubehelix(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=isNaN(this.h)?0:(this.h+120)*deg2rad,l=+this.l,a=isNaN(this.s)?0:this.s*l*(1-l),cosh=Math.cos(h),sinh=Math.sin(h);return new Rgb(255*(l+a*(A*cosh+B*sinh)),255*(l+a*(C*cosh+D*sinh)),255*(l+a*(E*cosh)),this.opacity)}}));var version="0.4.2";exports.version=version,exports.color=color,exports.rgb=rgb,exports.hsl=hsl,exports.lab=lab,exports.hcl=hcl,exports.cubehelix=cubehelix})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function formatDecimal(x,p){if((i=(x=p?x.toExponential(p-1):x.toExponential()).indexOf("e"))<0)return null;var i,coefficient=x.slice(0,i);return[coefficient.length>1?coefficient[0]+coefficient.slice(2):coefficient,+x.slice(i+1)]}function exponent(x){return x=formatDecimal(Math.abs(x)),x?x[1]:NaN}function formatGroup(grouping,thousands){return function(value,width){for(var i=value.length,t=[],j=0,g=grouping[0],length=0;i>0&&g>0&&(length+g+1>width&&(g=Math.max(1,width-length)),t.push(value.substring(i-=g,i+g)),!((length+=g+1)>width));)g=grouping[j=(j+1)%grouping.length];return t.reverse().join(thousands)}}function formatDefault(x,p){x=x.toPrecision(p);out:for(var i1,n=x.length,i=1,i0=-1;n>i;++i)switch(x[i]){case".":i0=i1=i;break;case"0":0===i0&&(i0=i),i1=i;break;case"e":break out;default:i0>0&&(i0=0)}return i0>0?x.slice(0,i0)+x.slice(i1+1):x}function formatPrefixAuto(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1],i=exponent-(prefixExponent=3*Math.max(-8,Math.min(8,Math.floor(exponent/3))))+1,n=coefficient.length;return i===n?coefficient:i>n?coefficient+new Array(i-n+1).join("0"):i>0?coefficient.slice(0,i)+"."+coefficient.slice(i):"0."+new Array(1-i).join("0")+formatDecimal(x,Math.max(0,p+i-1))[0]}function formatRounded(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1];return 0>exponent?"0."+new Array(-exponent).join("0")+coefficient:coefficient.length>exponent+1?coefficient.slice(0,exponent+1)+"."+coefficient.slice(exponent+1):coefficient+new Array(exponent-coefficient.length+2).join("0")}function formatSpecifier(specifier){return new FormatSpecifier(specifier)}function FormatSpecifier(specifier){if(!(match=re.exec(specifier)))throw new Error("invalid format: "+specifier);var match,fill=match[1]||" ",align=match[2]||">",sign=match[3]||"-",symbol=match[4]||"",zero=!!match[5],width=match[6]&&+match[6],comma=!!match[7],precision=match[8]&&+match[8].slice(1),type=match[9]||"";"n"===type?(comma=!0,type="g"):formatTypes[type]||(type=""),(zero||"0"===fill&&"="===align)&&(zero=!0,fill="0",align="="),this.fill=fill,this.align=align,this.sign=sign,this.symbol=symbol,this.zero=zero,this.width=width,this.comma=comma,this.precision=precision,this.type=type}function identity(x){return x}function locale(locale){function newFormat(specifier){function format(value){var i,n,c,valuePrefix=prefix,valueSuffix=suffix;if("c"===type)valueSuffix=formatType(value)+valueSuffix,value="";else{value=+value;var valueNegative=(0>value||0>1/value)&&(value*=-1,!0);if(value=formatType(value,precision),valueNegative)for(i=-1,n=value.length,valueNegative=!1;++i<n;)if(c=value.charCodeAt(i),c>48&&58>c||"x"===type&&c>96&&103>c||"X"===type&&c>64&&71>c){valueNegative=!0;break}if(valuePrefix=(valueNegative?"("===sign?sign:"-":"-"===sign||"("===sign?"":sign)+valuePrefix,valueSuffix=valueSuffix+("s"===type?prefixes[8+prefixExponent/3]:"")+(valueNegative&&"("===sign?")":""),maybeSuffix)for(i=-1,n=value.length;++i<n;)if(c=value.charCodeAt(i),48>c||c>57){valueSuffix=(46===c?decimal+value.slice(i+1):value.slice(i))+valueSuffix,value=value.slice(0,i);break}}comma&&!zero&&(value=group(value,1/0));var length=valuePrefix.length+value.length+valueSuffix.length,padding=width>length?new Array(width-length+1).join(fill):"";switch(comma&&zero&&(value=group(padding+value,padding.length?width-valueSuffix.length:1/0),padding=""),align){case"<":return valuePrefix+value+valueSuffix+padding;case"=":return valuePrefix+padding+value+valueSuffix;case"^":return padding.slice(0,length=padding.length>>1)+valuePrefix+value+valueSuffix+padding.slice(length)}return padding+valuePrefix+value+valueSuffix}specifier=formatSpecifier(specifier);var fill=specifier.fill,align=specifier.align,sign=specifier.sign,symbol=specifier.symbol,zero=specifier.zero,width=specifier.width,comma=specifier.comma,precision=specifier.precision,type=specifier.type,prefix="$"===symbol?currency[0]:"#"===symbol&&/[boxX]/.test(type)?"0"+type.toLowerCase():"",suffix="$"===symbol?currency[1]:/[%p]/.test(type)?"%":"",formatType=formatTypes[type],maybeSuffix=!type||/[defgprs%]/.test(type);return precision=null==precision?type?6:12:/[gprs]/.test(type)?Math.max(1,Math.min(21,precision)):Math.max(0,Math.min(20,precision)),format.toString=function(){return specifier+""},format}function formatPrefix(specifier,value){var f=newFormat((specifier=formatSpecifier(specifier),specifier.type="f",specifier)),e=3*Math.max(-8,Math.min(8,Math.floor(exponent(value)/3))),k=Math.pow(10,-e),prefix=prefixes[8+e/3];return function(value){return f(k*value)+prefix}}var group=locale.grouping&&locale.thousands?formatGroup(locale.grouping,locale.thousands):identity,currency=locale.currency,decimal=locale.decimal;return{format:newFormat,formatPrefix:formatPrefix}}function precisionFixed(step){return Math.max(0,-exponent(Math.abs(step)))}function precisionPrefix(step,value){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(exponent(value)/3)))-exponent(Math.abs(step)))}function precisionRound(step,max){return step=Math.abs(step),max=Math.abs(max)-step,Math.max(0,exponent(max)-exponent(step))+1}var prefixExponent,formatTypes={"":formatDefault,"%":function(x,p){return(100*x).toFixed(p)},b:function(x){return Math.round(x).toString(2)},c:function(x){return x+""},d:function(x){return Math.round(x).toString(10)},e:function(x,p){return x.toExponential(p)},f:function(x,p){return x.toFixed(p)},g:function(x,p){return x.toPrecision(p)},o:function(x){return Math.round(x).toString(8)},p:function(x,p){return formatRounded(100*x,p)},r:formatRounded,s:formatPrefixAuto,X:function(x){return Math.round(x).toString(16).toUpperCase()},x:function(x){return Math.round(x).toString(16)}},re=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],defaultLocale=locale({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),caES=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),csCZ=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," Kč"]}),deCH=locale({decimal:",",thousands:"'",grouping:[3],currency:[""," CHF"]}),deDE=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),enCA=locale({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),enGB=locale({decimal:".",thousands:",",grouping:[3],currency:["£",""]}),esES=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),fiFI=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," €"]}),frCA=locale({decimal:",",thousands:" ",grouping:[3],currency:["","$"]}),frFR=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),heIL=locale({decimal:".",thousands:",",grouping:[3],currency:["₪",""]}),huHU=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," Ft"]}),itIT=locale({decimal:",",thousands:".",grouping:[3],currency:["€",""]}),jaJP=locale({decimal:".",thousands:",",grouping:[3],currency:["","円"]}),koKR=locale({decimal:".",thousands:",",grouping:[3],currency:["₩",""]}),mkMK=locale({decimal:",",thousands:".",grouping:[3],currency:[""," ден."]}),nlNL=locale({decimal:",",thousands:".",grouping:[3],currency:["€ ",""]}),plPL=locale({decimal:",",thousands:".",grouping:[3],currency:["","zł"]}),ptBR=locale({decimal:",",thousands:".",grouping:[3],currency:["R$",""]}),ruRU=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," руб."]}),svSE=locale({decimal:",",thousands:" ",grouping:[3],currency:["","SEK"]}),zhCN=locale({decimal:".",thousands:",",grouping:[3],currency:["¥",""]}),format=defaultLocale.format,formatPrefix=defaultLocale.formatPrefix,version="0.5.1";exports.version=version,exports.format=format,exports.formatPrefix=formatPrefix,exports.formatLocale=locale,exports.formatCaEs=caES,exports.formatCsCz=csCZ,exports.formatDeCh=deCH,exports.formatDeDe=deDE,exports.formatEnCa=enCA,exports.formatEnGb=enGB,exports.formatEnUs=defaultLocale,exports.formatEsEs=esES,exports.formatFiFi=fiFI,exports.formatFrCa=frCA,exports.formatFrFr=frFR,exports.formatHeIl=heIL,exports.formatHuHu=huHU,exports.formatItIt=itIT,exports.formatJaJp=jaJP,exports.formatKoKr=koKR,exports.formatMkMk=mkMK,exports.formatNlNl=nlNL,exports.formatPlPl=plPL,exports.formatPtBr=ptBR,exports.formatRuRu=ruRU,exports.formatSvSe=svSE,exports.formatZhCn=zhCN,exports.formatSpecifier=formatSpecifier,exports.precisionFixed=precisionFixed,exports.precisionPrefix=precisionPrefix,exports.precisionRound=precisionRound})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function newInterval(floori,offseti,count,field){function interval(date){return floori(date=new Date(+date)),date}return interval.floor=interval,interval.ceil=function(date){return floori(date=new Date(date-1)),offseti(date,1),floori(date),date},interval.round=function(date){var d0=interval(date),d1=interval.ceil(date);return d1-date>date-d0?d0:d1},interval.offset=function(date,step){return offseti(date=new Date(+date),null==step?1:Math.floor(step)),date},interval.range=function(start,stop,step){var range=[];if(start=interval.ceil(start),step=null==step?1:Math.floor(step),!(stop>start&&step>0))return range;do range.push(new Date(+start));while(offseti(start,step),floori(start),stop>start);return range},interval.filter=function(test){return newInterval(function(date){for(;floori(date),!test(date);)date.setTime(date-1)},function(date,step){for(;--step>=0;)for(;offseti(date,1),!test(date););})},count&&(interval.count=function(start,end){return t0.setTime(+start),t1.setTime(+end),floori(t0),floori(t1),Math.floor(count(t0,t1))},interval.every=function(step){return step=Math.floor(step),isFinite(step)&&step>0?step>1?interval.filter(field?function(d){return field(d)%step===0}:function(d){return interval.count(0,d)%step===0}):interval:null}),interval}function weekday(i){return newInterval(function(date){date.setHours(0,0,0,0),date.setDate(date.getDate()-(date.getDay()+7-i)%7)},function(date,step){date.setDate(date.getDate()+7*step)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*minute)/week})}function utcWeekday(i){return newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCDate(date.getUTCDate()-(date.getUTCDay()+7-i)%7)},function(date,step){date.setUTCDate(date.getUTCDate()+7*step)},function(start,end){return(end-start)/week})}var t0=new Date,t1=new Date,millisecond=newInterval(function(){},function(date,step){date.setTime(+date+step)},function(start,end){return end-start});millisecond.every=function(k){return k=Math.floor(k),isFinite(k)&&k>0?k>1?newInterval(function(date){date.setTime(Math.floor(date/k)*k)},function(date,step){date.setTime(+date+step*k)},function(start,end){return(end-start)/k}):millisecond:null};var second$1=1e3,minute=6e4,hour=36e5,day=864e5,week=6048e5,second=newInterval(function(date){date.setTime(Math.floor(date/second$1)*second$1)},function(date,step){date.setTime(+date+step*second$1)},function(start,end){return(end-start)/second$1},function(date){return date.getUTCSeconds()}),minute$1=newInterval(function(date){date.setTime(Math.floor(date/minute)*minute)},function(date,step){date.setTime(+date+step*minute)},function(start,end){return(end-start)/minute},function(date){return date.getMinutes()}),hour$1=newInterval(function(date){var offset=date.getTimezoneOffset()*minute%hour;0>offset&&(offset+=hour),date.setTime(Math.floor((+date-offset)/hour)*hour+offset)},function(date,step){date.setTime(+date+step*hour)},function(start,end){return(end-start)/hour},function(date){return date.getHours()}),day$1=newInterval(function(date){date.setHours(0,0,0,0)},function(date,step){date.setDate(date.getDate()+step)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*minute)/day},function(date){return date.getDate()-1}),sunday=weekday(0),monday=weekday(1),tuesday=weekday(2),wednesday=weekday(3),thursday=weekday(4),friday=weekday(5),saturday=weekday(6),month=newInterval(function(date){date.setHours(0,0,0,0),date.setDate(1)},function(date,step){date.setMonth(date.getMonth()+step)},function(start,end){return end.getMonth()-start.getMonth()+12*(end.getFullYear()-start.getFullYear())},function(date){return date.getMonth()}),year=newInterval(function(date){date.setHours(0,0,0,0),date.setMonth(0,1)},function(date,step){date.setFullYear(date.getFullYear()+step)},function(start,end){return end.getFullYear()-start.getFullYear()},function(date){return date.getFullYear()}),utcMinute=newInterval(function(date){date.setUTCSeconds(0,0)},function(date,step){date.setTime(+date+step*minute)},function(start,end){return(end-start)/minute},function(date){return date.getUTCMinutes()}),utcHour=newInterval(function(date){date.setUTCMinutes(0,0,0)},function(date,step){date.setTime(+date+step*hour)},function(start,end){return(end-start)/hour},function(date){return date.getUTCHours()}),utcDay=newInterval(function(date){date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCDate(date.getUTCDate()+step)},function(start,end){return(end-start)/day},function(date){return date.getUTCDate()-1}),utcSunday=utcWeekday(0),utcMonday=utcWeekday(1),utcTuesday=utcWeekday(2),utcWednesday=utcWeekday(3),utcThursday=utcWeekday(4),utcFriday=utcWeekday(5),utcSaturday=utcWeekday(6),utcMonth=newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCDate(1)},function(date,step){date.setUTCMonth(date.getUTCMonth()+step)},function(start,end){return end.getUTCMonth()-start.getUTCMonth()+12*(end.getUTCFullYear()-start.getUTCFullYear())},function(date){return date.getUTCMonth()}),utcYear=newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCMonth(0,1)},function(date,step){date.setUTCFullYear(date.getUTCFullYear()+step)},function(start,end){return end.getUTCFullYear()-start.getUTCFullYear()},function(date){return date.getUTCFullYear()}),timeMilliseconds=millisecond.range,timeSeconds=second.range,timeMinutes=minute$1.range,timeHours=hour$1.range,timeDays=day$1.range,timeSundays=sunday.range,timeMondays=monday.range,timeTuesdays=tuesday.range,timeWednesdays=wednesday.range,timeThursdays=thursday.range,timeFridays=friday.range,timeSaturdays=saturday.range,timeWeeks=sunday.range,timeMonths=month.range,timeYears=year.range,utcMillisecond=millisecond,utcMilliseconds=timeMilliseconds,utcSecond=second,utcSeconds=timeSeconds,utcMinutes=utcMinute.range,utcHours=utcHour.range,utcDays=utcDay.range,utcSundays=utcSunday.range,utcMondays=utcMonday.range,utcTuesdays=utcTuesday.range,utcWednesdays=utcWednesday.range,utcThursdays=utcThursday.range,utcFridays=utcFriday.range,utcSaturdays=utcSaturday.range,utcWeeks=utcSunday.range,utcMonths=utcMonth.range,utcYears=utcYear.range,version="0.2.5"; -exports.version=version,exports.timeMilliseconds=timeMilliseconds,exports.timeSeconds=timeSeconds,exports.timeMinutes=timeMinutes,exports.timeHours=timeHours,exports.timeDays=timeDays,exports.timeSundays=timeSundays,exports.timeMondays=timeMondays,exports.timeTuesdays=timeTuesdays,exports.timeWednesdays=timeWednesdays,exports.timeThursdays=timeThursdays,exports.timeFridays=timeFridays,exports.timeSaturdays=timeSaturdays,exports.timeWeeks=timeWeeks,exports.timeMonths=timeMonths,exports.timeYears=timeYears,exports.utcMillisecond=utcMillisecond,exports.utcMilliseconds=utcMilliseconds,exports.utcSecond=utcSecond,exports.utcSeconds=utcSeconds,exports.utcMinutes=utcMinutes,exports.utcHours=utcHours,exports.utcDays=utcDays,exports.utcSundays=utcSundays,exports.utcMondays=utcMondays,exports.utcTuesdays=utcTuesdays,exports.utcWednesdays=utcWednesdays,exports.utcThursdays=utcThursdays,exports.utcFridays=utcFridays,exports.utcSaturdays=utcSaturdays,exports.utcWeeks=utcWeeks,exports.utcMonths=utcMonths,exports.utcYears=utcYears,exports.timeMillisecond=millisecond,exports.timeSecond=second,exports.timeMinute=minute$1,exports.timeHour=hour$1,exports.timeDay=day$1,exports.timeSunday=sunday,exports.timeMonday=monday,exports.timeTuesday=tuesday,exports.timeWednesday=wednesday,exports.timeThursday=thursday,exports.timeFriday=friday,exports.timeSaturday=saturday,exports.timeWeek=sunday,exports.timeMonth=month,exports.timeYear=year,exports.utcMinute=utcMinute,exports.utcHour=utcHour,exports.utcDay=utcDay,exports.utcSunday=utcSunday,exports.utcMonday=utcMonday,exports.utcTuesday=utcTuesday,exports.utcWednesday=utcWednesday,exports.utcThursday=utcThursday,exports.utcFriday=utcFriday,exports.utcSaturday=utcSaturday,exports.utcWeek=utcSunday,exports.utcMonth=utcMonth,exports.utcYear=utcYear,exports.timeInterval=newInterval})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports,__webpack_require__(54))}(this,function(exports,d3Time){"use strict";function localDate(d){if(0<=d.y&&d.y<100){var date=new Date(-1,d.m,d.d,d.H,d.M,d.S,d.L);return date.setFullYear(d.y),date}return new Date(d.y,d.m,d.d,d.H,d.M,d.S,d.L)}function utcDate(d){if(0<=d.y&&d.y<100){var date=new Date(Date.UTC(-1,d.m,d.d,d.H,d.M,d.S,d.L));return date.setUTCFullYear(d.y),date}return new Date(Date.UTC(d.y,d.m,d.d,d.H,d.M,d.S,d.L))}function newYear(y){return{y:y,m:0,d:1,H:0,M:0,S:0,L:0}}function locale$1(locale){function newFormat(specifier,formats){return function(date){var c,pad,format,string=[],i=-1,j=0,n=specifier.length;for(date instanceof Date||(date=new Date(+date));++i<n;)37===specifier.charCodeAt(i)&&(string.push(specifier.slice(j,i)),null!=(pad=pads[c=specifier.charAt(++i)])?c=specifier.charAt(++i):pad="e"===c?" ":"0",(format=formats[c])&&(c=format(date,pad)),string.push(c),j=i+1);return string.push(specifier.slice(j,i)),string.join("")}}function newParse(specifier,newDate){return function(string){var d=newYear(1900),i=parseSpecifier(d,specifier,string+="",0);if(i!=string.length)return null;if("p"in d&&(d.H=d.H%12+12*d.p),"W"in d||"U"in d){"w"in d||(d.w="W"in d?1:0);var day="Z"in d?utcDate(newYear(d.y)).getUTCDay():newDate(newYear(d.y)).getDay();d.m=0,d.d="W"in d?(d.w+6)%7+7*d.W-(day+5)%7:d.w+7*d.U-(day+6)%7}return"Z"in d?(d.H+=d.Z/100|0,d.M+=d.Z%100,utcDate(d)):newDate(d)}}function parseSpecifier(d,specifier,string,j){for(var c,parse,i=0,n=specifier.length,m=string.length;n>i;){if(j>=m)return-1;if(c=specifier.charCodeAt(i++),37===c){if(c=specifier.charAt(i++),parse=parses[c in pads?specifier.charAt(i++):c],!parse||(j=parse(d,string,j))<0)return-1}else if(c!=string.charCodeAt(j++))return-1}return j}function parsePeriod(d,string,i){var n=periodRe.exec(string.slice(i));return n?(d.p=periodLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortWeekday(d,string,i){var n=shortWeekdayRe.exec(string.slice(i));return n?(d.w=shortWeekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseWeekday(d,string,i){var n=weekdayRe.exec(string.slice(i));return n?(d.w=weekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortMonth(d,string,i){var n=shortMonthRe.exec(string.slice(i));return n?(d.m=shortMonthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseMonth(d,string,i){var n=monthRe.exec(string.slice(i));return n?(d.m=monthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseLocaleDateTime(d,string,i){return parseSpecifier(d,locale_dateTime,string,i)}function parseLocaleDate(d,string,i){return parseSpecifier(d,locale_date,string,i)}function parseLocaleTime(d,string,i){return parseSpecifier(d,locale_time,string,i)}function formatShortWeekday(d){return locale_shortWeekdays[d.getDay()]}function formatWeekday(d){return locale_weekdays[d.getDay()]}function formatShortMonth(d){return locale_shortMonths[d.getMonth()]}function formatMonth(d){return locale_months[d.getMonth()]}function formatPeriod(d){return locale_periods[+(d.getHours()>=12)]}function formatUTCShortWeekday(d){return locale_shortWeekdays[d.getUTCDay()]}function formatUTCWeekday(d){return locale_weekdays[d.getUTCDay()]}function formatUTCShortMonth(d){return locale_shortMonths[d.getUTCMonth()]}function formatUTCMonth(d){return locale_months[d.getUTCMonth()]}function formatUTCPeriod(d){return locale_periods[+(d.getUTCHours()>=12)]}var locale_dateTime=locale.dateTime,locale_date=locale.date,locale_time=locale.time,locale_periods=locale.periods,locale_weekdays=locale.days,locale_shortWeekdays=locale.shortDays,locale_months=locale.months,locale_shortMonths=locale.shortMonths,periodRe=formatRe(locale_periods),periodLookup=formatLookup(locale_periods),weekdayRe=formatRe(locale_weekdays),weekdayLookup=formatLookup(locale_weekdays),shortWeekdayRe=formatRe(locale_shortWeekdays),shortWeekdayLookup=formatLookup(locale_shortWeekdays),monthRe=formatRe(locale_months),monthLookup=formatLookup(locale_months),shortMonthRe=formatRe(locale_shortMonths),shortMonthLookup=formatLookup(locale_shortMonths),formats={a:formatShortWeekday,A:formatWeekday,b:formatShortMonth,B:formatMonth,c:null,d:formatDayOfMonth,e:formatDayOfMonth,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:formatPeriod,S:formatSeconds,U:formatWeekNumberSunday,w:formatWeekdayNumber,W:formatWeekNumberMonday,x:null,X:null,y:formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent},utcFormats={a:formatUTCShortWeekday,A:formatUTCWeekday,b:formatUTCShortMonth,B:formatUTCMonth,c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:formatUTCPeriod,S:formatUTCSeconds,U:formatUTCWeekNumberSunday,w:formatUTCWeekdayNumber,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent},parses={a:parseShortWeekday,A:parseWeekday,b:parseShortMonth,B:parseMonth,c:parseLocaleDateTime,d:parseDayOfMonth,e:parseDayOfMonth,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:parsePeriod,S:parseSeconds,U:parseWeekNumberSunday,w:parseWeekdayNumber,W:parseWeekNumberMonday,x:parseLocaleDate,X:parseLocaleTime,y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};return formats.x=newFormat(locale_date,formats),formats.X=newFormat(locale_time,formats),formats.c=newFormat(locale_dateTime,formats),utcFormats.x=newFormat(locale_date,utcFormats),utcFormats.X=newFormat(locale_time,utcFormats),utcFormats.c=newFormat(locale_dateTime,utcFormats),{format:function(specifier){var f=newFormat(specifier+="",formats);return f.toString=function(){return specifier},f},parse:function(specifier){var p=newParse(specifier+="",localDate);return p.toString=function(){return specifier},p},utcFormat:function(specifier){var f=newFormat(specifier+="",utcFormats);return f.toString=function(){return specifier},f},utcParse:function(specifier){var p=newParse(specifier,utcDate);return p.toString=function(){return specifier},p}}}function pad(value,fill,width){var sign=0>value?"-":"",string=(sign?-value:value)+"",length=string.length;return sign+(width>length?new Array(width-length+1).join(fill)+string:string)}function requote(s){return s.replace(requoteRe,"\\$&")}function formatRe(names){return new RegExp("^(?:"+names.map(requote).join("|")+")","i")}function formatLookup(names){for(var map={},i=-1,n=names.length;++i<n;)map[names[i].toLowerCase()]=i;return map}function parseWeekdayNumber(d,string,i){var n=numberRe.exec(string.slice(i,i+1));return n?(d.w=+n[0],i+n[0].length):-1}function parseWeekNumberSunday(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.U=+n[0],i+n[0].length):-1}function parseWeekNumberMonday(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.W=+n[0],i+n[0].length):-1}function parseFullYear(d,string,i){var n=numberRe.exec(string.slice(i,i+4));return n?(d.y=+n[0],i+n[0].length):-1}function parseYear(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.y=+n[0]+(+n[0]>68?1900:2e3),i+n[0].length):-1}function parseZone(d,string,i){var n=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(string.slice(i,i+6));return n?(d.Z=n[1]?0:-(n[2]+(n[3]||"00")),i+n[0].length):-1}function parseMonthNumber(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.m=n[0]-1,i+n[0].length):-1}function parseDayOfMonth(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.d=+n[0],i+n[0].length):-1}function parseDayOfYear(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.m=0,d.d=+n[0],i+n[0].length):-1}function parseHour24(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.H=+n[0],i+n[0].length):-1}function parseMinutes(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.M=+n[0],i+n[0].length):-1}function parseSeconds(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.S=+n[0],i+n[0].length):-1}function parseMilliseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.L=+n[0],i+n[0].length):-1}function parseLiteralPercent(d,string,i){var n=percentRe.exec(string.slice(i,i+1));return n?i+n[0].length:-1}function formatDayOfMonth(d,p){return pad(d.getDate(),p,2)}function formatHour24(d,p){return pad(d.getHours(),p,2)}function formatHour12(d,p){return pad(d.getHours()%12||12,p,2)}function formatDayOfYear(d,p){return pad(1+d3Time.timeDay.count(d3Time.timeYear(d),d),p,3)}function formatMilliseconds(d,p){return pad(d.getMilliseconds(),p,3)}function formatMonthNumber(d,p){return pad(d.getMonth()+1,p,2)}function formatMinutes(d,p){return pad(d.getMinutes(),p,2)}function formatSeconds(d,p){return pad(d.getSeconds(),p,2)}function formatWeekNumberSunday(d,p){return pad(d3Time.timeSunday.count(d3Time.timeYear(d),d),p,2)}function formatWeekdayNumber(d){return d.getDay()}function formatWeekNumberMonday(d,p){return pad(d3Time.timeMonday.count(d3Time.timeYear(d),d),p,2)}function formatYear(d,p){return pad(d.getFullYear()%100,p,2)}function formatFullYear(d,p){return pad(d.getFullYear()%1e4,p,4)}function formatZone(d){var z=d.getTimezoneOffset();return(z>0?"-":(z*=-1,"+"))+pad(z/60|0,"0",2)+pad(z%60,"0",2)}function formatUTCDayOfMonth(d,p){return pad(d.getUTCDate(),p,2)}function formatUTCHour24(d,p){return pad(d.getUTCHours(),p,2)}function formatUTCHour12(d,p){return pad(d.getUTCHours()%12||12,p,2)}function formatUTCDayOfYear(d,p){return pad(1+d3Time.utcDay.count(d3Time.utcYear(d),d),p,3)}function formatUTCMilliseconds(d,p){return pad(d.getUTCMilliseconds(),p,3)}function formatUTCMonthNumber(d,p){return pad(d.getUTCMonth()+1,p,2)}function formatUTCMinutes(d,p){return pad(d.getUTCMinutes(),p,2)}function formatUTCSeconds(d,p){return pad(d.getUTCSeconds(),p,2)}function formatUTCWeekNumberSunday(d,p){return pad(d3Time.utcSunday.count(d3Time.utcYear(d),d),p,2)}function formatUTCWeekdayNumber(d){return d.getUTCDay()}function formatUTCWeekNumberMonday(d,p){return pad(d3Time.utcMonday.count(d3Time.utcYear(d),d),p,2)}function formatUTCYear(d,p){return pad(d.getUTCFullYear()%100,p,2)}function formatUTCFullYear(d,p){return pad(d.getUTCFullYear()%1e4,p,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatIsoNative(date){return date.toISOString()}function parseIsoNative(string){var date=new Date(string);return isNaN(date)?null:date}var version="0.3.2",pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,locale=locale$1({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"]}),caES=locale$1({dateTime:"%A, %e de %B de %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],shortDays:["dg.","dl.","dt.","dc.","dj.","dv.","ds."],months:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],shortMonths:["gen.","febr.","març","abr.","maig","juny","jul.","ag.","set.","oct.","nov.","des."]}),deCH=locale$1({dateTime:"%A, der %e. %B %Y, %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}),deDE=locale$1({dateTime:"%A, der %e. %B %Y, %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}),enCA=locale$1({dateTime:"%a %b %e %X %Y",date:"%Y-%m-%d",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"]}),enGB=locale$1({dateTime:"%a %e %b %X %Y",date:"%d/%m/%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"]}),esES=locale$1({dateTime:"%A, %e de %B de %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],shortDays:["dom","lun","mar","mié","jue","vie","sáb"],months:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],shortMonths:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"]}),fiFI=locale$1({dateTime:"%A, %-d. %Bta %Y klo %X",date:"%-d.%-m.%Y",time:"%H:%M:%S",periods:["a.m.","p.m."],days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],shortDays:["Su","Ma","Ti","Ke","To","Pe","La"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],shortMonths:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"]}),frCA=locale$1({dateTime:"%a %e %b %Y %X",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["",""],days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],shortDays:["dim","lun","mar","mer","jeu","ven","sam"],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],shortMonths:["jan","fév","mar","avr","mai","jui","jul","aoû","sep","oct","nov","déc"]}),frFR=locale$1({dateTime:"%A, le %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],shortDays:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],shortMonths:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."]}),heIL=locale$1({dateTime:"%A, %e ב%B %Y %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],shortDays:["א׳","ב׳","ג׳","ד׳","ה׳","ו׳","ש׳"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],shortMonths:["ינו׳","פבר׳","מרץ","אפר׳","מאי","יוני","יולי","אוג׳","ספט׳","אוק׳","נוב׳","דצמ׳"]}),huHU=locale$1({dateTime:"%Y. %B %-e., %A %X",date:"%Y. %m. %d.",time:"%H:%M:%S",periods:["de.","du."],days:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],shortDays:["V","H","K","Sze","Cs","P","Szo"],months:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],shortMonths:["jan.","feb.","már.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."]}),itIT=locale$1({dateTime:"%A %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],shortDays:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],shortMonths:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"]}),jaJP=locale$1({dateTime:"%Y %b %e %a %X",date:"%Y/%m/%d",time:"%H:%M:%S",periods:["AM","PM"],days:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],shortDays:["日","月","火","水","木","金","土"],months:["睦月","如月","弥生","卯月","皐月","水無月","文月","葉月","長月","神無月","霜月","師走"],shortMonths:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]}),koKR=locale$1({dateTime:"%Y/%m/%d %a %X",date:"%Y/%m/%d",time:"%H:%M:%S",periods:["오전","오후"],days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],shortDays:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],shortMonths:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]}),mkMK=locale$1({dateTime:"%A, %e %B %Y г. %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["недела","понеделник","вторник","среда","четврток","петок","сабота"],shortDays:["нед","пон","вто","сре","чет","пет","саб"],months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],shortMonths:["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек"]}),nlNL=locale$1({dateTime:"%a %e %B %Y %T",date:"%d-%m-%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],shortDays:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],shortMonths:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"]}),plPL=locale$1({dateTime:"%A, %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],shortDays:["Niedz.","Pon.","Wt.","Śr.","Czw.","Pt.","Sob."],months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],shortMonths:["Stycz.","Luty","Marz.","Kwie.","Maj","Czerw.","Lipc.","Sierp.","Wrz.","Paźdz.","Listop.","Grudz."]}),ptBR=locale$1({dateTime:"%A, %e de %B de %Y. %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],shortDays:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],shortMonths:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"]}),ruRU=locale$1({dateTime:"%A, %e %B %Y г. %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],shortDays:["вс","пн","вт","ср","чт","пт","сб"],months:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],shortMonths:["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек"]}),svSE=locale$1({dateTime:"%A den %d %B %Y %X",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["fm","em"],days:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],shortDays:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"]}),zhCN=locale$1({dateTime:"%x %A %X",date:"%Y年%-m月%-d日",time:"%H:%M:%S",periods:["上午","下午"],days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],shortDays:["周日","周一","周二","周三","周四","周五","周六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],shortMonths:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]}),isoSpecifier="%Y-%m-%dT%H:%M:%S.%LZ",formatIso=Date.prototype.toISOString?formatIsoNative:locale.utcFormat(isoSpecifier),parseIso=+new Date("2000-01-01T00:00:00.000Z")?parseIsoNative:locale.utcParse(isoSpecifier),timeFormat=locale.format,timeParse=locale.parse,utcFormat=locale.utcFormat,utcParse=locale.utcParse;exports.timeFormat=timeFormat,exports.timeParse=timeParse,exports.utcFormat=utcFormat,exports.utcParse=utcParse,exports.version=version,exports.timeFormatLocale=locale$1,exports.timeFormatCaEs=caES,exports.timeFormatDeCh=deCH,exports.timeFormatDeDe=deDE,exports.timeFormatEnCa=enCA,exports.timeFormatEnGb=enGB,exports.timeFormatEnUs=locale,exports.timeFormatEsEs=esES,exports.timeFormatFiFi=fiFI,exports.timeFormatFrCa=frCA,exports.timeFormatFrFr=frFR,exports.timeFormatHeIl=heIL,exports.timeFormatHuHu=huHU,exports.timeFormatItIt=itIT,exports.timeFormatJaJp=jaJP,exports.timeFormatKoKr=koKR,exports.timeFormatMkMk=mkMK,exports.timeFormatNlNl=nlNL,exports.timeFormatPlPl=plPL,exports.timeFormatPtBr=ptBR,exports.timeFormatRuRu=ruRU,exports.timeFormatSvSe=svSE,exports.timeFormatZhCn=zhCN,exports.isoFormat=formatIso,exports.isoParse=parseIso})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_commonProps=(__webpack_require__(5),__webpack_require__(47)),_commonProps2=_interopRequireDefault(_commonProps),ChartSvg=function(_Component){function ChartSvg(props){return _classCallCheck(this,ChartSvg),_possibleConstructorReturn(this,Object.getPrototypeOf(ChartSvg).call(this,props))}return _inherits(ChartSvg,_Component),_createClass(ChartSvg,[{key:"render",value:function(){var _this2=this,_props=this.props,height=_props.height,width=_props.width,margins=_props.margins,svgClassName=(_props.data,_props.svgClassName),id=_props.id,children=(_props.name,_props.value,_react2["default"].Children.map(this.props.children,function(el){return el?_react2["default"].cloneElement(el,_this2.props):null})),t="translate("+margins.left+", "+margins.top+")";return _react2["default"].createElement("svg",{height:height,width:width,className:svgClassName,id:id,ref:"svgContainer"},_react2["default"].createElement("g",{transform:t},children))}}]),ChartSvg}(_react.Component);ChartSvg.defaultProps=_extends({svgClassName:"react-d3-core__container_svg"},_commonProps2["default"]),ChartSvg.propTypes={id:_react.PropTypes.string,width:_react.PropTypes.number.isRequired,height:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,svgClassName:_react.PropTypes.string.isRequired},exports["default"]=ChartSvg},function(module,exports,__webpack_require__){(function(d3){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_commonProps=__webpack_require__(47),_commonProps2=_interopRequireDefault(_commonProps),_reactD3Core=__webpack_require__(5),_reactDom=__webpack_require__(58),_reactDom2=_interopRequireDefault(_reactDom),Brush=function(_Component){function Brush(props){_classCallCheck(this,Brush);var _this=_possibleConstructorReturn(this,Object.getPrototypeOf(Brush).call(this,props));return _this.state={xBrushScaleSet:_this._mkXScale(props)},_this}return _inherits(Brush,_Component),_createClass(Brush,[{key:"_mkXScale",value:function(props){var xScale=props.xScale,xRange=props.xRange,xDomain=props.xDomain,xRangeRoundBands=props.xRangeRoundBands,newXScale={scale:xScale,range:xRange,domain:xDomain,rangeRoundBands:xRangeRoundBands};return(0,_reactD3Core.scale)(newXScale)}},{key:"componentWillReceiveProps",value:function(nextProps){this.state={xBrushScaleSet:this._mkXScale(nextProps)}}},{key:"componentDidUpdate",value:function(){this._updateBrush()}},{key:"componentDidMount",value:function(){this._updateBrush()}},{key:"_updateBrush",value:function(){var _this2=this,_state=this.state,xBrushScaleSet=_state.xBrushScaleSet,_props=(_state.yBrushScaleSet,this.props),height=_props.height,margins=_props.margins,brushExtent=_props.brushExtent,keepBrushOn=_props.keepBrushOn,onBrushDomainChange=_props.onBrushDomainChange,brushStyle=_props.brushStyle,brush=d3.svg.brush().x(xBrushScaleSet);brushExtent&&(brush=brush.extent(brushExtent)),brush=brush.on("brushend",function(){var newDomain=brush.empty()?xBrushScaleSet.domain():brush.extent();newDomain.length&&(onBrushDomainChange("x",newDomain),keepBrushOn||d3.select(_reactDom2["default"].findDOMNode(_this2.refs.brushRect)).call(brush.clear()))});var brushDom=d3.select(_reactDom2["default"].findDOMNode(this.refs.brushRect)).call(brush).selectAll("rect").attr("y",-4).attr("height",height-margins.bottom-margins.top+3);if(brushStyle)for(var key in brushStyle)brushDom.style(key,brushStyle[key]);else brushDom.style("fill","#DDD").style("fill-opacity",.75).style("shape-rendering","crispEdges")}},{key:"render",value:function(){return _react2["default"].createElement("g",{ref:"brushRect",className:"react-d3-basic__brush__rect"})}}]),Brush}(_react.Component);Brush.defaultProps=_commonProps2["default"],exports["default"]=Brush}).call(exports,__webpack_require__(2))},function(module,exports){module.exports=ReactDOM},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key]); -}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_reactD3Core=__webpack_require__(5),_chart=__webpack_require__(3),_chart2=_interopRequireDefault(_chart),_straightLine=__webpack_require__(60),_straightLine2=_interopRequireDefault(_straightLine),BlankChart=function(_Component){function BlankChart(props){return _classCallCheck(this,BlankChart),_possibleConstructorReturn(this,Object.getPrototypeOf(BlankChart).call(this,props))}return _inherits(BlankChart,_Component),_createClass(BlankChart,[{key:"renderNoDataTitle",value:function(x,y,textValue){return _react2["default"].createElement("g",null,_react2["default"].createElement("text",{className:"chartNoData",x:x,y:y},textValue))}},{key:"render",value:function(){var xgrid,ygrid,textXMargin,textYMargin,_props=this.props,width=_props.width,height=_props.height,margins=_props.margins,showXGrid=_props.showXGrid,showYGrid=_props.showYGrid,noDataTitleText=(_props.xDomain,_props.noDataTitleText);_props.yTicks;return showXGrid&&(xgrid=_react2["default"].createElement(_reactD3Core.Xgrid,this.props)),showYGrid&&(ygrid=_react2["default"].createElement(_reactD3Core.Ygrid,this.props)),textXMargin=width/2-margins.right,textYMargin=height/2-margins.bottom,_react2["default"].createElement(_chart2["default"],_extends({width:width,height:height},this.props),_react2["default"].createElement(_straightLine2["default"],_extends({x1:-20,y1:0,x2:width-margins.right,y2:0},this.props)),xgrid,ygrid,_react2["default"].createElement(_reactD3Core.Xaxis,this.props),_react2["default"].createElement(_reactD3Core.Yaxis,this.props),_react2["default"].createElement(_straightLine2["default"],_extends({x1:-20,y1:height-margins.top-margins.bottom,x2:width-100,y2:height-margins.top-margins.bottom},this.props)),noDataTitleText?this.renderNoDataTitle(textXMargin,textYMargin,noDataTitleText):null)}}]),BlankChart}(_react.Component);BlankChart.defaultProps={showXGrid:!0,showYGrid:!1,xDomain:[0,10],yDomain:[0],yTicks:[0],noDataTitleText:""},exports["default"]=BlankChart},function(module,exports,__webpack_require__){(function(d3){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_reactDom=__webpack_require__(58),_reactDom2=_interopRequireDefault(_reactDom),StraightLine=function(_Component){function StraightLine(props){return _classCallCheck(this,StraightLine),_possibleConstructorReturn(this,Object.getPrototypeOf(StraightLine).call(this,props))}return _inherits(StraightLine,_Component),_createClass(StraightLine,[{key:"componentDidMount",value:function(){this.getLine()}},{key:"componentDidUpdate",value:function(){this.line&&this.line.attr("width",this.props.width-this.props.margins.left-this.props.margins.right)}},{key:"getLine",value:function(){var _props=this.props,x1=_props.x1,x2=_props.x2,y1=_props.y1,y2=_props.y2;_props.width,_props.height;return this.line=d3.select(_reactDom2["default"].findDOMNode(this.refs.StLine)).append("line").attr("x1",x1).attr("y1",y1).attr("x2",x2).attr("y2",y2),this.line}},{key:"render",value:function(){return _react2["default"].createElement("g",{ref:"StLine",className:"straight-line"}," ")}}]),StraightLine}(_react.Component);StraightLine.defaultProps={showXGrid:!0,showYGrid:!1},exports["default"]=StraightLine}).call(exports,__webpack_require__(2))},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d3Shape=__webpack_require__(62),_d3Shape2=_interopRequireDefault(_d3Shape),_commonProps=__webpack_require__(47),_commonProps2=_interopRequireDefault(_commonProps),_series=__webpack_require__(1),Line=function(_Component){function Line(props){return _classCallCheck(this,Line),_possibleConstructorReturn(this,Object.getPrototypeOf(Line).call(this,props))}return _inherits(Line,_Component),_createClass(Line,[{key:"_mkLine",value:function(dom){var lineClassName=this.props.lineClassName,dataset=(0,_series.series)(this.props),that=this;return _react2["default"].createElement("g",null,dataset.map(function(line,i){return _react2["default"].createElement("path",{stroke:line.color,fill:"none",className:lineClassName+" line",d:that._setAxes(line.data),style:line.style,key:i})}))}},{key:"_setAxes",value:function(data){var _props=this.props,xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,line=_d3Shape2["default"].line().x(function(d){return xScaleSet(d.x)}).y(function(d){return yScaleSet(d.y)});return line.call(this,data)}},{key:"render",value:function(){var line=this._mkLine();return _react2["default"].createElement("g",null,line)}}]),Line}(_react.Component);Line.defaultProps=_extends({interpolate:null,lineClassName:"react-d3-basic__line"},_commonProps2["default"]),exports["default"]=Line},function(module,exports,__webpack_require__){!function(global,factory){factory(exports,__webpack_require__(63))}(this,function(exports,d3Path){"use strict";function constant(x){return function(){return x}}function arcInnerRadius(d){return d.innerRadius}function arcOuterRadius(d){return d.outerRadius}function arcStartAngle(d){return d.startAngle}function arcEndAngle(d){return d.endAngle}function arcPadAngle(d){return d&&d.padAngle}function asin(x){return x>=1?halfPi:-1>=x?-halfPi:Math.asin(x)}function intersect(x0,y0,x1,y1,x2,y2,x3,y3){var x10=x1-x0,y10=y1-y0,x32=x3-x2,y32=y3-y2,t=(x32*(y0-y2)-y32*(x0-x2))/(y32*x10-x32*y10);return[x0+t*x10,y0+t*y10]}function cornerTangents(x0,y0,x1,y1,r1,rc,cw){var x01=x0-x1,y01=y0-y1,lo=(cw?rc:-rc)/Math.sqrt(x01*x01+y01*y01),ox=lo*y01,oy=-lo*x01,x11=x0+ox,y11=y0+oy,x10=x1+ox,y10=y1+oy,x00=(x11+x10)/2,y00=(y11+y10)/2,dx=x10-x11,dy=y10-y11,d2=dx*dx+dy*dy,r=r1-rc,D=x11*y10-x10*y11,d=(0>dy?-1:1)*Math.sqrt(Math.max(0,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-x00,dy0=cy0-y00,dx1=cx1-x00,dy1=cy1-y00;return dx0*dx0+dy0*dy0>dx1*dx1+dy1*dy1&&(cx0=cx1,cy0=cy1),{cx:cx0,cy:cy0,x01:-ox,y01:-oy,x11:cx0*(r1/r-1),y11:cy0*(r1/r-1)}}function arc(){function arc(){var buffer,r,r0=+innerRadius.apply(this,arguments),r1=+outerRadius.apply(this,arguments),a0=startAngle.apply(this,arguments)-halfPi,a1=endAngle.apply(this,arguments)-halfPi,da=Math.abs(a1-a0),cw=a1>a0;if(context||(context=buffer=d3Path.path()),r0>r1&&(r=r1,r1=r0,r0=r),r1>epsilon)if(da>tau-epsilon)context.moveTo(r1*Math.cos(a0),r1*Math.sin(a0)),context.arc(0,0,r1,a0,a1,!cw),r0>epsilon&&(context.moveTo(r0*Math.cos(a1),r0*Math.sin(a1)),context.arc(0,0,r0,a1,a0,cw));else{var t0,t1,a01=a0,a11=a1,a00=a0,a10=a1,da0=da,da1=da,ap=padAngle.apply(this,arguments)/2,rp=ap>epsilon&&(padRadius?+padRadius.apply(this,arguments):Math.sqrt(r0*r0+r1*r1)),rc=Math.min(Math.abs(r1-r0)/2,+cornerRadius.apply(this,arguments)),rc0=rc,rc1=rc;if(rp>epsilon){var p0=asin(rp/r0*Math.sin(ap)),p1=asin(rp/r1*Math.sin(ap));(da0-=2*p0)>epsilon?(p0*=cw?1:-1,a00+=p0,a10-=p0):(da0=0,a00=a10=(a0+a1)/2),(da1-=2*p1)>epsilon?(p1*=cw?1:-1,a01+=p1,a11-=p1):(da1=0,a01=a11=(a0+a1)/2)}var x01=r1*Math.cos(a01),y01=r1*Math.sin(a01),x10=r0*Math.cos(a10),y10=r0*Math.sin(a10);if(rc>epsilon){var x11=r1*Math.cos(a11),y11=r1*Math.sin(a11),x00=r0*Math.cos(a00),y00=r0*Math.sin(a00);if(pi>da){var oc=da0>epsilon?intersect(x01,y01,x00,y00,x11,y11,x10,y10):[x10,y10],ax=x01-oc[0],ay=y01-oc[1],bx=x11-oc[0],by=y11-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]);rc0=Math.min(rc,(r0-lc)/(kc-1)),rc1=Math.min(rc,(r1-lc)/(kc+1))}}da1>epsilon?rc1>epsilon?(t0=cornerTangents(x00,y00,x01,y01,r1,rc1,cw),t1=cornerTangents(x11,y11,x10,y10,r1,rc1,cw),context.moveTo(t0.cx+t0.x01,t0.cy+t0.y01),rc>rc1?context.arc(t0.cx,t0.cy,rc1,Math.atan2(t0.y01,t0.x01),Math.atan2(t1.y01,t1.x01),!cw):(context.arc(t0.cx,t0.cy,rc1,Math.atan2(t0.y01,t0.x01),Math.atan2(t0.y11,t0.x11),!cw),context.arc(0,0,r1,Math.atan2(t0.cy+t0.y11,t0.cx+t0.x11),Math.atan2(t1.cy+t1.y11,t1.cx+t1.x11),!cw),context.arc(t1.cx,t1.cy,rc1,Math.atan2(t1.y11,t1.x11),Math.atan2(t1.y01,t1.x01),!cw))):(context.moveTo(x01,y01),context.arc(0,0,r1,a01,a11,!cw)):context.moveTo(x01,y01),r0>epsilon&&da0>epsilon?rc0>epsilon?(t0=cornerTangents(x10,y10,x11,y11,r0,-rc0,cw),t1=cornerTangents(x01,y01,x00,y00,r0,-rc0,cw),context.lineTo(t0.cx+t0.x01,t0.cy+t0.y01),rc>rc0?context.arc(t0.cx,t0.cy,rc0,Math.atan2(t0.y01,t0.x01),Math.atan2(t1.y01,t1.x01),!cw):(context.arc(t0.cx,t0.cy,rc0,Math.atan2(t0.y01,t0.x01),Math.atan2(t0.y11,t0.x11),!cw),context.arc(0,0,r0,Math.atan2(t0.cy+t0.y11,t0.cx+t0.x11),Math.atan2(t1.cy+t1.y11,t1.cx+t1.x11),cw),context.arc(t1.cx,t1.cy,rc0,Math.atan2(t1.y11,t1.x11),Math.atan2(t1.y01,t1.x01),!cw))):context.arc(0,0,r0,a10,a00,cw):context.lineTo(x10,y10)}else context.moveTo(0,0);return context.closePath(),buffer?(context=null,buffer+""||null):void 0}var innerRadius=arcInnerRadius,outerRadius=arcOuterRadius,cornerRadius=constant(0),padRadius=null,startAngle=arcStartAngle,endAngle=arcEndAngle,padAngle=arcPadAngle,context=null;return arc.centroid=function(){var r=(+innerRadius.apply(this,arguments)+ +outerRadius.apply(this,arguments))/2,a=(+startAngle.apply(this,arguments)+ +endAngle.apply(this,arguments))/2-pi/2;return[Math.cos(a)*r,Math.sin(a)*r]},arc.innerRadius=function(_){return arguments.length?(innerRadius="function"==typeof _?_:constant(+_),arc):innerRadius},arc.outerRadius=function(_){return arguments.length?(outerRadius="function"==typeof _?_:constant(+_),arc):outerRadius},arc.cornerRadius=function(_){return arguments.length?(cornerRadius="function"==typeof _?_:constant(+_),arc):cornerRadius},arc.padRadius=function(_){return arguments.length?(padRadius=null==_?null:"function"==typeof _?_:constant(+_),arc):padRadius},arc.startAngle=function(_){return arguments.length?(startAngle="function"==typeof _?_:constant(+_),arc):startAngle},arc.endAngle=function(_){return arguments.length?(endAngle="function"==typeof _?_:constant(+_),arc):endAngle},arc.padAngle=function(_){return arguments.length?(padAngle="function"==typeof _?_:constant(+_),arc):padAngle},arc.context=function(_){return arguments.length?(context=null==_?null:_,arc):context},arc}function bind(curve,args){return args.length<2?curve:(args=slice.call(args),args[0]=null,function(context){return args[0]=context,curve.apply(null,args)})}function Linear(context){this._context=context}function curveLinear(context){return new Linear(context)}function x(p){return p[0]}function y(p){return p[1]}function area(){function area(data){var i,j,k,d,buffer,n=data.length,defined0=!1,x0z=new Array(n),y0z=new Array(n);for(context||(output=curve(buffer=d3Path.path())),i=0;n>=i;++i){if(!(n>i&&defined(d=data[i],i,data))===defined0)if(defined0=!defined0)j=i,output.areaStart(),output.lineStart();else{for(output.lineEnd(),output.lineStart(),k=i-1;k>=j;--k)output.point(x0z[k],y0z[k]);output.lineEnd(),output.areaEnd()}defined0&&(x0z[i]=+x0(d,i,data),y0z[i]=+y0(d,i,data),output.point(x1?+x1(d,i,data):x0z[i],y1?+y1(d,i,data):y0z[i]))}return buffer?(output=null,buffer+""||null):void 0}var x0=x,x1=null,y0=constant(0),y1=y,defined=constant(!0),context=null,curve=curveLinear,output=null;return area.x=function(_){return arguments.length?(x0="function"==typeof _?_:constant(+_),x1=null,area):x0},area.x0=function(_){return arguments.length?(x0="function"==typeof _?_:constant(+_),area):x0},area.x1=function(_){return arguments.length?(x1=null==_?null:"function"==typeof _?_:constant(+_),area):x1},area.y=function(_){return arguments.length?(y0="function"==typeof _?_:constant(+_),y1=null,area):y0},area.y0=function(_){return arguments.length?(y0="function"==typeof _?_:constant(+_),area):y0},area.y1=function(_){return arguments.length?(y1=null==_?null:"function"==typeof _?_:constant(+_),area):y1},area.defined=function(_){return arguments.length?(defined="function"==typeof _?_:constant(!!_),area):defined},area.curve=function(_){return arguments.length?(curve=bind(_,arguments),null!=context&&(output=curve(context)),area):curve},area.context=function(_){return arguments.length?(null==_?context=output=null:output=curve(context=_),area):context},area}function line(){function line(data){var i,d,buffer,n=data.length,defined0=!1;for(context||(output=curve(buffer=d3Path.path())),i=0;n>=i;++i)!(n>i&&defined(d=data[i],i,data))===defined0&&((defined0=!defined0)?output.lineStart():output.lineEnd()),defined0&&output.point(+x$$(d,i,data),+y$$(d,i,data));return buffer?(output=null,buffer+""||null):void 0}var x$$=x,y$$=y,defined=constant(!0),context=null,curve=curveLinear,output=null;return line.x=function(_){return arguments.length?(x$$="function"==typeof _?_:constant(+_),line):x$$},line.y=function(_){return arguments.length?(y$$="function"==typeof _?_:constant(+_),line):y$$},line.defined=function(_){return arguments.length?(defined="function"==typeof _?_:constant(!!_),line):defined},line.curve=function(_){return arguments.length?(curve=bind(_,arguments),null!=context&&(output=curve(context)),line):curve},line.context=function(_){return arguments.length?(null==_?context=output=null:output=curve(context=_),line):context},line}function descending$1(a,b){return a>b?-1:b>a?1:b>=a?0:NaN}function identity(d){return d}function pie(){function pie(data){var i,j,k,a1,v,n=data.length,sum=0,index=new Array(n),arcs=new Array(n),a0=+startAngle.apply(this,arguments),da=Math.min(tau,Math.max(-tau,endAngle.apply(this,arguments)-a0)),p=Math.min(Math.abs(da)/n,padAngle.apply(this,arguments)),pa=p*(0>da?-1:1);for(i=0;n>i;++i)(v=arcs[index[i]=i]=+value(data[i],i,data))>0&&(sum+=v);for(null!=sortValues?index.sort(function(i,j){return sortValues(arcs[i],arcs[j])}):null!==sort&&index.sort(function(i,j){return sort(data[i],data[j])}),i=0,k=sum?(da-n*pa)/sum:0;n>i;++i,a0=a1)j=index[i],v=arcs[j],a1=a0+(v>0?v*k:0)+pa,arcs[j]={data:data[j],index:i,value:v,startAngle:a0,endAngle:a1,padAngle:p};return arcs}var value=identity,sortValues=descending$1,sort=null,startAngle=constant(0),endAngle=constant(tau),padAngle=constant(0);return pie.value=function(_){return arguments.length?(value="function"==typeof _?_:constant(+_),pie):value},pie.sortValues=function(_){return arguments.length?(sortValues=_,sort=null,pie):sortValues},pie.sort=function(_){return arguments.length?(sort=_,sortValues=null,pie):sort},pie.startAngle=function(_){return arguments.length?(startAngle="function"==typeof _?_:constant(+_),pie):startAngle},pie.endAngle=function(_){return arguments.length?(endAngle="function"==typeof _?_:constant(+_),pie):endAngle},pie.padAngle=function(_){return arguments.length?(padAngle="function"==typeof _?_:constant(+_),pie):padAngle},pie}function Radial(curve){this._curve=curve}function curveRadial(curve,args){function radial(context){return new Radial(curve(context))}return curve=bind(curve,args),radial._curve=curve,radial}function radialArea(){var a=area(),c=a.curve;return a.angle=a.x,delete a.x,a.startAngle=a.x0,delete a.x0,a.endAngle=a.x1,delete a.x1,a.radius=a.y,delete a.y,a.innerRadius=a.y0,delete a.y0,a.outerRadius=a.y1,delete a.y1,a.curve=function(_){return arguments.length?c(curveRadial(_,arguments)):c()._curve},a.curve(curveLinear)}function radialLine(){var l=line(),c=l.curve;return l.angle=l.x,delete l.x,l.radius=l.y,delete l.y,l.curve=function(_){return arguments.length?c(curveRadial(_,arguments)):c()._curve},l.curve(curveLinear)}function symbol(){function symbol(){var buffer;return context||(context=buffer=d3Path.path()),type.apply(this,arguments).draw(context,+size.apply(this,arguments)),buffer?(context=null,buffer+""||null):void 0}var type=constant(circle),size=constant(64),context=null;return symbol.type=function(_){return arguments.length?(type="function"==typeof _?_:constant(_),symbol):type},symbol.size=function(_){return arguments.length?(size="function"==typeof _?_:constant(+_),symbol):size},symbol.context=function(_){return arguments.length?(context=null==_?null:_,symbol):context},symbol}function noop(){}function point(that,x,y){that._context.bezierCurveTo((2*that._x0+that._x1)/3,(2*that._y0+that._y1)/3,(that._x0+2*that._x1)/3,(that._y0+2*that._y1)/3,(that._x0+4*that._x1+x)/6,(that._y0+4*that._y1+y)/6)}function Basis(context){this._context=context}function basis(context){return new Basis(context)}function BasisClosed(context){this._context=context}function basisClosed(context){return new BasisClosed(context)}function BasisOpen(context){this._context=context}function basisOpen(context){return new BasisOpen(context)}function Bundle(context,beta){this._basis=basis(context),this._beta=beta}function bundle(context,beta){return null==beta?new Bundle(context,.85):1===(beta=+beta)?basis(context):new Bundle(context,beta)}function point$1(that,x,y){that._context.bezierCurveTo(that._x1+that._k*(that._x2-that._x0),that._y1+that._k*(that._y2-that._y0),that._x2+that._k*(that._x1-x),that._y2+that._k*(that._y1-y),that._x2,that._y2)}function Cardinal(context,k){this._context=context,this._k=k}function cardinal(context,tension){return new Cardinal(context,(null==tension?1:1-tension)/6)}function CardinalClosed(context,k){this._context=context,this._k=k}function cardinalClosed(context,tension){return new CardinalClosed(context,(null==tension?1:1-tension)/6)}function CardinalOpen(context,k){this._context=context,this._k=k}function cardinalOpen(context,tension){return new CardinalOpen(context,(null==tension?1:1-tension)/6)}function point$2(that,x,y){var x1=that._x1,y1=that._y1,x2=that._x2,y2=that._y2;if(that._l01_a>epsilon){var a=2*that._l01_2a+3*that._l01_a*that._l12_a+that._l12_2a,n=3*that._l01_a*(that._l01_a+that._l12_a);x1=(x1*a-that._x0*that._l12_2a+that._x2*that._l01_2a)/n,y1=(y1*a-that._y0*that._l12_2a+that._y2*that._l01_2a)/n}if(that._l23_a>epsilon){var b=2*that._l23_2a+3*that._l23_a*that._l12_a+that._l12_2a,m=3*that._l23_a*(that._l23_a+that._l12_a);x2=(x2*b+that._x1*that._l23_2a-x*that._l12_2a)/m,y2=(y2*b+that._y1*that._l23_2a-y*that._l12_2a)/m}that._context.bezierCurveTo(x1,y1,x2,y2,that._x2,that._y2)}function CatmullRom(context,alpha){this._context=context,this._alpha=alpha}function catmullRom(context,alpha){return(alpha=null==alpha?.5:+alpha)?new CatmullRom(context,alpha):cardinal(context,0)}function CatmullRomClosed(context,alpha){this._context=context,this._alpha=alpha}function catmullRomClosed(context,alpha){return(alpha=null==alpha?.5:+alpha)?new CatmullRomClosed(context,alpha):cardinalClosed(context,0)}function CatmullRomOpen(context,alpha){this._context=context,this._alpha=alpha}function catmullRomOpen(context,alpha){return(alpha=null==alpha?.5:+alpha)?new CatmullRomOpen(context,alpha):cardinalOpen(context,0)}function LinearClosed(context){this._context=context}function linearClosed(context){return new LinearClosed(context)}function sign(x){return 0>x?-1:1}function slope3(that,x2,y2){var h0=that._x1-that._x0,h1=x2-that._x1,s0=(that._y1-that._y0)/(h0||0>h1&&-0),s1=(y2-that._y1)/(h1||0>h0&&-0),p=(s0*h1+s1*h0)/(h0+h1);return(sign(s0)+sign(s1))*Math.min(Math.abs(s0),Math.abs(s1),.5*Math.abs(p))||0}function slope2(that,t){var h=that._x1-that._x0;return h?(3*(that._y1-that._y0)/h-t)/2:t}function point$3(that,t0,t1){var x0=that._x0,y0=that._y0,x1=that._x1,y1=that._y1,dx=(x1-x0)/3;that._context.bezierCurveTo(x0+dx,y0+dx*t0,x1-dx,y1-dx*t1,x1,y1)}function MonotoneX(context){this._context=context}function MonotoneY(context){this._context=new ReflectContext(context)}function ReflectContext(context){this._context=context}function monotoneX(context){return new MonotoneX(context)}function monotoneY(context){return new MonotoneY(context)}function Natural(context){this._context=context}function controlPoints(x){var i,m,n=x.length-1,a=new Array(n),b=new Array(n),r=new Array(n);for(a[0]=0,b[0]=2,r[0]=x[0]+2*x[1],i=1;n-1>i;++i)a[i]=1,b[i]=4,r[i]=4*x[i]+2*x[i+1];for(a[n-1]=2,b[n-1]=7,r[n-1]=8*x[n-1]+x[n],i=1;n>i;++i)m=a[i]/b[i-1],b[i]-=m,r[i]-=m*r[i-1];for(a[n-1]=r[n-1]/b[n-1],i=n-2;i>=0;--i)a[i]=(r[i]-a[i+1])/b[i];for(b[n-1]=(x[n]+a[n-1])/2,i=0;n-1>i;++i)b[i]=2*x[i+1]-a[i+1];return[a,b]}function natural(context){return new Natural(context)}function Step(context,t){this._context=context,this._t=t}function step(context){return new Step(context,.5)}function stepBefore(context){return new Step(context,0)}function stepAfter(context){return new Step(context,1)}function none(series,order){if((n=series.length)>1)for(var s0,n,i=1,s1=series[order[0]],m=s1.length;n>i;++i){s0=s1,s1=series[order[i]];for(var j=0;m>j;++j)s1[j][1]+=s1[j][0]=isNaN(s0[j][1])?s0[j][0]:s0[j][1]}}function none$1(series){for(var n=series.length,o=new Array(n);--n>=0;)o[n]=n;return o}function stackValue(d,key){return d[key]}function stack(){function stack(data){var i,oz,kz=keys.apply(this,arguments),m=data.length,n=kz.length,sz=new Array(n);for(i=0;n>i;++i){for(var sij,ki=kz[i],si=sz[i]=new Array(m),j=0;m>j;++j)si[j]=sij=[0,+value(data[j],ki,j,data)],sij.data=data[j];si.key=ki}for(i=0,oz=order(sz);n>i;++i)sz[oz[i]].index=i;return offset(sz,oz),sz}var keys=constant([]),order=none$1,offset=none,value=stackValue;return stack.keys=function(_){return arguments.length?(keys="function"==typeof _?_:constant(slice$1.call(_)),stack):keys},stack.value=function(_){return arguments.length?(value="function"==typeof _?_:constant(+_),stack):value},stack.order=function(_){return arguments.length?(order=null==_?none$1:"function"==typeof _?_:constant(slice$1.call(_)),stack):order},stack.offset=function(_){return arguments.length?(offset=null==_?none:_,stack):offset},stack}function expand(series,order){if((n=series.length)>0){for(var i,n,y,j=0,m=series[0].length;m>j;++j){for(y=i=0;n>i;++i)y+=series[i][j][1]||0;if(y)for(i=0;n>i;++i)series[i][j][1]/=y}none(series,order)}}function silhouette(series,order){if((n=series.length)>0){for(var n,j=0,s0=series[order[0]],m=s0.length;m>j;++j){for(var i=0,y=0;n>i;++i)y+=series[i][j][1]||0;s0[j][1]+=s0[j][0]=-y/2}none(series,order)}}function wiggle(series,order){if((n=series.length)>0&&(m=(s0=series[order[0]]).length)>0){for(var s0,m,n,y=0,j=1;m>j;++j){for(var i=0,s1=0,s2=0;n>i;++i){for(var si=series[order[i]],sij0=si[j][1]||0,sij1=si[j-1][1]||0,s3=(sij0-sij1)/2,k=0;i>k;++k){var sk=series[order[k]],skj0=sk[j][1]||0,skj1=sk[j-1][1]||0;s3+=skj0-skj1}s1+=sij0,s2+=s3*sij0}s0[j-1][1]+=s0[j-1][0]=y,s1&&(y-=s2/s1)}s0[j-1][1]+=s0[j-1][0]=y,none(series,order)}}function ascending(series){var sums=series.map(sum);return none$1(series).sort(function(a,b){return sums[a]-sums[b]})}function sum(series){for(var v,s=0,i=-1,n=series.length;++i<n;)(v=+series[i][1])&&(s+=v);return s}function descending(series){return ascending(series).reverse()}function insideOut(series){var i,j,n=series.length,sums=series.map(sum),order=none$1(series).sort(function(a,b){return sums[b]-sums[a]}),top=0,bottom=0,tops=[],bottoms=[];for(i=0;n>i;++i)j=order[i],bottom>top?(top+=sums[j],tops.push(j)):(bottom+=sums[j],bottoms.push(j));return bottoms.reverse().concat(tops)}function reverse(series){return none$1(series).reverse()}var epsilon=1e-12,pi=Math.PI,halfPi=pi/2,tau=2*pi,slice=Array.prototype.slice;Linear.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;default:this._context.lineTo(x,y)}}},Radial.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(a,r){a-=halfPi,this._curve.point(r*Math.cos(a),r*Math.sin(a))}};var circle={draw:function(context,size){var r=Math.sqrt(size/pi);context.moveTo(r,0),context.arc(0,0,r,0,tau)}},cross={draw:function(context,size){var r=Math.sqrt(size/5)/2;context.moveTo(-3*r,-r),context.lineTo(-r,-r),context.lineTo(-r,-3*r),context.lineTo(r,-3*r),context.lineTo(r,-r),context.lineTo(3*r,-r),context.lineTo(3*r,r),context.lineTo(r,r),context.lineTo(r,3*r),context.lineTo(-r,3*r),context.lineTo(-r,r),context.lineTo(-3*r,r),context.closePath()}},tan30=Math.sqrt(1/3),tan30_2=2*tan30,diamond={draw:function(context,size){var y=Math.sqrt(size/tan30_2),x=y*tan30;context.moveTo(0,-y),context.lineTo(x,0),context.lineTo(0,y),context.lineTo(-x,0),context.closePath()}},ka=.8908130915292852,kr=Math.sin(pi/10)/Math.sin(7*pi/10),kx=Math.sin(tau/10)*kr,ky=-Math.cos(tau/10)*kr,star={draw:function(context,size){var r=Math.sqrt(size*ka),x=kx*r,y=ky*r;context.moveTo(0,-r),context.lineTo(x,y);for(var i=1;5>i;++i){var a=tau*i/5,c=Math.cos(a),s=Math.sin(a);context.lineTo(s*r,-c*r),context.lineTo(c*x-s*y,s*x+c*y)}context.closePath()}},square={draw:function(context,size){var w=Math.sqrt(size),x=-w/2;context.rect(x,x,w,w)}},sqrt3=Math.sqrt(3),triangle={draw:function(context,size){var y=-Math.sqrt(size/(3*sqrt3));context.moveTo(0,2*y),context.lineTo(-sqrt3*y,-y),context.lineTo(sqrt3*y,-y),context.closePath()}},c=-.5,s=Math.sqrt(3)/2,k=1/Math.sqrt(12),a=3*(k/2+1),wye={draw:function(context,size){var r=Math.sqrt(size/a),x0=r/2,y0=r*k,x1=x0,y1=r*k+r,x2=-x1,y2=y1;context.moveTo(x0,y0),context.lineTo(x1,y1),context.lineTo(x2,y2),context.lineTo(c*x0-s*y0,s*x0+c*y0),context.lineTo(c*x1-s*y1,s*x1+c*y1),context.lineTo(c*x2-s*y2,s*x2+c*y2),context.lineTo(c*x0+s*y0,c*y0-s*x0),context.lineTo(c*x1+s*y1,c*y1-s*x1),context.lineTo(c*x2+s*y2,c*y2-s*x2),context.closePath()}},symbols=[circle,cross,diamond,square,star,triangle,wye];Basis.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:point(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:point(this,x,y)}this._x0=this._x1,this._x1=x,this._y0=this._y1,this._y1=y}},BasisClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._x2=x,this._y2=y;break;case 1:this._point=2,this._x3=x,this._y3=y;break;case 2:this._point=3,this._x4=x,this._y4=y,this._context.moveTo((this._x0+4*this._x1+x)/6,(this._y0+4*this._y1+y)/6);break;default:point(this,x,y)}this._x0=this._x1,this._x1=x,this._y0=this._y1,this._y1=y}},BasisOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var x0=(this._x0+4*this._x1+x)/6,y0=(this._y0+4*this._y1+y)/6;this._line?this._context.lineTo(x0,y0):this._context.moveTo(x0,y0);break;case 3:this._point=4;default:point(this,x,y)}this._x0=this._x1,this._x1=x,this._y0=this._y1,this._y1=y}},Bundle.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var x=this._x,y=this._y,j=x.length-1; -if(j>0)for(var t,x0=x[0],y0=y[0],dx=x[j]-x0,dy=y[j]-y0,i=-1;++i<=j;)t=i/j,this._basis.point(this._beta*x[i]+(1-this._beta)*(x0+t*dx),this._beta*y[i]+(1-this._beta)*(y0+t*dy));this._x=this._y=null,this._basis.lineEnd()},point:function(x,y){this._x.push(+x),this._y.push(+y)}},Cardinal.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:point$1(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2,this._x1=x,this._y1=y;break;case 2:this._point=3;default:point$1(this,x,y)}this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CardinalClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._x3=x,this._y3=y;break;case 1:this._point=2,this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3,this._x5=x,this._y5=y;break;default:point$1(this,x,y)}this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CardinalOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$1(this,x,y)}this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CatmullRom.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this,this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){if(x=+x,y=+y,this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3;default:point$2(this,x,y)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CatmullRomClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(x,y){if(x=+x,y=+y,this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=x,this._y3=y;break;case 1:this._point=2,this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3,this._x5=x,this._y5=y;break;default:point$2(this,x,y)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CatmullRomOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){if(x=+x,y=+y,this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$2(this,x,y)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},LinearClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(x,y){x=+x,y=+y,this._point?this._context.lineTo(x,y):(this._point=1,this._context.moveTo(x,y))}},MonotoneX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:point$3(this,this._t0,slope2(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){var t1=NaN;if(x=+x,y=+y,x!==this._x1||y!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3,point$3(this,slope2(this,t1=slope3(this,x,y)),t1);break;default:point$3(this,this._t0,t1=slope3(this,x,y))}this._x0=this._x1,this._x1=x,this._y0=this._y1,this._y1=y,this._t0=t1}}},(MonotoneY.prototype=Object.create(MonotoneX.prototype)).point=function(x,y){MonotoneX.prototype.point.call(this,y,x)},ReflectContext.prototype={moveTo:function(x,y){this._context.moveTo(y,x)},closePath:function(){this._context.closePath()},lineTo:function(x,y){this._context.lineTo(y,x)},bezierCurveTo:function(x1,y1,x2,y2,x,y){this._context.bezierCurveTo(y1,x1,y2,x2,y,x)}},Natural.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var x=this._x,y=this._y,n=x.length;if(n)if(this._line?this._context.lineTo(x[0],y[0]):this._context.moveTo(x[0],y[0]),2===n)this._context.lineTo(x[1],y[1]);else for(var px=controlPoints(x),py=controlPoints(y),i0=0,i1=1;n>i1;++i0,++i1)this._context.bezierCurveTo(px[0][i0],py[0][i0],px[1][i0],py[1][i0],x[i1],y[i1]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(x,y){this._x.push(+x),this._y.push(+y)}},Step.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;default:var t=x>this._x?this._t:1-this._t;if(0>=t)this._context.lineTo(this._x,y),this._context.lineTo(x,y);else if(t>=1)this._context.lineTo(x,this._y),this._context.lineTo(x,y);else{var x1=(this._x+x)*t;this._context.lineTo(x1,this._y),this._context.lineTo(x1,y)}}this._x=x,this._y=y}};var slice$1=Array.prototype.slice,version="0.5.1";exports.version=version,exports.arc=arc,exports.area=area,exports.line=line,exports.pie=pie,exports.radialArea=radialArea,exports.radialLine=radialLine,exports.symbol=symbol,exports.symbols=symbols,exports.symbolCircle=circle,exports.symbolCross=cross,exports.symbolDiamond=diamond,exports.symbolSquare=square,exports.symbolStar=star,exports.symbolTriangle=triangle,exports.symbolWye=wye,exports.curveBasisClosed=basisClosed,exports.curveBasisOpen=basisOpen,exports.curveBasis=basis,exports.curveBundle=bundle,exports.curveCardinalClosed=cardinalClosed,exports.curveCardinalOpen=cardinalOpen,exports.curveCardinal=cardinal,exports.curveCatmullRomClosed=catmullRomClosed,exports.curveCatmullRomOpen=catmullRomOpen,exports.curveCatmullRom=catmullRom,exports.curveLinearClosed=linearClosed,exports.curveLinear=curveLinear,exports.curveMonotoneX=monotoneX,exports.curveMonotoneY=monotoneY,exports.curveNatural=natural,exports.curveStep=step,exports.curveStepAfter=stepAfter,exports.curveStepBefore=stepBefore,exports.stack=stack,exports.stackOffsetExpand=expand,exports.stackOffsetNone=none,exports.stackOffsetSilhouette=silhouette,exports.stackOffsetWiggle=wiggle,exports.stackOrderAscending=ascending,exports.stackOrderDescending=descending,exports.stackOrderInsideOut=insideOut,exports.stackOrderNone=none$1,exports.stackOrderReverse=reverse})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function Path(){this._x0=this._y0=this._x1=this._y1=null,this._=[]}function path(){return new Path}var pi=Math.PI,tau=2*pi,epsilon=1e-6,tauEpsilon=tau-epsilon;Path.prototype=path.prototype={constructor:Path,moveTo:function(x,y){this._.push("M",this._x0=this._x1=+x,",",this._y0=this._y1=+y)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._.push("Z"))},lineTo:function(x,y){this._.push("L",this._x1=+x,",",this._y1=+y)},quadraticCurveTo:function(x1,y1,x,y){this._.push("Q",+x1,",",+y1,",",this._x1=+x,",",this._y1=+y)},bezierCurveTo:function(x1,y1,x2,y2,x,y){this._.push("C",+x1,",",+y1,",",+x2,",",+y2,",",this._x1=+x,",",this._y1=+y)},arcTo:function(x1,y1,x2,y2,r){x1=+x1,y1=+y1,x2=+x2,y2=+y2,r=+r;var x0=this._x1,y0=this._y1,x21=x2-x1,y21=y2-y1,x01=x0-x1,y01=y0-y1,l01_2=x01*x01+y01*y01;if(0>r)throw new Error("negative radius: "+r);if(null===this._x1)this._.push("M",this._x1=x1,",",this._y1=y1);else if(l01_2>epsilon)if(Math.abs(y01*x21-y21*x01)>epsilon&&r){var x20=x2-x0,y20=y2-y0,l21_2=x21*x21+y21*y21,l20_2=x20*x20+y20*y20,l21=Math.sqrt(l21_2),l01=Math.sqrt(l01_2),l=r*Math.tan((pi-Math.acos((l21_2+l01_2-l20_2)/(2*l21*l01)))/2),t01=l/l01,t21=l/l21;Math.abs(t01-1)>epsilon&&this._.push("L",x1+t01*x01,",",y1+t01*y01),this._.push("A",r,",",r,",0,0,",+(y01*x20>x01*y20),",",this._x1=x1+t21*x21,",",this._y1=y1+t21*y21)}else this._.push("L",this._x1=x1,",",this._y1=y1);else;},arc:function(x,y,r,a0,a1,ccw){x=+x,y=+y,r=+r;var dx=r*Math.cos(a0),dy=r*Math.sin(a0),x0=x+dx,y0=y+dy,cw=1^ccw,da=ccw?a0-a1:a1-a0;if(0>r)throw new Error("negative radius: "+r);null===this._x1?this._.push("M",x0,",",y0):(Math.abs(this._x1-x0)>epsilon||Math.abs(this._y1-y0)>epsilon)&&this._.push("L",x0,",",y0),r&&(da>tauEpsilon?this._.push("A",r,",",r,",0,1,",cw,",",x-dx,",",y-dy,"A",r,",",r,",0,1,",cw,",",this._x1=x0,",",this._y1=y0):(0>da&&(da=da%tau+tau),this._.push("A",r,",",r,",0,",+(da>=pi),",",cw,",",this._x1=x+r*Math.cos(a1),",",this._y1=y+r*Math.sin(a1))))},rect:function(x,y,w,h){this._.push("M",this._x0=this._x1=+x,",",this._y0=this._y1=+y,"h",+w,"v",+h,"h",-w,"Z")},toString:function(){return this._.join("")}};var version="0.1.5";exports.version=version,exports.path=path})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d3Shape=__webpack_require__(62),_d3Shape2=_interopRequireDefault(_d3Shape),_commonProps=__webpack_require__(47),_commonProps2=_interopRequireDefault(_commonProps),_series=__webpack_require__(1),Area=function(_Component){function Area(props){return _classCallCheck(this,Area),_possibleConstructorReturn(this,Object.getPrototypeOf(Area).call(this,props))}return _inherits(Area,_Component),_createClass(Area,[{key:"_mkArea",value:function(){var _props=this.props,areaClassName=_props.areaClassName,dataset=(_props.areaOpacity,(0,_series.series)(this.props)),that=this;return _react2["default"].createElement("g",null,dataset.map(function(area,i){return _react2["default"].createElement("path",{className:areaClassName+" area",fill:area.color,d:that._setAxes(area.data),style:area.style,key:i})}))}},{key:"_setAxes",value:function(data){var _props2=this.props,xScaleSet=(_props2.height,_props2.margins,_props2.xScaleSet),yScaleSet=_props2.yScaleSet,area=_d3Shape2["default"].area().x(function(d){return xScaleSet(d.x)}).y0(function(d){var domain=yScaleSet.domain();return domain[0]*domain[1]<0?yScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0?yScaleSet.range()[1]:void 0}).y1(function(d){return yScaleSet(d.y)});return area.call(this,data)}},{key:"render",value:function(){var area=this._mkArea();return _react2["default"].createElement("g",null,area)}}]),Area}(_react.Component);Area.defaultProps=_extends({areaClassName:"react-d3-basic__area"},_commonProps2["default"]),exports["default"]=Area},function(module,exports,__webpack_require__){(function(d3){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d3Shape=__webpack_require__(62),_d3Shape2=_interopRequireDefault(_d3Shape),_commonProps=__webpack_require__(47),_commonProps2=_interopRequireDefault(_commonProps),_series=__webpack_require__(1),AreaStack=function(_Component){function AreaStack(props){return _classCallCheck(this,AreaStack),_possibleConstructorReturn(this,Object.getPrototypeOf(AreaStack).call(this,props))}return _inherits(AreaStack,_Component),_createClass(AreaStack,[{key:"_mkStack",value:function(){var areaClassName=this.props.areaClassName,dataset=(0,_series.series)(this.props),_setStack=this._setStack(),_setAxes=this._setAxes();return _react2["default"].createElement("g",null,_setStack(dataset).map(function(area){return _react2["default"].createElement("path",{className:areaClassName+" area",fill:area.color,d:_setAxes(area.data),style:area.style})}))}},{key:"_setStack",value:function(){var chartSeries=this.props.chartSeries,buildOut=function(len){var currentXOffsets=[],currentXIndex=0;return function(d,y0,y){currentXIndex++%len===0&&(currentXOffsets=[0,0]),y>=0?(d.y0=currentXOffsets[1],d.y=y,currentXOffsets[1]+=y):(d.y0=currentXOffsets[0]+y,d.y=-y,currentXOffsets[0]+=y)}};return d3.layout.stack().values(function(d){return d.data}).out(buildOut(chartSeries.length))}},{key:"_setAxes",value:function(){var _props=this.props,xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet;return _d3Shape2["default"].area().x(function(d){return xScaleSet(d.x)}).y0(function(d){return yScaleSet(d.y0)}).y1(function(d){return yScaleSet(d.y0+d.y)})}},{key:"render",value:function(){var area=this._mkStack();return _react2["default"].createElement("g",null,area)}}]),AreaStack}(_react.Component);AreaStack.defaultProps=_extends({areaClass:"react-d3-basics__area_stack",areaClassName:"react-d3-basic__area_stack"},_commonProps2["default"]),exports["default"]=AreaStack}).call(exports,__webpack_require__(2))},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_series=__webpack_require__(1),Bar=function(_Component){function Bar(props){return _classCallCheck(this,Bar),_possibleConstructorReturn(this,Object.getPrototypeOf(Bar).call(this,props))}return _inherits(Bar,_Component),_createClass(Bar,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"triggerClick",value:function(data,e){this.props.onClick(e,data)}},{key:"_mkBar",value:function(){var zeroBase,_this2=this,_props=this.props,barClassName=(_props.height,_props.width,_props.margins,_props.barClassName),xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,that=this,dataset=(0,_series.series)(this.props)[0],domain=yScaleSet.domain();return domain[0]*domain[1]<0?zeroBase=yScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?zeroBase=yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=yScaleSet.range()[1]),_react2["default"].createElement("g",null,dataset.data.map(function(bar,i){return _react2["default"].createElement("rect",{className:barClassName+" bar",x:xScaleSet(bar.x)||0===xScaleSet(bar.x)?xScaleSet(bar.x):-1e4,y:bar.y<0?zeroBase:yScaleSet(bar.y),width:xScaleSet.bandwidth(),height:bar.y<domain[0]?0:Math.abs(zeroBase-yScaleSet(bar.y)),fill:bar._style.color?bar._style.color:dataset.color,style:Object.assign({},dataset.style,bar._style),onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),onClick:that.triggerClick.bind(_this2,bar),key:i})}))}},{key:"render",value:function(){var bar=this._mkBar();return _react2["default"].createElement("g",null,bar)}}]),Bar}(_react.Component);Bar.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},onClick:function(d){},barClassName:"react-d3-basic__bar"},exports["default"]=Bar},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_series=__webpack_require__(1),BarHorizontal=function(_Component){function BarHorizontal(props){return _classCallCheck(this,BarHorizontal),_possibleConstructorReturn(this,Object.getPrototypeOf(BarHorizontal).call(this,props))}return _inherits(BarHorizontal,_Component),_createClass(BarHorizontal,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"_mkBar",value:function(dom){var zeroBase,_this2=this,_props=this.props,barClassName=(_props.height,_props.margins,_props.barClassName),xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,that=this,dataset=(0,_series.series)(this.props,!0)[0],domain=xScaleSet.domain();return domain[0]*domain[1]<0?zeroBase=xScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?zeroBase=xScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=xScaleSet.range()[1]),_react2["default"].createElement("g",null,dataset.data.map(function(bar,i){return _react2["default"].createElement("rect",{className:barClassName+" bar",y:yScaleSet(bar.y)||0===yScaleSet(bar.y)?yScaleSet(bar.y):-1e4,x:bar.x>0?zeroBase:zeroBase-Math.abs(zeroBase-xScaleSet(bar.x)),height:yScaleSet.bandwidth(),width:bar.x<domain[0]?0:Math.abs(zeroBase-xScaleSet(bar.x)),fill:bar._style.color?bar._style.color:dataset.color,style:Object.assign({},dataset.style,bar._style),onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),key:i})}))}},{key:"render",value:function(){var bar=this._mkBar();return _react2["default"].createElement("g",null,bar)}}]),BarHorizontal}(_react.Component);BarHorizontal.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},barClassName:"react-d3-basic__bar_horizontal"},exports["default"]=BarHorizontal},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d3Scale=__webpack_require__(48),_d3Scale2=_interopRequireDefault(_d3Scale),_series=__webpack_require__(1),BarGroup=function(_Component){function BarGroup(props){return _classCallCheck(this,BarGroup),_possibleConstructorReturn(this,Object.getPrototypeOf(BarGroup).call(this,props))}return _inherits(BarGroup,_Component),_createClass(BarGroup,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"_mkBarGroup",value:function(dom){var _this2=this,_props=this.props,barClassName=(_props.height,_props.margins,_props.barClassName),xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,that=this,dataset=(0,_series.series)(this.props),x1=_d3Scale2["default"].scaleBand();x1.domain(dataset.map(function(d){return d.field})).range([0,xScaleSet.bandwidth()]).padding(.1).round(!0);var zeroBase,domain=yScaleSet.domain();return domain[0]*domain[1]<0?zeroBase=yScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?zeroBase=yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=yScaleSet.range()[1]),dataset.map(function(barGroup,i){return _react2["default"].createElement("g",{className:"bargroup",key:i},barGroup.data.map(function(bar,j){return _react2["default"].createElement("rect",{key:j,className:barClassName+" bar",width:x1.bandwidth(),x:xScaleSet(bar.x)||0===xScaleSet(bar.x)?xScaleSet(bar.x)+x1.bandwidth()*i:-1e4,y:bar.y<0?zeroBase:yScaleSet(bar.y),height:bar.y<domain[0]?0:Math.abs(zeroBase-yScaleSet(bar.y)),fill:barGroup.color,onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),style:barGroup.style})}))})}},{key:"render",value:function(){var bar=this._mkBarGroup();return _react2["default"].createElement("g",null,bar)}}]),BarGroup}(_react.Component);BarGroup.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},barClassName:"react-d3-basic__bar_group"},exports["default"]=BarGroup},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){ -return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d3Scale=__webpack_require__(48),_d3Scale2=_interopRequireDefault(_d3Scale),_series=__webpack_require__(1),BarGroupHorizontal=function(_Component){function BarGroupHorizontal(props){return _classCallCheck(this,BarGroupHorizontal),_possibleConstructorReturn(this,Object.getPrototypeOf(BarGroupHorizontal).call(this,props))}return _inherits(BarGroupHorizontal,_Component),_createClass(BarGroupHorizontal,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"_mkBarGroup",value:function(){var _this2=this,_props=this.props,barClassName=(_props.height,_props.margins,_props.barClassName),xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,that=(_props.onMouseOut,_props.onMouseOver,this),dataset=(0,_series.series)(this.props,!0),y1=_d3Scale2["default"].scaleBand();y1.domain(dataset.map(function(d){return d.field})).range([0,yScaleSet.bandwidth()]).padding(.1).round(!0);var zeroBase,domain=xScaleSet.domain();return domain[0]*domain[1]<0?zeroBase=xScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?zeroBase=xScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=xScaleSet.range()[1]),_react2["default"].createElement("g",null,dataset.map(function(barGroup,i){return _react2["default"].createElement("g",{className:"bargroup",key:i},barGroup.data.map(function(bar,j){return _react2["default"].createElement("rect",{className:barClassName+" bar",height:y1.bandwidth(),y:yScaleSet(bar.y)||0===yScaleSet(bar.y)?yScaleSet(bar.y)+y1.bandwidth()*i:-1e4,x:bar.x>0?zeroBase:zeroBase-Math.abs(zeroBase-xScaleSet(bar.x)),width:bar.x<domain[0]?0:Math.abs(zeroBase-xScaleSet(bar.x)),fill:barGroup.color,onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),style:barGroup.style,key:j})}))}))}},{key:"render",value:function(){var bar=this._mkBarGroup();return _react2["default"].createElement("g",null,bar)}}]),BarGroupHorizontal}(_react.Component);BarGroupHorizontal.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},barClassName:"react-d3-basic__bar_group_horizontal"},exports["default"]=BarGroupHorizontal},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d=__webpack_require__(2),_d2=_interopRequireDefault(_d),_series=__webpack_require__(1),BarStack=function(_Component){function BarStack(props){return _classCallCheck(this,BarStack),_possibleConstructorReturn(this,Object.getPrototypeOf(BarStack).call(this,props))}return _inherits(BarStack,_Component),_createClass(BarStack,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"triggerClick",value:function(data,e){this.props.onClick(e,data)}},{key:"_mkBarStack",value:function(){var zeroBase,barBandWidth,_this2=this,_props=this.props,barClassName=(_props.height,_props.margins,_props.barClassName),xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,barWidth=_props.barWidth,that=this,dataset=(0,_series.series)(this.props),_setStack=this._setStack(),domain=yScaleSet.domain();return domain[0]*domain[1]<0?zeroBase=yScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?zeroBase=yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=yScaleSet.range()[1]),barBandWidth=barWidth?barWidth:xScaleSet.bandwidth(),_react2["default"].createElement("g",null,_setStack(dataset).map(function(barGroup,i){return _react2["default"].createElement("g",{key:i,className:"barGroup",fill:barGroup.color,style:barGroup.style},barGroup.data.map(function(bar,j){return _react2["default"].createElement("rect",{className:barClassName+" bar",width:barBandWidth,x:xScaleSet(bar.x)||0===xScaleSet(bar.x)?xScaleSet(bar.x):-1e4,y:yScaleSet(bar.y0+bar.y),height:Math.abs(yScaleSet(bar.y)-yScaleSet(0)),onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),onClick:that.triggerClick.bind(_this2,bar),key:j})}))}))}},{key:"_setStack",value:function(){var chartSeries=this.props.chartSeries,buildOut=function(len){var currentXOffsets=[],currentXIndex=0;return function(d,y0,y){currentXIndex++%len===0&&(currentXOffsets=[0,0]),y>=0?(d.y0=currentXOffsets[1],d.y=y,currentXOffsets[1]+=y):(d.y0=currentXOffsets[0]+y,d.y=-y,currentXOffsets[0]+=y)}};return _d2["default"].layout.stack().values(function(d){return d.data}).out(buildOut(chartSeries.length))}},{key:"render",value:function(){var bar=this._mkBarStack();return _react2["default"].createElement("g",null,bar)}}]),BarStack}(_react.Component);BarStack.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},onClick:function(d){},barClassName:"react-d3-basic__bar_stack"},exports["default"]=BarStack},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d=__webpack_require__(2),_d2=_interopRequireDefault(_d),_series=__webpack_require__(1),BarStackHorizontal=function(_Component){function BarStackHorizontal(props){return _classCallCheck(this,BarStackHorizontal),_possibleConstructorReturn(this,Object.getPrototypeOf(BarStackHorizontal).call(this,props))}return _inherits(BarStackHorizontal,_Component),_createClass(BarStackHorizontal,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"_mkBarStack",value:function(dom){var zeroBase,barBandWidth,_this2=this,_props=this.props,barClassName=(_props.height,_props.margins,_props.barClassName),xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,barWidth=_props.barWidth,that=this,dataset=(0,_series.series)(this.props,!0),_setStack=this._setStack(),domain=(_d2["default"].select(dom).attr("class","g"),xScaleSet.domain());return domain[0]*domain[1]<0?zeroBase=xScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?zeroBase=xScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=xScaleSet.range()[1]),barBandWidth=barWidth?barWidth:yScaleSet.bandwidth(),_react2["default"].createElement("g",null,_setStack(dataset).map(function(barGroup,i){return _react2["default"].createElement("g",{className:"barGroup",fill:barGroup.color,style:barGroup.style,key:i},barGroup.data.map(function(bar,j){return _react2["default"].createElement("rect",{className:barClassName+" bar",height:barBandWidth,y:yScaleSet(bar.y)||0===yScaleSet(bar.y)?yScaleSet(bar.y):-1e4,x:xScaleSet(bar.x0),width:Math.abs(xScaleSet(bar.x)-xScaleSet(0)),onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),key:j})}))}))}},{key:"_setStack",value:function(){var chartSeries=this.props.chartSeries,buildOut=function(len){var currentXOffsets=[],currentXIndex=0;return function(d,x0,x){currentXIndex++%len===0&&(currentXOffsets=[0,0]),x>=0?(d.x0=currentXOffsets[1],d.x=x,currentXOffsets[1]+=x):(d.x0=currentXOffsets[0]+x,d.x=-x,currentXOffsets[0]+=x)}};return _d2["default"].layout.stack().values(function(d){return d.data}).y(function(d){return d.x}).out(buildOut(chartSeries.length))}},{key:"render",value:function(){var bar=this._mkBarStack();return _react2["default"].createElement("g",null,bar)}}]),BarStackHorizontal}(_react.Component);BarStackHorizontal.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},barClassName:"react-d3-basic__bar_stack_horizontal"},exports["default"]=BarStackHorizontal},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d3Shape=__webpack_require__(62),_d3Shape2=_interopRequireDefault(_d3Shape),_commonProps=__webpack_require__(47),Pie=function(_Component){function Pie(props){return _classCallCheck(this,Pie),_possibleConstructorReturn(this,Object.getPrototypeOf(Pie).call(this,props))}return _inherits(Pie,_Component),_createClass(Pie,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"mkSeries",value:function(){var _props=this.props,data=_props.data,chartSeries=_props.chartSeries,value=_props.value,name=_props.name,categoricalColors=_props.categoricalColors,chartSeriesData=chartSeries.map(function(f,i){f.color||(f.color=categoricalColors(i)),f.name||(f.name=f.field);var val;return data.forEach(function(d){name(d)===f.field&&(val=d)}),Object.assign(f,{value:value(val)})});return chartSeriesData}},{key:"_mkPie",value:function(){var _this2=this,_props2=this.props,width=_props2.width,height=_props2.height,innerRadius=_props2.innerRadius,outerRadius=_props2.outerRadius,pieSort=_props2.pieSort,radius=(_props2.value,_props2.radius),pieTextShow=_props2.pieTextShow,that=this,radius=this.props.radius||Math.min(width-100,height-100)/2,outerRadius=outerRadius||radius-10,labelr=radius+10,chartSeriesData=this.mkSeries(),arc=_d3Shape2["default"].arc().outerRadius(outerRadius).innerRadius(innerRadius),pie=(_d3Shape2["default"].arc().outerRadius(outerRadius+10).innerRadius(innerRadius),_d3Shape2["default"].pie().sort(function(a,b){return pieSort(a.value,b.value)}).value(function(d){return d.value}));return _react2["default"].createElement("g",{className:"arc"},pie(chartSeriesData).map(function(slice,i){var textTransform=function(d){var c=arc.centroid(d),x=c[0],y=c[1],h=Math.sqrt(x*x+y*y);return"translate("+x/h*labelr+","+y/h*labelr+")"},textAnchor=function(d){return(d.endAngle+d.startAngle)/2>Math.PI?"end":"start"};return _react2["default"].createElement("g",{key:i},_react2["default"].createElement("path",{d:arc(slice),style:_extends({fill:slice.data.color,stroke:"#FFF"},slice.data.style),onMouseOut:that.triggerOut.bind(_this2,slice),onMouseOver:that.triggerOver.bind(_this2,slice)}),pieTextShow?_react2["default"].createElement("text",{transform:textTransform(slice),dy:".35em",textAnchor:textAnchor(slice)},slice.data.name):null)}))}},{key:"render",value:function(){var _props3=this.props,width=_props3.width,height=_props3.height,margins=_props3.margins,t="translate("+(width-margins.left-margins.right)/2+", "+(height-margins.top-margins.bottom)/2+")",pie=this._mkPie();return _react2["default"].createElement("g",{transform:t},pie)}}]),Pie}(_react.Component);Pie.defaultProps=_extends({onMouseOver:function(d){},onMouseOut:function(d){}},_commonProps.pieProps),exports["default"]=Pie},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d3Shape=__webpack_require__(62),_d3Shape2=_interopRequireDefault(_d3Shape),_series=__webpack_require__(1),Scatter=function(_Component){function Scatter(props){return _classCallCheck(this,Scatter),_possibleConstructorReturn(this,Object.getPrototypeOf(Scatter).call(this,props))}return _inherits(Scatter,_Component),_createClass(Scatter,[{key:"_mkScatter",value:function(dataset){var _props=this.props,defaultSymbol=(_props.scatterClassName,_props.defaultSymbol),defaultSymbolSize=_props.defaultSymbolSize,brushSymbol=_props.brushSymbol,xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet;return brushSymbol&&(symbol="circle",symbolSize=4),_react2["default"].createElement("g",null,dataset.map(function(dot){var symbol=dot.symbol?dot.symbol:defaultSymbol,symbolSize=dot.symbolSize?dot.symbolSize:defaultSymbolSize;return dot.data.map(function(d){var symbolFunc=_d3Shape2["default"].symbol().size(symbolSize*symbolSize).type(function(){return console.log(symbol),"circle"===symbol?_d3Shape2["default"].symbolCircle:"cross"===symbol?_d3Shape2["default"].symbolCross:"diamond"===symbol?_d3Shape2["default"].symbolDiamond:"square"===symbol?_d3Shape2["default"].symbolSquare:"star"===symbol?_d3Shape2["default"].symbolStar:"triangle"===symbol?_d3Shape2["default"].symbolTriangle:"wye"===symbol?_d3Shape2["default"].symbolWye:void console.error("Symbol is not support "+symbol+".")});return _react2["default"].createElement("path",{className:"react-d3-basic__scatter__path",fill:d.color,transform:"translate("+xScaleSet(d.x)+","+yScaleSet(d.y)+")",d:symbolFunc(),style:dot.style})})}))}},{key:"render",value:function(){var d=(0,_series.series)(this.props),scatter=this._mkScatter(d);return _react2["default"].createElement("g",null,scatter)}}]),Scatter}(_react.Component);Scatter.defaultProps={defaultSymbol:"circle",defaultSymbolSize:10,scatterClassName:"react-d3-basic__scatter"},exports["default"]=Scatter},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_reactD3Core=__webpack_require__(5),_line=__webpack_require__(61),_line2=_interopRequireDefault(_line),_chart=__webpack_require__(3),_chart2=_interopRequireDefault(_chart),_blank_chart=__webpack_require__(59),_blank_chart2=_interopRequireDefault(_blank_chart),_area=__webpack_require__(64),_area2=_interopRequireDefault(_area),_brush=__webpack_require__(57),_brush2=_interopRequireDefault(_brush),_rectangle=__webpack_require__(75),_rectangle2=_interopRequireDefault(_rectangle),_commonProps=__webpack_require__(47),_commonProps2=_interopRequireDefault(_commonProps),MultiLineBrushChart=function(_Component){function MultiLineBrushChart(props){return _classCallCheck(this,MultiLineBrushChart),_possibleConstructorReturn(this,Object.getPrototypeOf(MultiLineBrushChart).call(this,props))}return _inherits(MultiLineBrushChart,_Component),_createClass(MultiLineBrushChart,[{key:"render",value:function(){if(!(this.props.data&&this.props.data.length>0))return _react2["default"].createElement(_blank_chart2["default"],this.props);var xgrid,ygrid,_props=this.props,width=_props.width,height=_props.height,margins=_props.margins,data=_props.data,chartSeries=_props.chartSeries,showXGrid=_props.showXGrid,showYGrid=_props.showYGrid,showLegend=_props.showLegend,categoricalColors=_props.categoricalColors,isBrushable=_props.isBrushable,chartClassName=_props.chartClassName,chartSeriesType=chartSeries.map(function(d,i){var series=[];return d.area?(series.push(d),_react2["default"].createElement(_area2["default"],{chartSeries:series,key:i})):(series.push(d),_react2["default"].createElement(_line2["default"],{chartSeries:series,key:i}))});return showXGrid&&(xgrid=_react2["default"].createElement(_reactD3Core.Xgrid,this.props)),showYGrid&&(ygrid=_react2["default"].createElement(_reactD3Core.Ygrid,this.props)),_react2["default"].createElement("div",null,_react2["default"].createElement(_chart2["default"],_extends({},this.props,{width:width,height:height,margins:margins,data:data,chartSeries:chartSeries}),chartClassName?_react2["default"].createElement(_rectangle2["default"],_extends({},this.props,{styleClassName:chartClassName})):null,isBrushable?_react2["default"].createElement(_brush2["default"],this.props):null,chartSeriesType,_react2["default"].createElement(_reactD3Core.Xaxis,this.props),_react2["default"].createElement(_reactD3Core.Yaxis,this.props),xgrid,ygrid),showLegend?_react2["default"].createElement(_reactD3Core.Legend,_extends({},this.props,{width:width,margins:margins,chartSeries:chartSeries,categoricalColors:categoricalColors})):null)}}]),MultiLineBrushChart}(_react.Component);MultiLineBrushChart.defaultProps=_extends({showScatter:!1,isBrushable:!1},_commonProps2["default"]),MultiLineBrushChart.propTypes={width:_react.PropTypes.number.isRequired,height:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,data:_react.PropTypes.array.isRequired,chartSeries:_react.PropTypes.array.isRequired},exports["default"]=MultiLineBrushChart},function(module,exports,__webpack_require__){(function(d3){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_reactDom=__webpack_require__(58),_reactDom2=_interopRequireDefault(_reactDom),Rect=function(_Component){function Rect(props){return _classCallCheck(this,Rect),_possibleConstructorReturn(this,Object.getPrototypeOf(Rect).call(this,props))}return _inherits(Rect,_Component),_createClass(Rect,[{key:"componentDidMount",value:function(){this.drawRectangle()}},{key:"componentDidUpdate",value:function(){this.rectangle&&this.rectangle.attr("width",this.props.width-this.props.margins.left-this.props.margins.right)}},{key:"drawRectangle",value:function(){var _props=this.props,width=_props.width,height=_props.height,margins=_props.margins,styleClassName=_props.styleClassName;return this.rectangle=d3.select(_reactDom2["default"].findDOMNode(this.refs.Rect)).append("rect").attr("x",0).attr("y",-5).attr("width",width-margins.left-margins.right).attr("height",height-margins.bottom-margins.top+3).attr("class",styleClassName),this.rectangle}},{key:"render",value:function(){return _react2["default"].createElement("g",{ref:"Rect",className:"rectangle"}," ")}}]),Rect}(_react.Component);Rect.propTypes={height:_react.PropTypes.number.isRequired,width:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,styleClassName:_react.PropTypes.string.isRequired},exports["default"]=Rect}).call(exports,__webpack_require__(2))}]); \ No newline at end of file +var ReactD3Shape=function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _series=__webpack_require__(1);Object.defineProperty(exports,"series",{enumerable:!0,get:function(){return _series.series}});var _chart=__webpack_require__(3);Object.defineProperty(exports,"Chart",{enumerable:!0,get:function(){return _interopRequireDefault(_chart).default}});var _chartpie=__webpack_require__(58);Object.defineProperty(exports,"ChartPie",{enumerable:!0,get:function(){return _interopRequireDefault(_chartpie).default}});var _brush=__webpack_require__(59);Object.defineProperty(exports,"Brush",{enumerable:!0,get:function(){return _interopRequireDefault(_brush).default}});var _blank_chart=__webpack_require__(61);Object.defineProperty(exports,"BlankChart",{enumerable:!0,get:function(){return _interopRequireDefault(_blank_chart).default}});var _line=__webpack_require__(63);Object.defineProperty(exports,"Line",{enumerable:!0,get:function(){return _interopRequireDefault(_line).default}});var _area=__webpack_require__(66);Object.defineProperty(exports,"Area",{enumerable:!0,get:function(){return _interopRequireDefault(_area).default}});var _area_stack=__webpack_require__(67);Object.defineProperty(exports,"AreaStack",{enumerable:!0,get:function(){return _interopRequireDefault(_area_stack).default}});var _bar=__webpack_require__(68);Object.defineProperty(exports,"Bar",{enumerable:!0,get:function(){return _interopRequireDefault(_bar).default}});var _bar_horizontal=__webpack_require__(69);Object.defineProperty(exports,"BarHorizontal",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_horizontal).default}});var _bar_group=__webpack_require__(70);Object.defineProperty(exports,"BarGroup",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_group).default}});var _bar_group_horizontal=__webpack_require__(71);Object.defineProperty(exports,"BarGroupHorizontal",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_group_horizontal).default}});var _bar_stack=__webpack_require__(72);Object.defineProperty(exports,"BarStack",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_stack).default}});var _bar_stack_horizontal=__webpack_require__(73);Object.defineProperty(exports,"BarStackHorizontal",{enumerable:!0,get:function(){return _interopRequireDefault(_bar_stack_horizontal).default}});var _pie=__webpack_require__(74);Object.defineProperty(exports,"Pie",{enumerable:!0,get:function(){return _interopRequireDefault(_pie).default}});var _scatter=__webpack_require__(75);Object.defineProperty(exports,"Scatter",{enumerable:!0,get:function(){return _interopRequireDefault(_scatter).default}});var _multi_line_brush=__webpack_require__(76);Object.defineProperty(exports,"MultiLineBrushChart",{enumerable:!0,get:function(){return _interopRequireDefault(_multi_line_brush).default}})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function series(props,horizontal){var data=props.data,chartSeries=props.chartSeries,x=props.x,y=props.y,categoricalColors=props.categoricalColors;categoricalColors=categoricalColors||_d2.default.scale.category10();var chartSeriesData=chartSeries.map(function(f,i){f.color=f.color||categoricalColors(i),f.name=f.name||f.field;var mapping=data.map(function(d){return d._style||(d._style={}),horizontal?{y:y(d),x:x(d[f.field]),color:f.color,name:f.name,field:f.field,_style:d._style}:{x:x(d),y:y(d[f.field]),color:f.color,name:f.name,field:f.field,_style:d._style}});return Object.assign(f,{data:mapping})});return chartSeriesData}Object.defineProperty(exports,"__esModule",{value:!0}),exports.series=series;var _d=__webpack_require__(2),_d2=_interopRequireDefault(_d)},function(module,exports){module.exports=d3},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(5),PropTypes=_interopRequireWildcard(_propTypes),_reactD3Core=__webpack_require__(15),_commonProps=__webpack_require__(57),_commonProps2=_interopRequireDefault(_commonProps),ChartSvg=function(_Component){function ChartSvg(props){return _classCallCheck(this,ChartSvg),_possibleConstructorReturn(this,(ChartSvg.__proto__||Object.getPrototypeOf(ChartSvg)).call(this,props))}return _inherits(ChartSvg,_Component),_createClass(ChartSvg,[{key:"render",value:function(){var _props=this.props,horizontal=_props.horizontal,height=_props.height,width=_props.width,margins=_props.margins,xScale=_props.xScale,yScale=_props.yScale,xRange=_props.xRange,yRange=_props.yRange,xDomain=_props.xDomain,yDomain=_props.yDomain,xTicks=_props.xTicks,yTicks=_props.yTicks,xTickFormat=_props.xTickFormat,yTickFormat=_props.yTickFormat,xBandPaddingInner=_props.xBandPaddingInner,xBandPaddingOuter=_props.xBandPaddingOuter,yBandPaddingInner=_props.yBandPaddingInner,yBandPaddingOuter=_props.yBandPaddingOuter,xLabel=_props.xLabel,yLabel=_props.yLabel,stack=_props.stack,data=_props.data,svgClassName=_props.svgClassName,id=_props.id,x=_props.x,y=_props.y,xRange=xRange||[0,width-margins.left-margins.right],yRange=yRange||[height-margins.top-margins.bottom,0],xDomain=xDomain||(0,_reactD3Core.xDomainCount)(this.props,stack,horizontal),yDomain=yDomain||(0,_reactD3Core.yDomainCount)(this.props,stack,horizontal);"ordinal"===xScale&&(xScale="band"),"ordinal"===yScale&&(yScale="band");var newXScale={scale:xScale,range:xRange,domain:xDomain,bandPaddingInner:xBandPaddingInner,bandPaddingOuter:xBandPaddingOuter},xScaleSet=(0,_reactD3Core.scale)(newXScale),newYScale={scale:yScale,range:yRange,domain:yDomain,bandPaddingInner:yBandPaddingInner,bandPaddingOuter:yBandPaddingOuter},yScaleSet=(0,_reactD3Core.scale)(newYScale),children=_react2.default.Children.map(this.props.children,function(el){return el?_react2.default.cloneElement(el,{height:height,width:width,margins:margins,xScaleSet:xScaleSet,yScaleSet:yScaleSet,xDomain:xDomain,yDomain:yDomain,xRange:xRange,yRange:yRange,xBandPaddingInner:xBandPaddingInner,xBandPaddingOuter:xBandPaddingOuter,yBandPaddingInner:yBandPaddingInner,yBandPaddingOuter:yBandPaddingOuter,xScale:xScale,yScale:yScale,xTickFormat:xTickFormat,yTickFormat:yTickFormat,xTicks:xTicks,yTicks:yTicks,xLabel:xLabel,yLabel:yLabel,data:data,x:x,y:y}):null}),t="translate("+margins.left+", "+margins.top+")";return _react2.default.createElement("svg",{height:height,width:width,className:svgClassName,id:id,ref:"svgContainer"},_react2.default.createElement("g",{transform:t},children))}}]),ChartSvg}(_react.Component);ChartSvg.defaultProps=_extends({svgClassName:"react-d3-core__container_svg"},_commonProps2.default),ChartSvg.propTypes={id:PropTypes.string,width:PropTypes.number.isRequired,height:PropTypes.number.isRequired,margins:PropTypes.object.isRequired,svgClassName:PropTypes.string.isRequired},exports.default=ChartSvg},function(module,exports){module.exports=React},function(module,exports,__webpack_require__){(function(process){if("production"!==process.env.NODE_ENV){var REACT_ELEMENT_TYPE="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,isValidElement=function(object){return"object"==typeof object&&null!==object&&object.$$typeof===REACT_ELEMENT_TYPE},throwOnDirectAccess=!0;module.exports=__webpack_require__(7)(isValidElement,throwOnDirectAccess)}else module.exports=__webpack_require__(14)()}).call(exports,__webpack_require__(6))},function(module,exports){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(fun){if(cachedSetTimeout===setTimeout)return setTimeout(fun,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(fun,0);try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout)return clearTimeout(marker);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(marker);try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var timeout=runTimeout(cleanUpNextTick);draining=!0;for(var len=queue.length;len;){for(currentQueue=queue,queue=[];++queueIndex<len;)currentQueue&¤tQueue[queueIndex].run();queueIndex=-1,len=queue.length}currentQueue=null,draining=!1,runClearTimeout(timeout)}}function Item(fun,array){this.fun=fun,this.array=array}function noop(){}var cachedSetTimeout,cachedClearTimeout,process=module.exports={};!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)args[i-1]=arguments[i];queue.push(new Item(fun,args)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.prependListener=noop,process.prependOnceListener=noop,process.listeners=function(name){return[]},process.binding=function(name){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(dir){throw new Error("process.chdir is not supported")},process.umask=function(){return 0}},function(module,exports,__webpack_require__){(function(process){"use strict";var emptyFunction=__webpack_require__(8),invariant=__webpack_require__(9),warning=__webpack_require__(10),assign=__webpack_require__(11),ReactPropTypesSecret=__webpack_require__(12),checkPropTypes=__webpack_require__(13);module.exports=function(isValidElement,throwOnDirectAccess){function getIteratorFn(maybeIterable){var iteratorFn=maybeIterable&&(ITERATOR_SYMBOL&&maybeIterable[ITERATOR_SYMBOL]||maybeIterable[FAUX_ITERATOR_SYMBOL]);if("function"==typeof iteratorFn)return iteratorFn}function is(x,y){return x===y?0!==x||1/x===1/y:x!==x&&y!==y}function PropTypeError(message){this.message=message,this.stack=""}function createChainableTypeChecker(validate){function checkType(isRequired,props,propName,componentName,location,propFullName,secret){if(componentName=componentName||ANONYMOUS,propFullName=propFullName||propName,secret!==ReactPropTypesSecret)if(throwOnDirectAccess)invariant(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");else if("production"!==process.env.NODE_ENV&&"undefined"!=typeof console){var cacheKey=componentName+":"+propName;!manualPropTypeCallCache[cacheKey]&&manualPropTypeWarningCount<3&&(warning(!1,"You are manually calling a React.PropTypes validation function for the `%s` prop on `%s`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.",propFullName,componentName),manualPropTypeCallCache[cacheKey]=!0,manualPropTypeWarningCount++)}return null==props[propName]?isRequired?new PropTypeError(null===props[propName]?"The "+location+" `"+propFullName+"` is marked as required "+("in `"+componentName+"`, but its value is `null`."):"The "+location+" `"+propFullName+"` is marked as required in "+("`"+componentName+"`, but its value is `undefined`.")):null:validate(props,propName,componentName,location,propFullName)}if("production"!==process.env.NODE_ENV)var manualPropTypeCallCache={},manualPropTypeWarningCount=0;var chainedCheckType=checkType.bind(null,!1);return chainedCheckType.isRequired=checkType.bind(null,!0),chainedCheckType}function createPrimitiveTypeChecker(expectedType){function validate(props,propName,componentName,location,propFullName,secret){var propValue=props[propName],propType=getPropType(propValue);if(propType!==expectedType){var preciseType=getPreciseType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+preciseType+"` supplied to `"+componentName+"`, expected ")+("`"+expectedType+"`."))}return null}return createChainableTypeChecker(validate)}function createAnyTypeChecker(){return createChainableTypeChecker(emptyFunction.thatReturnsNull)}function createArrayOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if("function"!=typeof typeChecker)return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside arrayOf.");var propValue=props[propName];if(!Array.isArray(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an array."))}for(var i=0;i<propValue.length;i++){var error=typeChecker(propValue,i,componentName,location,propFullName+"["+i+"]",ReactPropTypesSecret);if(error instanceof Error)return error}return null}return createChainableTypeChecker(validate)}function createElementTypeChecker(){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName];if(!isValidElement(propValue)){var propType=getPropType(propValue);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected a single ReactElement."))}return null}return createChainableTypeChecker(validate)}function createInstanceTypeChecker(expectedClass){function validate(props,propName,componentName,location,propFullName){if(!(props[propName]instanceof expectedClass)){var expectedClassName=expectedClass.name||ANONYMOUS,actualClassName=getClassName(props[propName]);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+actualClassName+"` supplied to `"+componentName+"`, expected ")+("instance of `"+expectedClassName+"`."))}return null}return createChainableTypeChecker(validate)}function createEnumTypeChecker(expectedValues){function validate(props,propName,componentName,location,propFullName){for(var propValue=props[propName],i=0;i<expectedValues.length;i++)if(is(propValue,expectedValues[i]))return null;var valuesString=JSON.stringify(expectedValues);return new PropTypeError("Invalid "+location+" `"+propFullName+"` of value `"+propValue+"` "+("supplied to `"+componentName+"`, expected one of "+valuesString+"."))}return Array.isArray(expectedValues)?createChainableTypeChecker(validate):("production"!==process.env.NODE_ENV?warning(!1,"Invalid argument supplied to oneOf, expected an instance of array."):void 0,emptyFunction.thatReturnsNull)}function createObjectOfTypeChecker(typeChecker){function validate(props,propName,componentName,location,propFullName){if("function"!=typeof typeChecker)return new PropTypeError("Property `"+propFullName+"` of component `"+componentName+"` has invalid PropType notation inside objectOf.");var propValue=props[propName],propType=getPropType(propValue);if("object"!==propType)return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type "+("`"+propType+"` supplied to `"+componentName+"`, expected an object."));for(var key in propValue)if(propValue.hasOwnProperty(key)){var error=typeChecker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error instanceof Error)return error}return null}return createChainableTypeChecker(validate)}function createUnionTypeChecker(arrayOfTypeCheckers){function validate(props,propName,componentName,location,propFullName){for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if(null==checker(props,propName,componentName,location,propFullName,ReactPropTypesSecret))return null}return new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`."))}if(!Array.isArray(arrayOfTypeCheckers))return"production"!==process.env.NODE_ENV?warning(!1,"Invalid argument supplied to oneOfType, expected an instance of array."):void 0,emptyFunction.thatReturnsNull;for(var i=0;i<arrayOfTypeCheckers.length;i++){var checker=arrayOfTypeCheckers[i];if("function"!=typeof checker)return warning(!1,"Invalid argument supplied to oneOfType. Expected an array of check functions, but received %s at index %s.",getPostfixForTypeWarning(checker),i),emptyFunction.thatReturnsNull}return createChainableTypeChecker(validate)}function createNodeChecker(){function validate(props,propName,componentName,location,propFullName){return isNode(props[propName])?null:new PropTypeError("Invalid "+location+" `"+propFullName+"` supplied to "+("`"+componentName+"`, expected a ReactNode."))}return createChainableTypeChecker(validate)}function createShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if("object"!==propType)return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."));for(var key in shapeTypes){var checker=shapeTypes[key];if(checker){var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error)return error}}return null}return createChainableTypeChecker(validate)}function createStrictShapeTypeChecker(shapeTypes){function validate(props,propName,componentName,location,propFullName){var propValue=props[propName],propType=getPropType(propValue);if("object"!==propType)return new PropTypeError("Invalid "+location+" `"+propFullName+"` of type `"+propType+"` "+("supplied to `"+componentName+"`, expected `object`."));var allKeys=assign({},props[propName],shapeTypes);for(var key in allKeys){var checker=shapeTypes[key];if(!checker)return new PropTypeError("Invalid "+location+" `"+propFullName+"` key `"+key+"` supplied to `"+componentName+"`.\nBad object: "+JSON.stringify(props[propName],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(shapeTypes),null," "));var error=checker(propValue,key,componentName,location,propFullName+"."+key,ReactPropTypesSecret);if(error)return error}return null}return createChainableTypeChecker(validate)}function isNode(propValue){switch(typeof propValue){case"number":case"string":case"undefined":return!0;case"boolean":return!propValue;case"object":if(Array.isArray(propValue))return propValue.every(isNode);if(null===propValue||isValidElement(propValue))return!0;var iteratorFn=getIteratorFn(propValue);if(!iteratorFn)return!1;var step,iterator=iteratorFn.call(propValue);if(iteratorFn!==propValue.entries){for(;!(step=iterator.next()).done;)if(!isNode(step.value))return!1}else for(;!(step=iterator.next()).done;){var entry=step.value;if(entry&&!isNode(entry[1]))return!1}return!0;default:return!1}}function isSymbol(propType,propValue){return"symbol"===propType||("Symbol"===propValue["@@toStringTag"]||"function"==typeof Symbol&&propValue instanceof Symbol)}function getPropType(propValue){var propType=typeof propValue;return Array.isArray(propValue)?"array":propValue instanceof RegExp?"object":isSymbol(propType,propValue)?"symbol":propType}function getPreciseType(propValue){if("undefined"==typeof propValue||null===propValue)return""+propValue;var propType=getPropType(propValue);if("object"===propType){if(propValue instanceof Date)return"date";if(propValue instanceof RegExp)return"regexp"}return propType}function getPostfixForTypeWarning(value){var type=getPreciseType(value);switch(type){case"array":case"object":return"an "+type;case"boolean":case"date":case"regexp":return"a "+type;default:return type}}function getClassName(propValue){return propValue.constructor&&propValue.constructor.name?propValue.constructor.name:ANONYMOUS}var ITERATOR_SYMBOL="function"==typeof Symbol&&Symbol.iterator,FAUX_ITERATOR_SYMBOL="@@iterator",ANONYMOUS="<<anonymous>>",ReactPropTypes={array:createPrimitiveTypeChecker("array"),bool:createPrimitiveTypeChecker("boolean"),func:createPrimitiveTypeChecker("function"),number:createPrimitiveTypeChecker("number"),object:createPrimitiveTypeChecker("object"),string:createPrimitiveTypeChecker("string"),symbol:createPrimitiveTypeChecker("symbol"),any:createAnyTypeChecker(),arrayOf:createArrayOfTypeChecker,element:createElementTypeChecker(),instanceOf:createInstanceTypeChecker,node:createNodeChecker(),objectOf:createObjectOfTypeChecker,oneOf:createEnumTypeChecker,oneOfType:createUnionTypeChecker,shape:createShapeTypeChecker,exact:createStrictShapeTypeChecker};return PropTypeError.prototype=Error.prototype,ReactPropTypes.checkPropTypes=checkPropTypes,ReactPropTypes.PropTypes=ReactPropTypes,ReactPropTypes}}).call(exports,__webpack_require__(6))},function(module,exports){"use strict";function makeEmptyFunction(arg){return function(){return arg}}var emptyFunction=function(){};emptyFunction.thatReturns=makeEmptyFunction,emptyFunction.thatReturnsFalse=makeEmptyFunction(!1),emptyFunction.thatReturnsTrue=makeEmptyFunction(!0),emptyFunction.thatReturnsNull=makeEmptyFunction(null),emptyFunction.thatReturnsThis=function(){return this},emptyFunction.thatReturnsArgument=function(arg){return arg},module.exports=emptyFunction},function(module,exports,__webpack_require__){(function(process){"use strict";function invariant(condition,format,a,b,c,d,e,f){if(validateFormat(format),!condition){var error;if(void 0===format)error=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var args=[a,b,c,d,e,f],argIndex=0;error=new Error(format.replace(/%s/g,function(){return args[argIndex++]})),error.name="Invariant Violation"}throw error.framesToPop=1,error}}var validateFormat=function(format){};"production"!==process.env.NODE_ENV&&(validateFormat=function(format){if(void 0===format)throw new Error("invariant requires an error message argument")}),module.exports=invariant}).call(exports,__webpack_require__(6))},function(module,exports,__webpack_require__){(function(process){"use strict";var emptyFunction=__webpack_require__(8),warning=emptyFunction;if("production"!==process.env.NODE_ENV){var printWarning=function(format){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];var argIndex=0,message="Warning: "+format.replace(/%s/g,function(){return args[argIndex++]});"undefined"!=typeof console&&console.error(message);try{throw new Error(message)}catch(x){}};warning=function(condition,format){if(void 0===format)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");if(0!==format.indexOf("Failed Composite propType: ")&&!condition){for(var _len2=arguments.length,args=Array(_len2>2?_len2-2:0),_key2=2;_key2<_len2;_key2++)args[_key2-2]=arguments[_key2];printWarning.apply(void 0,[format].concat(args))}}}module.exports=warning}).call(exports,__webpack_require__(6))},function(module,exports){/* + object-assign + (c) Sindre Sorhus + @license MIT + */ +"use strict";function toObject(val){if(null===val||void 0===val)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(val)}function shouldUseNative(){try{if(!Object.assign)return!1;var test1=new String("abc");if(test1[5]="de","5"===Object.getOwnPropertyNames(test1)[0])return!1;for(var test2={},i=0;i<10;i++)test2["_"+String.fromCharCode(i)]=i;var order2=Object.getOwnPropertyNames(test2).map(function(n){return test2[n]});if("0123456789"!==order2.join(""))return!1;var test3={};return"abcdefghijklmnopqrst".split("").forEach(function(letter){test3[letter]=letter}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},test3)).join("")}catch(err){return!1}}var getOwnPropertySymbols=Object.getOwnPropertySymbols,hasOwnProperty=Object.prototype.hasOwnProperty,propIsEnumerable=Object.prototype.propertyIsEnumerable;module.exports=shouldUseNative()?Object.assign:function(target,source){for(var from,symbols,to=toObject(target),s=1;s<arguments.length;s++){from=Object(arguments[s]);for(var key in from)hasOwnProperty.call(from,key)&&(to[key]=from[key]);if(getOwnPropertySymbols){symbols=getOwnPropertySymbols(from);for(var i=0;i<symbols.length;i++)propIsEnumerable.call(from,symbols[i])&&(to[symbols[i]]=from[symbols[i]])}}return to}},function(module,exports){"use strict";var ReactPropTypesSecret="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";module.exports=ReactPropTypesSecret},function(module,exports,__webpack_require__){(function(process){"use strict";function checkPropTypes(typeSpecs,values,location,componentName,getStack){if("production"!==process.env.NODE_ENV)for(var typeSpecName in typeSpecs)if(typeSpecs.hasOwnProperty(typeSpecName)){var error;try{invariant("function"==typeof typeSpecs[typeSpecName],"%s: %s type `%s` is invalid; it must be a function, usually from the `prop-types` package, but received `%s`.",componentName||"React class",location,typeSpecName,typeof typeSpecs[typeSpecName]),error=typeSpecs[typeSpecName](values,typeSpecName,componentName,location,null,ReactPropTypesSecret)}catch(ex){error=ex}if(warning(!error||error instanceof Error,"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",componentName||"React class",location,typeSpecName,typeof error),error instanceof Error&&!(error.message in loggedTypeFailures)){loggedTypeFailures[error.message]=!0;var stack=getStack?getStack():"";warning(!1,"Failed %s type: %s%s",location,error.message,null!=stack?stack:"")}}}if("production"!==process.env.NODE_ENV)var invariant=__webpack_require__(9),warning=__webpack_require__(10),ReactPropTypesSecret=__webpack_require__(12),loggedTypeFailures={};module.exports=checkPropTypes}).call(exports,__webpack_require__(6))},function(module,exports,__webpack_require__){"use strict";var emptyFunction=__webpack_require__(8),invariant=__webpack_require__(9),ReactPropTypesSecret=__webpack_require__(12);module.exports=function(){function shim(props,propName,componentName,location,propFullName,secret){secret!==ReactPropTypesSecret&&invariant(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function getShim(){return shim}shim.isRequired=shim;var ReactPropTypes={array:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim};return ReactPropTypes.checkPropTypes=emptyFunction,ReactPropTypes.PropTypes=ReactPropTypes,ReactPropTypes}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _svg=__webpack_require__(16);Object.defineProperty(exports,"Svg",{enumerable:!0,get:function(){return _interopRequireDefault(_svg).default}});var _title=__webpack_require__(27);Object.defineProperty(exports,"Title",{enumerable:!0,get:function(){return _interopRequireDefault(_title).default}});var _chartContainer=__webpack_require__(28);Object.defineProperty(exports,"Chart",{enumerable:!0,get:function(){return _interopRequireDefault(_chartContainer).default}});var _axis=__webpack_require__(47);Object.defineProperty(exports,"Axis",{enumerable:!0,get:function(){return _interopRequireDefault(_axis).default}});var _xaxis=__webpack_require__(49);Object.defineProperty(exports,"Xaxis",{enumerable:!0,get:function(){return _interopRequireDefault(_xaxis).default}});var _yaxis=__webpack_require__(51);Object.defineProperty(exports,"Yaxis",{enumerable:!0,get:function(){return _interopRequireDefault(_yaxis).default}});var _label=__webpack_require__(50);Object.defineProperty(exports,"Label",{enumerable:!0,get:function(){return _interopRequireDefault(_label).default}});var _legend=__webpack_require__(29);Object.defineProperty(exports,"Legend",{enumerable:!0,get:function(){return _interopRequireDefault(_legend).default}});var _grid=__webpack_require__(52);Object.defineProperty(exports,"Grid",{enumerable:!0,get:function(){return _interopRequireDefault(_grid).default}});var _xgrid=__webpack_require__(53);Object.defineProperty(exports,"Xgrid",{enumerable:!0,get:function(){return _interopRequireDefault(_xgrid).default}});var _ygrid=__webpack_require__(54);Object.defineProperty(exports,"Ygrid",{enumerable:!0,get:function(){return _interopRequireDefault(_ygrid).default}});var _scale=__webpack_require__(18);Object.defineProperty(exports,"scale",{enumerable:!0,get:function(){return _scale.scale}});var _xDomain=__webpack_require__(55);Object.defineProperty(exports,"xDomainCount",{enumerable:!0,get:function(){return _xDomain.xDomain}});var _yDomain=__webpack_require__(56);Object.defineProperty(exports,"yDomainCount",{enumerable:!0,get:function(){return _yDomain.yDomain}})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_commonProps=__webpack_require__(17),_commonProps2=_interopRequireDefault(_commonProps),ChartSvg=(__webpack_require__(18),function(_Component){function ChartSvg(props){return _classCallCheck(this,ChartSvg),_possibleConstructorReturn(this,Object.getPrototypeOf(ChartSvg).call(this,props))}return _inherits(ChartSvg,_Component),_createClass(ChartSvg,[{key:"render",value:function(){var _props=this.props,height=_props.height,width=_props.width,margins=_props.margins,svgClassName=_props.svgClassName,id=_props.id,children=_props.children,t="translate("+margins.left+", "+margins.top+")";return _react2.default.createElement("svg",{height:height,width:width,className:svgClassName,id:id,ref:"svgContainer"},_react2.default.createElement("g",{transform:t},children))}}]),ChartSvg}(_react.Component));ChartSvg.defaultProps=_extends({svgClassName:"react-d3-core__container_svg",onZoom:function(){},scaleExtent:[1,10]},_commonProps2.default),ChartSvg.propTypes={id:_react.PropTypes.string,width:_react.PropTypes.number.isRequired,height:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,svgClassName:_react.PropTypes.string.isRequired},exports.default=ChartSvg},function(module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={width:960,height:500,margins:{top:80,right:100,bottom:80,left:100}}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function scale(props){var func,scale=(props.type,props.scale);return"linear"===scale?func=_d3Scale2.default.scaleLinear():"identity"===scale?func=_d3Scale2.default.scaleIdentity():"sqrt"===scale?func=_d3Scale2.default.scaleSqrt():"pow"===scale?func=_d3Scale2.default.scalePow():"log"===scale?func=_d3Scale2.default.scaleLog():"quantize"===scale?func=_d3Scale2.default.scaleQuantize():"quantile"===scale?func=_d3Scale2.default.scaleQuantile():"ordinal"===scale?func=_d3Scale2.default.scaleOrdinal():"band"===scale?func=_d3Scale2.default.scaleBand():"time"===scale?func=_d3Scale2.default.scaleTime():new Error('Please check your axis scale setting. "'+scale+'" scale is invalid. '),func=_mkScaleSettings(props,func)}function _mkScaleSettings(props,func){var range=(props.type,props.range),domain=props.domain,scale=props.scale,bandPaddingInner=props.bandPaddingInner,bandPaddingOuter=props.bandPaddingOuter;return range&&func.range(range),domain&&func.domain(domain),"band"===scale&&(func.round(!0),bandPaddingInner?func.paddingInner(bandPaddingInner):func.paddingInner(.1),bandPaddingOuter?func.paddingOuter(bandPaddingOuter):func.paddingOuter(.1)),func}Object.defineProperty(exports,"__esModule",{value:!0}),exports.scale=scale;var _d3Scale=__webpack_require__(19),_d3Scale2=_interopRequireDefault(_d3Scale)},function(module,exports,__webpack_require__){!function(global,factory){factory(exports,__webpack_require__(20),__webpack_require__(21),__webpack_require__(22),__webpack_require__(24),__webpack_require__(25),__webpack_require__(26),__webpack_require__(23))}(this,function(exports,d3Array,d3Collection,d3Interpolate,d3Format,d3Time,d3TimeFormat,d3Color){"use strict";function ordinal(){function scale(d){var key=d+"",i=index.get(key);if(!i){if(unknown!==implicit)return unknown;index.set(key,i=domain.push(d))}return range[(i-1)%range.length]}var index=d3Collection.map(),domain=[],range=[],unknown=implicit;return scale.domain=function(_){if(!arguments.length)return domain.slice();domain=[],index=d3Collection.map();for(var d,key,i=-1,n=_.length;++i<n;)index.has(key=(d=_[i])+"")||index.set(key,domain.push(d));return scale},scale.range=function(_){return arguments.length?(range=slice.call(_),scale):range.slice()},scale.unknown=function(_){return arguments.length?(unknown=_,scale):unknown},scale.copy=function(){return ordinal().domain(domain).range(range).unknown(unknown)},scale}function band(){function rescale(){var n=domain().length,reverse=range[1]<range[0],start=range[reverse-0],stop=range[1-reverse];step=(stop-start)/Math.max(1,n-paddingInner+2*paddingOuter),round&&(step=Math.floor(step)),start+=(stop-start-step*(n-paddingInner))*align,bandwidth=step*(1-paddingInner),round&&(start=Math.round(start),bandwidth=Math.round(bandwidth));var values=d3Array.range(n).map(function(i){return start+step*i});return ordinalRange(reverse?values.reverse():values)}var step,bandwidth,scale=ordinal().unknown(void 0),domain=scale.domain,ordinalRange=scale.range,range=[0,1],round=!1,paddingInner=0,paddingOuter=0,align=.5;return delete scale.unknown,scale.domain=function(_){return arguments.length?(domain(_),rescale()):domain()},scale.range=function(_){return arguments.length?(range=[+_[0],+_[1]],rescale()):range.slice()},scale.rangeRound=function(_){return range=[+_[0],+_[1]],round=!0,rescale()},scale.bandwidth=function(){return bandwidth},scale.step=function(){return step},scale.round=function(_){return arguments.length?(round=!!_,rescale()):round},scale.padding=function(_){return arguments.length?(paddingInner=paddingOuter=Math.max(0,Math.min(1,_)),rescale()):paddingInner},scale.paddingInner=function(_){return arguments.length?(paddingInner=Math.max(0,Math.min(1,_)),rescale()):paddingInner},scale.paddingOuter=function(_){return arguments.length?(paddingOuter=Math.max(0,Math.min(1,_)),rescale()):paddingOuter},scale.align=function(_){return arguments.length?(align=Math.max(0,Math.min(1,_)),rescale()):align},scale.copy=function(){return band().domain(domain()).range(range).round(round).paddingInner(paddingInner).paddingOuter(paddingOuter).align(align)},rescale()}function pointish(scale){var copy=scale.copy;return scale.padding=scale.paddingOuter,delete scale.paddingInner,delete scale.paddingOuter,scale.copy=function(){return pointish(copy())},scale}function point(){return pointish(band().paddingInner(1))}function constant(x){return function(){return x}}function number(x){return+x}function deinterpolate(a,b){return(b-=a=+a)?function(x){return(x-a)/b}:constant(b)}function deinterpolateClamp(deinterpolate){return function(a,b){var d=deinterpolate(a=+a,b=+b);return function(x){return x<=a?0:x>=b?1:d(x)}}}function reinterpolateClamp(reinterpolate){return function(a,b){var r=reinterpolate(a=+a,b=+b);return function(t){return t<=0?a:t>=1?b:r(t)}}}function bimap(domain,range,deinterpolate,reinterpolate){var d0=domain[0],d1=domain[1],r0=range[0],r1=range[1];return d1<d0?(d0=deinterpolate(d1,d0),r0=reinterpolate(r1,r0)):(d0=deinterpolate(d0,d1),r0=reinterpolate(r0,r1)),function(x){return r0(d0(x))}}function polymap(domain,range,deinterpolate,reinterpolate){var j=Math.min(domain.length,range.length)-1,d=new Array(j),r=new Array(j),i=-1;for(domain[j]<domain[0]&&(domain=domain.slice().reverse(),range=range.slice().reverse());++i<j;)d[i]=deinterpolate(domain[i],domain[i+1]),r[i]=reinterpolate(range[i],range[i+1]);return function(x){var i=d3Array.bisect(domain,x,1,j)-1;return r[i](d[i](x))}}function copy(source,target){return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp())}function continuous(deinterpolate$$,reinterpolate){function rescale(){var map=Math.min(domain.length,range.length)>2?polymap:bimap;return output=map(domain,range,clamp?deinterpolateClamp(deinterpolate$$):deinterpolate$$,interpolate),input=map(range,domain,deinterpolate,clamp?reinterpolateClamp(reinterpolate):reinterpolate),scale}function scale(x){return output(+x)}var output,input,domain=unit,range=unit,interpolate=d3Interpolate.interpolate,clamp=!1;return scale.invert=function(y){return input(+y)},scale.domain=function(_){return arguments.length?(domain=map$1.call(_,number),rescale()):domain.slice()},scale.range=function(_){return arguments.length?(range=slice.call(_),rescale()):range.slice()},scale.rangeRound=function(_){return range=slice.call(_),interpolate=d3Interpolate.interpolateRound,rescale()},scale.clamp=function(_){return arguments.length?(clamp=!!_,rescale()):clamp},scale.interpolate=function(_){return arguments.length?(interpolate=_,rescale()):interpolate},rescale()}function tickFormat(domain,count,specifier){var precision,start=domain[0],stop=domain[domain.length-1],step=d3Array.tickStep(start,stop,null==count?10:count);switch(specifier=d3Format.formatSpecifier(null==specifier?",f":specifier),specifier.type){case"s":var value=Math.max(Math.abs(start),Math.abs(stop));return null!=specifier.precision||isNaN(precision=d3Format.precisionPrefix(step,value))||(specifier.precision=precision),d3Format.formatPrefix(specifier,value);case"":case"e":case"g":case"p":case"r":null!=specifier.precision||isNaN(precision=d3Format.precisionRound(step,Math.max(Math.abs(start),Math.abs(stop))))||(specifier.precision=precision-("e"===specifier.type));break;case"f":case"%":null!=specifier.precision||isNaN(precision=d3Format.precisionFixed(step))||(specifier.precision=precision-2*("%"===specifier.type))}return d3Format.format(specifier)}function linearish(scale){var domain=scale.domain;return scale.ticks=function(count){var d=domain();return d3Array.ticks(d[0],d[d.length-1],null==count?10:count)},scale.tickFormat=function(count,specifier){return tickFormat(domain(),count,specifier)},scale.nice=function(count){var d=domain(),i=d.length-1,n=null==count?10:count,start=d[0],stop=d[i],step=d3Array.tickStep(start,stop,n);return step&&(step=d3Array.tickStep(Math.floor(start/step)*step,Math.ceil(stop/step)*step,n),d[0]=Math.floor(start/step)*step,d[i]=Math.ceil(stop/step)*step,domain(d)),scale},scale}function linear(){var scale=continuous(deinterpolate,d3Interpolate.interpolateNumber);return scale.copy=function(){return copy(scale,linear())},linearish(scale)}function identity(){function scale(x){return+x}var domain=[0,1];return scale.invert=scale,scale.domain=scale.range=function(_){return arguments.length?(domain=map$1.call(_,number),scale):domain.slice()},scale.copy=function(){return identity().domain(domain)},linearish(scale)}function nice(domain,interval){domain=domain.slice();var t,i0=0,i1=domain.length-1,x0=domain[i0],x1=domain[i1];return x1<x0&&(t=i0,i0=i1,i1=t,t=x0,x0=x1,x1=t),domain[i0]=interval.floor(x0),domain[i1]=interval.ceil(x1),domain}function deinterpolate$1(a,b){return(b=Math.log(b/a))?function(x){return Math.log(x/a)/b}:constant(b)}function reinterpolate(a,b){return a<0?function(t){return-Math.pow(-b,t)*Math.pow(-a,1-t)}:function(t){return Math.pow(b,t)*Math.pow(a,1-t)}}function pow10(x){return isFinite(x)?+("1e"+x):x<0?0:x}function powp(base){return 10===base?pow10:base===Math.E?Math.exp:function(x){return Math.pow(base,x)}}function logp(base){return base===Math.E?Math.log:10===base&&Math.log10||2===base&&Math.log2||(base=Math.log(base),function(x){return Math.log(x)/base})}function reflect(f){return function(x){return-f(-x)}}function log(){function rescale(){return logs=logp(base),pows=powp(base),domain()[0]<0&&(logs=reflect(logs),pows=reflect(pows)),scale}var scale=continuous(deinterpolate$1,reinterpolate).domain([1,10]),domain=scale.domain,base=10,logs=logp(10),pows=powp(10);return scale.base=function(_){return arguments.length?(base=+_,rescale()):base},scale.domain=function(_){return arguments.length?(domain(_),rescale()):domain()},scale.ticks=function(count){var r,d=domain(),u=d[0],v=d[d.length-1];(r=v<u)&&(i=u,u=v,v=i);var p,k,t,i=logs(u),j=logs(v),n=null==count?10:+count,z=[];if(!(base%1)&&j-i<n){if(i=Math.round(i)-1,j=Math.round(j)+1,u>0){for(;i<j;++i)for(k=1,p=pows(i);k<base;++k)if(t=p*k,!(t<u)){if(t>v)break;z.push(t)}}else for(;i<j;++i)for(k=base-1,p=pows(i);k>=1;--k)if(t=p*k,!(t<u)){if(t>v)break;z.push(t)}r&&z.reverse()}else z=d3Array.ticks(i,j,Math.min(j-i,n)).map(pows);return z},scale.tickFormat=function(count,specifier){if(null==specifier&&(specifier=10===base?".0e":","),"function"!=typeof specifier&&(specifier=d3Format.format(specifier)),count===1/0)return specifier;null==count&&(count=10);var k=Math.max(1,base*count/scale.ticks().length);return function(d){var i=d/pows(Math.round(logs(d)));return i*base<base-.5&&(i*=base),i<=k?specifier(d):""}},scale.nice=function(){return domain(nice(domain(),{floor:function(x){return pows(Math.floor(logs(x)))},ceil:function(x){return pows(Math.ceil(logs(x)))}}))},scale.copy=function(){return copy(scale,log().base(base))},scale}function raise(x,exponent){return x<0?-Math.pow(-x,exponent):Math.pow(x,exponent)}function pow(){function deinterpolate(a,b){return(b=raise(b,exponent)-(a=raise(a,exponent)))?function(x){return(raise(x,exponent)-a)/b}:constant(b)}function reinterpolate(a,b){return b=raise(b,exponent)-(a=raise(a,exponent)),function(t){return raise(a+b*t,1/exponent)}}var exponent=1,scale=continuous(deinterpolate,reinterpolate),domain=scale.domain;return scale.exponent=function(_){return arguments.length?(exponent=+_,domain(domain())):exponent},scale.copy=function(){return copy(scale,pow().exponent(exponent))},linearish(scale)}function sqrt(){return pow().exponent(.5)}function quantile$1(){function rescale(){var i=0,n=Math.max(1,range.length);for(thresholds=new Array(n-1);++i<n;)thresholds[i-1]=d3Array.quantile(domain,i/n);return scale}function scale(x){if(!isNaN(x=+x))return range[d3Array.bisect(thresholds,x)]}var domain=[],range=[],thresholds=[];return scale.invertExtent=function(y){var i=range.indexOf(y);return i<0?[NaN,NaN]:[i>0?thresholds[i-1]:domain[0],i<thresholds.length?thresholds[i]:domain[domain.length-1]]},scale.domain=function(_){if(!arguments.length)return domain.slice();domain=[];for(var d,i=0,n=_.length;i<n;++i)d=_[i],null==d||isNaN(d=+d)||domain.push(d);return domain.sort(d3Array.ascending),rescale()},scale.range=function(_){return arguments.length?(range=slice.call(_),rescale()):range.slice()},scale.quantiles=function(){return thresholds.slice()},scale.copy=function(){return quantile$1().domain(domain).range(range)},scale}function quantize(){function scale(x){if(x<=x)return range[d3Array.bisect(domain,x,0,n)]}function rescale(){var i=-1;for(domain=new Array(n);++i<n;)domain[i]=((i+1)*x1-(i-n)*x0)/(n+1);return scale}var x0=0,x1=1,n=1,domain=[.5],range=[0,1];return scale.domain=function(_){return arguments.length?(x0=+_[0],x1=+_[1],rescale()):[x0,x1]},scale.range=function(_){return arguments.length?(n=(range=slice.call(_)).length-1,rescale()):range.slice()},scale.invertExtent=function(y){var i=range.indexOf(y);return i<0?[NaN,NaN]:i<1?[x0,domain[0]]:i>=n?[domain[n-1],x1]:[domain[i-1],domain[i]]},scale.copy=function(){return quantize().domain([x0,x1]).range(range)},linearish(scale)}function threshold(){function scale(x){if(x<=x)return range[d3Array.bisect(domain,x,0,n)]}var domain=[.5],range=[0,1],n=1;return scale.domain=function(_){return arguments.length?(domain=slice.call(_),n=Math.min(domain.length,range.length-1),scale):domain.slice()},scale.range=function(_){return arguments.length?(range=slice.call(_),n=Math.min(domain.length,range.length-1),scale):range.slice()},scale.invertExtent=function(y){var i=range.indexOf(y);return[domain[i-1],domain[i]]},scale.copy=function(){return threshold().domain(domain).range(range)},scale}function newDate(t){return new Date(t)}function calendar(year,month,week,day,hour,minute,second,millisecond,format){function tickFormat(date){return(second(date)<date?formatMillisecond:minute(date)<date?formatSecond:hour(date)<date?formatMinute:day(date)<date?formatHour:month(date)<date?week(date)<date?formatDay:formatWeek:year(date)<date?formatMonth:formatYear)(date)}function tickInterval(interval,start,stop,step){if(null==interval&&(interval=10),"number"==typeof interval){var target=Math.abs(stop-start)/interval,i=d3Array.bisector(function(i){return i[2]}).right(tickIntervals,target);i===tickIntervals.length?(step=d3Array.tickStep(start/durationYear,stop/durationYear,interval),interval=year):i?(i=tickIntervals[target/tickIntervals[i-1][2]<tickIntervals[i][2]/target?i-1:i],step=i[1],interval=i[0]):(step=d3Array.tickStep(start,stop,interval),interval=millisecond)}return null==step?interval:interval.every(step)}var scale=continuous(deinterpolate,d3Interpolate.interpolateNumber),invert=scale.invert,domain=scale.domain,formatMillisecond=format(".%L"),formatSecond=format(":%S"),formatMinute=format("%I:%M"),formatHour=format("%I %p"),formatDay=format("%a %d"),formatWeek=format("%b %d"),formatMonth=format("%B"),formatYear=format("%Y"),tickIntervals=[[second,1,durationSecond],[second,5,5*durationSecond],[second,15,15*durationSecond],[second,30,30*durationSecond],[minute,1,durationMinute],[minute,5,5*durationMinute],[minute,15,15*durationMinute],[minute,30,30*durationMinute],[hour,1,durationHour],[hour,3,3*durationHour],[hour,6,6*durationHour],[hour,12,12*durationHour],[day,1,durationDay],[day,2,2*durationDay],[week,1,durationWeek],[month,1,durationMonth],[month,3,3*durationMonth],[year,1,durationYear]];return scale.invert=function(y){return new Date(invert(y))},scale.domain=function(_){return arguments.length?domain(_):domain().map(newDate)},scale.ticks=function(interval,step){var t,d=domain(),t0=d[0],t1=d[d.length-1],r=t1<t0;return r&&(t=t0,t0=t1,t1=t),t=tickInterval(interval,t0,t1,step),t=t?t.range(t0,t1+1):[],r?t.reverse():t},scale.tickFormat=function(specifier){return null==specifier?tickFormat:format(specifier)},scale.nice=function(interval,step){var d=domain();return(interval=tickInterval(interval,d[0],d[d.length-1],step))?domain(nice(d,interval)):scale},scale.copy=function(){return copy(scale,calendar(year,month,week,day,hour,minute,second,millisecond,format))},scale}function time(){return calendar(d3Time.timeYear,d3Time.timeMonth,d3Time.timeWeek,d3Time.timeDay,d3Time.timeHour,d3Time.timeMinute,d3Time.timeSecond,d3Time.timeMillisecond,d3TimeFormat.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}function utcTime(){return calendar(d3Time.utcYear,d3Time.utcMonth,d3Time.utcWeek,d3Time.utcDay,d3Time.utcHour,d3Time.utcMinute,d3Time.utcSecond,d3Time.utcMillisecond,d3TimeFormat.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}function colors(s){return s.match(/.{6}/g).map(function(x){return"#"+x})}function category10(){return ordinal().range(colors10)}function category20b(){return ordinal().range(colors20b)}function category20c(){return ordinal().range(colors20c)}function category20(){return ordinal().range(colors20)}function cubehelix$1(){return linear().interpolate(d3Interpolate.interpolateCubehelixLong).range([d3Color.cubehelix(300,.5,0),d3Color.cubehelix(-240,.5,1)])}function sequential(interpolate){function scale(x){var t=(x-x0)/(x1-x0);return interpolate(clamp?Math.max(0,Math.min(1,t)):t)}var x0=0,x1=1,clamp=!1;return scale.domain=function(_){return arguments.length?(x0=+_[0],x1=+_[1],scale):[x0,x1]},scale.clamp=function(_){return arguments.length?(clamp=!!_,scale):clamp},scale.copy=function(){return sequential(interpolate).domain([x0,x1]).clamp(clamp)},linearish(scale)}function warm(){return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(-100,.75,.35),d3Color.cubehelix(80,1.5,.8)))}function cool(){return sequential(d3Interpolate.interpolateCubehelixLong(d3Color.cubehelix(260,.75,.35),d3Color.cubehelix(80,1.5,.8)))}function rainbow(){var rainbow=d3Color.cubehelix();return sequential(function(t){(t<0||t>1)&&(t-=Math.floor(t));var ts=Math.abs(t-.5);return rainbow.h=360*t-100,rainbow.s=1.5-1.5*ts,rainbow.l=.8-.9*ts,rainbow+""})}function ramp(range){var s=sequential(function(t){return range[Math.round(t*range.length-t)]}).clamp(!0);return delete s.clamp,s}function viridis(){return ramp(rangeViridis)}function magma(){return ramp(rangeMagma)}function inferno(){return ramp(rangeInferno)}function plasma(){return ramp(rangePlasma)}var array=Array.prototype,map$1=array.map,slice=array.slice,implicit={name:"implicit"},unit=[0,1],durationSecond=1e3,durationMinute=60*durationSecond,durationHour=60*durationMinute,durationDay=24*durationHour,durationWeek=7*durationDay,durationMonth=30*durationDay,durationYear=365*durationDay,colors10=colors("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),colors20b=colors("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),colors20c=colors("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),colors20=colors("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),rangeViridis=colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"),rangeMagma=colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"),rangeInferno=colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"),rangePlasma=colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"),version="0.6.4"; +exports.version=version,exports.scaleBand=band,exports.scalePoint=point,exports.scaleIdentity=identity,exports.scaleLinear=linear,exports.scaleLog=log,exports.scaleOrdinal=ordinal,exports.scaleImplicit=implicit,exports.scalePow=pow,exports.scaleSqrt=sqrt,exports.scaleQuantile=quantile$1,exports.scaleQuantize=quantize,exports.scaleThreshold=threshold,exports.scaleTime=time,exports.scaleUtc=utcTime,exports.scaleCategory10=category10,exports.scaleCategory20b=category20b,exports.scaleCategory20c=category20c,exports.scaleCategory20=category20,exports.scaleCubehelix=cubehelix$1,exports.scaleRainbow=rainbow,exports.scaleWarm=warm,exports.scaleCool=cool,exports.scaleViridis=viridis,exports.scaleMagma=magma,exports.scaleInferno=inferno,exports.scalePlasma=plasma})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function ascending(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}function bisector(compare){return 1===compare.length&&(compare=ascendingComparator(compare)),{left:function(a,x,lo,hi){for(null==lo&&(lo=0),null==hi&&(hi=a.length);lo<hi;){var mid=lo+hi>>>1;compare(a[mid],x)<0?lo=mid+1:hi=mid}return lo},right:function(a,x,lo,hi){for(null==lo&&(lo=0),null==hi&&(hi=a.length);lo<hi;){var mid=lo+hi>>>1;compare(a[mid],x)>0?hi=mid:lo=mid+1}return lo}}}function ascendingComparator(f){return function(d,x){return ascending(f(d),x)}}function descending(a,b){return b<a?-1:b>a?1:b>=a?0:NaN}function number$1(x){return null===x?NaN:+x}function variance(array,f){var a,d,n=array.length,m=0,s=0,i=-1,j=0;if(null==f)for(;++i<n;)isNaN(a=number$1(array[i]))||(d=a-m,m+=d/++j,s+=d*(a-m));else for(;++i<n;)isNaN(a=number$1(f(array[i],i,array)))||(d=a-m,m+=d/++j,s+=d*(a-m));if(j>1)return s/(j-1)}function deviation(array,f){var v=variance(array,f);return v?Math.sqrt(v):v}function extent(array,f){var a,b,c,i=-1,n=array.length;if(null==f){for(;++i<n;)if(null!=(b=array[i])&&b>=b){a=c=b;break}for(;++i<n;)null!=(b=array[i])&&(a>b&&(a=b),c<b&&(c=b))}else{for(;++i<n;)if(null!=(b=f(array[i],i,array))&&b>=b){a=c=b;break}for(;++i<n;)null!=(b=f(array[i],i,array))&&(a>b&&(a=b),c<b&&(c=b))}return[a,c]}function constant(x){return function(){return x}}function identity(x){return x}function range(start,stop,step){start=+start,stop=+stop,step=(n=arguments.length)<2?(stop=start,start=0,1):n<3?1:+step;for(var i=-1,n=0|Math.max(0,Math.ceil((stop-start)/step)),range=new Array(n);++i<n;)range[i]=start+i*step;return range}function ticks(start,stop,count){var step=tickStep(start,stop,count);return range(Math.ceil(start/step)*step,Math.floor(stop/step)*step+step/2,step)}function tickStep(start,stop,count){var step0=Math.abs(stop-start)/Math.max(0,count),step1=Math.pow(10,Math.floor(Math.log(step0)/Math.LN10)),error=step0/step1;return error>=e10?step1*=10:error>=e5?step1*=5:error>=e2&&(step1*=2),stop<start?-step1:step1}function sturges(values){return Math.ceil(Math.log(values.length)/Math.LN2)+1}function number(x){return+x}function histogram(){function histogram(data){var i,x,n=data.length,values=new Array(n);for(i=0;i<n;++i)values[i]=+value(data[i],i,data);var xz=domain(values),x0=+xz[0],x1=+xz[1],tz=threshold(values,x0,x1);Array.isArray(tz)||(tz=ticks(x0,x1,+tz));var m=tz.length;for(i=0;i<m;++i)tz[i]=+tz[i];for(;tz[0]<=x0;)tz.shift(),--m;for(;tz[m-1]>=x1;)tz.pop(),--m;var bin,bins=new Array(m+1);for(i=0;i<=m;++i)bin=bins[i]=[],bin.x0=i>0?tz[i-1]:x0,bin.x1=i<m?tz[i]:x1;for(i=0;i<n;++i)x=values[i],x0<=x&&x<=x1&&bins[bisectRight(tz,x,0,m)].push(data[i]);return bins}var value=identity,domain=extent,threshold=sturges;return histogram.value=function(_){return arguments.length?(value="function"==typeof _?_:constant(+_),histogram):value},histogram.domain=function(_){return arguments.length?(domain="function"==typeof _?_:constant([+_[0],+_[1]]),histogram):domain},histogram.thresholds=function(_){return arguments.length?(threshold="function"==typeof _?_:constant(Array.isArray(_)?Array.prototype.map.call(_,number):+_),histogram):threshold},histogram}function quantile(array,p,f){if(null==f&&(f=number$1),n=array.length){if((p=+p)<=0||n<2)return+f(array[0],0,array);if(p>=1)return+f(array[n-1],n-1,array);var n,h=(n-1)*p,i=Math.floor(h),a=+f(array[i],i,array),b=+f(array[i+1],i+1,array);return a+(b-a)*(h-i)}}function freedmanDiaconis(values,min,max){return values.sort(ascending),Math.ceil((max-min)/(2*(quantile(values,.75)-quantile(values,.25))*Math.pow(values.length,-1/3)))}function scott(values,min,max){return Math.ceil((max-min)/(3.5*deviation(values)*Math.pow(values.length,-1/3)))}function max(array,f){var a,b,i=-1,n=array.length;if(null==f){for(;++i<n;)if(null!=(b=array[i])&&b>=b){a=b;break}for(;++i<n;)null!=(b=array[i])&&b>a&&(a=b)}else{for(;++i<n;)if(null!=(b=f(array[i],i,array))&&b>=b){a=b;break}for(;++i<n;)null!=(b=f(array[i],i,array))&&b>a&&(a=b)}return a}function mean(array,f){var a,s=0,n=array.length,i=-1,j=n;if(null==f)for(;++i<n;)isNaN(a=number$1(array[i]))?--j:s+=a;else for(;++i<n;)isNaN(a=number$1(f(array[i],i,array)))?--j:s+=a;if(j)return s/j}function median(array,f){var a,numbers=[],n=array.length,i=-1;if(null==f)for(;++i<n;)isNaN(a=number$1(array[i]))||numbers.push(a);else for(;++i<n;)isNaN(a=number$1(f(array[i],i,array)))||numbers.push(a);return quantile(numbers.sort(ascending),.5)}function merge(arrays){for(var m,merged,array,n=arrays.length,i=-1,j=0;++i<n;)j+=arrays[i].length;for(merged=new Array(j);--n>=0;)for(array=arrays[n],m=array.length;--m>=0;)merged[--j]=array[m];return merged}function min(array,f){var a,b,i=-1,n=array.length;if(null==f){for(;++i<n;)if(null!=(b=array[i])&&b>=b){a=b;break}for(;++i<n;)null!=(b=array[i])&&a>b&&(a=b)}else{for(;++i<n;)if(null!=(b=f(array[i],i,array))&&b>=b){a=b;break}for(;++i<n;)null!=(b=f(array[i],i,array))&&a>b&&(a=b)}return a}function pairs(array){for(var i=0,n=array.length-1,p=array[0],pairs=new Array(n<0?0:n);i<n;)pairs[i]=[p,p=array[++i]];return pairs}function permute(array,indexes){for(var i=indexes.length,permutes=new Array(i);i--;)permutes[i]=array[indexes[i]];return permutes}function scan(array,compare){if(n=array.length){var n,xi,i=0,j=0,xj=array[j];for(compare||(compare=ascending);++i<n;)(compare(xi=array[i],xj)<0||0!==compare(xj,xj))&&(xj=xi,j=i);return 0===compare(xj,xj)?j:void 0}}function shuffle(array,i0,i1){for(var t,i,m=(null==i1?array.length:i1)-(i0=null==i0?0:+i0);m;)i=Math.random()*m--|0,t=array[m+i0],array[m+i0]=array[i+i0],array[i+i0]=t;return array}function sum(array,f){var a,s=0,n=array.length,i=-1;if(null==f)for(;++i<n;)(a=+array[i])&&(s+=a);else for(;++i<n;)(a=+f(array[i],i,array))&&(s+=a);return s}function transpose(matrix){if(!(n=matrix.length))return[];for(var i=-1,m=min(matrix,length),transpose=new Array(m);++i<m;)for(var n,j=-1,row=transpose[i]=new Array(n);++j<n;)row[j]=matrix[j][i];return transpose}function length(d){return d.length}function zip(){return transpose(arguments)}var ascendingBisect=bisector(ascending),bisectRight=ascendingBisect.right,bisectLeft=ascendingBisect.left,e10=Math.sqrt(50),e5=Math.sqrt(10),e2=Math.sqrt(2),version="0.7.1";exports.version=version,exports.bisect=bisectRight,exports.bisectRight=bisectRight,exports.bisectLeft=bisectLeft,exports.ascending=ascending,exports.bisector=bisector,exports.descending=descending,exports.deviation=deviation,exports.extent=extent,exports.histogram=histogram,exports.thresholdFreedmanDiaconis=freedmanDiaconis,exports.thresholdScott=scott,exports.thresholdSturges=sturges,exports.max=max,exports.mean=mean,exports.median=median,exports.merge=merge,exports.min=min,exports.pairs=pairs,exports.permute=permute,exports.quantile=quantile,exports.range=range,exports.scan=scan,exports.shuffle=shuffle,exports.sum=sum,exports.ticks=ticks,exports.tickStep=tickStep,exports.transpose=transpose,exports.variance=variance,exports.zip=zip})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function Map(){}function map(object,f){var map=new Map;if(object instanceof Map)object.each(function(value,key){map.set(key,value)});else if(Array.isArray(object)){var o,i=-1,n=object.length;if(null==f)for(;++i<n;)map.set(i,object[i]);else for(;++i<n;)map.set(f(o=object[i],i,object),o)}else if(object)for(var key in object)map.set(key,object[key]);return map}function nest(){function apply(array,depth,createResult,setResult){if(depth>=keys.length)return rollup?rollup(array):sortValues?array.sort(sortValues):array;for(var keyValue,value,values,i=-1,n=array.length,key=keys[depth++],valuesByKey=map(),result=createResult();++i<n;)(values=valuesByKey.get(keyValue=key(value=array[i])+""))?values.push(value):valuesByKey.set(keyValue,[value]);return valuesByKey.each(function(values,key){setResult(result,key,apply(values,depth,createResult,setResult))}),result}function entries(map,depth){if(depth>=keys.length)return map;var array=[],sortKey=sortKeys[depth++];return map.each(function(value,key){array.push({key:key,values:entries(value,depth)})}),sortKey?array.sort(function(a,b){return sortKey(a.key,b.key)}):array}var sortValues,rollup,nest,keys=[],sortKeys=[];return nest={object:function(array){return apply(array,0,createObject,setObject)},map:function(array){return apply(array,0,createMap,setMap)},entries:function(array){return entries(apply(array,0,createMap,setMap),0)},key:function(d){return keys.push(d),nest},sortKeys:function(order){return sortKeys[keys.length-1]=order,nest},sortValues:function(order){return sortValues=order,nest},rollup:function(f){return rollup=f,nest}}}function createObject(){return{}}function setObject(object,key,value){object[key]=value}function createMap(){return map()}function setMap(map,key,value){map.set(key,value)}function Set(){}function set(object,f){var set=new Set;if(object instanceof Set)object.each(function(value){set.add(value)});else if(object){var i=-1,n=object.length;if(null==f)for(;++i<n;)set.add(object[i]);else for(;++i<n;)set.add(f(object[i],i,object))}return set}function keys(map){var keys=[];for(var key in map)keys.push(key);return keys}function values(map){var values=[];for(var key in map)values.push(map[key]);return values}function entries(map){var entries=[];for(var key in map)entries.push({key:key,value:map[key]});return entries}var prefix="$";Map.prototype=map.prototype={constructor:Map,has:function(key){return prefix+key in this},get:function(key){return this[prefix+key]},set:function(key,value){return this[prefix+key]=value,this},remove:function(key){var property=prefix+key;return property in this&&delete this[property]},clear:function(){for(var property in this)property[0]===prefix&&delete this[property]},keys:function(){var keys=[];for(var property in this)property[0]===prefix&&keys.push(property.slice(1));return keys},values:function(){var values=[];for(var property in this)property[0]===prefix&&values.push(this[property]);return values},entries:function(){var entries=[];for(var property in this)property[0]===prefix&&entries.push({key:property.slice(1),value:this[property]});return entries},size:function(){var size=0;for(var property in this)property[0]===prefix&&++size;return size},empty:function(){for(var property in this)if(property[0]===prefix)return!1;return!0},each:function(f){for(var property in this)property[0]===prefix&&f(this[property],property.slice(1),this)}};var proto=map.prototype;Set.prototype=set.prototype={constructor:Set,has:proto.has,add:function(value){return value+="",this[prefix+value]=value,this},remove:proto.remove,clear:proto.clear,values:proto.keys,size:proto.size,empty:proto.empty,each:proto.each};var version="0.1.2";exports.version=version,exports.nest=nest,exports.set=set,exports.map=map,exports.keys=keys,exports.values=values,exports.entries=entries})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports,__webpack_require__(23))}(this,function(exports,d3Color){"use strict";function constant(x){return function(){return x}}function linear(a,d){return function(t){return a+t*d}}function exponential(a,b,y){return a=Math.pow(a,y),b=Math.pow(b,y)-a,y=1/y,function(t){return Math.pow(a+t*b,y)}}function interpolateHue(a,b){var d=b-a;return d?linear(a,d>180||d<-180?d-360*Math.round(d/360):d):constant(isNaN(a)?b:a)}function gamma(y){return 1===(y=+y)?nogamma:function(a,b){return b-a?exponential(a,b,y):constant(isNaN(a)?b:a)}}function nogamma(a,b){var d=b-a;return d?linear(a,d):constant(isNaN(a)?b:a)}function array(a,b){var i,x=[],c=[],na=a?a.length:0,nb=b?b.length:0,n0=Math.min(na,nb);for(i=0;i<n0;++i)x.push(value(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}}function number(a,b){return a=+a,b-=a,function(t){return a+b*t}}function object(a,b){var k,i={},c={};null!==a&&"object"==typeof a||(a={}),null!==b&&"object"==typeof b||(b={});for(k in a)k in b?i[k]=value(a[k],b[k]):c[k]=a[k];for(k in b)k in a||(c[k]=b[k]);return function(t){for(k in i)c[k]=i[k](t);return c}}function zero(b){return function(){return b}}function one(b){return function(t){return b(t)+""}}function string(a,b){var am,bm,bs,bi=reA.lastIndex=reB.lastIndex=0,i=-1,s=[],q=[];for(a+="",b+="";(am=reA.exec(a))&&(bm=reB.exec(b));)(bs=bm.index)>bi&&(bs=b.slice(bi,bs),s[i]?s[i]+=bs:s[++i]=bs),(am=am[0])===(bm=bm[0])?s[i]?s[i]+=bm:s[++i]=bm:(s[++i]=null,q.push({i:i,x:number(am,bm)})),bi=reB.lastIndex;return bi<b.length&&(bs=b.slice(bi),s[i]?s[i]+=bs:s[++i]=bs),s.length<2?q[0]?one(q[0].x):zero(b):(b=q.length,function(t){for(var o,i=0;i<b;++i)s[(o=q[i]).i]=o.x(t);return s.join("")})}function value(a,b){var c,t=typeof b;return null==b||"boolean"===t?constant(b):("number"===t?number:"string"===t?(c=d3Color.color(b))?(b=c,rgb$1):string:b instanceof d3Color.color?rgb$1:Array.isArray(b)?array:object)(a,b)}function round(a,b){return a=+a,b-=a,function(t){return Math.round(a+b*t)}}function decompose(a,b,c,d,e,f){if(a*d===b*c)return null;var scaleX=Math.sqrt(a*a+b*b);a/=scaleX,b/=scaleX;var skewX=a*c+b*d;c-=a*skewX,d-=b*skewX;var scaleY=Math.sqrt(c*c+d*d);return c/=scaleY,d/=scaleY,skewX/=scaleY,a*d<b*c&&(a=-a,b=-b,skewX=-skewX,scaleX=-scaleX),{translateX:e,translateY:f,rotate:Math.atan2(b,a)*rad2deg,skewX:Math.atan(skewX)*rad2deg,scaleX:scaleX,scaleY:scaleY}}function parseCss(value){if("none"===value)return identity;cssNode||(cssNode=document.createElement("DIV"),cssRoot=document.documentElement,cssView=document.defaultView),cssNode.style.transform=value,value=cssView.getComputedStyle(cssRoot.appendChild(cssNode),null).getPropertyValue("transform"),cssRoot.removeChild(cssNode);var m=value.slice(7,-1).split(",");return decompose(+m[0],+m[1],+m[2],+m[3],+m[4],+m[5])}function parseSvg(value){svgNode||(svgNode=document.createElementNS("http://www.w3.org/2000/svg","g")),svgNode.setAttribute("transform",null==value?"":value);var m=svgNode.transform.baseVal.consolidate().matrix;return decompose(m.a,m.b,m.c,m.d,m.e,m.f)}function interpolateTransform(parse,pxComma,pxParen,degParen){function pop(s){return s.length?s.pop()+" ":""}function translate(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push("translate(",null,pxComma,null,pxParen);q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else(xb||yb)&&s.push("translate("+xb+pxComma+yb+pxParen)}function rotate(a,b,s,q){a!==b?(a-b>180?b+=360:b-a>180&&(a+=360),q.push({i:s.push(pop(s)+"rotate(",null,degParen)-2,x:number(a,b)})):b&&s.push(pop(s)+"rotate("+b+degParen)}function skewX(a,b,s,q){a!==b?q.push({i:s.push(pop(s)+"skewX(",null,degParen)-2,x:number(a,b)}):b&&s.push(pop(s)+"skewX("+b+degParen)}function scale(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push(pop(s)+"scale(",null,",",null,")");q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else 1===xb&&1===yb||s.push(pop(s)+"scale("+xb+","+yb+")")}return function(a,b){var s=[],q=[];return a=parse(a),b=parse(b),translate(a.translateX,a.translateY,b.translateX,b.translateY,s,q),rotate(a.rotate,b.rotate,s,q),skewX(a.skewX,b.skewX,s,q),scale(a.scaleX,a.scaleY,b.scaleX,b.scaleY,s,q),a=b=null,function(t){for(var o,i=-1,n=q.length;++i<n;)s[(o=q[i]).i]=o.x(t);return s.join("")}}}function cosh(x){return((x=Math.exp(x))+1/x)/2}function sinh(x){return((x=Math.exp(x))-1/x)/2}function tanh(x){return((x=Math.exp(2*x))-1)/(x+1)}function zoom(p0,p1){var i,S,ux0=p0[0],uy0=p0[1],w0=p0[2],ux1=p1[0],uy1=p1[1],w1=p1[2],dx=ux1-ux0,dy=uy1-uy0,d2=dx*dx+dy*dy;if(d2<epsilon2)S=Math.log(w1/w0)/rho,i=function(t){return[ux0+t*dx,uy0+t*dy,w0*Math.exp(rho*t*S)]};else{var d1=Math.sqrt(d2),b0=(w1*w1-w0*w0+rho4*d2)/(2*w0*rho2*d1),b1=(w1*w1-w0*w0-rho4*d2)/(2*w1*rho2*d1),r0=Math.log(Math.sqrt(b0*b0+1)-b0),r1=Math.log(Math.sqrt(b1*b1+1)-b1);S=(r1-r0)/rho,i=function(t){var s=t*S,coshr0=cosh(r0),u=w0/(rho2*d1)*(coshr0*tanh(rho*s+r0)-sinh(r0));return[ux0+u*dx,uy0+u*dy,w0*coshr0/cosh(rho*s+r0)]}}return i.duration=1e3*S,i}function interpolateHsl(start,end){var h=interpolateHue((start=d3Color.hsl(start)).h,(end=d3Color.hsl(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(t),start.opacity=opacity(t),start+""}}function interpolateHslLong(start,end){var h=nogamma((start=d3Color.hsl(start)).h,(end=d3Color.hsl(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(t),start.opacity=opacity(t),start+""}}function interpolateLab(start,end){var l=nogamma((start=d3Color.lab(start)).l,(end=d3Color.lab(end)).l),a=nogamma(start.a,end.a),b=nogamma(start.b,end.b),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.l=l(t),start.a=a(t),start.b=b(t),start.opacity=opacity(t),start+""}}function interpolateHcl(start,end){var h=interpolateHue((start=d3Color.hcl(start)).h,(end=d3Color.hcl(end)).h),c=nogamma(start.c,end.c),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.c=c(t),start.l=l(t),start.opacity=opacity(t),start+""}}function interpolateHclLong(start,end){var h=nogamma((start=d3Color.hcl(start)).h,(end=d3Color.hcl(end)).h),c=nogamma(start.c,end.c),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.c=c(t),start.l=l(t),start.opacity=opacity(t),start+""}}var cssNode,cssRoot,cssView,svgNode,rgb$1=function gamma$$(y){function interpolateRgb(start,end){var r=interpolateColor((start=d3Color.rgb(start)).r,(end=d3Color.rgb(end)).r),g=interpolateColor(start.g,end.g),b=interpolateColor(start.b,end.b),opacity=interpolateColor(start.opacity,end.opacity);return function(t){return start.r=r(t),start.g=g(t),start.b=b(t),start.opacity=opacity(t),start+""}}var interpolateColor=gamma(y);return interpolateRgb.gamma=gamma$$,interpolateRgb}(1),reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g"),rad2deg=180/Math.PI,identity={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},interpolateTransformCss=interpolateTransform(parseCss,"px, ","px)","deg)"),interpolateTransformSvg=interpolateTransform(parseSvg,", ",")",")"),rho=Math.SQRT2,rho2=2,rho4=4,epsilon2=1e-12,cubehelix$1=function gamma(y){function interpolateCubehelix(start,end){var h=interpolateHue((start=d3Color.cubehelix(start)).h,(end=d3Color.cubehelix(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(Math.pow(t,y)),start.opacity=opacity(t),start+""}}return y=+y,interpolateCubehelix.gamma=gamma,interpolateCubehelix}(1),cubehelixLong=function gamma(y){function interpolateCubehelixLong(start,end){var h=nogamma((start=d3Color.cubehelix(start)).h,(end=d3Color.cubehelix(end)).h),s=nogamma(start.s,end.s),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.s=s(t),start.l=l(Math.pow(t,y)),start.opacity=opacity(t),start+""}}return y=+y,interpolateCubehelixLong.gamma=gamma,interpolateCubehelixLong}(1),version="0.7.0";exports.version=version,exports.interpolate=value,exports.interpolateArray=array,exports.interpolateNumber=number,exports.interpolateObject=object,exports.interpolateRound=round,exports.interpolateString=string,exports.interpolateTransformCss=interpolateTransformCss,exports.interpolateTransformSvg=interpolateTransformSvg,exports.interpolateZoom=zoom,exports.interpolateRgb=rgb$1,exports.interpolateHsl=interpolateHsl,exports.interpolateHslLong=interpolateHslLong,exports.interpolateLab=interpolateLab,exports.interpolateHcl=interpolateHcl,exports.interpolateHclLong=interpolateHclLong,exports.interpolateCubehelix=cubehelix$1,exports.interpolateCubehelixLong=cubehelixLong})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function define(constructor,factory,prototype){constructor.prototype=factory.prototype=prototype,prototype.constructor=constructor}function extend(parent,definition){var prototype=Object.create(parent.prototype);for(var key in definition)prototype[key]=definition[key];return prototype}function Color(){}function color(format){var m;return format=(format+"").trim().toLowerCase(),(m=reHex3.exec(format))?(m=parseInt(m[1],16),new Rgb(m>>8&15|m>>4&240,m>>4&15|240&m,(15&m)<<4|15&m,1)):(m=reHex6.exec(format))?rgbn(parseInt(m[1],16)):(m=reRgbInteger.exec(format))?new Rgb(m[1],m[2],m[3],1):(m=reRgbPercent.exec(format))?new Rgb(255*m[1]/100,255*m[2]/100,255*m[3]/100,1):(m=reRgbaInteger.exec(format))?rgba(m[1],m[2],m[3],m[4]):(m=reRgbaPercent.exec(format))?rgba(255*m[1]/100,255*m[2]/100,255*m[3]/100,m[4]):(m=reHslPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,1):(m=reHslaPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,m[4]):named.hasOwnProperty(format)?rgbn(named[format]):"transparent"===format?new Rgb(NaN,NaN,NaN,0):null}function rgbn(n){return new Rgb(n>>16&255,n>>8&255,255&n,1)}function rgba(r,g,b,a){return a<=0&&(r=g=b=NaN),new Rgb(r,g,b,a)}function rgbConvert(o){return o instanceof Color||(o=color(o)),o?(o=o.rgb(),new Rgb(o.r,o.g,o.b,o.opacity)):new Rgb}function rgb(r,g,b,opacity){return 1===arguments.length?rgbConvert(r):new Rgb(r,g,b,null==opacity?1:opacity)}function Rgb(r,g,b,opacity){this.r=+r,this.g=+g,this.b=+b,this.opacity=+opacity}function hsla(h,s,l,a){return a<=0?h=s=l=NaN:l<=0||l>=1?h=s=NaN:s<=0&&(h=NaN),new Hsl(h,s,l,a)}function hslConvert(o){if(o instanceof Hsl)return new Hsl(o.h,o.s,o.l,o.opacity);if(o instanceof Color||(o=color(o)),!o)return new Hsl;if(o instanceof Hsl)return o;o=o.rgb();var r=o.r/255,g=o.g/255,b=o.b/255,min=Math.min(r,g,b),max=Math.max(r,g,b),h=NaN,s=max-min,l=(max+min)/2;return s?(h=r===max?(g-b)/s+6*(g<b):g===max?(b-r)/s+2:(r-g)/s+4,s/=l<.5?max+min:2-max-min,h*=60):s=l>0&&l<1?0:h,new Hsl(h,s,l,o.opacity)}function hsl(h,s,l,opacity){return 1===arguments.length?hslConvert(h):new Hsl(h,s,l,null==opacity?1:opacity)}function Hsl(h,s,l,opacity){this.h=+h,this.s=+s,this.l=+l,this.opacity=+opacity}function hsl2rgb(h,m1,m2){return 255*(h<60?m1+(m2-m1)*h/60:h<180?m2:h<240?m1+(m2-m1)*(240-h)/60:m1)}function labConvert(o){if(o instanceof Lab)return new Lab(o.l,o.a,o.b,o.opacity);if(o instanceof Hcl){var h=o.h*deg2rad;return new Lab(o.l,Math.cos(h)*o.c,Math.sin(h)*o.c,o.opacity)}o instanceof Rgb||(o=rgbConvert(o));var b=rgb2xyz(o.r),a=rgb2xyz(o.g),l=rgb2xyz(o.b),x=xyz2lab((.4124564*b+.3575761*a+.1804375*l)/Xn),y=xyz2lab((.2126729*b+.7151522*a+.072175*l)/Yn),z=xyz2lab((.0193339*b+.119192*a+.9503041*l)/Zn);return new Lab(116*y-16,500*(x-y),200*(y-z),o.opacity)}function lab(l,a,b,opacity){return 1===arguments.length?labConvert(l):new Lab(l,a,b,null==opacity?1:opacity)}function Lab(l,a,b,opacity){this.l=+l,this.a=+a,this.b=+b,this.opacity=+opacity}function xyz2lab(t){return t>t3?Math.pow(t,1/3):t/t2+t0}function lab2xyz(t){return t>t1?t*t*t:t2*(t-t0)}function xyz2rgb(x){return 255*(x<=.0031308?12.92*x:1.055*Math.pow(x,1/2.4)-.055)}function rgb2xyz(x){return(x/=255)<=.04045?x/12.92:Math.pow((x+.055)/1.055,2.4)}function hclConvert(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);o instanceof Lab||(o=labConvert(o));var h=Math.atan2(o.b,o.a)*rad2deg;return new Hcl(h<0?h+360:h,Math.sqrt(o.a*o.a+o.b*o.b),o.l,o.opacity)}function hcl(h,c,l,opacity){return 1===arguments.length?hclConvert(h):new Hcl(h,c,l,null==opacity?1:opacity)}function Hcl(h,c,l,opacity){this.h=+h,this.c=+c,this.l=+l,this.opacity=+opacity}function cubehelixConvert(o){if(o instanceof Cubehelix)return new Cubehelix(o.h,o.s,o.l,o.opacity);o instanceof Rgb||(o=rgbConvert(o));var r=o.r/255,g=o.g/255,b=o.b/255,l=(BC_DA*b+ED*r-EB*g)/(BC_DA+ED-EB),bl=b-l,k=(E*(g-l)-C*bl)/D,s=Math.sqrt(k*k+bl*bl)/(E*l*(1-l)),h=s?Math.atan2(k,bl)*rad2deg-120:NaN;return new Cubehelix(h<0?h+360:h,s,l,o.opacity)}function cubehelix(h,s,l,opacity){return 1===arguments.length?cubehelixConvert(h):new Cubehelix(h,s,l,null==opacity?1:opacity)}function Cubehelix(h,s,l,opacity){this.h=+h,this.s=+s,this.l=+l,this.opacity=+opacity}var darker=.7,brighter=1/darker,reHex3=/^#([0-9a-f]{3})$/,reHex6=/^#([0-9a-f]{6})$/,reRgbInteger=/^rgb\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*\)$/,reRgbPercent=/^rgb\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,reRgbaInteger=/^rgba\(\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+)\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,reRgbaPercent=/^rgba\(\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,reHslPercent=/^hsl\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*\)$/,reHslaPercent=/^hsla\(\s*([-+]?\d+(?:\.\d+)?)\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)%\s*,\s*([-+]?\d+(?:\.\d+)?)\s*\)$/,named={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,rebeccapurple:6697881,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};define(Color,color,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),define(Rgb,rgb,extend(Color,{brighter:function(k){return k=null==k?brighter:Math.pow(brighter,k),new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},darker:function(k){return k=null==k?darker:Math.pow(darker,k),new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var a=this.opacity;return a=isNaN(a)?1:Math.max(0,Math.min(1,a)),(1===a?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===a?")":", "+a+")")}})),define(Hsl,hsl,extend(Color,{brighter:function(k){return k=null==k?brighter:Math.pow(brighter,k),new Hsl(this.h,this.s,this.l*k,this.opacity)},darker:function(k){return k=null==k?darker:Math.pow(darker,k),new Hsl(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=this.h%360+360*(this.h<0),s=isNaN(h)||isNaN(this.s)?0:this.s,l=this.l,m2=l+(l<.5?l:1-l)*s,m1=2*l-m2;return new Rgb(hsl2rgb(h>=240?h-240:h+120,m1,m2),hsl2rgb(h,m1,m2),hsl2rgb(h<120?h+240:h-120,m1,m2),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var deg2rad=Math.PI/180,rad2deg=180/Math.PI,Kn=18,Xn=.95047,Yn=1,Zn=1.08883,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1;define(Lab,lab,extend(Color,{brighter:function(k){return new Lab(this.l+Kn*(null==k?1:k),this.a,this.b,this.opacity)},darker:function(k){return new Lab(this.l-Kn*(null==k?1:k),this.a,this.b,this.opacity)},rgb:function(){var y=(this.l+16)/116,x=isNaN(this.a)?y:y+this.a/500,z=isNaN(this.b)?y:y-this.b/200;return y=Yn*lab2xyz(y),x=Xn*lab2xyz(x),z=Zn*lab2xyz(z),new Rgb(xyz2rgb(3.2404542*x-1.5371385*y-.4985314*z),xyz2rgb(-.969266*x+1.8760108*y+.041556*z),xyz2rgb(.0556434*x-.2040259*y+1.0572252*z),this.opacity)}})),define(Hcl,hcl,extend(Color,{brighter:function(k){return new Hcl(this.h,this.c,this.l+Kn*(null==k?1:k),this.opacity)},darker:function(k){return new Hcl(this.h,this.c,this.l-Kn*(null==k?1:k),this.opacity)},rgb:function(){return labConvert(this).rgb()}}));var A=-.14861,B=1.78277,C=-.29227,D=-.90649,E=1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;define(Cubehelix,cubehelix,extend(Color,{brighter:function(k){return k=null==k?brighter:Math.pow(brighter,k),new Cubehelix(this.h,this.s,this.l*k,this.opacity)},darker:function(k){return k=null==k?darker:Math.pow(darker,k),new Cubehelix(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=isNaN(this.h)?0:(this.h+120)*deg2rad,l=+this.l,a=isNaN(this.s)?0:this.s*l*(1-l),cosh=Math.cos(h),sinh=Math.sin(h);return new Rgb(255*(l+a*(A*cosh+B*sinh)),255*(l+a*(C*cosh+D*sinh)),255*(l+a*(E*cosh)),this.opacity)}}));var version="0.4.2";exports.version=version,exports.color=color,exports.rgb=rgb,exports.hsl=hsl,exports.lab=lab,exports.hcl=hcl,exports.cubehelix=cubehelix})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function formatDecimal(x,p){if((i=(x=p?x.toExponential(p-1):x.toExponential()).indexOf("e"))<0)return null;var i,coefficient=x.slice(0,i);return[coefficient.length>1?coefficient[0]+coefficient.slice(2):coefficient,+x.slice(i+1)]}function exponent(x){return x=formatDecimal(Math.abs(x)),x?x[1]:NaN}function formatGroup(grouping,thousands){return function(value,width){ +for(var i=value.length,t=[],j=0,g=grouping[0],length=0;i>0&&g>0&&(length+g+1>width&&(g=Math.max(1,width-length)),t.push(value.substring(i-=g,i+g)),!((length+=g+1)>width));)g=grouping[j=(j+1)%grouping.length];return t.reverse().join(thousands)}}function formatDefault(x,p){x=x.toPrecision(p);out:for(var i1,n=x.length,i=1,i0=-1;i<n;++i)switch(x[i]){case".":i0=i1=i;break;case"0":0===i0&&(i0=i),i1=i;break;case"e":break out;default:i0>0&&(i0=0)}return i0>0?x.slice(0,i0)+x.slice(i1+1):x}function formatPrefixAuto(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1],i=exponent-(prefixExponent=3*Math.max(-8,Math.min(8,Math.floor(exponent/3))))+1,n=coefficient.length;return i===n?coefficient:i>n?coefficient+new Array(i-n+1).join("0"):i>0?coefficient.slice(0,i)+"."+coefficient.slice(i):"0."+new Array(1-i).join("0")+formatDecimal(x,Math.max(0,p+i-1))[0]}function formatRounded(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1];return exponent<0?"0."+new Array(-exponent).join("0")+coefficient:coefficient.length>exponent+1?coefficient.slice(0,exponent+1)+"."+coefficient.slice(exponent+1):coefficient+new Array(exponent-coefficient.length+2).join("0")}function formatSpecifier(specifier){return new FormatSpecifier(specifier)}function FormatSpecifier(specifier){if(!(match=re.exec(specifier)))throw new Error("invalid format: "+specifier);var match,fill=match[1]||" ",align=match[2]||">",sign=match[3]||"-",symbol=match[4]||"",zero=!!match[5],width=match[6]&&+match[6],comma=!!match[7],precision=match[8]&&+match[8].slice(1),type=match[9]||"";"n"===type?(comma=!0,type="g"):formatTypes[type]||(type=""),(zero||"0"===fill&&"="===align)&&(zero=!0,fill="0",align="="),this.fill=fill,this.align=align,this.sign=sign,this.symbol=symbol,this.zero=zero,this.width=width,this.comma=comma,this.precision=precision,this.type=type}function identity(x){return x}function locale(locale){function newFormat(specifier){function format(value){var i,n,c,valuePrefix=prefix,valueSuffix=suffix;if("c"===type)valueSuffix=formatType(value)+valueSuffix,value="";else{value=+value;var valueNegative=(value<0||1/value<0)&&(value*=-1,!0);if(value=formatType(value,precision),valueNegative)for(i=-1,n=value.length,valueNegative=!1;++i<n;)if(c=value.charCodeAt(i),48<c&&c<58||"x"===type&&96<c&&c<103||"X"===type&&64<c&&c<71){valueNegative=!0;break}if(valuePrefix=(valueNegative?"("===sign?sign:"-":"-"===sign||"("===sign?"":sign)+valuePrefix,valueSuffix=valueSuffix+("s"===type?prefixes[8+prefixExponent/3]:"")+(valueNegative&&"("===sign?")":""),maybeSuffix)for(i=-1,n=value.length;++i<n;)if(c=value.charCodeAt(i),48>c||c>57){valueSuffix=(46===c?decimal+value.slice(i+1):value.slice(i))+valueSuffix,value=value.slice(0,i);break}}comma&&!zero&&(value=group(value,1/0));var length=valuePrefix.length+value.length+valueSuffix.length,padding=length<width?new Array(width-length+1).join(fill):"";switch(comma&&zero&&(value=group(padding+value,padding.length?width-valueSuffix.length:1/0),padding=""),align){case"<":return valuePrefix+value+valueSuffix+padding;case"=":return valuePrefix+padding+value+valueSuffix;case"^":return padding.slice(0,length=padding.length>>1)+valuePrefix+value+valueSuffix+padding.slice(length)}return padding+valuePrefix+value+valueSuffix}specifier=formatSpecifier(specifier);var fill=specifier.fill,align=specifier.align,sign=specifier.sign,symbol=specifier.symbol,zero=specifier.zero,width=specifier.width,comma=specifier.comma,precision=specifier.precision,type=specifier.type,prefix="$"===symbol?currency[0]:"#"===symbol&&/[boxX]/.test(type)?"0"+type.toLowerCase():"",suffix="$"===symbol?currency[1]:/[%p]/.test(type)?"%":"",formatType=formatTypes[type],maybeSuffix=!type||/[defgprs%]/.test(type);return precision=null==precision?type?6:12:/[gprs]/.test(type)?Math.max(1,Math.min(21,precision)):Math.max(0,Math.min(20,precision)),format.toString=function(){return specifier+""},format}function formatPrefix(specifier,value){var f=newFormat((specifier=formatSpecifier(specifier),specifier.type="f",specifier)),e=3*Math.max(-8,Math.min(8,Math.floor(exponent(value)/3))),k=Math.pow(10,-e),prefix=prefixes[8+e/3];return function(value){return f(k*value)+prefix}}var group=locale.grouping&&locale.thousands?formatGroup(locale.grouping,locale.thousands):identity,currency=locale.currency,decimal=locale.decimal;return{format:newFormat,formatPrefix:formatPrefix}}function precisionFixed(step){return Math.max(0,-exponent(Math.abs(step)))}function precisionPrefix(step,value){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(exponent(value)/3)))-exponent(Math.abs(step)))}function precisionRound(step,max){return step=Math.abs(step),max=Math.abs(max)-step,Math.max(0,exponent(max)-exponent(step))+1}var prefixExponent,formatTypes={"":formatDefault,"%":function(x,p){return(100*x).toFixed(p)},b:function(x){return Math.round(x).toString(2)},c:function(x){return x+""},d:function(x){return Math.round(x).toString(10)},e:function(x,p){return x.toExponential(p)},f:function(x,p){return x.toFixed(p)},g:function(x,p){return x.toPrecision(p)},o:function(x){return Math.round(x).toString(8)},p:function(x,p){return formatRounded(100*x,p)},r:formatRounded,s:formatPrefixAuto,X:function(x){return Math.round(x).toString(16).toUpperCase()},x:function(x){return Math.round(x).toString(16)}},re=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],defaultLocale=locale({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),caES=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),csCZ=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," Kč"]}),deCH=locale({decimal:",",thousands:"'",grouping:[3],currency:[""," CHF"]}),deDE=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),enCA=locale({decimal:".",thousands:",",grouping:[3],currency:["$",""]}),enGB=locale({decimal:".",thousands:",",grouping:[3],currency:["£",""]}),esES=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),fiFI=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," €"]}),frCA=locale({decimal:",",thousands:" ",grouping:[3],currency:["","$"]}),frFR=locale({decimal:",",thousands:".",grouping:[3],currency:[""," €"]}),heIL=locale({decimal:".",thousands:",",grouping:[3],currency:["₪",""]}),huHU=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," Ft"]}),itIT=locale({decimal:",",thousands:".",grouping:[3],currency:["€",""]}),jaJP=locale({decimal:".",thousands:",",grouping:[3],currency:["","円"]}),koKR=locale({decimal:".",thousands:",",grouping:[3],currency:["₩",""]}),mkMK=locale({decimal:",",thousands:".",grouping:[3],currency:[""," ден."]}),nlNL=locale({decimal:",",thousands:".",grouping:[3],currency:["€ ",""]}),plPL=locale({decimal:",",thousands:".",grouping:[3],currency:["","zł"]}),ptBR=locale({decimal:",",thousands:".",grouping:[3],currency:["R$",""]}),ruRU=locale({decimal:",",thousands:" ",grouping:[3],currency:[""," руб."]}),svSE=locale({decimal:",",thousands:" ",grouping:[3],currency:["","SEK"]}),zhCN=locale({decimal:".",thousands:",",grouping:[3],currency:["¥",""]}),format=defaultLocale.format,formatPrefix=defaultLocale.formatPrefix,version="0.5.1";exports.version=version,exports.format=format,exports.formatPrefix=formatPrefix,exports.formatLocale=locale,exports.formatCaEs=caES,exports.formatCsCz=csCZ,exports.formatDeCh=deCH,exports.formatDeDe=deDE,exports.formatEnCa=enCA,exports.formatEnGb=enGB,exports.formatEnUs=defaultLocale,exports.formatEsEs=esES,exports.formatFiFi=fiFI,exports.formatFrCa=frCA,exports.formatFrFr=frFR,exports.formatHeIl=heIL,exports.formatHuHu=huHU,exports.formatItIt=itIT,exports.formatJaJp=jaJP,exports.formatKoKr=koKR,exports.formatMkMk=mkMK,exports.formatNlNl=nlNL,exports.formatPlPl=plPL,exports.formatPtBr=ptBR,exports.formatRuRu=ruRU,exports.formatSvSe=svSE,exports.formatZhCn=zhCN,exports.formatSpecifier=formatSpecifier,exports.precisionFixed=precisionFixed,exports.precisionPrefix=precisionPrefix,exports.precisionRound=precisionRound})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function newInterval(floori,offseti,count,field){function interval(date){return floori(date=new Date(+date)),date}return interval.floor=interval,interval.ceil=function(date){return floori(date=new Date(date-1)),offseti(date,1),floori(date),date},interval.round=function(date){var d0=interval(date),d1=interval.ceil(date);return date-d0<d1-date?d0:d1},interval.offset=function(date,step){return offseti(date=new Date(+date),null==step?1:Math.floor(step)),date},interval.range=function(start,stop,step){var range=[];if(start=interval.ceil(start),step=null==step?1:Math.floor(step),!(start<stop&&step>0))return range;do range.push(new Date(+start));while(offseti(start,step),floori(start),start<stop);return range},interval.filter=function(test){return newInterval(function(date){for(;floori(date),!test(date);)date.setTime(date-1)},function(date,step){for(;--step>=0;)for(;offseti(date,1),!test(date););})},count&&(interval.count=function(start,end){return t0.setTime(+start),t1.setTime(+end),floori(t0),floori(t1),Math.floor(count(t0,t1))},interval.every=function(step){return step=Math.floor(step),isFinite(step)&&step>0?step>1?interval.filter(field?function(d){return field(d)%step===0}:function(d){return interval.count(0,d)%step===0}):interval:null}),interval}function weekday(i){return newInterval(function(date){date.setHours(0,0,0,0),date.setDate(date.getDate()-(date.getDay()+7-i)%7)},function(date,step){date.setDate(date.getDate()+7*step)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*minute)/week})}function utcWeekday(i){return newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCDate(date.getUTCDate()-(date.getUTCDay()+7-i)%7)},function(date,step){date.setUTCDate(date.getUTCDate()+7*step)},function(start,end){return(end-start)/week})}var version="0.2.6",t0=new Date,t1=new Date,millisecond=newInterval(function(){},function(date,step){date.setTime(+date+step)},function(start,end){return end-start});millisecond.every=function(k){return k=Math.floor(k),isFinite(k)&&k>0?k>1?newInterval(function(date){date.setTime(Math.floor(date/k)*k)},function(date,step){date.setTime(+date+step*k)},function(start,end){return(end-start)/k}):millisecond:null};var second$1=1e3,minute=6e4,hour=36e5,day=864e5,week=6048e5,second=newInterval(function(date){date.setTime(Math.floor(date/second$1)*second$1)},function(date,step){date.setTime(+date+step*second$1)},function(start,end){return(end-start)/second$1},function(date){return date.getUTCSeconds()}),minute$1=newInterval(function(date){date.setTime(Math.floor(date/minute)*minute)},function(date,step){date.setTime(+date+step*minute)},function(start,end){return(end-start)/minute},function(date){return date.getMinutes()}),hour$1=newInterval(function(date){var offset=date.getTimezoneOffset()*minute%hour;offset<0&&(offset+=hour),date.setTime(Math.floor((+date-offset)/hour)*hour+offset)},function(date,step){date.setTime(+date+step*hour)},function(start,end){return(end-start)/hour},function(date){return date.getHours()}),day$1=newInterval(function(date){date.setHours(0,0,0,0)},function(date,step){date.setDate(date.getDate()+step)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*minute)/day},function(date){return date.getDate()-1}),sunday=weekday(0),monday=weekday(1),tuesday=weekday(2),wednesday=weekday(3),thursday=weekday(4),friday=weekday(5),saturday=weekday(6),month=newInterval(function(date){date.setHours(0,0,0,0),date.setDate(1)},function(date,step){date.setMonth(date.getMonth()+step)},function(start,end){return end.getMonth()-start.getMonth()+12*(end.getFullYear()-start.getFullYear())},function(date){return date.getMonth()}),year=newInterval(function(date){date.setHours(0,0,0,0),date.setMonth(0,1)},function(date,step){date.setFullYear(date.getFullYear()+step)},function(start,end){return end.getFullYear()-start.getFullYear()},function(date){return date.getFullYear()}),utcMinute=newInterval(function(date){date.setUTCSeconds(0,0)},function(date,step){date.setTime(+date+step*minute)},function(start,end){return(end-start)/minute},function(date){return date.getUTCMinutes()}),utcHour=newInterval(function(date){date.setUTCMinutes(0,0,0)},function(date,step){date.setTime(+date+step*hour)},function(start,end){return(end-start)/hour},function(date){return date.getUTCHours()}),utcDay=newInterval(function(date){date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCDate(date.getUTCDate()+step)},function(start,end){return(end-start)/day},function(date){return date.getUTCDate()-1}),utcSunday=utcWeekday(0),utcMonday=utcWeekday(1),utcTuesday=utcWeekday(2),utcWednesday=utcWeekday(3),utcThursday=utcWeekday(4),utcFriday=utcWeekday(5),utcSaturday=utcWeekday(6),utcMonth=newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCDate(1)},function(date,step){date.setUTCMonth(date.getUTCMonth()+step)},function(start,end){return end.getUTCMonth()-start.getUTCMonth()+12*(end.getUTCFullYear()-start.getUTCFullYear())},function(date){return date.getUTCMonth()}),utcYear=newInterval(function(date){date.setUTCHours(0,0,0,0),date.setUTCMonth(0,1)},function(date,step){date.setUTCFullYear(date.getUTCFullYear()+step)},function(start,end){return end.getUTCFullYear()-start.getUTCFullYear()},function(date){return date.getUTCFullYear()}),timeMilliseconds=millisecond.range,timeSeconds=second.range,timeMinutes=minute$1.range,timeHours=hour$1.range,timeDays=day$1.range,timeSundays=sunday.range,timeMondays=monday.range,timeTuesdays=tuesday.range,timeWednesdays=wednesday.range,timeThursdays=thursday.range,timeFridays=friday.range,timeSaturdays=saturday.range,timeWeeks=sunday.range,timeMonths=month.range,timeYears=year.range,utcMilliseconds=timeMilliseconds,utcSeconds=timeSeconds,utcMinutes=utcMinute.range,utcHours=utcHour.range,utcDays=utcDay.range,utcSundays=utcSunday.range,utcMondays=utcMonday.range,utcTuesdays=utcTuesday.range,utcWednesdays=utcWednesday.range,utcThursdays=utcThursday.range,utcFridays=utcFriday.range,utcSaturdays=utcSaturday.range,utcWeeks=utcSunday.range,utcMonths=utcMonth.range,utcYears=utcYear.range;exports.timeMilliseconds=timeMilliseconds,exports.timeSeconds=timeSeconds,exports.timeMinutes=timeMinutes,exports.timeHours=timeHours,exports.timeDays=timeDays,exports.timeSundays=timeSundays,exports.timeMondays=timeMondays,exports.timeTuesdays=timeTuesdays,exports.timeWednesdays=timeWednesdays,exports.timeThursdays=timeThursdays,exports.timeFridays=timeFridays,exports.timeSaturdays=timeSaturdays,exports.timeWeeks=timeWeeks,exports.timeMonths=timeMonths,exports.timeYears=timeYears,exports.utcMilliseconds=utcMilliseconds,exports.utcSeconds=utcSeconds,exports.utcMinutes=utcMinutes,exports.utcHours=utcHours,exports.utcDays=utcDays,exports.utcSundays=utcSundays,exports.utcMondays=utcMondays,exports.utcTuesdays=utcTuesdays,exports.utcWednesdays=utcWednesdays,exports.utcThursdays=utcThursdays,exports.utcFridays=utcFridays,exports.utcSaturdays=utcSaturdays,exports.utcWeeks=utcWeeks,exports.utcMonths=utcMonths,exports.utcYears=utcYears,exports.timeMillisecond=millisecond,exports.timeSecond=second,exports.timeMinute=minute$1,exports.timeHour=hour$1,exports.timeDay=day$1,exports.timeSunday=sunday,exports.timeMonday=monday,exports.timeTuesday=tuesday,exports.timeWednesday=wednesday,exports.timeThursday=thursday,exports.timeFriday=friday,exports.timeSaturday=saturday,exports.timeWeek=sunday,exports.timeMonth=month,exports.timeYear=year,exports.utcMillisecond=millisecond,exports.utcSecond=second,exports.utcMinute=utcMinute,exports.utcHour=utcHour,exports.utcDay=utcDay,exports.utcSunday=utcSunday,exports.utcMonday=utcMonday,exports.utcTuesday=utcTuesday,exports.utcWednesday=utcWednesday,exports.utcThursday=utcThursday,exports.utcFriday=utcFriday,exports.utcSaturday=utcSaturday,exports.utcWeek=utcSunday,exports.utcMonth=utcMonth,exports.utcYear=utcYear,exports.version=version,exports.timeInterval=newInterval,Object.defineProperty(exports,"__esModule",{value:!0})})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports,__webpack_require__(25))}(this,function(exports,d3Time){"use strict";function localDate(d){if(0<=d.y&&d.y<100){var date=new Date(-1,d.m,d.d,d.H,d.M,d.S,d.L);return date.setFullYear(d.y),date}return new Date(d.y,d.m,d.d,d.H,d.M,d.S,d.L)}function utcDate(d){if(0<=d.y&&d.y<100){var date=new Date(Date.UTC(-1,d.m,d.d,d.H,d.M,d.S,d.L));return date.setUTCFullYear(d.y),date}return new Date(Date.UTC(d.y,d.m,d.d,d.H,d.M,d.S,d.L))}function newYear(y){return{y:y,m:0,d:1,H:0,M:0,S:0,L:0}}function locale$1(locale){function newFormat(specifier,formats){return function(date){var c,pad,format,string=[],i=-1,j=0,n=specifier.length;for(date instanceof Date||(date=new Date(+date));++i<n;)37===specifier.charCodeAt(i)&&(string.push(specifier.slice(j,i)),null!=(pad=pads[c=specifier.charAt(++i)])?c=specifier.charAt(++i):pad="e"===c?" ":"0",(format=formats[c])&&(c=format(date,pad)),string.push(c),j=i+1);return string.push(specifier.slice(j,i)),string.join("")}}function newParse(specifier,newDate){return function(string){var d=newYear(1900),i=parseSpecifier(d,specifier,string+="",0);if(i!=string.length)return null;if("p"in d&&(d.H=d.H%12+12*d.p),"W"in d||"U"in d){"w"in d||(d.w="W"in d?1:0);var day="Z"in d?utcDate(newYear(d.y)).getUTCDay():newDate(newYear(d.y)).getDay();d.m=0,d.d="W"in d?(d.w+6)%7+7*d.W-(day+5)%7:d.w+7*d.U-(day+6)%7}return"Z"in d?(d.H+=d.Z/100|0,d.M+=d.Z%100,utcDate(d)):newDate(d)}}function parseSpecifier(d,specifier,string,j){for(var c,parse,i=0,n=specifier.length,m=string.length;i<n;){if(j>=m)return-1;if(c=specifier.charCodeAt(i++),37===c){if(c=specifier.charAt(i++),parse=parses[c in pads?specifier.charAt(i++):c],!parse||(j=parse(d,string,j))<0)return-1}else if(c!=string.charCodeAt(j++))return-1}return j}function parsePeriod(d,string,i){var n=periodRe.exec(string.slice(i));return n?(d.p=periodLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortWeekday(d,string,i){var n=shortWeekdayRe.exec(string.slice(i));return n?(d.w=shortWeekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseWeekday(d,string,i){var n=weekdayRe.exec(string.slice(i));return n?(d.w=weekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortMonth(d,string,i){var n=shortMonthRe.exec(string.slice(i));return n?(d.m=shortMonthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseMonth(d,string,i){var n=monthRe.exec(string.slice(i));return n?(d.m=monthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseLocaleDateTime(d,string,i){return parseSpecifier(d,locale_dateTime,string,i)}function parseLocaleDate(d,string,i){return parseSpecifier(d,locale_date,string,i)}function parseLocaleTime(d,string,i){return parseSpecifier(d,locale_time,string,i)}function formatShortWeekday(d){return locale_shortWeekdays[d.getDay()]}function formatWeekday(d){return locale_weekdays[d.getDay()]}function formatShortMonth(d){return locale_shortMonths[d.getMonth()]}function formatMonth(d){return locale_months[d.getMonth()]}function formatPeriod(d){return locale_periods[+(d.getHours()>=12)]}function formatUTCShortWeekday(d){return locale_shortWeekdays[d.getUTCDay()]}function formatUTCWeekday(d){return locale_weekdays[d.getUTCDay()]}function formatUTCShortMonth(d){return locale_shortMonths[d.getUTCMonth()]}function formatUTCMonth(d){return locale_months[d.getUTCMonth()]}function formatUTCPeriod(d){return locale_periods[+(d.getUTCHours()>=12)]}var locale_dateTime=locale.dateTime,locale_date=locale.date,locale_time=locale.time,locale_periods=locale.periods,locale_weekdays=locale.days,locale_shortWeekdays=locale.shortDays,locale_months=locale.months,locale_shortMonths=locale.shortMonths,periodRe=formatRe(locale_periods),periodLookup=formatLookup(locale_periods),weekdayRe=formatRe(locale_weekdays),weekdayLookup=formatLookup(locale_weekdays),shortWeekdayRe=formatRe(locale_shortWeekdays),shortWeekdayLookup=formatLookup(locale_shortWeekdays),monthRe=formatRe(locale_months),monthLookup=formatLookup(locale_months),shortMonthRe=formatRe(locale_shortMonths),shortMonthLookup=formatLookup(locale_shortMonths),formats={a:formatShortWeekday,A:formatWeekday,b:formatShortMonth,B:formatMonth,c:null,d:formatDayOfMonth,e:formatDayOfMonth,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:formatPeriod,S:formatSeconds,U:formatWeekNumberSunday,w:formatWeekdayNumber,W:formatWeekNumberMonday,x:null,X:null,y:formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent},utcFormats={a:formatUTCShortWeekday,A:formatUTCWeekday,b:formatUTCShortMonth,B:formatUTCMonth,c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:formatUTCPeriod,S:formatUTCSeconds,U:formatUTCWeekNumberSunday,w:formatUTCWeekdayNumber,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent},parses={a:parseShortWeekday,A:parseWeekday,b:parseShortMonth,B:parseMonth,c:parseLocaleDateTime,d:parseDayOfMonth,e:parseDayOfMonth,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:parsePeriod,S:parseSeconds,U:parseWeekNumberSunday,w:parseWeekdayNumber,W:parseWeekNumberMonday,x:parseLocaleDate,X:parseLocaleTime,y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};return formats.x=newFormat(locale_date,formats),formats.X=newFormat(locale_time,formats),formats.c=newFormat(locale_dateTime,formats),utcFormats.x=newFormat(locale_date,utcFormats),utcFormats.X=newFormat(locale_time,utcFormats),utcFormats.c=newFormat(locale_dateTime,utcFormats),{format:function(specifier){var f=newFormat(specifier+="",formats);return f.toString=function(){return specifier},f},parse:function(specifier){var p=newParse(specifier+="",localDate);return p.toString=function(){return specifier},p},utcFormat:function(specifier){var f=newFormat(specifier+="",utcFormats);return f.toString=function(){return specifier},f},utcParse:function(specifier){var p=newParse(specifier,utcDate);return p.toString=function(){return specifier},p}}}function pad(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 requote(s){return s.replace(requoteRe,"\\$&")}function formatRe(names){return new RegExp("^(?:"+names.map(requote).join("|")+")","i")}function formatLookup(names){for(var map={},i=-1,n=names.length;++i<n;)map[names[i].toLowerCase()]=i;return map}function parseWeekdayNumber(d,string,i){var n=numberRe.exec(string.slice(i,i+1));return n?(d.w=+n[0],i+n[0].length):-1}function parseWeekNumberSunday(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.U=+n[0],i+n[0].length):-1}function parseWeekNumberMonday(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.W=+n[0],i+n[0].length):-1}function parseFullYear(d,string,i){var n=numberRe.exec(string.slice(i,i+4));return n?(d.y=+n[0],i+n[0].length):-1}function parseYear(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.y=+n[0]+(+n[0]>68?1900:2e3),i+n[0].length):-1}function parseZone(d,string,i){var n=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(string.slice(i,i+6));return n?(d.Z=n[1]?0:-(n[2]+(n[3]||"00")),i+n[0].length):-1}function parseMonthNumber(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.m=n[0]-1,i+n[0].length):-1}function parseDayOfMonth(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.d=+n[0],i+n[0].length):-1}function parseDayOfYear(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.m=0,d.d=+n[0],i+n[0].length):-1}function parseHour24(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.H=+n[0],i+n[0].length):-1}function parseMinutes(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.M=+n[0],i+n[0].length):-1}function parseSeconds(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.S=+n[0],i+n[0].length):-1}function parseMilliseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.L=+n[0],i+n[0].length):-1}function parseLiteralPercent(d,string,i){var n=percentRe.exec(string.slice(i,i+1));return n?i+n[0].length:-1}function formatDayOfMonth(d,p){return pad(d.getDate(),p,2)}function formatHour24(d,p){return pad(d.getHours(),p,2)}function formatHour12(d,p){return pad(d.getHours()%12||12,p,2)}function formatDayOfYear(d,p){return pad(1+d3Time.timeDay.count(d3Time.timeYear(d),d),p,3)}function formatMilliseconds(d,p){return pad(d.getMilliseconds(),p,3)}function formatMonthNumber(d,p){return pad(d.getMonth()+1,p,2)}function formatMinutes(d,p){return pad(d.getMinutes(),p,2)}function formatSeconds(d,p){return pad(d.getSeconds(),p,2)}function formatWeekNumberSunday(d,p){return pad(d3Time.timeSunday.count(d3Time.timeYear(d),d),p,2)}function formatWeekdayNumber(d){return d.getDay()}function formatWeekNumberMonday(d,p){return pad(d3Time.timeMonday.count(d3Time.timeYear(d),d),p,2)}function formatYear(d,p){return pad(d.getFullYear()%100,p,2)}function formatFullYear(d,p){return pad(d.getFullYear()%1e4,p,4)}function formatZone(d){var z=d.getTimezoneOffset();return(z>0?"-":(z*=-1,"+"))+pad(z/60|0,"0",2)+pad(z%60,"0",2)}function formatUTCDayOfMonth(d,p){return pad(d.getUTCDate(),p,2)}function formatUTCHour24(d,p){return pad(d.getUTCHours(),p,2)}function formatUTCHour12(d,p){return pad(d.getUTCHours()%12||12,p,2)}function formatUTCDayOfYear(d,p){return pad(1+d3Time.utcDay.count(d3Time.utcYear(d),d),p,3)}function formatUTCMilliseconds(d,p){return pad(d.getUTCMilliseconds(),p,3)}function formatUTCMonthNumber(d,p){return pad(d.getUTCMonth()+1,p,2)}function formatUTCMinutes(d,p){return pad(d.getUTCMinutes(),p,2)}function formatUTCSeconds(d,p){return pad(d.getUTCSeconds(),p,2)}function formatUTCWeekNumberSunday(d,p){return pad(d3Time.utcSunday.count(d3Time.utcYear(d),d),p,2)}function formatUTCWeekdayNumber(d){return d.getUTCDay()}function formatUTCWeekNumberMonday(d,p){return pad(d3Time.utcMonday.count(d3Time.utcYear(d),d),p,2)}function formatUTCYear(d,p){return pad(d.getUTCFullYear()%100,p,2)}function formatUTCFullYear(d,p){return pad(d.getUTCFullYear()%1e4,p,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatIsoNative(date){return date.toISOString()}function parseIsoNative(string){var date=new Date(string);return isNaN(date)?null:date}var version="0.3.2",pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,locale=locale$1({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"]}),caES=locale$1({dateTime:"%A, %e de %B de %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],shortDays:["dg.","dl.","dt.","dc.","dj.","dv.","ds."],months:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],shortMonths:["gen.","febr.","març","abr.","maig","juny","jul.","ag.","set.","oct.","nov.","des."]}),deCH=locale$1({dateTime:"%A, der %e. %B %Y, %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}),deDE=locale$1({dateTime:"%A, der %e. %B %Y, %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],shortDays:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],shortMonths:["Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"]}),enCA=locale$1({dateTime:"%a %b %e %X %Y",date:"%Y-%m-%d",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"]}),enGB=locale$1({dateTime:"%a %e %b %X %Y",date:"%d/%m/%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"]}),esES=locale$1({dateTime:"%A, %e de %B de %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],shortDays:["dom","lun","mar","mié","jue","vie","sáb"],months:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],shortMonths:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"]}),fiFI=locale$1({dateTime:"%A, %-d. %Bta %Y klo %X",date:"%-d.%-m.%Y",time:"%H:%M:%S",periods:["a.m.","p.m."],days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],shortDays:["Su","Ma","Ti","Ke","To","Pe","La"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],shortMonths:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"]}),frCA=locale$1({dateTime:"%a %e %b %Y %X",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["",""],days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],shortDays:["dim","lun","mar","mer","jeu","ven","sam"],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],shortMonths:["jan","fév","mar","avr","mai","jui","jul","aoû","sep","oct","nov","déc"]}),frFR=locale$1({dateTime:"%A, le %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],shortDays:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],shortMonths:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."]}),heIL=locale$1({dateTime:"%A, %e ב%B %Y %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],shortDays:["א׳","ב׳","ג׳","ד׳","ה׳","ו׳","ש׳"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],shortMonths:["ינו׳","פבר׳","מרץ","אפר׳","מאי","יוני","יולי","אוג׳","ספט׳","אוק׳","נוב׳","דצמ׳"]}),huHU=locale$1({dateTime:"%Y. %B %-e., %A %X",date:"%Y. %m. %d.",time:"%H:%M:%S",periods:["de.","du."], +days:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],shortDays:["V","H","K","Sze","Cs","P","Szo"],months:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],shortMonths:["jan.","feb.","már.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."]}),itIT=locale$1({dateTime:"%A %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],shortDays:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],shortMonths:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"]}),jaJP=locale$1({dateTime:"%Y %b %e %a %X",date:"%Y/%m/%d",time:"%H:%M:%S",periods:["AM","PM"],days:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],shortDays:["日","月","火","水","木","金","土"],months:["睦月","如月","弥生","卯月","皐月","水無月","文月","葉月","長月","神無月","霜月","師走"],shortMonths:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]}),koKR=locale$1({dateTime:"%Y/%m/%d %a %X",date:"%Y/%m/%d",time:"%H:%M:%S",periods:["오전","오후"],days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],shortDays:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],shortMonths:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]}),mkMK=locale$1({dateTime:"%A, %e %B %Y г. %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["недела","понеделник","вторник","среда","четврток","петок","сабота"],shortDays:["нед","пон","вто","сре","чет","пет","саб"],months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],shortMonths:["јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек"]}),nlNL=locale$1({dateTime:"%a %e %B %Y %T",date:"%d-%m-%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],shortDays:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],shortMonths:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"]}),plPL=locale$1({dateTime:"%A, %e %B %Y, %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],shortDays:["Niedz.","Pon.","Wt.","Śr.","Czw.","Pt.","Sob."],months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],shortMonths:["Stycz.","Luty","Marz.","Kwie.","Maj","Czerw.","Lipc.","Sierp.","Wrz.","Paźdz.","Listop.","Grudz."]}),ptBR=locale$1({dateTime:"%A, %e de %B de %Y. %X",date:"%d/%m/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],shortDays:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],shortMonths:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"]}),ruRU=locale$1({dateTime:"%A, %e %B %Y г. %X",date:"%d.%m.%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],shortDays:["вс","пн","вт","ср","чт","пт","сб"],months:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],shortMonths:["янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек"]}),svSE=locale$1({dateTime:"%A den %d %B %Y %X",date:"%Y-%m-%d",time:"%H:%M:%S",periods:["fm","em"],days:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],shortDays:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],shortMonths:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"]}),zhCN=locale$1({dateTime:"%x %A %X",date:"%Y年%-m月%-d日",time:"%H:%M:%S",periods:["上午","下午"],days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],shortDays:["周日","周一","周二","周三","周四","周五","周六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],shortMonths:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]}),isoSpecifier="%Y-%m-%dT%H:%M:%S.%LZ",formatIso=Date.prototype.toISOString?formatIsoNative:locale.utcFormat(isoSpecifier),parseIso=+new Date("2000-01-01T00:00:00.000Z")?parseIsoNative:locale.utcParse(isoSpecifier),timeFormat=locale.format,timeParse=locale.parse,utcFormat=locale.utcFormat,utcParse=locale.utcParse;exports.timeFormat=timeFormat,exports.timeParse=timeParse,exports.utcFormat=utcFormat,exports.utcParse=utcParse,exports.version=version,exports.timeFormatLocale=locale$1,exports.timeFormatCaEs=caES,exports.timeFormatDeCh=deCH,exports.timeFormatDeDe=deDE,exports.timeFormatEnCa=enCA,exports.timeFormatEnGb=enGB,exports.timeFormatEnUs=locale,exports.timeFormatEsEs=esES,exports.timeFormatFiFi=fiFI,exports.timeFormatFrCa=frCA,exports.timeFormatFrFr=frFR,exports.timeFormatHeIl=heIL,exports.timeFormatHuHu=huHU,exports.timeFormatItIt=itIT,exports.timeFormatJaJp=jaJP,exports.timeFormatKoKr=koKR,exports.timeFormatMkMk=mkMK,exports.timeFormatNlNl=nlNL,exports.timeFormatPlPl=plPL,exports.timeFormatPtBr=ptBR,exports.timeFormatRuRu=ruRU,exports.timeFormatSvSe=svSE,exports.timeFormatZhCn=zhCN,exports.isoFormat=formatIso,exports.isoParse=parseIso})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_commonProps=__webpack_require__(17),_commonProps2=_interopRequireDefault(_commonProps),ChartTitle=function(_Component){function ChartTitle(props){return _classCallCheck(this,ChartTitle),_possibleConstructorReturn(this,Object.getPrototypeOf(ChartTitle).call(this,props))}return _inherits(ChartTitle,_Component),_createClass(ChartTitle,[{key:"render",value:function(){var _props=this.props,titleClassName=_props.titleClassName,title=_props.title,width=_props.width,titleStyle={width:width,textAlign:"center",fontSize:"2em",paddingBottom:"1.3em"};return _react2.default.createElement("div",{style:titleStyle,className:titleClassName},title)}}]),ChartTitle}(_react.Component);ChartTitle.defaultProps=_extends({titleClassName:"react-d3-core__container_title",title:""},_commonProps2.default),ChartTitle.propTypes={width:_react.PropTypes.number.isRequired,title:_react.PropTypes.string,titleClassName:_react.PropTypes.string},exports.default=ChartTitle},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_svg=__webpack_require__(16),_svg2=_interopRequireDefault(_svg),_legend=__webpack_require__(29),_legend2=_interopRequireDefault(_legend),_commonProps=__webpack_require__(17),_commonProps2=_interopRequireDefault(_commonProps),ChartContainer=function(_Component){function ChartContainer(props){return _classCallCheck(this,ChartContainer),_possibleConstructorReturn(this,Object.getPrototypeOf(ChartContainer).call(this,props))}return _inherits(ChartContainer,_Component),_createClass(ChartContainer,[{key:"render",value:function(){var legend,_props=this.props,width=_props.width,chartSeries=_props.chartSeries,divStyle={width:width};return chartSeries&&(legend=_react2.default.createElement(_legend2.default,_extends({},this.props,{chartSeries:chartSeries}))),_react2.default.createElement("div",{style:divStyle},legend,_react2.default.createElement(_svg2.default,this.props))}}]),ChartContainer}(_react.Component);ChartContainer.defaultProps=_commonProps2.default,exports.default=ChartContainer},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_d3Selection=(_interopRequireDefault(_react),__webpack_require__(30)),_d3Selection2=_interopRequireDefault(_d3Selection),_d3Scale=__webpack_require__(19),_d3Scale2=_interopRequireDefault(_d3Scale),_reactFauxDom=__webpack_require__(31),_reactFauxDom2=_interopRequireDefault(_reactFauxDom),_commonProps=__webpack_require__(17),_commonProps2=_interopRequireDefault(_commonProps),Legend=function(_Component){function Legend(props){return _classCallCheck(this,Legend),_possibleConstructorReturn(this,Object.getPrototypeOf(Legend).call(this,props))}return _inherits(Legend,_Component),_createClass(Legend,[{key:"_radius",value:function(swatchShape){return"circle"===swatchShape?18:0}},{key:"_series",value:function(props){var chartSeries=props.chartSeries,categoricalColors=props.categoricalColors,colors=categoricalColors||_d3Scale2.default.scaleCategory10();return chartSeries.map(function(_ref,i){var name=_ref.name,color=_ref.color,field=_ref.field;return{color:color||colors(i),name:name||field,field:field}})}},{key:"_mkLegend",value:function(dom){var _props=this.props,legendClassName=_props.legendClassName,backgroundColor=_props.backgroundColor,legendPosition=_props.legendPosition,swatchShape=(_props.legendOffset,_props.swatchShape),legendArea=(_props.chartSeries,_props.margins,_props.width,_d3Selection2.default.select(dom)),series=this._series(this.props),radius=this._radius(swatchShape),legend=legendArea.selectAll("div").data(series).enter().append("div").attr("class",legendClassName+" legend").style("height",20).style("padding",5).style("background-color",backgroundColor).style("display","inline-block");legend.append("div").style("width",18).style("height",18).style("border-radius",radius).style("background-color",function(d){return d.color}).style("float",legendPosition),legend.append("div").style("padding-left",5).style("padding-right",5).text(function(d){return d.name}).style("float",legendPosition);return legendArea}},{key:"render",value:function(){var _props2=this.props,legendClassName=_props2.legendClassName,width=_props2.width,legendGroup=(_props2.height,_reactFauxDom2.default.createElement("div")),legendClasses=legendClassName+" legend";return legendGroup.setAttribute("class",legendClasses),legendGroup.style.width=width,legendGroup.style.textAlign="center",this._mkLegend(legendGroup).node().toReact()}}]),Legend}(_react.Component);Legend.defaultProps=_extends({backgroundColor:"#FFF",legendHeight:50,legendPosition:"left",legendOffset:90,legendClassName:"react-d3-core__legend",swatchShape:"square"},_commonProps2.default),Legend.propTypes={backgroundColor:_react.PropTypes.string,width:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,chartSeries:_react.PropTypes.array.isRequired,legendOffset:_react.PropTypes.number.isRequired,legendClassName:_react.PropTypes.string.isRequired,legendPosition:_react.PropTypes.oneOf(["left","right"]).isRequired,swatchShape:_react.PropTypes.oneOf(["circle","square"])},exports.default=Legend},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function namespace(name){var prefix=name+="",i=prefix.indexOf(":");return i>=0&&"xmlns"!==(prefix=name.slice(0,i))&&(name=name.slice(i+1)),namespaces.hasOwnProperty(prefix)?{space:namespaces[prefix],local:name}:name}function creatorInherit(name){return function(){var document=this.ownerDocument,uri=this.namespaceURI;return uri===xhtml&&document.documentElement.namespaceURI===xhtml?document.createElement(name):document.createElementNS(uri,name)}}function creatorFixed(fullname){return function(){return this.ownerDocument.createElementNS(fullname.space,fullname.local)}}function creator(name){var fullname=namespace(name);return(fullname.local?creatorFixed:creatorInherit)(fullname)}function filterContextListener(listener,index,group){return listener=contextListener(listener,index,group),function(event){var related=event.relatedTarget;related&&(related===this||8&related.compareDocumentPosition(this))||listener.call(this,event)}}function contextListener(listener,index,group){return function(event1){var event0=exports.event;exports.event=event1;try{listener.call(this,this.__data__,index,group)}finally{exports.event=event0}}}function parseTypenames(typenames){return typenames.trim().split(/^|\s+/).map(function(t){var name="",i=t.indexOf(".");return i>=0&&(name=t.slice(i+1),t=t.slice(0,i)),{type:t,name:name}})}function onRemove(typename){return function(){var on=this.__on;if(on){for(var o,j=0,i=-1,m=on.length;j<m;++j)o=on[j],typename.type&&o.type!==typename.type||o.name!==typename.name?on[++i]=o:this.removeEventListener(o.type,o.listener,o.capture);++i?on.length=i:delete this.__on}}}function onAdd(typename,value,capture){var wrap=filterEvents.hasOwnProperty(typename.type)?filterContextListener:contextListener;return function(d,i,group){var o,on=this.__on,listener=wrap(value,i,group);if(on)for(var j=0,m=on.length;j<m;++j)if((o=on[j]).type===typename.type&&o.name===typename.name)return this.removeEventListener(o.type,o.listener,o.capture),this.addEventListener(o.type,o.listener=listener,o.capture=capture),void(o.value=value);this.addEventListener(typename.type,listener,capture),o={type:typename.type,name:typename.name,value:value,listener:listener,capture:capture},on?on.push(o):this.__on=[o]}}function selection_on(typename,value,capture){var i,t,typenames=parseTypenames(typename+""),n=typenames.length;{if(!(arguments.length<2)){for(on=value?onAdd:onRemove,null==capture&&(capture=!1),i=0;i<n;++i)this.each(on(typenames[i],value,capture));return this}var on=this.node().__on;if(on)for(var o,j=0,m=on.length;j<m;++j)for(i=0,o=on[j];i<n;++i)if((t=typenames[i]).type===o.type&&t.name===o.name)return o.value}}function customEvent(event1,listener,that,args){var event0=exports.event;event1.sourceEvent=exports.event,exports.event=event1;try{return listener.apply(that,args)}finally{exports.event=event0}}function sourceEvent(){for(var source,current=exports.event;source=current.sourceEvent;)current=source;return current}function point(node,event){var svg=node.ownerSVGElement||node;if(svg.createSVGPoint){var point=svg.createSVGPoint();return point.x=event.clientX,point.y=event.clientY,point=point.matrixTransform(node.getScreenCTM().inverse()),[point.x,point.y]}var rect=node.getBoundingClientRect();return[event.clientX-rect.left-node.clientLeft,event.clientY-rect.top-node.clientTop]}function mouse(node){var event=sourceEvent();return event.changedTouches&&(event=event.changedTouches[0]),point(node,event)}function selector(selector){return function(){return this.querySelector(selector)}}function selection_select(select){"function"!=typeof select&&(select=selector(select));for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;j<m;++j)for(var node,subnode,group=groups[j],n=group.length,subgroup=subgroups[j]=new Array(n),i=0;i<n;++i)(node=group[i])&&(subnode=select.call(node,node.__data__,i,group))&&("__data__"in node&&(subnode.__data__=node.__data__),subgroup[i]=subnode);return new Selection(subgroups,this._parents)}function selectorAll(selector){return function(){return this.querySelectorAll(selector)}}function selection_selectAll(select){"function"!=typeof select&&(select=selectorAll(select));for(var groups=this._groups,m=groups.length,subgroups=[],parents=[],j=0;j<m;++j)for(var node,group=groups[j],n=group.length,i=0;i<n;++i)(node=group[i])&&(subgroups.push(select.call(node,node.__data__,i,group)),parents.push(node));return new Selection(subgroups,parents)}function selection_filter(match){"function"!=typeof match&&(match=matcher$1(match));for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;j<m;++j)for(var node,group=groups[j],n=group.length,subgroup=subgroups[j]=new Array(n),i=0;i<n;++i)(node=group[i])&&match.call(node,node.__data__,i,group)&&(subgroup[i]=node);return new Selection(subgroups,this._parents)}function constant(x){return function(){return x}}function bindIndex(parent,group,enter,update,exit,data){for(var node,i=0,groupLength=group.length,dataLength=data.length;i<dataLength;++i)(node=group[i])?(node.__data__=data[i],update[i]=node):enter[i]=new EnterNode(parent,data[i]);for(;i<groupLength;++i)(node=group[i])&&(exit[i]=node)}function bindKey(parent,group,enter,update,exit,data,key){var i,node,keyValue,nodeByKeyValue={},groupLength=group.length,dataLength=data.length,keyValues=new Array(groupLength);for(i=0;i<groupLength;++i)(node=group[i])&&(keyValues[i]=keyValue=keyPrefix+key.call(node,node.__data__,i,group),keyValue in nodeByKeyValue?exit[i]=node:nodeByKeyValue[keyValue]=node);for(i=0;i<dataLength;++i)keyValue=keyPrefix+key.call(parent,data[i],i,data),(node=nodeByKeyValue[keyValue])?(update[i]=node,node.__data__=data[i],nodeByKeyValue[keyValue]=null):enter[i]=new EnterNode(parent,data[i]);for(i=0;i<groupLength;++i)(node=group[i])&&nodeByKeyValue[keyValues[i]]===node&&(exit[i]=node)}function selection_data(value,key){if(!value)return data=new Array(this.size()),j=-1,this.each(function(d){data[++j]=d}),data;var bind=key?bindKey:bindIndex,parents=this._parents,groups=this._groups;"function"!=typeof value&&(value=constant(value));for(var m=groups.length,update=new Array(m),enter=new Array(m),exit=new Array(m),j=0;j<m;++j){var parent=parents[j],group=groups[j],groupLength=group.length,data=value.call(parent,parent&&parent.__data__,j,parents),dataLength=data.length,enterGroup=enter[j]=new Array(dataLength),updateGroup=update[j]=new Array(dataLength),exitGroup=exit[j]=new Array(groupLength);bind(parent,group,enterGroup,updateGroup,exitGroup,data,key);for(var previous,next,i0=0,i1=0;i0<dataLength;++i0)if(previous=enterGroup[i0]){for(i0>=i1&&(i1=i0+1);!(next=updateGroup[i1])&&++i1<dataLength;);previous._next=next||null}}return update=new Selection(update,parents),update._enter=enter,update._exit=exit,update}function EnterNode(parent,datum){this.ownerDocument=parent.ownerDocument,this.namespaceURI=parent.namespaceURI,this._next=null,this._parent=parent,this.__data__=datum}function sparse(update){return new Array(update.length)}function selection_enter(){return new Selection(this._enter||this._groups.map(sparse),this._parents)}function selection_exit(){return new Selection(this._exit||this._groups.map(sparse),this._parents)}function selection_merge(selection){for(var groups0=this._groups,groups1=selection._groups,m0=groups0.length,m1=groups1.length,m=Math.min(m0,m1),merges=new Array(m0),j=0;j<m;++j)for(var node,group0=groups0[j],group1=groups1[j],n=group0.length,merge=merges[j]=new Array(n),i=0;i<n;++i)(node=group0[i]||group1[i])&&(merge[i]=node);for(;j<m0;++j)merges[j]=groups0[j];return new Selection(merges,this._parents)}function selection_order(){for(var groups=this._groups,j=-1,m=groups.length;++j<m;)for(var node,group=groups[j],i=group.length-1,next=group[i];--i>=0;)(node=group[i])&&(next&&next!==node.nextSibling&&next.parentNode.insertBefore(node,next),next=node);return this}function selection_sort(compare){function compareNode(a,b){return a&&b?compare(a.__data__,b.__data__):!a-!b}compare||(compare=ascending);for(var groups=this._groups,m=groups.length,sortgroups=new Array(m),j=0;j<m;++j){for(var node,group=groups[j],n=group.length,sortgroup=sortgroups[j]=new Array(n),i=0;i<n;++i)(node=group[i])&&(sortgroup[i]=node);sortgroup.sort(compareNode)}return new Selection(sortgroups,this._parents).order()}function ascending(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}function selection_call(){var callback=arguments[0];return arguments[0]=this,callback.apply(null,arguments),this}function selection_nodes(){var nodes=new Array(this.size()),i=-1;return this.each(function(){nodes[++i]=this}),nodes}function selection_node(){for(var groups=this._groups,j=0,m=groups.length;j<m;++j)for(var group=groups[j],i=0,n=group.length;i<n;++i){var node=group[i];if(node)return node}return null}function selection_size(){var size=0;return this.each(function(){++size}),size}function selection_empty(){return!this.node()}function selection_each(callback){for(var groups=this._groups,j=0,m=groups.length;j<m;++j)for(var node,group=groups[j],i=0,n=group.length;i<n;++i)(node=group[i])&&callback.call(node,node.__data__,i,group);return this}function attrRemove(name){return function(){this.removeAttribute(name)}}function attrRemoveNS(fullname){return function(){this.removeAttributeNS(fullname.space,fullname.local)}}function attrConstant(name,value){return function(){this.setAttribute(name,value)}}function attrConstantNS(fullname,value){return function(){this.setAttributeNS(fullname.space,fullname.local,value)}}function attrFunction(name,value){return function(){var v=value.apply(this,arguments);null==v?this.removeAttribute(name):this.setAttribute(name,v)}}function attrFunctionNS(fullname,value){return function(){var v=value.apply(this,arguments);null==v?this.removeAttributeNS(fullname.space,fullname.local):this.setAttributeNS(fullname.space,fullname.local,v)}}function selection_attr(name,value){var fullname=namespace(name);if(arguments.length<2){var node=this.node();return fullname.local?node.getAttributeNS(fullname.space,fullname.local):node.getAttribute(fullname)}return this.each((null==value?fullname.local?attrRemoveNS:attrRemove:"function"==typeof value?fullname.local?attrFunctionNS:attrFunction:fullname.local?attrConstantNS:attrConstant)(fullname,value))}function defaultView(node){return node.ownerDocument&&node.ownerDocument.defaultView||node.document&&node||node.defaultView}function styleRemove(name){return function(){this.style.removeProperty(name)}}function styleConstant(name,value,priority){return function(){this.style.setProperty(name,value,priority)}}function styleFunction(name,value,priority){return function(){var v=value.apply(this,arguments);null==v?this.style.removeProperty(name):this.style.setProperty(name,v,priority)}}function selection_style(name,value,priority){var node;return arguments.length>1?this.each((null==value?styleRemove:"function"==typeof value?styleFunction:styleConstant)(name,value,null==priority?"":priority)):defaultView(node=this.node()).getComputedStyle(node,null).getPropertyValue(name)}function propertyRemove(name){return function(){delete this[name]}}function propertyConstant(name,value){return function(){this[name]=value}}function propertyFunction(name,value){return function(){var v=value.apply(this,arguments);null==v?delete this[name]:this[name]=v}}function selection_property(name,value){return arguments.length>1?this.each((null==value?propertyRemove:"function"==typeof value?propertyFunction:propertyConstant)(name,value)):this.node()[name]}function classArray(string){return string.trim().split(/^|\s+/)}function classList(node){return node.classList||new ClassList(node)}function ClassList(node){this._node=node,this._names=classArray(node.getAttribute("class")||"")}function classedAdd(node,names){for(var list=classList(node),i=-1,n=names.length;++i<n;)list.add(names[i])}function classedRemove(node,names){for(var list=classList(node),i=-1,n=names.length;++i<n;)list.remove(names[i])}function classedTrue(names){return function(){classedAdd(this,names)}}function classedFalse(names){return function(){classedRemove(this,names)}}function classedFunction(names,value){return function(){(value.apply(this,arguments)?classedAdd:classedRemove)(this,names)}}function selection_classed(name,value){var names=classArray(name+"");if(arguments.length<2){for(var list=classList(this.node()),i=-1,n=names.length;++i<n;)if(!list.contains(names[i]))return!1;return!0}return this.each(("function"==typeof value?classedFunction:value?classedTrue:classedFalse)(names,value))}function textRemove(){this.textContent=""}function textConstant(value){return function(){this.textContent=value}}function textFunction(value){return function(){var v=value.apply(this,arguments);this.textContent=null==v?"":v}}function selection_text(value){return arguments.length?this.each(null==value?textRemove:("function"==typeof value?textFunction:textConstant)(value)):this.node().textContent}function htmlRemove(){this.innerHTML=""}function htmlConstant(value){return function(){this.innerHTML=value}}function htmlFunction(value){return function(){var v=value.apply(this,arguments);this.innerHTML=null==v?"":v}}function selection_html(value){return arguments.length?this.each(null==value?htmlRemove:("function"==typeof value?htmlFunction:htmlConstant)(value)):this.node().innerHTML}function raise(){this.nextSibling&&this.parentNode.appendChild(this)}function selection_raise(){return this.each(raise)}function lower(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function selection_lower(){return this.each(lower)}function append(create){return function(){return this.appendChild(create.apply(this,arguments))}}function insert(create,select){return function(){return this.insertBefore(create.apply(this,arguments),select.apply(this,arguments)||null)}}function constantNull(){return null}function selection_append(name,before){var create="function"==typeof name?name:creator(name);return this.select(arguments.length<2?append(create):insert(create,null==before?constantNull:"function"==typeof before?before:selector(before)))}function remove(){var parent=this.parentNode;parent&&parent.removeChild(this)}function selection_remove(){return this.each(remove)}function selection_datum(value){return arguments.length?this.property("__data__",value):this.node().__data__}function dispatchEvent(node,type,params){var window=defaultView(node),event=window.CustomEvent;event?event=new event(type,params):(event=window.document.createEvent("Event"),params?(event.initEvent(type,params.bubbles,params.cancelable),event.detail=params.detail):event.initEvent(type,!1,!1)),node.dispatchEvent(event)}function dispatchConstant(type,params){return function(){return dispatchEvent(this,type,params)}}function dispatchFunction(type,params){return function(){return dispatchEvent(this,type,params.apply(this,arguments))}}function selection_dispatch(type,params){return this.each(("function"==typeof params?dispatchFunction:dispatchConstant)(type,params))}function Selection(groups,parents){this._groups=groups,this._parents=parents}function selection(){return new Selection([[document.documentElement]],root)}function select(selector){return"string"==typeof selector?new Selection([[document.querySelector(selector)]],[document.documentElement]):new Selection([[selector]],root)}function selectAll(selector){return"string"==typeof selector?new Selection([document.querySelectorAll(selector)],[document.documentElement]):new Selection([selector],root)}function touch(node,touches,identifier){arguments.length<3&&(identifier=touches,touches=sourceEvent().changedTouches);for(var touch,i=0,n=touches?touches.length:0;i<n;++i)if((touch=touches[i]).identifier===identifier)return point(node,touch);return null}function touches(node,touches){null==touches&&(touches=sourceEvent().touches);for(var i=0,n=touches?touches.length:0,points=new Array(n);i<n;++i)points[i]=point(node,touches[i]);return points}var version="0.7.3",xhtml="http://www.w3.org/1999/xhtml",namespaces={svg:"http://www.w3.org/2000/svg",xhtml:xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace", +xmlns:"http://www.w3.org/2000/xmlns/"},matcher=function(selector){return function(){return this.matches(selector)}};if("undefined"!=typeof document){var element=document.documentElement;if(!element.matches){var vendorMatches=element.webkitMatchesSelector||element.msMatchesSelector||element.mozMatchesSelector||element.oMatchesSelector;matcher=function(selector){return function(){return vendorMatches.call(this,selector)}}}}var matcher$1=matcher,filterEvents={};if(exports.event=null,"undefined"!=typeof document){var element$1=document.documentElement;"onmouseenter"in element$1||(filterEvents={mouseenter:"mouseover",mouseleave:"mouseout"})}var keyPrefix="$";EnterNode.prototype={constructor:EnterNode,appendChild:function(child){return this._parent.insertBefore(child,this._next)},insertBefore:function(child,next){return this._parent.insertBefore(child,next)},querySelector:function(selector){return this._parent.querySelector(selector)},querySelectorAll:function(selector){return this._parent.querySelectorAll(selector)}},ClassList.prototype={add:function(name){var i=this._names.indexOf(name);i<0&&(this._names.push(name),this._node.setAttribute("class",this._names.join(" ")))},remove:function(name){var i=this._names.indexOf(name);i>=0&&(this._names.splice(i,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(name){return this._names.indexOf(name)>=0}};var root=[null];Selection.prototype=selection.prototype={constructor:Selection,select:selection_select,selectAll:selection_selectAll,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,merge:selection_merge,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,remove:selection_remove,datum:selection_datum,on:selection_on,dispatch:selection_dispatch},exports.version=version,exports.creator=creator,exports.matcher=matcher$1,exports.mouse=mouse,exports.namespace=namespace,exports.namespaces=namespaces,exports.select=select,exports.selectAll=selectAll,exports.selection=selection,exports.selector=selector,exports.selectorAll=selectorAll,exports.touch=touch,exports.touches=touches,exports.window=defaultView,exports.customEvent=customEvent})},function(module,exports,__webpack_require__){var Element=__webpack_require__(32),Window=__webpack_require__(44),core=__webpack_require__(45),anim=__webpack_require__(46),ReactFauxDOM={Element:Element,defaultView:Window,mixins:{core:core,anim:anim},createElement:function(nodeName){return new Element(nodeName)},createElementNS:function(namespace,nodeName){return this.createElement(nodeName)},compareDocumentPosition:function(){return 8}};Element.prototype.ownerDocument=ReactFauxDOM,module.exports=ReactFauxDOM},function(module,exports,__webpack_require__){function Element(nodeName,parentNode){this.nodeName=nodeName,this.parentNode=parentNode,this.childNodes=[],this.eventListeners={},this.text="";var self=this,props=this.props={ref:function(component){self.component=component},style:{setProperty:function(name,value){props.style[styleCamelCase(name)]=value},getProperty:function(name){return props.style[styleCamelCase(name)]},removeProperty:function(name){delete props.style[styleCamelCase(name)]}}};this.style=props.style}var React=__webpack_require__(4),styleAttr=__webpack_require__(33),querySelectorAll=__webpack_require__(34),camelCase=__webpack_require__(38),isString=__webpack_require__(39),isUndefined=__webpack_require__(40),assign=__webpack_require__(41),mapValues=__webpack_require__(42),styleCamelCase=__webpack_require__(43);Element.prototype.nodeType=1,Element.prototype.eventNameMappings={blur:"onBlur",change:"onChange",click:"onClick",contextmenu:"onContextMenu",copy:"onCopy",cut:"onCut",doubleclick:"onDoubleClick",drag:"onDrag",dragend:"onDragEnd",dragenter:"onDragEnter",dragexit:"onDragExit",dragleave:"onDragLeave",dragover:"onDragOver",dragstart:"onDragStart",drop:"onDrop",error:"onError",focus:"onFocus",input:"onInput",keydown:"onKeyDown",keypress:"onKeyPress",keyup:"onKeyUp",load:"onLoad",mousedown:"onMouseDown",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseover:"onMouseOver",mouseup:"onMouseUp",paste:"onPaste",scroll:"onScroll",submit:"onSubmit",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",wheel:"onWheel"},Element.prototype.skipNameTransformationExpressions=[/^data-/,/^aria-/],Element.prototype.attributeNameMappings={class:"className"},Element.prototype.attributeToPropName=function(name){var skipTransformMatches=this.skipNameTransformationExpressions.map(function(expr){return expr.test(name)});return skipTransformMatches.some(Boolean)?name:this.attributeNameMappings[name]||camelCase(name)},Element.prototype.setAttribute=function(name,value){if("style"===name&&isString(value)){var styles=styleAttr.parse(value);for(var key in styles)this.style.setProperty(key,styles[key])}else this.props[this.attributeToPropName(name)]=value},Element.prototype.getAttribute=function(name){return this.props[this.attributeToPropName(name)]},Element.prototype.getAttributeNode=function(name){var value=this.getAttribute(name);if(!isUndefined(value))return{value:value,specified:!0}},Element.prototype.removeAttribute=function(name){delete this.props[this.attributeToPropName(name)]},Element.prototype.eventToPropName=function(name){return this.eventNameMappings[name]||name},Element.prototype.addEventListener=function(name,fn){var prop=this.eventToPropName(name);this.eventListeners[prop]=this.eventListeners[prop]||[],this.eventListeners[prop].push(fn)},Element.prototype.removeEventListener=function(name,fn){var listeners=this.eventListeners[this.eventToPropName(name)];if(listeners){var match=listeners.indexOf(fn);match!==-1&&listeners.splice(match,1)}},Element.prototype.appendChild=function(el){return el.parentNode=this,this.childNodes.push(el),el},Element.prototype.insertBefore=function(el,before){var index=this.childNodes.indexOf(before);return el.parentNode=this,index!==-1?this.childNodes.splice(index,0,el):this.childNodes.push(el),el},Element.prototype.removeChild=function(child){var target=this.childNodes.indexOf(child);this.childNodes.splice(target,1)},Element.prototype.querySelector=function(){return this.querySelectorAll.apply(this,arguments)[0]||null},Element.prototype.querySelectorAll=function(selector){if(!selector)throw new Error("Not enough arguments");return querySelectorAll(selector,this)},Element.prototype.getElementsByTagName=function(nodeName){var children=this.children;if(0===children.length)return[];var matches;matches="*"!==nodeName?children.filter(function(el){return el.nodeName===nodeName}):children;var childMatches=children.map(function(el){return el.getElementsByTagName(nodeName)});return matches.concat.apply(matches,childMatches)},Element.prototype.getElementById=function(id){var children=this.children;if(0===children.length)return null;var match=children.filter(function(el){return el.getAttribute("id")===id})[0];if(match)return match;var childMatches=children.map(function(el){return el.getElementById(id)});return childMatches.filter(function(match){return null!==match})[0]||null},Element.prototype.getBoundingClientRect=function(){if(this.component)return this.component.getBoundingClientRect()},Element.prototype.toReact=function(index){function uniqueKey(){return"faux-dom-"+index}index=index||0;var props=assign({},this.props);props.style=assign({},props.style);var originalElement=this;return isUndefined(props.key)&&(props.key=uniqueKey()),delete props.style.setProperty,delete props.style.getProperty,delete props.style.removeProperty,assign(props,mapValues(this.eventListeners,function(listeners){return function(syntheticEvent){var event;syntheticEvent&&(event=syntheticEvent.nativeEvent,event.syntheticEvent=syntheticEvent),mapValues(listeners,function(listener){listener.call(originalElement,event)})}})),React.createElement(this.nodeName,props,this.text||this.children.map(function(el,i){return el instanceof Element?el.toReact(i):el}))},Object.defineProperties(Element.prototype,{nextSibling:{get:function(){var siblings=this.parentNode.children,me=siblings.indexOf(this);return siblings[me+1]}},previousSibling:{get:function(){var siblings=this.parentNode.children,me=siblings.indexOf(this);return siblings[me-1]}},innerHTML:{get:function(){return this.text},set:function(text){this.text=text}},textContent:{get:function(){return this.text},set:function(text){this.text=text}},children:{get:function(){return this.childNodes.filter(function(el){return!el.nodeType||1===el.nodeType})}}});var namespaceMethods=["setAttribute","getAttribute","getAttributeNode","removeAttribute","getElementsByTagName","getElementById"];namespaceMethods.forEach(function(name){var fn=Element.prototype[name];Element.prototype[name+"NS"]=function(){return fn.apply(this,Array.prototype.slice.call(arguments,1))}}),module.exports=Element},function(module,exports){function parse(raw,opts){opts=opts||{};var preserveNumbers=opts.preserveNumbers,trim=function(s){return s.trim()},obj={};return getKeyValueChunks(raw).map(trim).filter(Boolean).forEach(function(item){var pos=item.indexOf(":"),key=item.substr(0,pos).trim(),val=item.substr(pos+1).trim();preserveNumbers&&isNumeric(val)&&(val=Number(val)),obj[key]=val}),obj}function isNumeric(n){return!isNaN(parseFloat(n))&&isFinite(n)}function getKeyValueChunks(raw){for(var nextSplit,chunks=[],offset=0,sep=";",hasUnclosedUrl=/url\([^\)]+$/,chunk="";offset<raw.length;)nextSplit=raw.indexOf(sep,offset),nextSplit===-1&&(nextSplit=raw.length),chunk+=raw.substring(offset,nextSplit),hasUnclosedUrl.test(chunk)?(chunk+=";",offset=nextSplit+1):(chunks.push(chunk),chunk="",offset=nextSplit+1);return chunks}function stringify(obj){return Object.keys(obj).map(function(key){return key+":"+obj[key]}).join(";")}function normalize(str,opts){return stringify(parse(str,opts))}module.exports.parse=parse,module.exports.stringify=stringify,module.exports.normalize=normalize},function(module,exports,__webpack_require__){module.exports=__webpack_require__(35)},function(module,exports,__webpack_require__){function unEscape(str){return str.replace(unescape,unescapeFn)}function resetStatus(){subMatchesCache={}}function dir(el,direction){do el=el[direction];while(el&&1!==el.nodeType);return el}function getAb(param){var match,a=0,b=0;return"number"==typeof param?b=param:"odd"===param?(a=2,b=1):"even"===param?(a=2,b=0):(match=param.replace(/\s/g,"").match(aNPlusB))&&(match[1]?(a=parseInt(match[2],10),isNaN(a)&&(a="-"===match[2]?-1:1)):a=0,b=parseInt(match[3],10)||0),{a:a,b:b}}function matchIndexByAb(index,a,b,eq){if(0===a){if(index===b)return eq}else if((index-b)/a>=0&&(index-b)%a===0&&eq)return 1}function isXML(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return!!documentElement&&"html"!==documentElement.nodeName.toLowerCase()}function matches(str,seeds){return select(str,null,seeds)}function singleMatch(el,match){if(!match)return!0;if(!el)return!1;if(9===el.nodeType)return!1;var matchSuffixLen,matchSuffixIndex,matched=1,matchSuffix=match.suffix;if("tag"===match.t&&(matched&=matchExpr.tag(el,match.value)),matched&&matchSuffix)for(matchSuffixLen=matchSuffix.length,matchSuffixIndex=0;matched&&matchSuffixIndex<matchSuffixLen;matchSuffixIndex++){var singleMatchSuffix=matchSuffix[matchSuffixIndex],singleMatchSuffixType=singleMatchSuffix.t;matchExpr[singleMatchSuffixType]&&(matched&=matchExpr[singleMatchSuffixType](el,singleMatchSuffix.value))}return matched}function matchImmediate(el,match){var relativeOp,matched=1,startEl=el,startMatch=match;do{if(matched&=singleMatch(el,match),!matched)return relativeOp=relativeExpr[match.nextCombinator],relativeOp.immediate?{el:dir(startEl,relativeExpr[startMatch.nextCombinator].dir),match:startMatch}:{el:el&&dir(el,relativeOp.dir),match:match};if(match=match&&match.prev,!match)return!0;if(relativeOp=relativeExpr[match.nextCombinator],el=dir(el,relativeOp.dir),!relativeOp.immediate)return{el:el,match:match}}while(el);return{el:dir(startEl,relativeExpr[startMatch.nextCombinator].dir),match:startMatch}}function findFixedMatchFromHead(el,head){var relativeOp,cur=head;do{if(!singleMatch(el,cur))return null;if(cur=cur.prev,!cur)return!0;relativeOp=relativeExpr[cur.nextCombinator],el=dir(el,relativeOp.dir)}while(el&&relativeOp.immediate);return el?{el:el,match:cur}:null}function genId(el){var selectorId;return isContextXML?(selectorId=el.getAttribute(EXPANDO_SELECTOR_KEY))||el.setAttribute(EXPANDO_SELECTOR_KEY,selectorId=+new Date+"_"+ ++uuid):(selectorId=el[EXPANDO_SELECTOR_KEY])||(selectorId=el[EXPANDO_SELECTOR_KEY]=+new Date+"_"+ ++uuid),selectorId}function matchSub(el,match){var matchKey,selectorId=genId(el);return matchKey=selectorId+"_"+(match.order||0),matchKey in subMatchesCache?subMatchesCache[matchKey]:(subMatchesCache[matchKey]=matchSubInternal(el,match),subMatchesCache[matchKey])}function matchSubInternal(el,match){var matchImmediateRet=matchImmediate(el,match);if(matchImmediateRet===!0)return!0;for(el=matchImmediateRet.el,match=matchImmediateRet.match;el;){if(matchSub(el,match))return!0;el=dir(el,relativeExpr[match.nextCombinator].dir)}return!1}function select(str,context,seeds){caches[str]||(caches[str]=parser.parse(str));var contextDocument,group,selector=caches[str],groupIndex=0,groupLen=selector.length,ret=[];for(seeds&&(context=context||seeds[0].ownerDocument),contextDocument=context&&context.ownerDocument||"undefined"!=typeof document&&document,context&&9===context.nodeType&&!contextDocument&&(contextDocument=context),context=context||contextDocument,isContextXML=isXML(context);groupIndex<groupLen;groupIndex++){resetStatus(),group=selector[groupIndex];var suffixIndex,suffixLen,seedsIndex,seedsLen,suffix=group.suffix,mySeeds=seeds,id=null;if(!mySeeds){if(suffix&&!isContextXML)for(suffixIndex=0,suffixLen=suffix.length;suffixIndex<suffixLen;suffixIndex++){var singleSuffix=suffix[suffixIndex];if("id"===singleSuffix.t){id=singleSuffix.value;break}}if(id){var doesNotHasById=!context.getElementById,contextInDom=util.contains(contextDocument,context),tmp=doesNotHasById?contextInDom?contextDocument.getElementById(id):null:context.getElementById(id);if(!tmp&&doesNotHasById||tmp&&getAttr(tmp,"id")!==id){for(var tmps=util.getElementsByTagName("*",context),tmpLen=tmps.length,tmpI=0;tmpI<tmpLen;tmpI++)if(tmp=tmps[tmpI],getAttr(tmp,"id")===id){mySeeds=[tmp];break}tmpI===tmpLen&&(mySeeds=[])}else contextInDom&&tmp&&context!==contextDocument&&(tmp=util.contains(context,tmp)?tmp:null),mySeeds=tmp?[tmp]:[]}else mySeeds=util.getElementsByTagName(group.value||"*",context)}if(seedsIndex=0,seedsLen=mySeeds.length)for(;seedsIndex<seedsLen;seedsIndex++){var seed=mySeeds[seedsIndex],matchHead=findFixedMatchFromHead(seed,group);matchHead===!0?ret.push(seed):matchHead&&matchSub(matchHead.el,matchHead.match)&&ret.push(seed)}}return groupLen>1&&(ret=util.unique(ret)),ret}var isContextXML,matchExpr,util=__webpack_require__(36),parser=__webpack_require__(37),EXPANDO_SELECTOR_KEY="_ks_data_selector_id_",caches={},uuid=0,subMatchesCache={},getAttr=function(el,name){return isContextXML?util.getSimpleAttr(el,name):util.attr(el,name)},hasSingleClass=util.hasSingleClass,isTag=util.isTag,aNPlusB=/^(([+-]?(?:\d+)?)?n)?([+-]?\d+)?$/,unescape=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,unescapeFn=function(_,escaped){var high="0x"+escaped-65536;return isNaN(high)?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,1023&high|56320)},pseudoFnExpr={"nth-child":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,count=0,len=childNodes.length;count<len;count++)if(child=childNodes[count],1===child.nodeType&&(index++,ret=matchIndexByAb(index,a,b,child===el),void 0!==ret))return ret;return 0},"nth-last-child":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,len=childNodes.length,count=len-1;count>=0;count--)if(child=childNodes[count],1===child.nodeType&&(index++,ret=matchIndexByAb(index,a,b,child===el),void 0!==ret))return ret;return 0},"nth-of-type":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,elType=el.tagName,count=0,len=childNodes.length;count<len;count++)if(child=childNodes[count],child.tagName===elType&&(index++,ret=matchIndexByAb(index,a,b,child===el),void 0!==ret))return ret;return 0},"nth-last-of-type":function(el,param){var ab=getAb(param),a=ab.a,b=ab.b;if(0===a&&0===b)return 0;var index=0,parent=el.parentNode;if(parent)for(var child,ret,childNodes=parent.childNodes,len=childNodes.length,elType=el.tagName,count=len-1;count>=0;count--)if(child=childNodes[count],child.tagName===elType&&(index++,ret=matchIndexByAb(index,a,b,child===el),void 0!==ret))return ret;return 0},lang:function(el,lang){var elLang;lang=unEscape(lang.toLowerCase());do if(elLang=isContextXML?el.getAttribute("xml:lang")||el.getAttribute("lang"):el.lang)return elLang=elLang.toLowerCase(),elLang===lang||0===elLang.indexOf(lang+"-");while((el=el.parentNode)&&1===el.nodeType);return!1},not:function(el,negationArg){return!matchExpr[negationArg.t](el,negationArg.value)}},pseudoIdentExpr={empty:function(el){for(var child,nodeType,childNodes=el.childNodes,index=0,len=childNodes.length-1;index<len;index++)if(child=childNodes[index],nodeType=child.nodeType,1===nodeType||3===nodeType||4===nodeType||5===nodeType)return 0;return 1},root:function(el){return 9===el.nodeType||el.ownerDocument&&el===el.ownerDocument.documentElement},"first-child":function(el){return pseudoFnExpr["nth-child"](el,1)},"last-child":function(el){return pseudoFnExpr["nth-last-child"](el,1)},"first-of-type":function(el){return pseudoFnExpr["nth-of-type"](el,1)},"last-of-type":function(el){return pseudoFnExpr["nth-last-of-type"](el,1)},"only-child":function(el){return pseudoIdentExpr["first-child"](el)&&pseudoIdentExpr["last-child"](el)},"only-of-type":function(el){return pseudoIdentExpr["first-of-type"](el)&&pseudoIdentExpr["last-of-type"](el)},focus:function(el){var doc=el.ownerDocument;return doc&&el===doc.activeElement&&(!doc.hasFocus||doc.hasFocus())&&!!(el.type||el.href||el.tabIndex>=0)},target:function(el){var hash=location.hash;return hash&&hash.slice(1)===getAttr(el,"id")},enabled:function(el){return!el.disabled},disabled:function(el){return el.disabled},checked:function(el){var nodeName=el.nodeName.toLowerCase();return"input"===nodeName&&el.checked||"option"===nodeName&&el.selected}},attributeExpr={"~=":function(elValue,value){return!value||value.indexOf(" ")>-1?0:(" "+elValue+" ").indexOf(" "+value+" ")!==-1},"|=":function(elValue,value){return(" "+elValue).indexOf(" "+value+"-")!==-1},"^=":function(elValue,value){return value&&util.startsWith(elValue,value)},"$=":function(elValue,value){return value&&util.endsWith(elValue,value)},"*=":function(elValue,value){return value&&elValue.indexOf(value)!==-1},"=":function(elValue,value){return elValue===value}},relativeExpr={">":{dir:"parentNode",immediate:1}," ":{dir:"parentNode"},"+":{dir:"previousSibling",immediate:1},"~":{dir:"previousSibling"}};matchExpr={tag:isTag,cls:hasSingleClass,id:function(el,value){return getAttr(el,"id")===value},attrib:function(el,value){var name=value.ident;isContextXML||(name=name.toLowerCase());var elValue=getAttr(el,name),match=value.match;if(!match&&void 0!==elValue)return 1;if(match){if(void 0===elValue)return 0;var matchFn=attributeExpr[match];if(matchFn)return matchFn(elValue+"",value.value+"")}return 0},pseudo:function(el,value){var fn,fnStr,ident;if(fnStr=value.fn){if(!(fn=pseudoFnExpr[fnStr]))throw new SyntaxError("Syntax error: not support pseudo: "+fnStr);return fn(el,value.param)}if(ident=value.ident){if(!pseudoIdentExpr[ident])throw new SyntaxError("Syntax error: not support pseudo: "+ident);return pseudoIdentExpr[ident](el)}return 0}},parser.lexer.yy={trim:util.trim,unEscape:unEscape,unEscapeStr:function(str){return this.unEscape(str.slice(1,-1))}},module.exports=select,select.parse=function(str){return parser.parse(str)},select.matches=matches,select.util=util,select.version="@VERSION@"},function(module,exports){function numberify(s){var c=0;return parseFloat(s.replace(/\./g,function(){return 0===c++?".":""}))}function ieVersion(){var m,v;if((m=ua.match(/MSIE ([^;]*)|Trident.*; rv(?:\s|:)?([0-9.]+)/))&&(v=m[1]||m[2]))return doc.documentMode||numberify(v)}function mix(s,t){for(var p in t)s[p]=t[p]}function each(arr,fn){for(var i=0,l=arr.length;i<l&&fn(arr[i],i)!==!1;i++);}var propFix,R_BOOLEAN=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,R_FOCUSABLE=/^(?:button|input|object|select|textarea)$/i,R_CLICKABLE=/^a(?:rea)?$/i,R_INVALID_CHAR=/:|^on/,attrFix={},attrHooks={tabindex:{get:function(el){var attributeNode=el.getAttributeNode("tabindex");return attributeNode&&attributeNode.specified?parseInt(attributeNode.value,10):R_FOCUSABLE.test(el.nodeName)||R_CLICKABLE.test(el.nodeName)&&el.href?0:void 0}}},boolHook={get:function(elem,name){return elem[propFix[name]||name]?name.toLowerCase():void 0}},attrNodeHook={};attrHooks.style={get:function(el){return el.style.cssText}},propFix={hidefocus:"hideFocus",tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"};var ua="undefined"!=typeof navigator?navigator.userAgent:"",doc="undefined"!=typeof document?document:{},ie=ieVersion();if(ie&&ie<8&&(attrHooks.style.set=function(el,val){el.style.cssText=val},mix(attrNodeHook,{get:function(elem,name){var ret=elem.getAttributeNode(name);return ret&&(ret.specified||ret.nodeValue)?ret.nodeValue:void 0}}),mix(attrFix,propFix),attrHooks.tabIndex=attrHooks.tabindex,each(["href","src","width","height","colSpan","rowSpan"],function(name){attrHooks[name]={get:function(elem){var ret=elem.getAttribute(name,2);return null===ret?void 0:ret}}}),attrHooks.placeholder={get:function(elem,name){return elem[name]||attrNodeHook.get(elem,name)}}),ie){var hrefFix=attrHooks.href=attrHooks.href||{};hrefFix.set=function(el,val,name){var b,childNodes=el.childNodes,len=childNodes.length,allText=len>0;for(len-=1;len>=0;len--)3!==childNodes[len].nodeType&&(allText=0);allText&&(b=el.ownerDocument.createElement("b"),b.style.display="none",el.appendChild(b)),el.setAttribute(name,""+val),b&&el.removeChild(b)}}var getElementsByTagName,RE_TRIM=/^[\s\xa0]+|[\s\xa0]+$/g,trim=String.prototype.trim,SPACE=" ";if(getElementsByTagName=function(name,context){return context.getElementsByTagName(name)},doc.createElement){var div=doc.createElement("div");div.appendChild(document.createComment("")),div.getElementsByTagName("*").length&&(getElementsByTagName=function(name,context){var nodes=context.getElementsByTagName(name),needsFilter="*"===name;if(needsFilter||"number"!=typeof nodes.length){for(var el,ret=[],i=0;el=nodes[i++];)needsFilter&&1!==el.nodeType||ret.push(el);return ret}return nodes})}var compareNodeOrder="sourceIndex"in(doc&&doc.documentElement||{})?function(a,b){return a.sourceIndex-b.sourceIndex}:function(a,b){if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;var bit=4&a.compareDocumentPosition(b);return bit?-1:1},util=module.exports={ie:ie,unique:function(){function sortOrder(a,b){return a===b?(hasDuplicate=!0,0):compareNodeOrder(a,b)}var hasDuplicate,baseHasDuplicate=!0;return[0,0].sort(function(){return baseHasDuplicate=!1,0}),function(elements){if(hasDuplicate=baseHasDuplicate,elements.sort(sortOrder),hasDuplicate)for(var i=1,len=elements.length;i<len;)elements[i]===elements[i-1]?(elements.splice(i,1),--len):i++;return elements}}(),getElementsByTagName:getElementsByTagName,getSimpleAttr:function(el,name){var ret=el&&el.getAttributeNode(name);if(ret&&ret.specified)return"value"in ret?ret.value:ret.nodeValue},contains:ie?function(a,b){return 9===a.nodeType&&(a=a.documentElement),b=b.parentNode,a===b||!(!b||1!==b.nodeType)&&(a.contains&&a.contains(b))}:function(a,b){return!!(16&a.compareDocumentPosition(b))},isTag:function(el,value){return"*"===value||el.nodeName.toLowerCase()===value.toLowerCase()},hasSingleClass:function(el,cls){var className=el&&util.getSimpleAttr(el,"class");return className&&(className=className.replace(/[\r\t\n]/g,SPACE))&&(SPACE+className+SPACE).indexOf(SPACE+cls+SPACE)>-1},startsWith:function(str,prefix){return 0===str.lastIndexOf(prefix,0)},endsWith:function(str,suffix){var ind=str.length-suffix.length;return ind>=0&&str.indexOf(suffix,ind)===ind},trim:trim?function(str){return null==str?"":trim.call(str)}:function(str){return null==str?"":(str+"").replace(RE_TRIM,"")},attr:function(el,name){var attrNormalizer,ret;if(name=name.toLowerCase(),name=attrFix[name]||name,attrNormalizer=R_BOOLEAN.test(name)?boolHook:R_INVALID_CHAR.test(name)?attrNodeHook:attrHooks[name],el&&1===el.nodeType){if("form"===el.nodeName.toLowerCase()&&(attrNormalizer=attrNodeHook),attrNormalizer&&attrNormalizer.get)return attrNormalizer.get(el,name);if(ret=el.getAttribute(name),""===ret){var attrNode=el.getAttributeNode(name);if(!attrNode||!attrNode.specified)return}return null===ret?void 0:ret}}}},function(module,exports,__webpack_require__){var parser=function(undefined){function mix(to,from){for(var f in from)to[f]=from[f]}function isArray(obj){return"[object Array]"===Object.prototype.toString.call(obj)}function each(object,fn,context){if(object){var key,val,length,i=0;if(context=context||null,isArray(object))for(length=object.length,val=object[0];i<length&&fn.call(context,val,i,object)!==!1;val=object[++i]);else for(key in object)if(fn.call(context,object[key],key,object)===!1)break}}function inArray(item,arr){for(var i=0,l=arr.length;i<l;i++)if(arr[i]===item)return!0;return!1}var parser={},GrammarConst={SHIFT_TYPE:1,REDUCE_TYPE:2,ACCEPT_TYPE:0,TYPE_INDEX:0,PRODUCTION_INDEX:1,TO_INDEX:2},Lexer=function(cfg){var self=this;self.rules=[],mix(self,cfg),self.resetInput(self.input)};Lexer.prototype={resetInput:function(input){mix(this,{input:input,matched:"",stateStack:[Lexer.STATIC.INITIAL],match:"",text:"",firstLine:1,lineNumber:1,lastLine:1,firstColumn:1,lastColumn:1})},getCurrentRules:function(){var self=this,currentState=self.stateStack[self.stateStack.length-1],rules=[];return self.mapState&&(currentState=self.mapState(currentState)),each(self.rules,function(r){var state=r.state||r[3];state?inArray(currentState,state)&&rules.push(r):currentState===Lexer.STATIC.INITIAL&&rules.push(r)}),rules},pushState:function(state){this.stateStack.push(state)},popState:function(num){num=num||1;for(var ret;num--;)ret=this.stateStack.pop();return ret},showDebugInfo:function(){var self=this,DEBUG_CONTEXT_LIMIT=Lexer.STATIC.DEBUG_CONTEXT_LIMIT,matched=self.matched,match=self.match,input=self.input;matched=matched.slice(0,matched.length-match.length);var past=(matched.length>DEBUG_CONTEXT_LIMIT?"...":"")+matched.slice(0-DEBUG_CONTEXT_LIMIT).replace(/\n/," "),next=match+input;return next=next.slice(0,DEBUG_CONTEXT_LIMIT)+(next.length>DEBUG_CONTEXT_LIMIT?"...":""),past+next+"\n"+new Array(past.length+1).join("-")+"^"},mapSymbol:function(t){return this.symbolMap[t]},mapReverseSymbol:function(rs){var i,self=this,symbolMap=self.symbolMap,reverseSymbolMap=self.reverseSymbolMap;if(!reverseSymbolMap&&symbolMap){reverseSymbolMap=self.reverseSymbolMap={};for(i in symbolMap)reverseSymbolMap[symbolMap[i]]=i}return reverseSymbolMap?reverseSymbolMap[rs]:rs},lex:function(){var i,rule,m,ret,lines,self=this,input=self.input,rules=self.getCurrentRules();if(self.match=self.text="",!input)return self.mapSymbol(Lexer.STATIC.END_TAG);for(i=0;i<rules.length;i++){rule=rules[i];var regexp=rule.regexp||rule[1],token=rule.token||rule[0],action=rule.action||rule[2]||undefined;if(m=input.match(regexp)){lines=m[0].match(/\n.*/g),lines&&(self.lineNumber+=lines.length),mix(self,{firstLine:self.lastLine,lastLine:self.lineNumber+1,firstColumn:self.lastColumn,lastColumn:lines?lines[lines.length-1].length-1:self.lastColumn+m[0].length});var match;return match=self.match=m[0],self.matches=m,self.text=match,self.matched+=match,ret=action&&action.call(self),ret=ret===undefined?token:self.mapSymbol(ret),input=input.slice(match.length),self.input=input,ret?ret:self.lex()}}}},Lexer.STATIC={INITIAL:"I",DEBUG_CONTEXT_LIMIT:20,END_TAG:"$EOF"};var lexer=new Lexer({rules:[["b",/^\[(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["c",/^(?:[\t\r\n\f\x20]*)\]/,function(){this.text=this.yy.trim(this.text)}],["d",/^(?:[\t\r\n\f\x20]*)~=(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["e",/^(?:[\t\r\n\f\x20]*)\|=(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["f",/^(?:[\t\r\n\f\x20]*)\^=(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["g",/^(?:[\t\r\n\f\x20]*)\$=(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["h",/^(?:[\t\r\n\f\x20]*)\*=(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["i",/^(?:[\t\r\n\f\x20]*)\=(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["j",/^(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)\(/,function(){this.text=this.yy.trim(this.text).slice(0,-1),this.pushState("fn")}],["k",/^[^\)]*/,function(){this.popState()},["fn"]],["l",/^(?:[\t\r\n\f\x20]*)\)/,function(){this.text=this.yy.trim(this.text)}],["m",/^:not\((?:[\t\r\n\f\x20]*)/i,function(){this.text=this.yy.trim(this.text)}],["n",/^(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)/,function(){this.text=this.yy.unEscape(this.text)}],["o",/^"(\\"|[^"])*"/,function(){this.text=this.yy.unEscapeStr(this.text)}],["o",/^'(\\'|[^'])*'/,function(){this.text=this.yy.unEscapeStr(this.text)}],["p",/^#(?:(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))+)/,function(){this.text=this.yy.unEscape(this.text.slice(1))}],["q",/^\.(?:(?:[\w]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))(?:[\w\d-]|[^\x00-\xa0]|(?:\\[^\n\r\f0-9a-f]))*)/,function(){this.text=this.yy.unEscape(this.text.slice(1))}],["r",/^(?:[\t\r\n\f\x20]*),(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["s",/^::?/,0],["t",/^(?:[\t\r\n\f\x20]*)\+(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["u",/^(?:[\t\r\n\f\x20]*)>(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["v",/^(?:[\t\r\n\f\x20]*)~(?:[\t\r\n\f\x20]*)/,function(){this.text=this.yy.trim(this.text)}],["w",/^\*/,0],["x",/^(?:[\t\r\n\f\x20]+)/,0],["y",/^./,0]]});return parser.lexer=lexer,lexer.symbolMap={$EOF:"a",LEFT_BRACKET:"b",RIGHT_BRACKET:"c",INCLUDES:"d",DASH_MATCH:"e",PREFIX_MATCH:"f",SUFFIX_MATCH:"g",SUBSTRING_MATCH:"h",ALL_MATCH:"i",FUNCTION:"j",PARAMETER:"k",RIGHT_PARENTHESES:"l",NOT:"m",IDENT:"n",STRING:"o",HASH:"p",CLASS:"q",COMMA:"r",COLON:"s",PLUS:"t",GREATER:"u",TILDE:"v",UNIVERSAL:"w",S:"x",INVALID:"y",$START:"z",selectors_group:"aa",selector:"ab",simple_selector_sequence:"ac",combinator:"ad",type_selector:"ae",id_selector:"af",class_selector:"ag",attrib_match:"ah",attrib:"ai",attrib_val:"aj",pseudo:"ak",negation:"al",negation_arg:"am",suffix_selector:"an",suffix_selectors:"ao"},parser.productions=[["z",["aa"]],["aa",["ab"],function(){return[this.$1]}],["aa",["aa","r","ab"],function(){this.$1.push(this.$3)}],["ab",["ac"]],["ab",["ab","ad","ac"],function(){ +this.$1.nextCombinator=this.$3.prevCombinator=this.$2;var order;return order=this.$1.order=this.$1.order||0,this.$3.order=order+1,this.$3.prev=this.$1,this.$1.next=this.$3,this.$3}],["ad",["t"]],["ad",["u"]],["ad",["v"]],["ad",["x"],function(){return" "}],["ae",["n"],function(){return{t:"tag",value:this.$1}}],["ae",["w"],function(){return{t:"tag",value:this.$1}}],["af",["p"],function(){return{t:"id",value:this.$1}}],["ag",["q"],function(){return{t:"cls",value:this.$1}}],["ah",["f"]],["ah",["g"]],["ah",["h"]],["ah",["i"]],["ah",["d"]],["ah",["e"]],["ai",["b","n","c"],function(){return{t:"attrib",value:{ident:this.$2}}}],["aj",["n"]],["aj",["o"]],["ai",["b","n","ah","aj","c"],function(){return{t:"attrib",value:{ident:this.$2,match:this.$3,value:this.$4}}}],["ak",["s","j","k","l"],function(){return{t:"pseudo",value:{fn:this.$2.toLowerCase(),param:this.$3}}}],["ak",["s","n"],function(){return{t:"pseudo",value:{ident:this.$2.toLowerCase()}}}],["al",["m","am","l"],function(){return{t:"pseudo",value:{fn:"not",param:this.$2}}}],["am",["ae"]],["am",["af"]],["am",["ag"]],["am",["ai"]],["am",["ak"]],["an",["af"]],["an",["ag"]],["an",["ai"]],["an",["ak"]],["an",["al"]],["ao",["an"],function(){return[this.$1]}],["ao",["ao","an"],function(){this.$1.push(this.$2)}],["ac",["ae"]],["ac",["ao"],function(){return{suffix:this.$1}}],["ac",["ae","ao"],function(){return{t:"tag",value:this.$1.value,suffix:this.$2}}]],parser.table={gotos:{0:{aa:8,ab:9,ae:10,af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:17,ac:18},2:{ae:20,af:21,ag:22,ai:23,ak:24,am:25},9:{ad:33},10:{af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:34},17:{af:11,ag:12,ai:13,ak:14,al:15,an:35},19:{ah:43},28:{ab:46,ae:10,af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:17,ac:18},33:{ae:10,af:11,ag:12,ai:13,ak:14,al:15,an:16,ao:17,ac:47},34:{af:11,ag:12,ai:13,ak:14,al:15,an:35},43:{aj:50},46:{ad:33}},action:{0:{b:[1,undefined,1],m:[1,undefined,2],n:[1,undefined,3],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6],w:[1,undefined,7]},1:{n:[1,undefined,19]},2:{b:[1,undefined,1],n:[1,undefined,3],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6],w:[1,undefined,7]},3:{a:[2,9],r:[2,9],t:[2,9],u:[2,9],v:[2,9],x:[2,9],p:[2,9],q:[2,9],b:[2,9],s:[2,9],m:[2,9],l:[2,9]},4:{a:[2,11],r:[2,11],t:[2,11],u:[2,11],v:[2,11],x:[2,11],p:[2,11],q:[2,11],b:[2,11],s:[2,11],m:[2,11],l:[2,11]},5:{a:[2,12],r:[2,12],t:[2,12],u:[2,12],v:[2,12],x:[2,12],p:[2,12],q:[2,12],b:[2,12],s:[2,12],m:[2,12],l:[2,12]},6:{j:[1,undefined,26],n:[1,undefined,27]},7:{a:[2,10],r:[2,10],t:[2,10],u:[2,10],v:[2,10],x:[2,10],p:[2,10],q:[2,10],b:[2,10],s:[2,10],m:[2,10],l:[2,10]},8:{a:[0],r:[1,undefined,28]},9:{a:[2,1],r:[2,1],t:[1,undefined,29],u:[1,undefined,30],v:[1,undefined,31],x:[1,undefined,32]},10:{a:[2,38],r:[2,38],t:[2,38],u:[2,38],v:[2,38],x:[2,38],b:[1,undefined,1],m:[1,undefined,2],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6]},11:{a:[2,31],r:[2,31],t:[2,31],u:[2,31],v:[2,31],x:[2,31],p:[2,31],q:[2,31],b:[2,31],s:[2,31],m:[2,31]},12:{a:[2,32],r:[2,32],t:[2,32],u:[2,32],v:[2,32],x:[2,32],p:[2,32],q:[2,32],b:[2,32],s:[2,32],m:[2,32]},13:{a:[2,33],r:[2,33],t:[2,33],u:[2,33],v:[2,33],x:[2,33],p:[2,33],q:[2,33],b:[2,33],s:[2,33],m:[2,33]},14:{a:[2,34],r:[2,34],t:[2,34],u:[2,34],v:[2,34],x:[2,34],p:[2,34],q:[2,34],b:[2,34],s:[2,34],m:[2,34]},15:{a:[2,35],r:[2,35],t:[2,35],u:[2,35],v:[2,35],x:[2,35],p:[2,35],q:[2,35],b:[2,35],s:[2,35],m:[2,35]},16:{a:[2,36],r:[2,36],t:[2,36],u:[2,36],v:[2,36],x:[2,36],p:[2,36],q:[2,36],b:[2,36],s:[2,36],m:[2,36]},17:{a:[2,39],r:[2,39],t:[2,39],u:[2,39],v:[2,39],x:[2,39],b:[1,undefined,1],m:[1,undefined,2],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6]},18:{a:[2,3],r:[2,3],t:[2,3],u:[2,3],v:[2,3],x:[2,3]},19:{c:[1,undefined,36],d:[1,undefined,37],e:[1,undefined,38],f:[1,undefined,39],g:[1,undefined,40],h:[1,undefined,41],i:[1,undefined,42]},20:{l:[2,26]},21:{l:[2,27]},22:{l:[2,28]},23:{l:[2,29]},24:{l:[2,30]},25:{l:[1,undefined,44]},26:{k:[1,undefined,45]},27:{a:[2,24],r:[2,24],t:[2,24],u:[2,24],v:[2,24],x:[2,24],p:[2,24],q:[2,24],b:[2,24],s:[2,24],m:[2,24],l:[2,24]},28:{b:[1,undefined,1],m:[1,undefined,2],n:[1,undefined,3],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6],w:[1,undefined,7]},29:{n:[2,5],w:[2,5],p:[2,5],q:[2,5],b:[2,5],s:[2,5],m:[2,5]},30:{n:[2,6],w:[2,6],p:[2,6],q:[2,6],b:[2,6],s:[2,6],m:[2,6]},31:{n:[2,7],w:[2,7],p:[2,7],q:[2,7],b:[2,7],s:[2,7],m:[2,7]},32:{n:[2,8],w:[2,8],p:[2,8],q:[2,8],b:[2,8],s:[2,8],m:[2,8]},33:{b:[1,undefined,1],m:[1,undefined,2],n:[1,undefined,3],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6],w:[1,undefined,7]},34:{a:[2,40],r:[2,40],t:[2,40],u:[2,40],v:[2,40],x:[2,40],b:[1,undefined,1],m:[1,undefined,2],p:[1,undefined,4],q:[1,undefined,5],s:[1,undefined,6]},35:{a:[2,37],r:[2,37],t:[2,37],u:[2,37],v:[2,37],x:[2,37],p:[2,37],q:[2,37],b:[2,37],s:[2,37],m:[2,37]},36:{a:[2,19],r:[2,19],t:[2,19],u:[2,19],v:[2,19],x:[2,19],p:[2,19],q:[2,19],b:[2,19],s:[2,19],m:[2,19],l:[2,19]},37:{n:[2,17],o:[2,17]},38:{n:[2,18],o:[2,18]},39:{n:[2,13],o:[2,13]},40:{n:[2,14],o:[2,14]},41:{n:[2,15],o:[2,15]},42:{n:[2,16],o:[2,16]},43:{n:[1,undefined,48],o:[1,undefined,49]},44:{a:[2,25],r:[2,25],t:[2,25],u:[2,25],v:[2,25],x:[2,25],p:[2,25],q:[2,25],b:[2,25],s:[2,25],m:[2,25]},45:{l:[1,undefined,51]},46:{a:[2,2],r:[2,2],t:[1,undefined,29],u:[1,undefined,30],v:[1,undefined,31],x:[1,undefined,32]},47:{a:[2,4],r:[2,4],t:[2,4],u:[2,4],v:[2,4],x:[2,4]},48:{c:[2,20]},49:{c:[2,21]},50:{c:[1,undefined,52]},51:{a:[2,23],r:[2,23],t:[2,23],u:[2,23],v:[2,23],x:[2,23],p:[2,23],q:[2,23],b:[2,23],s:[2,23],m:[2,23],l:[2,23]},52:{a:[2,22],r:[2,22],t:[2,22],u:[2,22],v:[2,22],x:[2,22],p:[2,22],q:[2,22],b:[2,22],s:[2,22],m:[2,22],l:[2,22]}}},parser.parse=function(input,filename){var state,symbol,action,self=this,lexer=self.lexer,table=self.table,gotos=table.gotos,tableAction=table.action,productions=self.productions,valueStack=[null],prefix=filename?"in file: "+filename+" ":"",stack=[0];for(lexer.resetInput(input);;){if(state=stack[stack.length-1],symbol||(symbol=lexer.lex()),action=symbol?tableAction[state]&&tableAction[state][symbol]:null,!action){var error,expected=[];if(tableAction[state])for(var symbolForState in tableAction[state])expected.push(self.lexer.mapReverseSymbol(symbolForState));throw error=prefix+"syntax error at line "+lexer.lineNumber+":\n"+lexer.showDebugInfo()+"\nexpect "+expected.join(", "),new Error(error)}switch(action[GrammarConst.TYPE_INDEX]){case GrammarConst.SHIFT_TYPE:stack.push(symbol),valueStack.push(lexer.text),stack.push(action[GrammarConst.TO_INDEX]),symbol=null;break;case GrammarConst.REDUCE_TYPE:var ret,production=productions[action[GrammarConst.PRODUCTION_INDEX]],reducedSymbol=production.symbol||production[0],reducedAction=production.action||production[2],reducedRhs=production.rhs||production[1],len=reducedRhs.length,i=0,$$=valueStack[valueStack.length-len];for(ret=undefined,self.$$=$$;i<len;i++)self["$"+(len-i)]=valueStack[valueStack.length-1-i];reducedAction&&(ret=reducedAction.call(self)),$$=ret!==undefined?ret:self.$$,stack=stack.slice(0,-1*len*2),valueStack=valueStack.slice(0,-1*len),stack.push(reducedSymbol),valueStack.push($$);var newState=gotos[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case GrammarConst.ACCEPT_TYPE:return $$}}},parser}();module.exports=parser},function(module,exports){function upperCaseFirstMatch(match,c,offset){return 0!==offset?c.toUpperCase():c}function camelCase(str){var camelCased=str.replace(hyphenExpression,upperCaseFirstMatch);return hyphenExpression.lastIndex=0,camelCased}var hyphenExpression=/\-+([a-z])/gi;module.exports=camelCase},function(module,exports){function isString(value){return"string"==typeof value}module.exports=isString},function(module,exports){function isUndefined(value){return"undefined"==typeof value}module.exports=isUndefined},function(module,exports){function assign(dest){for(var source,args=arguments,i=1;i<args.length;i++){source=args[i];for(var key in source)dest[key]=source[key]}return dest}module.exports=assign},function(module,exports){function mapValues(source,fn){var destination={};for(var key in source)source.hasOwnProperty(key)&&(destination[key]=fn(source[key]));return destination}module.exports=mapValues},function(module,exports,__webpack_require__){function styleCamelCase(name){var camel=camelCase(name);return camel.charAt(0).toUpperCase()===name.charAt(0)?name.charAt(0)+camel.slice(1):"-"===name.charAt(0)?0===camel.indexOf("ms")?camel:camel.charAt(0).toUpperCase()+camel.slice(1):camel}var camelCase=__webpack_require__(38);module.exports=styleCamelCase},function(module,exports){var Window={getComputedStyle:function(node){return{getPropertyValue:node.style.getProperty}}};module.exports=Window},function(module,exports,__webpack_require__){var Element=__webpack_require__(32),mapValues=__webpack_require__(42),mixin={componentWillMount:function(){this.connectedFauxDOM={},this.animateFauxDOMUntil=0},connectFauxDOM:function(node,name){return this.connectedFauxDOM[name]="string"!=typeof node?node:new Element(node),setTimeout(this.drawFauxDOM),this.connectedFauxDOM[name]},drawFauxDOM:function(){var virtualDOM=mapValues(this.connectedFauxDOM,function(n){return n.toReact()});this.setState(virtualDOM)}};module.exports=mixin},function(module,exports){var anim={animateFauxDOM:function(duration){this.animateFauxDOMUntil=Math.max(Date.now()+duration,this.animateFauxDOMUntil),this.fauxDOMAnimationInterval||(this.fauxDOMAnimationInterval=setInterval(function(){Date.now()<this.animateFauxDOMUntil?this.drawFauxDOM():this.stopAnimatingFauxDOM()}.bind(this),16))},stopAnimatingFauxDOM:function(){this.fauxDOMAnimationInterval=clearInterval(this.fauxDOMAnimationInterval),this.animateFauxDOMUntil=0},isAnimatingFauxDOM:function(){return!!this.fauxDOMAnimationInterval},componentWillUnmount:function(){this.stopAnimatingFauxDOM()}};module.exports=anim},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_d3Axis=(_interopRequireDefault(_react),__webpack_require__(48)),_d3Axis2=_interopRequireDefault(_d3Axis),_d3Selection=__webpack_require__(30),_d3Selection2=_interopRequireDefault(_d3Selection),_reactFauxDom=__webpack_require__(31),_reactFauxDom2=_interopRequireDefault(_reactFauxDom),_scale=__webpack_require__(18),Axis=function(_Component){function Axis(props){return _classCallCheck(this,Axis),_possibleConstructorReturn(this,Object.getPrototypeOf(Axis).call(this,props))}return _inherits(Axis,_Component),_createClass(Axis,[{key:"_mkTickAxis",value:function(){var _props=this.props,tickOrient=(_props.type,_props.tickOrient),tickFormat=_props.tickFormat,tickPadding=_props.tickPadding,tickSizeInner=_props.tickSizeInner,tickSizeOuter=_props.tickSizeOuter,ticks=_props.ticks,tickValues=_props.tickValues,func=_d3Axis2.default;return"left"===tickOrient?func=func.axisLeft(this._mkScale(this.props)):"right"===tickOrient?func=func.axisRight(this._mkScale(this.props)):"top"===tickOrient?func=func.axisTop(this._mkScale(this.props)):"bottom"===tickOrient&&(func=func.axisBottom(this._mkScale(this.props))),tickFormat&&func.tickFormat(tickFormat),tickPadding&&func.tickPadding(tickPadding),tickSizeOuter&&func.tickSizeOuter(tickSizeOuter),tickSizeInner&&func.tickSizeInner(tickSizeInner),tickValues&&func.tickValues(tickValues),ticks&&func.ticks.apply(null,ticks),func}},{key:"_mkScale",value:function(){var newScale;newScale="ordinal"===this.props.scale?"band":this.props.scale;var func=(0,_scale.scale)(Object.assign({},this.props,{scale:newScale}));return func}},{key:"render",value:function(){var _props2=this.props,showAxis=_props2.showAxis,gridAxisClassName=_props2.gridAxisClassName,axisClassName=_props2.axisClassName,type=_props2.type,style=_props2.style,axisStyling=_props2.axisStyling,gridStyleClassName=_props2.gridStyleClassName,axisGroup=_reactFauxDom2.default.createElement("g");if("x"===type)var axisClasses=axisClassName+" axis x";else if("y"===type)var axisClasses=axisClassName+" axis y";else if("gridx"===type||"gridy"===type)var axisClasses=gridAxisClassName+" grid-axis";axisGroup.setAttribute("class",axisClasses);var axisDom=_d3Selection2.default.select(axisGroup);if(axisDom.call(this._mkTickAxis()),showAxis||(axisDom.selectAll(".grid-axis .tick text").style("opacity","0"),"gridx"!==type&&"gridy"!==type||axisDom.selectAll(".grid-axis .domain").style("opacity","0")),axisStyling&&axisStyling.pathClassName){var axisPath=axisDom.selectAll(".axis path");axisPath.attr("class",axisStyling.pathClassName)}else axisDom.selectAll(".axis path").style("fill","none").style("stroke","#000").style("shape-rendering","crispEdges").style("display","none");if(axisStyling&&axisStyling.ticksClassName){var axisLine=axisDom.selectAll(".axis line");axisLine.attr("class",axisStyling.ticksClassName)}else axisDom.selectAll(".axis line").style("fill","none").style("stroke","#000").style("shape-rendering","crispEdges");if(gridStyleClassName){var grids=axisDom.selectAll(".grid-axis line");grids.attr("class",gridStyleClassName)}else axisDom.selectAll(".grid-axis line").style("opacity",.2).style("fill","none").style("stroke","#000").style("stroke-width","1.5px");var axisText=axisDom.selectAll(".axis text");if(style)for(var key in style)axisText.style(key,style[key]);else axisStyling&&axisStyling.textClassName&&axisText.attr("class",axisStyling.textClassName);return axisDom.node().toReact()}}]),Axis}(_react.Component);Axis.defaultProps={range:null,rangeRoundBands:null,domain:null,tickFormat:null,tickOrient:null},Axis.PropTypes={showAxis:_react.PropTypes.bool,type:_react.PropTypes.string,orient:_react.PropTypes.oneOf(["top","bottom","left","right"]),tickOrient:_react.PropTypes.oneOf(["top","bottom","left","right"])},exports.default=Axis},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function identity(x){return x}function translateX(scale0,scale1,d){var x=scale0(d);return"translate("+(isFinite(x)?x:scale1(d))+",0)"}function translateY(scale0,scale1,d){var y=scale0(d);return"translate(0,"+(isFinite(y)?y:scale1(d))+")"}function center(scale){var width=scale.bandwidth()/2;return function(d){return scale(d)+width}}function axis(orient,scale){function axis(context){var x,values=null==tickValues?scale.ticks?scale.ticks.apply(scale,tickArguments):scale.domain():tickValues,format=null==tickFormat?scale.tickFormat?scale.tickFormat.apply(scale,tickArguments):identity:tickFormat,spacing=Math.max(tickSizeInner,0)+tickPadding,transform=orient===top||orient===bottom?translateX:translateY,range=scale.range(),range0=range[0]+.5,range1=range[range.length-1]+.5,position=(scale.bandwidth?center:identity)(scale.copy()),selection=context.selection?context.selection():context,path=selection.selectAll(".domain").data([null]),tick=selection.selectAll(".tick").data(values,scale).order(),tickExit=tick.exit(),tickEnter=tick.enter().append("g",".domain").attr("class","tick"),line=tick.select("line"),text=tick.select("text"),k=orient===top||orient===left?-1:1,y=orient===left||orient===right?(x="x","y"):(x="y","x");path=path.merge(path.enter().append("path").attr("class","domain").attr("stroke","#000")),tick=tick.merge(tickEnter),line=line.merge(tickEnter.append("line").attr("stroke","#000").attr(x+"2",k*tickSizeInner)),text=text.merge(tickEnter.append("text").attr("fill","#000").attr(x,k*spacing)),context!==selection&&(path=path.transition(context),tick=tick.transition(context),line=line.transition(context),text=text.transition(context),tickExit=tickExit.transition(context).attr("opacity",epsilon).attr("transform",function(d){return transform(position,this.parentNode.__axis||position,d)}),tickEnter.attr("opacity",epsilon).attr("transform",function(d){return transform(this.parentNode.__axis||position,position,d)})),tickExit.remove(),path.attr("d",orient===left||orient==right?"M"+k*tickSizeOuter+","+range0+"H0.5V"+range1+"H"+k*tickSizeOuter:"M"+range0+","+k*tickSizeOuter+"V0.5H"+range1+"V"+k*tickSizeOuter),tick.attr("opacity",1).attr("transform",function(d){return transform(position,position,d)}),line.attr(x+"2",k*tickSizeInner).attr(y+"1",.5).attr(y+"2",.5),text.attr(x,k*spacing).attr(y,.5).attr("dy",orient===top?"0em":orient===bottom?".71em":".32em").text(format),selection.attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",orient===right?"start":orient===left?"end":"middle").each(function(){this.__axis=position})}var tickArguments=[],tickValues=null,tickFormat=null,tickSizeInner=6,tickSizeOuter=6,tickPadding=3;return axis.scale=function(_){return arguments.length?(scale=_,axis):scale},axis.ticks=function(){return tickArguments=slice.call(arguments),axis},axis.tickArguments=function(_){return arguments.length?(tickArguments=null==_?[]:slice.call(_),axis):tickArguments.slice()},axis.tickValues=function(_){return arguments.length?(tickValues=null==_?null:slice.call(_),axis):tickValues&&tickValues.slice()},axis.tickFormat=function(_){return arguments.length?(tickFormat=_,axis):tickFormat},axis.tickSize=function(_){return arguments.length?(tickSizeInner=tickSizeOuter=+_,axis):tickSizeInner},axis.tickSizeInner=function(_){return arguments.length?(tickSizeInner=+_,axis):tickSizeInner},axis.tickSizeOuter=function(_){return arguments.length?(tickSizeOuter=+_,axis):tickSizeOuter},axis.tickPadding=function(_){return arguments.length?(tickPadding=+_,axis):tickPadding},axis}function axisTop(scale){return axis(top,scale)}function axisRight(scale){return axis(right,scale)}function axisBottom(scale){return axis(bottom,scale)}function axisLeft(scale){return axis(left,scale)}var version="0.3.2",slice=Array.prototype.slice,top=1,right=2,bottom=3,left=4,epsilon=1e-6;exports.version=version,exports.axisTop=axisTop,exports.axisRight=axisRight,exports.axisBottom=axisBottom,exports.axisLeft=axisLeft})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_axis=__webpack_require__(47),_axis2=_interopRequireDefault(_axis),_label=__webpack_require__(50),_label2=_interopRequireDefault(_label),_commonProps=__webpack_require__(17),_commonProps2=_interopRequireDefault(_commonProps),Xaxis=function(_Component){function Xaxis(props){return _classCallCheck(this,Xaxis),_possibleConstructorReturn(this,Object.getPrototypeOf(Xaxis).call(this,props))}return _inherits(Xaxis,_Component),_createClass(Xaxis,[{key:"render",value:function(){var t,axisLabel,_props=this.props,height=_props.height,width=_props.width,margins=_props.margins,showXAxis=_props.showXAxis,x=_props.x,xAxisClassName=_props.xAxisClassName,xDomain=_props.xDomain,xRange=_props.xRange,xBandPaddingInner=_props.xBandPaddingInner,xBandPaddingOuter=_props.xBandPaddingOuter,xScale=_props.xScale,xOrient=_props.xOrient,xTickOrient=_props.xTickOrient,xTickPadding=_props.xTickPadding,xTickSizeOuter=_props.xTickSizeOuter,xTickSizeInner=_props.xTickSizeInner,xTickFormat=_props.xTickFormat,xTicks=_props.xTicks,xLabel=_props.xLabel,xLabelPosition=_props.xLabelPosition,labelOffset=_props.labelOffset,style=_props.style,xAxisStyling=_props.xAxisStyling,xTickValues=_props.xTickValues;return xRange||(xRange=[0,width-margins.left-margins.right]),"bottom"===xOrient?t="translate(0, "+(height-margins.bottom-margins.top)+")":"top"===xOrient&&(t="translate(0, 0)"),xLabel&&(axisLabel=_react2.default.createElement(_label2.default,{height:height,width:width,margins:margins,labelTitle:xLabel,labelPosition:xLabelPosition,labelOffset:labelOffset,bandPaddingInner:xBandPaddingInner,bandPaddingOuter:xBandPaddingOuter})),_react2.default.createElement("g",{transform:t},_react2.default.createElement(_axis2.default,{height:height,width:width,margins:margins,showAxis:showXAxis,axisClassName:xAxisClassName,bandPaddingInner:xBandPaddingInner,bandPaddingOuter:xBandPaddingOuter,type:"x",proxy:x,domain:xDomain,range:xRange,scale:xScale,orient:xOrient,tickOrient:xTickOrient,tickFormat:xTickFormat,tickPadding:xTickPadding,tickSizeInner:xTickSizeInner,tickSizeOuter:xTickSizeOuter,style:style,ticks:xTicks,axisStyling:xAxisStyling,tickValues:xTickValues}),axisLabel)}}]),Xaxis}(_react.Component);Xaxis.defaultProps=_extends({showXAxis:!0,xAxisClassName:"react-d3-core__axis__xAxis",xScale:"linear",xOrient:"bottom",xTickOrient:"bottom",xLabelPosition:"bottom",xTickPadding:3,xInnerTickSize:6,xOuterTickSize:6},_commonProps2.default),Xaxis.propTypes={height:_react.PropTypes.number.isRequired,width:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,showXAxis:_react.PropTypes.bool,x:_react.PropTypes.func,xDomain:_react.PropTypes.array,xRange:_react.PropTypes.array,xScale:_react.PropTypes.string.isRequired,xOrient:_react.PropTypes.oneOf(["top","bottom"]),xTickOrient:_react.PropTypes.oneOf(["top","bottom"]),xAxisClassName:_react.PropTypes.string,xTickSizeInner:_react.PropTypes.number,xTickSizeOuter:_react.PropTypes.number,xBandPaddingInner:_react.PropTypes.number,xBandPaddingOuter:_react.PropTypes.number,xTickPadding:_react.PropTypes.number,xTickFormat:_react.PropTypes.func,xTicks:_react.PropTypes.array,style:_react.PropTypes.object,xAxisStyling:_react.PropTypes.object,xTickValues:_react.PropTypes.array},exports.default=Xaxis},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_d3Selection=(_interopRequireDefault(_react),__webpack_require__(30)),_d3Selection2=_interopRequireDefault(_d3Selection),_reactFauxDom=__webpack_require__(31),_reactFauxDom2=_interopRequireDefault(_reactFauxDom),_commonProps=__webpack_require__(17),_commonProps2=_interopRequireDefault(_commonProps),Label=function(_Component){function Label(props){return _classCallCheck(this,Label),_possibleConstructorReturn(this,Object.getPrototypeOf(Label).call(this,props))}return _inherits(Label,_Component),_createClass(Label,[{key:"_mkLabel",value:function(dom){var _props=this.props,height=_props.height,width=_props.width,margins=_props.margins,labelOffset=_props.labelOffset,labelTitle=_props.labelTitle,labelPosition=_props.labelPosition,vTransform=_props.vTransform,hTransform=_props.hTransform,textAnchor=_props.textAnchor,labelDom=_d3Selection2.default.select(dom),fixWidth=width-margins.left-margins.right,fixHeight=height-margins.top-margins.bottom;return"top"===labelPosition?labelDom.attr("transform",hTransform).attr("y",-labelOffset).attr("x",fixWidth/2).style("text-anchor",textAnchor).text(labelTitle):"bottom"===labelPosition?labelDom.attr("transform",hTransform).attr("y",+labelOffset).attr("x",fixWidth/2).style("text-anchor",textAnchor).text(labelTitle):"left"===labelPosition?labelDom.attr("transform",vTransform).attr("y",-labelOffset).attr("x",-fixHeight/2).style("text-anchor",textAnchor).text(labelTitle):"right"===labelPosition&&labelDom.attr("transform",vTransform).attr("y",+labelOffset).attr("x",-fixHeight/2).style("text-anchor",textAnchor).text(labelTitle),labelDom}},{key:"render",value:function(){var labelClassName=this.props.labelClassName,labelText=_reactFauxDom2.default.createElement("text"),labelClasses=labelClassName+" label";labelText.setAttribute("class",labelClasses);var labelDom=this._mkLabel(labelText);return labelDom.node().toReact()}}]),Label}(_react.Component);Label.defaultProps=_extends({hTransform:"rotate(0)",vTransform:"rotate(270)",labelTitle:"label title",labelPosition:"bottom",labelOffset:40,textAnchor:"middle",labelClassName:"react-d3-core__label"},_commonProps2.default),Label.propTypes={height:_react.PropTypes.number.isRequired,width:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,hTransform:_react.PropTypes.string,vTransform:_react.PropTypes.string,labelTitle:_react.PropTypes.string,labelPosition:_react.PropTypes.oneOf(["top","bottom","left","right"]),labelOffset:_react.PropTypes.number,textAnchor:_react.PropTypes.string,labelClassName:_react.PropTypes.string},exports.default=Label},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_axis=__webpack_require__(47),_axis2=_interopRequireDefault(_axis),_label=__webpack_require__(50),_label2=_interopRequireDefault(_label),_commonProps=__webpack_require__(17),_commonProps2=_interopRequireDefault(_commonProps),Yaxis=function(_Component){function Yaxis(props){return _classCallCheck(this,Yaxis),_possibleConstructorReturn(this,Object.getPrototypeOf(Yaxis).call(this,props))}return _inherits(Yaxis,_Component),_createClass(Yaxis,[{key:"render",value:function(){var t,axisLabel,_props=this.props,width=_props.width,height=_props.height,margins=_props.margins,y=_props.y,yAxisClassName=_props.yAxisClassName,yDomain=_props.yDomain,yRange=_props.yRange,yBandPaddingInner=_props.yBandPaddingInner,yBandPaddingOuter=_props.yBandPaddingOuter,yScale=_props.yScale,yOrient=_props.yOrient,yTickOrient=_props.yTickOrient,yTickFormat=_props.yTickFormat,yTickPadding=_props.yTickPadding,yTickSizeOuter=_props.yTickSizeOuter,yTickSizeInner=_props.yTickSizeInner,yTicks=_props.yTicks,yLabel=_props.yLabel,yLabelPosition=_props.yLabelPosition,labelOffset=_props.labelOffset,showYAxis=_props.showYAxis,style=_props.style,yAxisStyling=_props.yAxisStyling,yTickValues=_props.yTickValues;return yRange||(yRange=[height-margins.top-margins.bottom,0]),"right"===yOrient?t="translate("+(width-margins.right-margins.left)+", 0)":"left"===yOrient&&(t="translate(0, 0)"),yLabel&&(axisLabel=_react2.default.createElement(_label2.default,{height:height,width:width,margins:margins,labelTitle:yLabel,labelPosition:yLabelPosition,labelOffset:labelOffset,bandPaddingInner:yBandPaddingInner,bandPaddingOuter:yBandPaddingOuter})),_react2.default.createElement("g",{transform:t},_react2.default.createElement(_axis2.default,{ +height:height,width:width,margins:margins,showAxis:showYAxis,axisClassName:yAxisClassName,bandPaddingInner:yBandPaddingInner,bandPaddingOuter:yBandPaddingOuter,type:"y",proxy:y,domain:yDomain,range:yRange,scale:yScale,orient:yOrient,tickOrient:yTickOrient,tickFormat:yTickFormat,tickPadding:yTickPadding,tickSizeInner:yTickSizeInner,tickSizeOuter:yTickSizeOuter,ticks:yTicks,style:style,axisStyling:yAxisStyling,tickValues:yTickValues}),axisLabel)}}]),Yaxis}(_react.Component);Yaxis.defaultProps=_extends({showYAxis:!0,yAxisClassName:"react-d3-core__axis__yAxis",yScale:"linear",yOrient:"left",yTickOrient:"left",yLabelPosition:"left",yTickPadding:3,yInnerTickSize:6,yOuterTickSize:6},_commonProps2.default),Yaxis.propTypes={height:_react.PropTypes.number.isRequired,width:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,showYAxis:_react.PropTypes.bool,y:_react.PropTypes.func,yDomain:_react.PropTypes.array,yRange:_react.PropTypes.array,yScale:_react.PropTypes.string.isRequired,yOrient:_react.PropTypes.oneOf(["left","right"]),yTickOrient:_react.PropTypes.oneOf(["left","right"]),yAxisClassName:_react.PropTypes.string,yTickSizeInner:_react.PropTypes.number,yTickSizeOuter:_react.PropTypes.number,yBandPaddingInner:_react.PropTypes.number,yBandPaddingOuter:_react.PropTypes.number,yTickPadding:_react.PropTypes.number,yTickFormat:_react.PropTypes.func,yTicks:_react.PropTypes.array,style:_react.PropTypes.object,yAxisStyling:_react.PropTypes.object,yTickValues:_react.PropTypes.array},exports.default=Yaxis},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_axis=__webpack_require__(47),_axis2=_interopRequireDefault(_axis),_commonProps=__webpack_require__(17),_commonProps2=_interopRequireDefault(_commonProps),Grid=function(_Component){function Grid(props){return _classCallCheck(this,Grid),_possibleConstructorReturn(this,Object.getPrototypeOf(Grid).call(this,props))}return _inherits(Grid,_Component),_createClass(Grid,[{key:"render",value:function(){var gridAxis,t,_props=this.props,height=_props.height,width=_props.width,margins=_props.margins,type=_props.type,gridAxisClassName=_props.gridAxisClassName,xBandPaddingInner=_props.xBandPaddingInner,xBandPaddingOuter=_props.xBandPaddingOuter,x=_props.x,xDomain=_props.xDomain,xRange=_props.xRange,xScale=_props.xScale,xGridCount=_props.xGridCount,xGridStyleClassName=_props.xGridStyleClassName,yBandPaddingInner=_props.yBandPaddingInner,yBandPaddingOuter=_props.yBandPaddingOuter,y=_props.y,yDomain=_props.yDomain,yRange=_props.yRange,yScale=_props.yScale,yGridCount=_props.yGridCount,yGridStyleClassName=_props.yGridStyleClassName,xTickValues=_props.xTickValues,yTickValues=_props.yTickValues;if(yRange||(yRange=[height-margins.top-margins.bottom,0]),xRange||(xRange=[0,width-margins.left-margins.right]),"x"===type){t="translate(0, "+(height-margins.bottom-margins.top)+")";var tickSize=height-margins.top-margins.bottom;gridAxis=_react2.default.createElement(_axis2.default,{height:height,width:width,margins:margins,type:"gridx",showAxis:!1,gridAxisClassName:gridAxisClassName,bandPaddingInner:xBandPaddingInner,bandPaddingOuter:xBandPaddingOuter,tickOrient:"bottom",orient:"bottom",tickSizeOuter:0,tickPadding:10,tickFormat:null,tickSizeInner:-tickSize,proxy:x,domain:xDomain,range:xRange,scale:xScale,ticks:xGridCount,gridStyleClassName:xGridStyleClassName,tickValues:xTickValues})}else if("y"===type){t="translate(0, 0)";var tickSize=width-margins.left-margins.right;gridAxis=_react2.default.createElement(_axis2.default,{height:height,width:width,margins:margins,type:"gridy",showAxis:!1,gridAxisClassName:gridAxisClassName,bandPaddingInner:yBandPaddingInner,bandPaddingOuter:yBandPaddingOuter,tickOrient:"left",orient:"left",tickSizeOuter:0,tickPadding:10,tickSizeInner:-tickSize,tickFormat:null,proxy:y,scale:yScale,domain:yDomain,range:yRange,ticks:yGridCount,gridStyleClassName:yGridStyleClassName,tickValues:yTickValues})}return _react2.default.createElement("g",{transform:t},gridAxis)}}]),Grid}(_react.Component);Grid.defaultProps=_extends({type:"x",gridAxisClassName:"react-d3-core__grid_axis"},_commonProps2.default),Grid.propTypes={height:_react.PropTypes.number.isRequired,width:_react.PropTypes.number.isRequired,margins:_react.PropTypes.object.isRequired,type:_react.PropTypes.oneOf(["x","y"]).isRequired,gridAxisClassName:_react.PropTypes.string,x:_react.PropTypes.func,xDomain:_react.PropTypes.array,xRange:_react.PropTypes.array,xScale:_react.PropTypes.oneOf(["linear","identity","sqrt","pow","log","quantize","quantile","ordinal","time"]).isRequired,xBandPaddingInner:_react.PropTypes.number,xBandPaddingOuter:_react.PropTypes.number,y:_react.PropTypes.func,yDomain:_react.PropTypes.array,yRange:_react.PropTypes.array,yScale:_react.PropTypes.oneOf(["linear","identity","sqrt","pow","log","quantize","quantile","ordinal","time"]).isRequired,yBandPaddingInner:_react.PropTypes.number,yBandPaddingOuter:_react.PropTypes.number,xGridCount:_react.PropTypes.array,yGridCount:_react.PropTypes.array,xGridStyleClassName:_react.PropTypes.string,yGridStyleClassName:_react.PropTypes.string,xTickValues:_react.PropTypes.array},exports.default=Grid},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_grid=__webpack_require__(52),_grid2=_interopRequireDefault(_grid),XGrid=function(_Component){function XGrid(props){return _classCallCheck(this,XGrid),_possibleConstructorReturn(this,Object.getPrototypeOf(XGrid).call(this,props))}return _inherits(XGrid,_Component),_createClass(XGrid,[{key:"render",value:function(){return _react2.default.createElement(_grid2.default,_extends({},this.props,{type:"x"}))}}]),XGrid}(_react.Component);exports.default=XGrid},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_grid=__webpack_require__(52),_grid2=_interopRequireDefault(_grid),YGrid=function(_Component){function YGrid(props){return _classCallCheck(this,YGrid),_possibleConstructorReturn(this,Object.getPrototypeOf(YGrid).call(this,props))}return _inherits(YGrid,_Component),_createClass(YGrid,[{key:"render",value:function(){return _react2.default.createElement(_grid2.default,_extends({},this.props,{type:"y"}))}}]),YGrid}(_react.Component);exports.default=YGrid},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function xDomain(props,stack,horizonal){var data=props.data,chartSeries=props.chartSeries,x=props.x,xScale=props.xScale,xDomain=props.xDomain;if(xDomain)return xDomain;if(horizonal){if(stack){var max=0,min=0;return data.forEach(function(d){var totalTop=0,totalBottom=0;chartSeries.forEach(function(sd){var field=sd.field;d[field]>0?totalTop+=x(d[field]):d[field]<0&&(totalBottom+=x(d[field]))}),totalTop>max&&(max=totalTop),totalBottom<min&&(min=totalBottom)}),[min,max]}var domainArr=chartSeries.map(function(d){var field=d.field,extent=_d3Array2.default.extent(data,function(dt){return x(dt[field])});return extent});return _d3Array2.default.extent([].concat.apply([],domainArr))}return"ordinal"===xScale?data.map(function(d){return x(d)}):_d3Array2.default.extent(data,function(d){return x(d)})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.xDomain=xDomain;var _d3Array=__webpack_require__(20),_d3Array2=_interopRequireDefault(_d3Array)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function yDomain(props,stack,horizonal){var data=props.data,chartSeries=props.chartSeries,y=props.y,yDomain=props.yDomain,yScale=props.yScale;if(yDomain)return yDomain;if(horizonal)return"ordinal"===yScale?data.map(function(d){return y(d)}):_d3Array2.default.extent(data,function(d){return y(d)});if(stack){var max=0,min=0;return data.forEach(function(d){var totalTop=0,totalBottom=0;chartSeries.forEach(function(sd){var field=sd.field;d[field]>0?totalTop+=y(d[field]):d[field]<0&&(totalBottom+=y(d[field]))}),totalTop>max&&(max=totalTop),totalBottom<min&&(min=totalBottom)}),[min,max]}var domainArr=chartSeries.map(function(d){var field=d.field,extent=_d3Array2.default.extent(data,function(dt){return y(dt[field])});return extent}),extentArr=_d3Array2.default.extent([].concat.apply([],domainArr));return extentArr[0]*extentArr[1]>=0?[0,extentArr[1]]:extentArr}Object.defineProperty(exports,"__esModule",{value:!0}),exports.yDomain=yDomain;var _d3Array=__webpack_require__(20),_d3Array2=_interopRequireDefault(_d3Array)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.pieProps=void 0;var _d3Scale=__webpack_require__(19),_d3Scale2=_interopRequireDefault(_d3Scale),width=960,height=500,margins={top:80,right:100,bottom:80,left:100};exports.default={width:width,height:height,margins:margins,y:function(d){return+d},xScale:"linear",yScale:"linear",showXGrid:!0,showYGrid:!0,showLegend:!0};exports.pieProps={width:width,height:height,margins:margins,innerRadius:0,categoricalColors:_d3Scale2.default.scaleCategory10(),pieSort:function(){},pieTextShow:!0}},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(5),PropTypes=_interopRequireWildcard(_propTypes),_commonProps=(__webpack_require__(15),__webpack_require__(57)),_commonProps2=_interopRequireDefault(_commonProps),ChartSvg=function(_Component){function ChartSvg(props){return _classCallCheck(this,ChartSvg),_possibleConstructorReturn(this,(ChartSvg.__proto__||Object.getPrototypeOf(ChartSvg)).call(this,props))}return _inherits(ChartSvg,_Component),_createClass(ChartSvg,[{key:"render",value:function(){var _this2=this,_props=this.props,height=_props.height,width=_props.width,margins=_props.margins,svgClassName=(_props.data,_props.svgClassName),id=_props.id,children=(_props.name,_props.value,_react2.default.Children.map(this.props.children,function(el){return el?_react2.default.cloneElement(el,_this2.props):null})),t="translate("+margins.left+", "+margins.top+")";return _react2.default.createElement("svg",{height:height,width:width,className:svgClassName,id:id,ref:"svgContainer"},_react2.default.createElement("g",{transform:t},children))}}]),ChartSvg}(_react.Component);ChartSvg.defaultProps=_extends({svgClassName:"react-d3-core__container_svg"},_commonProps2.default),ChartSvg.propTypes={id:PropTypes.string,width:PropTypes.number.isRequired,height:PropTypes.number.isRequired,margins:PropTypes.object.isRequired,svgClassName:PropTypes.string.isRequired},exports.default=ChartSvg},function(module,exports,__webpack_require__){(function(d3){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(5),_commonProps=(_interopRequireWildcard(_propTypes),__webpack_require__(57)),_commonProps2=_interopRequireDefault(_commonProps),_reactD3Core=__webpack_require__(15),_reactDom=__webpack_require__(60),_reactDom2=_interopRequireDefault(_reactDom),Brush=function(_Component){function Brush(props){_classCallCheck(this,Brush);var _this=_possibleConstructorReturn(this,(Brush.__proto__||Object.getPrototypeOf(Brush)).call(this,props));return _this.state={xBrushScaleSet:_this._mkXScale(props)},_this}return _inherits(Brush,_Component),_createClass(Brush,[{key:"_mkXScale",value:function(props){var xScale=props.xScale,xRange=props.xRange,xDomain=props.xDomain,xRangeRoundBands=props.xRangeRoundBands,newXScale={scale:xScale,range:xRange,domain:xDomain,rangeRoundBands:xRangeRoundBands};return(0,_reactD3Core.scale)(newXScale)}},{key:"componentWillReceiveProps",value:function(nextProps){this.state={xBrushScaleSet:this._mkXScale(nextProps)}}},{key:"componentDidUpdate",value:function(){this._updateBrush()}},{key:"componentDidMount",value:function(){this._updateBrush()}},{key:"_updateBrush",value:function(){var _this2=this,_state=this.state,xBrushScaleSet=_state.xBrushScaleSet,_props=(_state.yBrushScaleSet,this.props),height=_props.height,margins=_props.margins,brushExtent=_props.brushExtent,keepBrushOn=_props.keepBrushOn,onBrushDomainChange=_props.onBrushDomainChange,brushStyle=_props.brushStyle,brush=d3.svg.brush().x(xBrushScaleSet);brushExtent&&(brush=brush.extent(brushExtent)),brush=brush.on("brushend",function(){var newDomain=brush.empty()?xBrushScaleSet.domain():brush.extent();newDomain.length&&(onBrushDomainChange("x",newDomain),keepBrushOn||d3.select(_reactDom2.default.findDOMNode(_this2.refs.brushRect)).call(brush.clear()))});var brushDom=d3.select(_reactDom2.default.findDOMNode(this.refs.brushRect)).call(brush).selectAll("rect").attr("y",-4).attr("height",height-margins.bottom-margins.top+3);if(brushStyle)for(var key in brushStyle)brushDom.style(key,brushStyle[key]);else brushDom.style("fill","#DDD").style("fill-opacity",.75).style("shape-rendering","crispEdges")}},{key:"render",value:function(){return _react2.default.createElement("g",{ref:"brushRect",className:"react-d3-basic__brush__rect"})}}]),Brush}(_react.Component);Brush.defaultProps=_commonProps2.default,exports.default=Brush}).call(exports,__webpack_require__(2))},function(module,exports){module.exports=ReactDOM},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_reactD3Core=__webpack_require__(15),_chart=__webpack_require__(3),_chart2=_interopRequireDefault(_chart),_straightLine=__webpack_require__(62),_straightLine2=_interopRequireDefault(_straightLine),BlankChart=function(_Component){function BlankChart(props){return _classCallCheck(this,BlankChart),_possibleConstructorReturn(this,(BlankChart.__proto__||Object.getPrototypeOf(BlankChart)).call(this,props))}return _inherits(BlankChart,_Component),_createClass(BlankChart,[{key:"renderNoDataTitle",value:function(x,y,textValue){return _react2.default.createElement("g",null,_react2.default.createElement("text",{className:"chartNoData",x:x,y:y},textValue))}},{key:"render",value:function(){var xgrid,ygrid,textXMargin,textYMargin,_props=this.props,width=_props.width,height=_props.height,margins=_props.margins,showXGrid=_props.showXGrid,showYGrid=_props.showYGrid,noDataTitleText=(_props.xDomain,_props.noDataTitleText);_props.yTicks;return showXGrid&&(xgrid=_react2.default.createElement(_reactD3Core.Xgrid,this.props)),showYGrid&&(ygrid=_react2.default.createElement(_reactD3Core.Ygrid,this.props)),textXMargin=width/2-margins.right,textYMargin=height/2-margins.bottom,_react2.default.createElement(_chart2.default,_extends({width:width,height:height},this.props),_react2.default.createElement(_straightLine2.default,_extends({x1:-20,y1:0,x2:width-margins.right,y2:0},this.props)),xgrid,ygrid,_react2.default.createElement(_reactD3Core.Xaxis,this.props),_react2.default.createElement(_reactD3Core.Yaxis,this.props),_react2.default.createElement(_straightLine2.default,_extends({x1:-20,y1:height-margins.top-margins.bottom,x2:width-100,y2:height-margins.top-margins.bottom},this.props)),noDataTitleText?this.renderNoDataTitle(textXMargin,textYMargin,noDataTitleText):null)}}]),BlankChart}(_react.Component);BlankChart.defaultProps={showXGrid:!0,showYGrid:!1,xDomain:[0,10],yDomain:[0],yTicks:[0],noDataTitleText:""},exports.default=BlankChart},function(module,exports,__webpack_require__){(function(d3){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_reactDom=__webpack_require__(60),_reactDom2=_interopRequireDefault(_reactDom),StraightLine=function(_Component){function StraightLine(props){return _classCallCheck(this,StraightLine),_possibleConstructorReturn(this,(StraightLine.__proto__||Object.getPrototypeOf(StraightLine)).call(this,props))}return _inherits(StraightLine,_Component),_createClass(StraightLine,[{key:"componentDidMount",value:function(){this.getLine()}},{key:"componentDidUpdate",value:function(){this.line&&this.line.attr("width",this.props.width-this.props.margins.left-this.props.margins.right)}},{key:"getLine",value:function(){var _props=this.props,x1=_props.x1,x2=_props.x2,y1=_props.y1,y2=_props.y2;_props.width,_props.height;return this.line=d3.select(_reactDom2.default.findDOMNode(this.refs.StLine)).append("line").attr("x1",x1).attr("y1",y1).attr("x2",x2).attr("y2",y2),this.line}},{key:"render",value:function(){return _react2.default.createElement("g",{ref:"StLine",className:"straight-line"}," ")}}]),StraightLine}(_react.Component);StraightLine.defaultProps={showXGrid:!0,showYGrid:!1},exports.default=StraightLine}).call(exports,__webpack_require__(2))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(5),_d3Shape=(_interopRequireWildcard(_propTypes),__webpack_require__(64)),_d3Shape2=_interopRequireDefault(_d3Shape),_commonProps=__webpack_require__(57),_commonProps2=_interopRequireDefault(_commonProps),_series=__webpack_require__(1),Line=function(_Component){ +function Line(props){return _classCallCheck(this,Line),_possibleConstructorReturn(this,(Line.__proto__||Object.getPrototypeOf(Line)).call(this,props))}return _inherits(Line,_Component),_createClass(Line,[{key:"_mkLine",value:function(dom){var lineClassName=this.props.lineClassName,dataset=(0,_series.series)(this.props),that=this;return _react2.default.createElement("g",null,dataset.map(function(line,i){return _react2.default.createElement("path",{stroke:line.color,fill:"none",className:lineClassName+" line",d:that._setAxes(line.data),style:line.style,key:i})}))}},{key:"_setAxes",value:function(data){var _props=this.props,xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,line=_d3Shape2.default.line().x(function(d){return xScaleSet(d.x)}).y(function(d){return yScaleSet(d.y)});return line.call(this,data)}},{key:"render",value:function(){var line=this._mkLine();return _react2.default.createElement("g",null,line)}}]),Line}(_react.Component);Line.defaultProps=_extends({interpolate:null,lineClassName:"react-d3-basic__line"},_commonProps2.default),exports.default=Line},function(module,exports,__webpack_require__){!function(global,factory){factory(exports,__webpack_require__(65))}(this,function(exports,d3Path){"use strict";function constant(x){return function(){return x}}function arcInnerRadius(d){return d.innerRadius}function arcOuterRadius(d){return d.outerRadius}function arcStartAngle(d){return d.startAngle}function arcEndAngle(d){return d.endAngle}function arcPadAngle(d){return d&&d.padAngle}function asin(x){return x>=1?halfPi:x<=-1?-halfPi:Math.asin(x)}function intersect(x0,y0,x1,y1,x2,y2,x3,y3){var x10=x1-x0,y10=y1-y0,x32=x3-x2,y32=y3-y2,t=(x32*(y0-y2)-y32*(x0-x2))/(y32*x10-x32*y10);return[x0+t*x10,y0+t*y10]}function cornerTangents(x0,y0,x1,y1,r1,rc,cw){var x01=x0-x1,y01=y0-y1,lo=(cw?rc:-rc)/Math.sqrt(x01*x01+y01*y01),ox=lo*y01,oy=-lo*x01,x11=x0+ox,y11=y0+oy,x10=x1+ox,y10=y1+oy,x00=(x11+x10)/2,y00=(y11+y10)/2,dx=x10-x11,dy=y10-y11,d2=dx*dx+dy*dy,r=r1-rc,D=x11*y10-x10*y11,d=(dy<0?-1:1)*Math.sqrt(Math.max(0,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-x00,dy0=cy0-y00,dx1=cx1-x00,dy1=cy1-y00;return dx0*dx0+dy0*dy0>dx1*dx1+dy1*dy1&&(cx0=cx1,cy0=cy1),{cx:cx0,cy:cy0,x01:-ox,y01:-oy,x11:cx0*(r1/r-1),y11:cy0*(r1/r-1)}}function arc(){function arc(){var buffer,r,r0=+innerRadius.apply(this,arguments),r1=+outerRadius.apply(this,arguments),a0=startAngle.apply(this,arguments)-halfPi,a1=endAngle.apply(this,arguments)-halfPi,da=Math.abs(a1-a0),cw=a1>a0;if(context||(context=buffer=d3Path.path()),r1<r0&&(r=r1,r1=r0,r0=r),r1>epsilon)if(da>tau-epsilon)context.moveTo(r1*Math.cos(a0),r1*Math.sin(a0)),context.arc(0,0,r1,a0,a1,!cw),r0>epsilon&&(context.moveTo(r0*Math.cos(a1),r0*Math.sin(a1)),context.arc(0,0,r0,a1,a0,cw));else{var t0,t1,a01=a0,a11=a1,a00=a0,a10=a1,da0=da,da1=da,ap=padAngle.apply(this,arguments)/2,rp=ap>epsilon&&(padRadius?+padRadius.apply(this,arguments):Math.sqrt(r0*r0+r1*r1)),rc=Math.min(Math.abs(r1-r0)/2,+cornerRadius.apply(this,arguments)),rc0=rc,rc1=rc;if(rp>epsilon){var p0=asin(rp/r0*Math.sin(ap)),p1=asin(rp/r1*Math.sin(ap));(da0-=2*p0)>epsilon?(p0*=cw?1:-1,a00+=p0,a10-=p0):(da0=0,a00=a10=(a0+a1)/2),(da1-=2*p1)>epsilon?(p1*=cw?1:-1,a01+=p1,a11-=p1):(da1=0,a01=a11=(a0+a1)/2)}var x01=r1*Math.cos(a01),y01=r1*Math.sin(a01),x10=r0*Math.cos(a10),y10=r0*Math.sin(a10);if(rc>epsilon){var x11=r1*Math.cos(a11),y11=r1*Math.sin(a11),x00=r0*Math.cos(a00),y00=r0*Math.sin(a00);if(da<pi){var oc=da0>epsilon?intersect(x01,y01,x00,y00,x11,y11,x10,y10):[x10,y10],ax=x01-oc[0],ay=y01-oc[1],bx=x11-oc[0],by=y11-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]);rc0=Math.min(rc,(r0-lc)/(kc-1)),rc1=Math.min(rc,(r1-lc)/(kc+1))}}da1>epsilon?rc1>epsilon?(t0=cornerTangents(x00,y00,x01,y01,r1,rc1,cw),t1=cornerTangents(x11,y11,x10,y10,r1,rc1,cw),context.moveTo(t0.cx+t0.x01,t0.cy+t0.y01),rc1<rc?context.arc(t0.cx,t0.cy,rc1,Math.atan2(t0.y01,t0.x01),Math.atan2(t1.y01,t1.x01),!cw):(context.arc(t0.cx,t0.cy,rc1,Math.atan2(t0.y01,t0.x01),Math.atan2(t0.y11,t0.x11),!cw),context.arc(0,0,r1,Math.atan2(t0.cy+t0.y11,t0.cx+t0.x11),Math.atan2(t1.cy+t1.y11,t1.cx+t1.x11),!cw),context.arc(t1.cx,t1.cy,rc1,Math.atan2(t1.y11,t1.x11),Math.atan2(t1.y01,t1.x01),!cw))):(context.moveTo(x01,y01),context.arc(0,0,r1,a01,a11,!cw)):context.moveTo(x01,y01),r0>epsilon&&da0>epsilon?rc0>epsilon?(t0=cornerTangents(x10,y10,x11,y11,r0,-rc0,cw),t1=cornerTangents(x01,y01,x00,y00,r0,-rc0,cw),context.lineTo(t0.cx+t0.x01,t0.cy+t0.y01),rc0<rc?context.arc(t0.cx,t0.cy,rc0,Math.atan2(t0.y01,t0.x01),Math.atan2(t1.y01,t1.x01),!cw):(context.arc(t0.cx,t0.cy,rc0,Math.atan2(t0.y01,t0.x01),Math.atan2(t0.y11,t0.x11),!cw),context.arc(0,0,r0,Math.atan2(t0.cy+t0.y11,t0.cx+t0.x11),Math.atan2(t1.cy+t1.y11,t1.cx+t1.x11),cw),context.arc(t1.cx,t1.cy,rc0,Math.atan2(t1.y11,t1.x11),Math.atan2(t1.y01,t1.x01),!cw))):context.arc(0,0,r0,a10,a00,cw):context.lineTo(x10,y10)}else context.moveTo(0,0);if(context.closePath(),buffer)return context=null,buffer+""||null}var innerRadius=arcInnerRadius,outerRadius=arcOuterRadius,cornerRadius=constant(0),padRadius=null,startAngle=arcStartAngle,endAngle=arcEndAngle,padAngle=arcPadAngle,context=null;return arc.centroid=function(){var r=(+innerRadius.apply(this,arguments)+ +outerRadius.apply(this,arguments))/2,a=(+startAngle.apply(this,arguments)+ +endAngle.apply(this,arguments))/2-pi/2;return[Math.cos(a)*r,Math.sin(a)*r]},arc.innerRadius=function(_){return arguments.length?(innerRadius="function"==typeof _?_:constant(+_),arc):innerRadius},arc.outerRadius=function(_){return arguments.length?(outerRadius="function"==typeof _?_:constant(+_),arc):outerRadius},arc.cornerRadius=function(_){return arguments.length?(cornerRadius="function"==typeof _?_:constant(+_),arc):cornerRadius},arc.padRadius=function(_){return arguments.length?(padRadius=null==_?null:"function"==typeof _?_:constant(+_),arc):padRadius},arc.startAngle=function(_){return arguments.length?(startAngle="function"==typeof _?_:constant(+_),arc):startAngle},arc.endAngle=function(_){return arguments.length?(endAngle="function"==typeof _?_:constant(+_),arc):endAngle},arc.padAngle=function(_){return arguments.length?(padAngle="function"==typeof _?_:constant(+_),arc):padAngle},arc.context=function(_){return arguments.length?(context=null==_?null:_,arc):context},arc}function bind(curve,args){return args.length<2?curve:(args=slice.call(args),args[0]=null,function(context){return args[0]=context,curve.apply(null,args)})}function Linear(context){this._context=context}function curveLinear(context){return new Linear(context)}function x(p){return p[0]}function y(p){return p[1]}function area(){function area(data){var i,j,k,d,buffer,n=data.length,defined0=!1,x0z=new Array(n),y0z=new Array(n);for(context||(output=curve(buffer=d3Path.path())),i=0;i<=n;++i){if(!(i<n&&defined(d=data[i],i,data))===defined0)if(defined0=!defined0)j=i,output.areaStart(),output.lineStart();else{for(output.lineEnd(),output.lineStart(),k=i-1;k>=j;--k)output.point(x0z[k],y0z[k]);output.lineEnd(),output.areaEnd()}defined0&&(x0z[i]=+x0(d,i,data),y0z[i]=+y0(d,i,data),output.point(x1?+x1(d,i,data):x0z[i],y1?+y1(d,i,data):y0z[i]))}if(buffer)return output=null,buffer+""||null}var x0=x,x1=null,y0=constant(0),y1=y,defined=constant(!0),context=null,curve=curveLinear,output=null;return area.x=function(_){return arguments.length?(x0="function"==typeof _?_:constant(+_),x1=null,area):x0},area.x0=function(_){return arguments.length?(x0="function"==typeof _?_:constant(+_),area):x0},area.x1=function(_){return arguments.length?(x1=null==_?null:"function"==typeof _?_:constant(+_),area):x1},area.y=function(_){return arguments.length?(y0="function"==typeof _?_:constant(+_),y1=null,area):y0},area.y0=function(_){return arguments.length?(y0="function"==typeof _?_:constant(+_),area):y0},area.y1=function(_){return arguments.length?(y1=null==_?null:"function"==typeof _?_:constant(+_),area):y1},area.defined=function(_){return arguments.length?(defined="function"==typeof _?_:constant(!!_),area):defined},area.curve=function(_){return arguments.length?(curve=bind(_,arguments),null!=context&&(output=curve(context)),area):curve},area.context=function(_){return arguments.length?(null==_?context=output=null:output=curve(context=_),area):context},area}function line(){function line(data){var i,d,buffer,n=data.length,defined0=!1;for(context||(output=curve(buffer=d3Path.path())),i=0;i<=n;++i)!(i<n&&defined(d=data[i],i,data))===defined0&&((defined0=!defined0)?output.lineStart():output.lineEnd()),defined0&&output.point(+x$$(d,i,data),+y$$(d,i,data));if(buffer)return output=null,buffer+""||null}var x$$=x,y$$=y,defined=constant(!0),context=null,curve=curveLinear,output=null;return line.x=function(_){return arguments.length?(x$$="function"==typeof _?_:constant(+_),line):x$$},line.y=function(_){return arguments.length?(y$$="function"==typeof _?_:constant(+_),line):y$$},line.defined=function(_){return arguments.length?(defined="function"==typeof _?_:constant(!!_),line):defined},line.curve=function(_){return arguments.length?(curve=bind(_,arguments),null!=context&&(output=curve(context)),line):curve},line.context=function(_){return arguments.length?(null==_?context=output=null:output=curve(context=_),line):context},line}function descending$1(a,b){return b<a?-1:b>a?1:b>=a?0:NaN}function identity(d){return d}function pie(){function pie(data){var i,j,k,a1,v,n=data.length,sum=0,index=new Array(n),arcs=new Array(n),a0=+startAngle.apply(this,arguments),da=Math.min(tau,Math.max(-tau,endAngle.apply(this,arguments)-a0)),p=Math.min(Math.abs(da)/n,padAngle.apply(this,arguments)),pa=p*(da<0?-1:1);for(i=0;i<n;++i)(v=arcs[index[i]=i]=+value(data[i],i,data))>0&&(sum+=v);for(null!=sortValues?index.sort(function(i,j){return sortValues(arcs[i],arcs[j])}):null!==sort&&index.sort(function(i,j){return sort(data[i],data[j])}),i=0,k=sum?(da-n*pa)/sum:0;i<n;++i,a0=a1)j=index[i],v=arcs[j],a1=a0+(v>0?v*k:0)+pa,arcs[j]={data:data[j],index:i,value:v,startAngle:a0,endAngle:a1,padAngle:p};return arcs}var value=identity,sortValues=descending$1,sort=null,startAngle=constant(0),endAngle=constant(tau),padAngle=constant(0);return pie.value=function(_){return arguments.length?(value="function"==typeof _?_:constant(+_),pie):value},pie.sortValues=function(_){return arguments.length?(sortValues=_,sort=null,pie):sortValues},pie.sort=function(_){return arguments.length?(sort=_,sortValues=null,pie):sort},pie.startAngle=function(_){return arguments.length?(startAngle="function"==typeof _?_:constant(+_),pie):startAngle},pie.endAngle=function(_){return arguments.length?(endAngle="function"==typeof _?_:constant(+_),pie):endAngle},pie.padAngle=function(_){return arguments.length?(padAngle="function"==typeof _?_:constant(+_),pie):padAngle},pie}function Radial(curve){this._curve=curve}function curveRadial(curve,args){function radial(context){return new Radial(curve(context))}return curve=bind(curve,args),radial._curve=curve,radial}function radialArea(){var a=area(),c=a.curve;return a.angle=a.x,delete a.x,a.startAngle=a.x0,delete a.x0,a.endAngle=a.x1,delete a.x1,a.radius=a.y,delete a.y,a.innerRadius=a.y0,delete a.y0,a.outerRadius=a.y1,delete a.y1,a.curve=function(_){return arguments.length?c(curveRadial(_,arguments)):c()._curve},a.curve(curveLinear)}function radialLine(){var l=line(),c=l.curve;return l.angle=l.x,delete l.x,l.radius=l.y,delete l.y,l.curve=function(_){return arguments.length?c(curveRadial(_,arguments)):c()._curve},l.curve(curveLinear)}function symbol(){function symbol(){var buffer;if(context||(context=buffer=d3Path.path()),type.apply(this,arguments).draw(context,+size.apply(this,arguments)),buffer)return context=null,buffer+""||null}var type=constant(circle),size=constant(64),context=null;return symbol.type=function(_){return arguments.length?(type="function"==typeof _?_:constant(_),symbol):type},symbol.size=function(_){return arguments.length?(size="function"==typeof _?_:constant(+_),symbol):size},symbol.context=function(_){return arguments.length?(context=null==_?null:_,symbol):context},symbol}function noop(){}function point(that,x,y){that._context.bezierCurveTo((2*that._x0+that._x1)/3,(2*that._y0+that._y1)/3,(that._x0+2*that._x1)/3,(that._y0+2*that._y1)/3,(that._x0+4*that._x1+x)/6,(that._y0+4*that._y1+y)/6)}function Basis(context){this._context=context}function basis(context){return new Basis(context)}function BasisClosed(context){this._context=context}function basisClosed(context){return new BasisClosed(context)}function BasisOpen(context){this._context=context}function basisOpen(context){return new BasisOpen(context)}function Bundle(context,beta){this._basis=basis(context),this._beta=beta}function bundle(context,beta){return null==beta?new Bundle(context,.85):1===(beta=+beta)?basis(context):new Bundle(context,beta)}function point$1(that,x,y){that._context.bezierCurveTo(that._x1+that._k*(that._x2-that._x0),that._y1+that._k*(that._y2-that._y0),that._x2+that._k*(that._x1-x),that._y2+that._k*(that._y1-y),that._x2,that._y2)}function Cardinal(context,k){this._context=context,this._k=k}function cardinal(context,tension){return new Cardinal(context,(null==tension?1:1-tension)/6)}function CardinalClosed(context,k){this._context=context,this._k=k}function cardinalClosed(context,tension){return new CardinalClosed(context,(null==tension?1:1-tension)/6)}function CardinalOpen(context,k){this._context=context,this._k=k}function cardinalOpen(context,tension){return new CardinalOpen(context,(null==tension?1:1-tension)/6)}function point$2(that,x,y){var x1=that._x1,y1=that._y1,x2=that._x2,y2=that._y2;if(that._l01_a>epsilon){var a=2*that._l01_2a+3*that._l01_a*that._l12_a+that._l12_2a,n=3*that._l01_a*(that._l01_a+that._l12_a);x1=(x1*a-that._x0*that._l12_2a+that._x2*that._l01_2a)/n,y1=(y1*a-that._y0*that._l12_2a+that._y2*that._l01_2a)/n}if(that._l23_a>epsilon){var b=2*that._l23_2a+3*that._l23_a*that._l12_a+that._l12_2a,m=3*that._l23_a*(that._l23_a+that._l12_a);x2=(x2*b+that._x1*that._l23_2a-x*that._l12_2a)/m,y2=(y2*b+that._y1*that._l23_2a-y*that._l12_2a)/m}that._context.bezierCurveTo(x1,y1,x2,y2,that._x2,that._y2)}function CatmullRom(context,alpha){this._context=context,this._alpha=alpha}function catmullRom(context,alpha){return(alpha=null==alpha?.5:+alpha)?new CatmullRom(context,alpha):cardinal(context,0)}function CatmullRomClosed(context,alpha){this._context=context,this._alpha=alpha}function catmullRomClosed(context,alpha){return(alpha=null==alpha?.5:+alpha)?new CatmullRomClosed(context,alpha):cardinalClosed(context,0)}function CatmullRomOpen(context,alpha){this._context=context,this._alpha=alpha}function catmullRomOpen(context,alpha){return(alpha=null==alpha?.5:+alpha)?new CatmullRomOpen(context,alpha):cardinalOpen(context,0)}function LinearClosed(context){this._context=context}function linearClosed(context){return new LinearClosed(context)}function sign(x){return x<0?-1:1}function slope3(that,x2,y2){var h0=that._x1-that._x0,h1=x2-that._x1,s0=(that._y1-that._y0)/(h0||h1<0&&-0),s1=(y2-that._y1)/(h1||h0<0&&-0),p=(s0*h1+s1*h0)/(h0+h1);return(sign(s0)+sign(s1))*Math.min(Math.abs(s0),Math.abs(s1),.5*Math.abs(p))||0}function slope2(that,t){var h=that._x1-that._x0;return h?(3*(that._y1-that._y0)/h-t)/2:t}function point$3(that,t0,t1){var x0=that._x0,y0=that._y0,x1=that._x1,y1=that._y1,dx=(x1-x0)/3;that._context.bezierCurveTo(x0+dx,y0+dx*t0,x1-dx,y1-dx*t1,x1,y1)}function MonotoneX(context){this._context=context}function MonotoneY(context){this._context=new ReflectContext(context)}function ReflectContext(context){this._context=context}function monotoneX(context){return new MonotoneX(context)}function monotoneY(context){return new MonotoneY(context)}function Natural(context){this._context=context}function controlPoints(x){var i,m,n=x.length-1,a=new Array(n),b=new Array(n),r=new Array(n);for(a[0]=0,b[0]=2,r[0]=x[0]+2*x[1],i=1;i<n-1;++i)a[i]=1,b[i]=4,r[i]=4*x[i]+2*x[i+1];for(a[n-1]=2,b[n-1]=7,r[n-1]=8*x[n-1]+x[n],i=1;i<n;++i)m=a[i]/b[i-1],b[i]-=m,r[i]-=m*r[i-1];for(a[n-1]=r[n-1]/b[n-1],i=n-2;i>=0;--i)a[i]=(r[i]-a[i+1])/b[i];for(b[n-1]=(x[n]+a[n-1])/2,i=0;i<n-1;++i)b[i]=2*x[i+1]-a[i+1];return[a,b]}function natural(context){return new Natural(context)}function Step(context,t){this._context=context,this._t=t}function step(context){return new Step(context,.5)}function stepBefore(context){return new Step(context,0)}function stepAfter(context){return new Step(context,1)}function none(series,order){if((n=series.length)>1)for(var s0,n,i=1,s1=series[order[0]],m=s1.length;i<n;++i){s0=s1,s1=series[order[i]];for(var j=0;j<m;++j)s1[j][1]+=s1[j][0]=isNaN(s0[j][1])?s0[j][0]:s0[j][1]}}function none$1(series){for(var n=series.length,o=new Array(n);--n>=0;)o[n]=n;return o}function stackValue(d,key){return d[key]}function stack(){function stack(data){var i,oz,kz=keys.apply(this,arguments),m=data.length,n=kz.length,sz=new Array(n);for(i=0;i<n;++i){for(var sij,ki=kz[i],si=sz[i]=new Array(m),j=0;j<m;++j)si[j]=sij=[0,+value(data[j],ki,j,data)],sij.data=data[j];si.key=ki}for(i=0,oz=order(sz);i<n;++i)sz[oz[i]].index=i;return offset(sz,oz),sz}var keys=constant([]),order=none$1,offset=none,value=stackValue;return stack.keys=function(_){return arguments.length?(keys="function"==typeof _?_:constant(slice$1.call(_)),stack):keys},stack.value=function(_){return arguments.length?(value="function"==typeof _?_:constant(+_),stack):value},stack.order=function(_){return arguments.length?(order=null==_?none$1:"function"==typeof _?_:constant(slice$1.call(_)),stack):order},stack.offset=function(_){return arguments.length?(offset=null==_?none:_,stack):offset},stack}function expand(series,order){if((n=series.length)>0){for(var i,n,y,j=0,m=series[0].length;j<m;++j){for(y=i=0;i<n;++i)y+=series[i][j][1]||0;if(y)for(i=0;i<n;++i)series[i][j][1]/=y}none(series,order)}}function silhouette(series,order){if((n=series.length)>0){for(var n,j=0,s0=series[order[0]],m=s0.length;j<m;++j){for(var i=0,y=0;i<n;++i)y+=series[i][j][1]||0;s0[j][1]+=s0[j][0]=-y/2}none(series,order)}}function wiggle(series,order){if((n=series.length)>0&&(m=(s0=series[order[0]]).length)>0){for(var s0,m,n,y=0,j=1;j<m;++j){for(var i=0,s1=0,s2=0;i<n;++i){for(var si=series[order[i]],sij0=si[j][1]||0,sij1=si[j-1][1]||0,s3=(sij0-sij1)/2,k=0;k<i;++k){var sk=series[order[k]],skj0=sk[j][1]||0,skj1=sk[j-1][1]||0;s3+=skj0-skj1}s1+=sij0,s2+=s3*sij0}s0[j-1][1]+=s0[j-1][0]=y,s1&&(y-=s2/s1)}s0[j-1][1]+=s0[j-1][0]=y,none(series,order)}}function ascending(series){var sums=series.map(sum);return none$1(series).sort(function(a,b){return sums[a]-sums[b]})}function sum(series){for(var v,s=0,i=-1,n=series.length;++i<n;)(v=+series[i][1])&&(s+=v);return s}function descending(series){return ascending(series).reverse()}function insideOut(series){var i,j,n=series.length,sums=series.map(sum),order=none$1(series).sort(function(a,b){return sums[b]-sums[a]}),top=0,bottom=0,tops=[],bottoms=[];for(i=0;i<n;++i)j=order[i],top<bottom?(top+=sums[j],tops.push(j)):(bottom+=sums[j],bottoms.push(j));return bottoms.reverse().concat(tops)}function reverse(series){return none$1(series).reverse()}var epsilon=1e-12,pi=Math.PI,halfPi=pi/2,tau=2*pi,slice=Array.prototype.slice;Linear.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;default:this._context.lineTo(x,y)}}},Radial.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(a,r){a-=halfPi,this._curve.point(r*Math.cos(a),r*Math.sin(a))}};var circle={draw:function(context,size){var r=Math.sqrt(size/pi);context.moveTo(r,0),context.arc(0,0,r,0,tau)}},cross={draw:function(context,size){var r=Math.sqrt(size/5)/2;context.moveTo(-3*r,-r),context.lineTo(-r,-r),context.lineTo(-r,-3*r),context.lineTo(r,-3*r),context.lineTo(r,-r),context.lineTo(3*r,-r),context.lineTo(3*r,r),context.lineTo(r,r),context.lineTo(r,3*r),context.lineTo(-r,3*r),context.lineTo(-r,r),context.lineTo(-3*r,r),context.closePath()}},tan30=Math.sqrt(1/3),tan30_2=2*tan30,diamond={draw:function(context,size){var y=Math.sqrt(size/tan30_2),x=y*tan30;context.moveTo(0,-y),context.lineTo(x,0),context.lineTo(0,y),context.lineTo(-x,0),context.closePath()}},ka=.8908130915292852,kr=Math.sin(pi/10)/Math.sin(7*pi/10),kx=Math.sin(tau/10)*kr,ky=-Math.cos(tau/10)*kr,star={draw:function(context,size){var r=Math.sqrt(size*ka),x=kx*r,y=ky*r;context.moveTo(0,-r),context.lineTo(x,y);for(var i=1;i<5;++i){var a=tau*i/5,c=Math.cos(a),s=Math.sin(a);context.lineTo(s*r,-c*r),context.lineTo(c*x-s*y,s*x+c*y)}context.closePath()}},square={draw:function(context,size){var w=Math.sqrt(size),x=-w/2;context.rect(x,x,w,w)}},sqrt3=Math.sqrt(3),triangle={draw:function(context,size){var y=-Math.sqrt(size/(3*sqrt3));context.moveTo(0,2*y),context.lineTo(-sqrt3*y,-y),context.lineTo(sqrt3*y,-y),context.closePath()}},c=-.5,s=Math.sqrt(3)/2,k=1/Math.sqrt(12),a=3*(k/2+1),wye={draw:function(context,size){var r=Math.sqrt(size/a),x0=r/2,y0=r*k,x1=x0,y1=r*k+r,x2=-x1,y2=y1;context.moveTo(x0,y0),context.lineTo(x1,y1),context.lineTo(x2,y2),context.lineTo(c*x0-s*y0,s*x0+c*y0),context.lineTo(c*x1-s*y1,s*x1+c*y1),context.lineTo(c*x2-s*y2,s*x2+c*y2),context.lineTo(c*x0+s*y0,c*y0-s*x0),context.lineTo(c*x1+s*y1,c*y1-s*x1),context.lineTo(c*x2+s*y2,c*y2-s*x2),context.closePath()}},symbols=[circle,cross,diamond,square,star,triangle,wye];Basis.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:point(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:point(this,x,y)}this._x0=this._x1,this._x1=x,this._y0=this._y1,this._y1=y}},BasisClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._x2=x,this._y2=y;break;case 1:this._point=2,this._x3=x,this._y3=y;break;case 2:this._point=3,this._x4=x,this._y4=y,this._context.moveTo((this._x0+4*this._x1+x)/6,(this._y0+4*this._y1+y)/6);break;default:point(this,x,y)}this._x0=this._x1,this._x1=x,this._y0=this._y1,this._y1=y}},BasisOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var x0=(this._x0+4*this._x1+x)/6,y0=(this._y0+4*this._y1+y)/6;this._line?this._context.lineTo(x0,y0):this._context.moveTo(x0,y0);break;case 3:this._point=4;default:point(this,x,y)}this._x0=this._x1,this._x1=x,this._y0=this._y1,this._y1=y}},Bundle.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var x=this._x,y=this._y,j=x.length-1;if(j>0)for(var t,x0=x[0],y0=y[0],dx=x[j]-x0,dy=y[j]-y0,i=-1;++i<=j;)t=i/j,this._basis.point(this._beta*x[i]+(1-this._beta)*(x0+t*dx),this._beta*y[i]+(1-this._beta)*(y0+t*dy));this._x=this._y=null,this._basis.lineEnd()},point:function(x,y){this._x.push(+x),this._y.push(+y)}},Cardinal.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:point$1(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2,this._x1=x,this._y1=y;break;case 2:this._point=3;default:point$1(this,x,y)}this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CardinalClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._x3=x,this._y3=y;break;case 1:this._point=2,this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3,this._x5=x,this._y5=y;break;default:point$1(this,x,y)}this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CardinalOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$1(this,x,y)}this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CatmullRom.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this,this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){if(x=+x,y=+y,this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3;default:point$2(this,x,y)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CatmullRomClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(x,y){if(x=+x,y=+y,this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=x,this._y3=y;break;case 1:this._point=2,this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3,this._x5=x,this._y5=y;break;default:point$2(this,x,y)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},CatmullRomOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){if(x=+x,y=+y,this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$2(this,x,y)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x,this._y0=this._y1,this._y1=this._y2,this._y2=y}},LinearClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(x,y){x=+x,y=+y,this._point?this._context.lineTo(x,y):(this._point=1,this._context.moveTo(x,y))}},MonotoneX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:point$3(this,this._t0,slope2(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){var t1=NaN;if(x=+x,y=+y,x!==this._x1||y!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3,point$3(this,slope2(this,t1=slope3(this,x,y)),t1);break;default:point$3(this,this._t0,t1=slope3(this,x,y))}this._x0=this._x1,this._x1=x,this._y0=this._y1,this._y1=y,this._t0=t1}}},(MonotoneY.prototype=Object.create(MonotoneX.prototype)).point=function(x,y){MonotoneX.prototype.point.call(this,y,x)},ReflectContext.prototype={moveTo:function(x,y){this._context.moveTo(y,x)},closePath:function(){this._context.closePath()},lineTo:function(x,y){this._context.lineTo(y,x)},bezierCurveTo:function(x1,y1,x2,y2,x,y){this._context.bezierCurveTo(y1,x1,y2,x2,y,x)}},Natural.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var x=this._x,y=this._y,n=x.length;if(n)if(this._line?this._context.lineTo(x[0],y[0]):this._context.moveTo(x[0],y[0]),2===n)this._context.lineTo(x[1],y[1]);else for(var px=controlPoints(x),py=controlPoints(y),i0=0,i1=1;i1<n;++i0,++i1)this._context.bezierCurveTo(px[0][i0],py[0][i0],px[1][i0],py[1][i0],x[i1],y[i1]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(x,y){this._x.push(+x),this._y.push(+y)}},Step.prototype={areaStart:function(){this._line=0}, +areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x,y){switch(x=+x,y=+y,this._point){case 0:this._point=1,this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;default:var t=x>this._x?this._t:1-this._t;if(t<=0)this._context.lineTo(this._x,y),this._context.lineTo(x,y);else if(t>=1)this._context.lineTo(x,this._y),this._context.lineTo(x,y);else{var x1=(this._x+x)*t;this._context.lineTo(x1,this._y),this._context.lineTo(x1,y)}}this._x=x,this._y=y}};var slice$1=Array.prototype.slice,version="0.5.1";exports.version=version,exports.arc=arc,exports.area=area,exports.line=line,exports.pie=pie,exports.radialArea=radialArea,exports.radialLine=radialLine,exports.symbol=symbol,exports.symbols=symbols,exports.symbolCircle=circle,exports.symbolCross=cross,exports.symbolDiamond=diamond,exports.symbolSquare=square,exports.symbolStar=star,exports.symbolTriangle=triangle,exports.symbolWye=wye,exports.curveBasisClosed=basisClosed,exports.curveBasisOpen=basisOpen,exports.curveBasis=basis,exports.curveBundle=bundle,exports.curveCardinalClosed=cardinalClosed,exports.curveCardinalOpen=cardinalOpen,exports.curveCardinal=cardinal,exports.curveCatmullRomClosed=catmullRomClosed,exports.curveCatmullRomOpen=catmullRomOpen,exports.curveCatmullRom=catmullRom,exports.curveLinearClosed=linearClosed,exports.curveLinear=curveLinear,exports.curveMonotoneX=monotoneX,exports.curveMonotoneY=monotoneY,exports.curveNatural=natural,exports.curveStep=step,exports.curveStepAfter=stepAfter,exports.curveStepBefore=stepBefore,exports.stack=stack,exports.stackOffsetExpand=expand,exports.stackOffsetNone=none,exports.stackOffsetSilhouette=silhouette,exports.stackOffsetWiggle=wiggle,exports.stackOrderAscending=ascending,exports.stackOrderDescending=descending,exports.stackOrderInsideOut=insideOut,exports.stackOrderNone=none$1,exports.stackOrderReverse=reverse})},function(module,exports,__webpack_require__){!function(global,factory){factory(exports)}(this,function(exports){"use strict";function Path(){this._x0=this._y0=this._x1=this._y1=null,this._=[]}function path(){return new Path}var pi=Math.PI,tau=2*pi,epsilon=1e-6,tauEpsilon=tau-epsilon;Path.prototype=path.prototype={constructor:Path,moveTo:function(x,y){this._.push("M",this._x0=this._x1=+x,",",this._y0=this._y1=+y)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._.push("Z"))},lineTo:function(x,y){this._.push("L",this._x1=+x,",",this._y1=+y)},quadraticCurveTo:function(x1,y1,x,y){this._.push("Q",+x1,",",+y1,",",this._x1=+x,",",this._y1=+y)},bezierCurveTo:function(x1,y1,x2,y2,x,y){this._.push("C",+x1,",",+y1,",",+x2,",",+y2,",",this._x1=+x,",",this._y1=+y)},arcTo:function(x1,y1,x2,y2,r){x1=+x1,y1=+y1,x2=+x2,y2=+y2,r=+r;var x0=this._x1,y0=this._y1,x21=x2-x1,y21=y2-y1,x01=x0-x1,y01=y0-y1,l01_2=x01*x01+y01*y01;if(r<0)throw new Error("negative radius: "+r);if(null===this._x1)this._.push("M",this._x1=x1,",",this._y1=y1);else if(l01_2>epsilon)if(Math.abs(y01*x21-y21*x01)>epsilon&&r){var x20=x2-x0,y20=y2-y0,l21_2=x21*x21+y21*y21,l20_2=x20*x20+y20*y20,l21=Math.sqrt(l21_2),l01=Math.sqrt(l01_2),l=r*Math.tan((pi-Math.acos((l21_2+l01_2-l20_2)/(2*l21*l01)))/2),t01=l/l01,t21=l/l21;Math.abs(t01-1)>epsilon&&this._.push("L",x1+t01*x01,",",y1+t01*y01),this._.push("A",r,",",r,",0,0,",+(y01*x20>x01*y20),",",this._x1=x1+t21*x21,",",this._y1=y1+t21*y21)}else this._.push("L",this._x1=x1,",",this._y1=y1);else;},arc:function(x,y,r,a0,a1,ccw){x=+x,y=+y,r=+r;var dx=r*Math.cos(a0),dy=r*Math.sin(a0),x0=x+dx,y0=y+dy,cw=1^ccw,da=ccw?a0-a1:a1-a0;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._.push("M",x0,",",y0):(Math.abs(this._x1-x0)>epsilon||Math.abs(this._y1-y0)>epsilon)&&this._.push("L",x0,",",y0),r&&(da>tauEpsilon?this._.push("A",r,",",r,",0,1,",cw,",",x-dx,",",y-dy,"A",r,",",r,",0,1,",cw,",",this._x1=x0,",",this._y1=y0):(da<0&&(da=da%tau+tau),this._.push("A",r,",",r,",0,",+(da>=pi),",",cw,",",this._x1=x+r*Math.cos(a1),",",this._y1=y+r*Math.sin(a1))))},rect:function(x,y,w,h){this._.push("M",this._x0=this._x1=+x,",",this._y0=this._y1=+y,"h",+w,"v",+h,"h",-w,"Z")},toString:function(){return this._.join("")}};var version="0.1.5";exports.version=version,exports.path=path})},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(5),_d3Shape=(_interopRequireWildcard(_propTypes),__webpack_require__(64)),_d3Shape2=_interopRequireDefault(_d3Shape),_commonProps=__webpack_require__(57),_commonProps2=_interopRequireDefault(_commonProps),_series=__webpack_require__(1),Area=function(_Component){function Area(props){return _classCallCheck(this,Area),_possibleConstructorReturn(this,(Area.__proto__||Object.getPrototypeOf(Area)).call(this,props))}return _inherits(Area,_Component),_createClass(Area,[{key:"_mkArea",value:function(){var _props=this.props,areaClassName=_props.areaClassName,dataset=(_props.areaOpacity,(0,_series.series)(this.props)),that=this;return _react2.default.createElement("g",null,dataset.map(function(area,i){return _react2.default.createElement("path",{className:areaClassName+" area",fill:area.color,d:that._setAxes(area.data),style:area.style,key:i})}))}},{key:"_setAxes",value:function(data){var _props2=this.props,xScaleSet=(_props2.height,_props2.margins,_props2.xScaleSet),yScaleSet=_props2.yScaleSet,area=_d3Shape2.default.area().x(function(d){return xScaleSet(d.x)}).y0(function(d){var domain=yScaleSet.domain();return domain[0]*domain[1]<0?yScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0?yScaleSet.range()[1]:void 0}).y1(function(d){return yScaleSet(d.y)});return area.call(this,data)}},{key:"render",value:function(){var area=this._mkArea();return _react2.default.createElement("g",null,area)}}]),Area}(_react.Component);Area.defaultProps=_extends({areaClassName:"react-d3-basic__area"},_commonProps2.default),exports.default=Area},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(5),_d=(_interopRequireWildcard(_propTypes),__webpack_require__(2)),_d2=_interopRequireDefault(_d),_d3Shape=__webpack_require__(64),_d3Shape2=_interopRequireDefault(_d3Shape),_commonProps=__webpack_require__(57),_commonProps2=_interopRequireDefault(_commonProps),_series=__webpack_require__(1),AreaStack=function(_Component){function AreaStack(props){return _classCallCheck(this,AreaStack),_possibleConstructorReturn(this,(AreaStack.__proto__||Object.getPrototypeOf(AreaStack)).call(this,props))}return _inherits(AreaStack,_Component),_createClass(AreaStack,[{key:"_mkStack",value:function(){var areaClassName=this.props.areaClassName,dataset=(0,_series.series)(this.props),_setStack=this._setStack(),_setAxes=this._setAxes();return _react2.default.createElement("g",null,_setStack(dataset).map(function(area){return _react2.default.createElement("path",{className:areaClassName+" area",fill:area.color,d:_setAxes(area.data),style:area.style})}))}},{key:"_setStack",value:function(){var chartSeries=this.props.chartSeries,buildOut=function(len){var currentXOffsets=[],currentXIndex=0;return function(d,y0,y){currentXIndex++%len===0&&(currentXOffsets=[0,0]),y>=0?(d.y0=currentXOffsets[1],d.y=y,currentXOffsets[1]+=y):(d.y0=currentXOffsets[0]+y,d.y=-y,currentXOffsets[0]+=y)}};return _d2.default.layout.stack().values(function(d){return d.data}).out(buildOut(chartSeries.length))}},{key:"_setAxes",value:function(){var _props=this.props,xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet;return _d3Shape2.default.area().x(function(d){return xScaleSet(d.x)}).y0(function(d){return yScaleSet(d.y0)}).y1(function(d){return yScaleSet(d.y0+d.y)})}},{key:"render",value:function(){var area=this._mkStack();return _react2.default.createElement("g",null,area)}}]),AreaStack}(_react.Component);AreaStack.defaultProps=_extends({areaClass:"react-d3-basics__area_stack",areaClassName:"react-d3-basic__area_stack"},_commonProps2.default),exports.default=AreaStack},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_series=__webpack_require__(1),Bar=function(_Component){function Bar(props){return _classCallCheck(this,Bar),_possibleConstructorReturn(this,(Bar.__proto__||Object.getPrototypeOf(Bar)).call(this,props))}return _inherits(Bar,_Component),_createClass(Bar,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"triggerClick",value:function(data,e){this.props.onClick(e,data)}},{key:"_mkBar",value:function(){var zeroBase,_this2=this,_props=this.props,barClassName=(_props.height,_props.width,_props.margins,_props.barClassName),xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,that=this,dataset=(0,_series.series)(this.props)[0],domain=yScaleSet.domain();return domain[0]*domain[1]<0?zeroBase=yScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?zeroBase=yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=yScaleSet.range()[1]),_react2.default.createElement("g",null,dataset.data.map(function(bar,i){return _react2.default.createElement("rect",{className:barClassName+" bar",x:xScaleSet(bar.x)||0===xScaleSet(bar.x)?xScaleSet(bar.x):-1e4,y:bar.y<0?zeroBase:yScaleSet(bar.y),width:xScaleSet.bandwidth(),height:bar.y<domain[0]?0:Math.abs(zeroBase-yScaleSet(bar.y)),fill:bar._style.color?bar._style.color:dataset.color,style:Object.assign({},dataset.style,bar._style),onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),onClick:that.triggerClick.bind(_this2,bar),key:i})}))}},{key:"render",value:function(){var bar=this._mkBar();return _react2.default.createElement("g",null,bar)}}]),Bar}(_react.Component);Bar.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},onClick:function(d){},barClassName:"react-d3-basic__bar"},exports.default=Bar},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_series=__webpack_require__(1),BarHorizontal=function(_Component){function BarHorizontal(props){return _classCallCheck(this,BarHorizontal),_possibleConstructorReturn(this,(BarHorizontal.__proto__||Object.getPrototypeOf(BarHorizontal)).call(this,props))}return _inherits(BarHorizontal,_Component),_createClass(BarHorizontal,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"_mkBar",value:function(dom){var zeroBase,_this2=this,_props=this.props,barClassName=(_props.height,_props.margins,_props.barClassName),xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,that=this,dataset=(0,_series.series)(this.props,!0)[0],domain=xScaleSet.domain();return domain[0]*domain[1]<0?zeroBase=xScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?zeroBase=xScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=xScaleSet.range()[1]),_react2.default.createElement("g",null,dataset.data.map(function(bar,i){return _react2.default.createElement("rect",{className:barClassName+" bar",y:yScaleSet(bar.y)||0===yScaleSet(bar.y)?yScaleSet(bar.y):-1e4,x:bar.x>0?zeroBase:zeroBase-Math.abs(zeroBase-xScaleSet(bar.x)),height:yScaleSet.bandwidth(),width:bar.x<domain[0]?0:Math.abs(zeroBase-xScaleSet(bar.x)),fill:bar._style.color?bar._style.color:dataset.color,style:Object.assign({},dataset.style,bar._style),onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),key:i})}))}},{key:"render",value:function(){var bar=this._mkBar();return _react2.default.createElement("g",null,bar)}}]),BarHorizontal}(_react.Component);BarHorizontal.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},barClassName:"react-d3-basic__bar_horizontal"},exports.default=BarHorizontal},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d3Scale=__webpack_require__(19),_d3Scale2=_interopRequireDefault(_d3Scale),_series=__webpack_require__(1),BarGroup=function(_Component){function BarGroup(props){return _classCallCheck(this,BarGroup),_possibleConstructorReturn(this,(BarGroup.__proto__||Object.getPrototypeOf(BarGroup)).call(this,props))}return _inherits(BarGroup,_Component),_createClass(BarGroup,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"_mkBarGroup",value:function(dom){var _this2=this,_props=this.props,barClassName=(_props.height,_props.margins,_props.barClassName),xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,that=this,dataset=(0,_series.series)(this.props),x1=_d3Scale2.default.scaleBand();x1.domain(dataset.map(function(d){return d.field})).range([0,xScaleSet.bandwidth()]).padding(.1).round(!0);var zeroBase,domain=yScaleSet.domain();return domain[0]*domain[1]<0?zeroBase=yScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?zeroBase=yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=yScaleSet.range()[1]),dataset.map(function(barGroup,i){return _react2.default.createElement("g",{className:"bargroup",key:i},barGroup.data.map(function(bar,j){return _react2.default.createElement("rect",{key:j,className:barClassName+" bar",width:x1.bandwidth(),x:xScaleSet(bar.x)||0===xScaleSet(bar.x)?xScaleSet(bar.x)+x1.bandwidth()*i:-1e4,y:bar.y<0?zeroBase:yScaleSet(bar.y),height:bar.y<domain[0]?0:Math.abs(zeroBase-yScaleSet(bar.y)),fill:barGroup.color,onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),style:barGroup.style})}))})}},{key:"render",value:function(){var bar=this._mkBarGroup();return _react2.default.createElement("g",null,bar)}}]),BarGroup}(_react.Component);BarGroup.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},barClassName:"react-d3-basic__bar_group"},exports.default=BarGroup},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d3Scale=__webpack_require__(19),_d3Scale2=_interopRequireDefault(_d3Scale),_series=__webpack_require__(1),BarGroupHorizontal=function(_Component){function BarGroupHorizontal(props){return _classCallCheck(this,BarGroupHorizontal),_possibleConstructorReturn(this,(BarGroupHorizontal.__proto__||Object.getPrototypeOf(BarGroupHorizontal)).call(this,props))}return _inherits(BarGroupHorizontal,_Component),_createClass(BarGroupHorizontal,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"_mkBarGroup",value:function(){var _this2=this,_props=this.props,barClassName=(_props.height,_props.margins,_props.barClassName),xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,that=(_props.onMouseOut,_props.onMouseOver,this),dataset=(0,_series.series)(this.props,!0),y1=_d3Scale2.default.scaleBand();y1.domain(dataset.map(function(d){return d.field})).range([0,yScaleSet.bandwidth()]).padding(.1).round(!0);var zeroBase,domain=xScaleSet.domain();return domain[0]*domain[1]<0?zeroBase=xScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?zeroBase=xScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=xScaleSet.range()[1]),_react2.default.createElement("g",null,dataset.map(function(barGroup,i){return _react2.default.createElement("g",{className:"bargroup",key:i},barGroup.data.map(function(bar,j){return _react2.default.createElement("rect",{className:barClassName+" bar",height:y1.bandwidth(),y:yScaleSet(bar.y)||0===yScaleSet(bar.y)?yScaleSet(bar.y)+y1.bandwidth()*i:-1e4,x:bar.x>0?zeroBase:zeroBase-Math.abs(zeroBase-xScaleSet(bar.x)),width:bar.x<domain[0]?0:Math.abs(zeroBase-xScaleSet(bar.x)),fill:barGroup.color,onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),style:barGroup.style,key:j})}))}))}},{key:"render",value:function(){var bar=this._mkBarGroup();return _react2.default.createElement("g",null,bar)}}]),BarGroupHorizontal}(_react.Component);BarGroupHorizontal.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},barClassName:"react-d3-basic__bar_group_horizontal"},exports.default=BarGroupHorizontal},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d=__webpack_require__(2),_d2=_interopRequireDefault(_d),_series=__webpack_require__(1),BarStack=function(_Component){function BarStack(props){return _classCallCheck(this,BarStack),_possibleConstructorReturn(this,(BarStack.__proto__||Object.getPrototypeOf(BarStack)).call(this,props))}return _inherits(BarStack,_Component),_createClass(BarStack,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"triggerClick",value:function(data,e){this.props.onClick(e,data)}},{key:"_mkBarStack",value:function(){var zeroBase,barBandWidth,_this2=this,_props=this.props,barClassName=(_props.height,_props.margins,_props.barClassName),xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,barWidth=_props.barWidth,that=this,dataset=(0,_series.series)(this.props),_setStack=this._setStack(),domain=yScaleSet.domain();return domain[0]*domain[1]<0?zeroBase=yScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?zeroBase=yScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=yScaleSet.range()[1]),barBandWidth=barWidth?barWidth:xScaleSet.bandwidth(),_react2.default.createElement("g",null,_setStack(dataset).map(function(barGroup,i){return _react2.default.createElement("g",{key:i,className:"barGroup",fill:barGroup.color,style:barGroup.style},barGroup.data.map(function(bar,j){return _react2.default.createElement("rect",{className:barClassName+" bar",width:barBandWidth,x:xScaleSet(bar.x)||0===xScaleSet(bar.x)?xScaleSet(bar.x):-1e4,y:yScaleSet(bar.y0+bar.y),height:Math.abs(yScaleSet(bar.y)-yScaleSet(0)),onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),onClick:that.triggerClick.bind(_this2,bar),key:j})}))}))}},{key:"_setStack",value:function(){var chartSeries=this.props.chartSeries,buildOut=function(len){var currentXOffsets=[],currentXIndex=0;return function(d,y0,y){currentXIndex++%len===0&&(currentXOffsets=[0,0]),y>=0?(d.y0=currentXOffsets[1],d.y=y,currentXOffsets[1]+=y):(d.y0=currentXOffsets[0]+y,d.y=-y,currentXOffsets[0]+=y)}};return _d2.default.layout.stack().values(function(d){return d.data}).out(buildOut(chartSeries.length))}},{key:"render",value:function(){var bar=this._mkBarStack(); +return _react2.default.createElement("g",null,bar)}}]),BarStack}(_react.Component);BarStack.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},onClick:function(d){},barClassName:"react-d3-basic__bar_stack"},exports.default=BarStack},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d=__webpack_require__(2),_d2=_interopRequireDefault(_d),_series=__webpack_require__(1),BarStackHorizontal=function(_Component){function BarStackHorizontal(props){return _classCallCheck(this,BarStackHorizontal),_possibleConstructorReturn(this,(BarStackHorizontal.__proto__||Object.getPrototypeOf(BarStackHorizontal)).call(this,props))}return _inherits(BarStackHorizontal,_Component),_createClass(BarStackHorizontal,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"_mkBarStack",value:function(dom){var zeroBase,barBandWidth,_this2=this,_props=this.props,barClassName=(_props.height,_props.margins,_props.barClassName),xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet,barWidth=_props.barWidth,that=this,dataset=(0,_series.series)(this.props,!0),_setStack=this._setStack(),domain=(_d2.default.select(dom).attr("class","g"),xScaleSet.domain());return domain[0]*domain[1]<0?zeroBase=xScaleSet(0):domain[0]*domain[1]>=0&&domain[0]>=0?zeroBase=xScaleSet.range()[0]:domain[0]*domain[1]>=0&&domain[0]<0&&(zeroBase=xScaleSet.range()[1]),barBandWidth=barWidth?barWidth:yScaleSet.bandwidth(),_react2.default.createElement("g",null,_setStack(dataset).map(function(barGroup,i){return _react2.default.createElement("g",{className:"barGroup",fill:barGroup.color,style:barGroup.style,key:i},barGroup.data.map(function(bar,j){return _react2.default.createElement("rect",{className:barClassName+" bar",height:barBandWidth,y:yScaleSet(bar.y)||0===yScaleSet(bar.y)?yScaleSet(bar.y):-1e4,x:xScaleSet(bar.x0),width:Math.abs(xScaleSet(bar.x)-xScaleSet(0)),onMouseOut:that.triggerOut.bind(_this2,bar),onMouseOver:that.triggerOver.bind(_this2,bar),key:j})}))}))}},{key:"_setStack",value:function(){var chartSeries=this.props.chartSeries,buildOut=function(len){var currentXOffsets=[],currentXIndex=0;return function(d,x0,x){currentXIndex++%len===0&&(currentXOffsets=[0,0]),x>=0?(d.x0=currentXOffsets[1],d.x=x,currentXOffsets[1]+=x):(d.x0=currentXOffsets[0]+x,d.x=-x,currentXOffsets[0]+=x)}};return _d2.default.layout.stack().values(function(d){return d.data}).y(function(d){return d.x}).out(buildOut(chartSeries.length))}},{key:"render",value:function(){var bar=this._mkBarStack();return _react2.default.createElement("g",null,bar)}}]),BarStackHorizontal}(_react.Component);BarStackHorizontal.defaultProps={onMouseOver:function(d){},onMouseOut:function(d){},barClassName:"react-d3-basic__bar_stack_horizontal"},exports.default=BarStackHorizontal},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_d3Shape=__webpack_require__(64),_d3Shape2=_interopRequireDefault(_d3Shape),_commonProps=__webpack_require__(57),Pie=function(_Component){function Pie(props){return _classCallCheck(this,Pie),_possibleConstructorReturn(this,(Pie.__proto__||Object.getPrototypeOf(Pie)).call(this,props))}return _inherits(Pie,_Component),_createClass(Pie,[{key:"triggerOver",value:function(data,e){this.props.onMouseOver(e,data)}},{key:"triggerOut",value:function(data,e){this.props.onMouseOut(e,data)}},{key:"mkSeries",value:function(){var _props=this.props,data=_props.data,chartSeries=_props.chartSeries,value=_props.value,name=_props.name,categoricalColors=_props.categoricalColors,chartSeriesData=chartSeries.map(function(f,i){f.color||(f.color=categoricalColors(i)),f.name||(f.name=f.field);var val;return data.forEach(function(d){name(d)===f.field&&(val=d)}),Object.assign(f,{value:value(val)})});return chartSeriesData}},{key:"_mkPie",value:function(){var _this2=this,_props2=this.props,width=_props2.width,height=_props2.height,innerRadius=_props2.innerRadius,outerRadius=_props2.outerRadius,pieSort=_props2.pieSort,radius=(_props2.value,_props2.radius),pieTextShow=_props2.pieTextShow,that=this,radius=this.props.radius||Math.min(width-100,height-100)/2,outerRadius=outerRadius||radius-10,labelr=radius+10,chartSeriesData=this.mkSeries(),arc=_d3Shape2.default.arc().outerRadius(outerRadius).innerRadius(innerRadius),pie=(_d3Shape2.default.arc().outerRadius(outerRadius+10).innerRadius(innerRadius),_d3Shape2.default.pie().sort(function(a,b){return pieSort(a.value,b.value)}).value(function(d){return d.value}));return _react2.default.createElement("g",{className:"arc"},pie(chartSeriesData).map(function(slice,i){var textTransform=function(d){var c=arc.centroid(d),x=c[0],y=c[1],h=Math.sqrt(x*x+y*y);return"translate("+x/h*labelr+","+y/h*labelr+")"},textAnchor=function(d){return(d.endAngle+d.startAngle)/2>Math.PI?"end":"start"};return _react2.default.createElement("g",{key:i},_react2.default.createElement("path",{d:arc(slice),style:_extends({fill:slice.data.color,stroke:"#FFF"},slice.data.style),onMouseOut:that.triggerOut.bind(_this2,slice),onMouseOver:that.triggerOver.bind(_this2,slice)}),pieTextShow?_react2.default.createElement("text",{transform:textTransform(slice),dy:".35em",textAnchor:textAnchor(slice)},slice.data.name):null)}))}},{key:"render",value:function(){var _props3=this.props,width=_props3.width,height=_props3.height,margins=_props3.margins,t="translate("+(width-margins.left-margins.right)/2+", "+(height-margins.top-margins.bottom)/2+")",pie=this._mkPie();return _react2.default.createElement("g",{transform:t},pie)}}]),Pie}(_react.Component);Pie.defaultProps=_extends({onMouseOver:function(d){},onMouseOut:function(d){}},_commonProps.pieProps),exports.default=Pie},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(5),_d3Shape=(_interopRequireWildcard(_propTypes),__webpack_require__(64)),_d3Shape2=_interopRequireDefault(_d3Shape),_series=__webpack_require__(1),Scatter=function(_Component){function Scatter(props){return _classCallCheck(this,Scatter),_possibleConstructorReturn(this,(Scatter.__proto__||Object.getPrototypeOf(Scatter)).call(this,props))}return _inherits(Scatter,_Component),_createClass(Scatter,[{key:"_mkScatter",value:function(dataset){var _props=this.props,defaultSymbol=(_props.scatterClassName,_props.defaultSymbol),defaultSymbolSize=_props.defaultSymbolSize,brushSymbol=_props.brushSymbol,xScaleSet=_props.xScaleSet,yScaleSet=_props.yScaleSet;return brushSymbol&&(symbol="circle",symbolSize=4),_react2.default.createElement("g",null,dataset.map(function(dot){var symbol=dot.symbol?dot.symbol:defaultSymbol,symbolSize=dot.symbolSize?dot.symbolSize:defaultSymbolSize;return dot.data.map(function(d){var symbolFunc=_d3Shape2.default.symbol().size(symbolSize*symbolSize).type(function(){return console.log(symbol),"circle"===symbol?_d3Shape2.default.symbolCircle:"cross"===symbol?_d3Shape2.default.symbolCross:"diamond"===symbol?_d3Shape2.default.symbolDiamond:"square"===symbol?_d3Shape2.default.symbolSquare:"star"===symbol?_d3Shape2.default.symbolStar:"triangle"===symbol?_d3Shape2.default.symbolTriangle:"wye"===symbol?_d3Shape2.default.symbolWye:void console.error("Symbol is not support "+symbol+".")});return _react2.default.createElement("path",{className:"react-d3-basic__scatter__path",fill:d.color,transform:"translate("+xScaleSet(d.x)+","+yScaleSet(d.y)+")",d:symbolFunc(),style:dot.style})})}))}},{key:"render",value:function(){var d=(0,_series.series)(this.props),scatter=this._mkScatter(d);return _react2.default.createElement("g",null,scatter)}}]),Scatter}(_react.Component);Scatter.defaultProps={defaultSymbol:"circle",defaultSymbolSize:10,scatterClassName:"react-d3-basic__scatter"},exports.default=Scatter},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(5),PropTypes=_interopRequireWildcard(_propTypes),_reactD3Core=__webpack_require__(15),_line=__webpack_require__(63),_line2=_interopRequireDefault(_line),_chart=__webpack_require__(3),_chart2=_interopRequireDefault(_chart),_blank_chart=__webpack_require__(61),_blank_chart2=_interopRequireDefault(_blank_chart),_area=__webpack_require__(66),_area2=_interopRequireDefault(_area),_brush=__webpack_require__(59),_brush2=_interopRequireDefault(_brush),_rectangle=__webpack_require__(77),_rectangle2=_interopRequireDefault(_rectangle),_commonProps=__webpack_require__(57),_commonProps2=_interopRequireDefault(_commonProps),MultiLineBrushChart=function(_Component){function MultiLineBrushChart(props){return _classCallCheck(this,MultiLineBrushChart),_possibleConstructorReturn(this,(MultiLineBrushChart.__proto__||Object.getPrototypeOf(MultiLineBrushChart)).call(this,props))}return _inherits(MultiLineBrushChart,_Component),_createClass(MultiLineBrushChart,[{key:"render",value:function(){if(!(this.props.data&&this.props.data.length>0))return _react2.default.createElement(_blank_chart2.default,this.props);var xgrid,ygrid,_props=this.props,width=_props.width,height=_props.height,margins=_props.margins,data=_props.data,chartSeries=_props.chartSeries,showXGrid=_props.showXGrid,showYGrid=_props.showYGrid,showLegend=_props.showLegend,categoricalColors=_props.categoricalColors,isBrushable=_props.isBrushable,chartClassName=_props.chartClassName,chartSeriesType=chartSeries.map(function(d,i){var series=[];return d.area?(series.push(d),_react2.default.createElement(_area2.default,{chartSeries:series,key:i})):(series.push(d),_react2.default.createElement(_line2.default,{chartSeries:series,key:i}))});return showXGrid&&(xgrid=_react2.default.createElement(_reactD3Core.Xgrid,this.props)),showYGrid&&(ygrid=_react2.default.createElement(_reactD3Core.Ygrid,this.props)),_react2.default.createElement("div",null,_react2.default.createElement(_chart2.default,_extends({},this.props,{width:width,height:height,margins:margins,data:data,chartSeries:chartSeries}),chartClassName?_react2.default.createElement(_rectangle2.default,_extends({},this.props,{styleClassName:chartClassName})):null,isBrushable?_react2.default.createElement(_brush2.default,this.props):null,chartSeriesType,_react2.default.createElement(_reactD3Core.Xaxis,this.props),_react2.default.createElement(_reactD3Core.Yaxis,this.props),xgrid,ygrid),showLegend?_react2.default.createElement(_reactD3Core.Legend,_extends({},this.props,{width:width,margins:margins,chartSeries:chartSeries,categoricalColors:categoricalColors})):null)}}]),MultiLineBrushChart}(_react.Component);MultiLineBrushChart.defaultProps=_extends({showScatter:!1,isBrushable:!1},_commonProps2.default),MultiLineBrushChart.propTypes={width:PropTypes.number.isRequired,height:PropTypes.number.isRequired,margins:PropTypes.object.isRequired,data:PropTypes.array.isRequired,chartSeries:PropTypes.array.isRequired},exports.default=MultiLineBrushChart},function(module,exports,__webpack_require__){(function(d3){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!==("undefined"==typeof call?"undefined":_typeof(call))&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(4),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(5),PropTypes=_interopRequireWildcard(_propTypes),_reactDom=__webpack_require__(60),_reactDom2=_interopRequireDefault(_reactDom),Rect=function(_Component){function Rect(props){return _classCallCheck(this,Rect),_possibleConstructorReturn(this,(Rect.__proto__||Object.getPrototypeOf(Rect)).call(this,props))}return _inherits(Rect,_Component),_createClass(Rect,[{key:"componentDidMount",value:function(){this.drawRectangle()}},{key:"componentDidUpdate",value:function(){this.rectangle&&this.rectangle.attr("width",this.props.width-this.props.margins.left-this.props.margins.right)}},{key:"drawRectangle",value:function(){var _props=this.props,width=_props.width,height=_props.height,margins=_props.margins,styleClassName=_props.styleClassName;return this.rectangle=d3.select(_reactDom2.default.findDOMNode(this.refs.Rect)).append("rect").attr("x",0).attr("y",-5).attr("width",width-margins.left-margins.right).attr("height",height-margins.bottom-margins.top+3).attr("class",styleClassName),this.rectangle}},{key:"render",value:function(){return _react2.default.createElement("g",{ref:"Rect",className:"rectangle"}," ")}}]),Rect}(_react.Component);Rect.propTypes={height:PropTypes.number.isRequired,width:PropTypes.number.isRequired,margins:PropTypes.object.isRequired,styleClassName:PropTypes.string.isRequired},exports.default=Rect}).call(exports,__webpack_require__(2))}]); \ No newline at end of file diff --git a/src/chart.jsx b/src/chart.jsx index ce3a5f7..7b52cda 100644 --- a/src/chart.jsx +++ b/src/chart.jsx @@ -2,10 +2,11 @@ import { default as React, - Component, - PropTypes, + Component } from 'react'; +import * as PropTypes from 'prop-types'; + import { scale, xDomainCount, diff --git a/src/chartpie.jsx b/src/chartpie.jsx index 09c9ba7..8172e12 100644 --- a/src/chartpie.jsx +++ b/src/chartpie.jsx @@ -2,10 +2,11 @@ import { default as React, - Component, - PropTypes, + Component } from 'react'; +import * as PropTypes from 'prop-types'; + import { scale, xDomainCount, diff --git a/src/components/area.jsx b/src/components/area.jsx index 9150049..df21a82 100644 --- a/src/components/area.jsx +++ b/src/components/area.jsx @@ -2,10 +2,11 @@ import { default as React, - Component, - PropTypes, + Component } from 'react'; +import * as PropTypes from 'prop-types'; + import D3Shape from 'd3-shape' import CommonProps from '../commonProps'; import {series} from '../utils/series'; diff --git a/src/components/area_stack.jsx b/src/components/area_stack.jsx index 538e706..e4c9592 100644 --- a/src/components/area_stack.jsx +++ b/src/components/area_stack.jsx @@ -2,10 +2,11 @@ import { default as React, - Component, - PropTypes, + Component } from 'react'; +import * as PropTypes from 'prop-types'; + import d3 from 'd3'; import D3Shape from 'd3-shape' import CommonProps from '../commonProps'; diff --git a/src/components/brush.jsx b/src/components/brush.jsx index 79fdcae..2ee7532 100644 --- a/src/components/brush.jsx +++ b/src/components/brush.jsx @@ -2,9 +2,9 @@ import { default as React, - PropTypes, - Component, + Component } from 'react'; +import * as PropTypes from 'prop-types'; import CommonProps from '../commonProps'; diff --git a/src/components/line.jsx b/src/components/line.jsx index 38bcf16..9eaca2e 100644 --- a/src/components/line.jsx +++ b/src/components/line.jsx @@ -2,10 +2,11 @@ import { default as React, - PropTypes, - Component, + Component } from 'react'; +import * as PropTypes from 'prop-types'; + import D3Shape from 'd3-shape'; import CommonProps from '../commonProps'; import {series} from '../utils/series'; diff --git a/src/components/multi_line_brush.jsx b/src/components/multi_line_brush.jsx index 4f1818b..0fb04e5 100644 --- a/src/components/multi_line_brush.jsx +++ b/src/components/multi_line_brush.jsx @@ -2,10 +2,11 @@ import { default as React, - PropTypes, Component } from 'react'; +import * as PropTypes from 'prop-types'; + import { Xgrid, Ygrid, diff --git a/src/components/scatter.jsx b/src/components/scatter.jsx index d63c924..451c0f2 100644 --- a/src/components/scatter.jsx +++ b/src/components/scatter.jsx @@ -2,10 +2,11 @@ import { default as React, - Component, - PropTypes, + Component } from 'react'; +import * as PropTypes from 'prop-types'; + import D3Shape from 'd3-shape' import {series} from '../utils/series'; diff --git a/src/utils/rectangle.jsx b/src/utils/rectangle.jsx index 96dbb1f..3f077b6 100644 --- a/src/utils/rectangle.jsx +++ b/src/utils/rectangle.jsx @@ -2,10 +2,11 @@ import { default as React, - PropTypes, Component } from 'react'; +import * as PropTypes from 'prop-types'; + import { default as ReactDOM } from 'react-dom';