text: (window["webpackJsonpcodecrumbs"] = window["webpackJsonpcodecrumbs"] || []).push([["vendors~view-switches"],{
  
  /***/ "../../node_modules/antd/es/_util/wave.js":
  /*!********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/_util/wave.js ***!
    \********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ "../../node_modules/react-dom/index.js");
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var css_animation_es_Event__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! css-animation/es/Event */ "../../node_modules/css-animation/es/Event.js");
  
  
  
  
  
  
  
  var styleForPesudo = void 0;
  
  var Wave = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(Wave, _React$Component);
  
      function Wave() {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Wave);
  
          var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, (Wave.__proto__ || Object.getPrototypeOf(Wave)).apply(this, arguments));
  
          _this.onClick = function (node, waveColor) {
              if (node.className.indexOf('-leave') >= 0) {
                  return;
              }
              var insertExtraNode = _this.props.insertExtraNode;
  
              _this.extraNode = document.createElement('div');
              var extraNode = _this.extraNode;
              extraNode.className = 'ant-click-animating-node';
              var attributeName = _this.getAttributeName();
              node.removeAttribute(attributeName);
              node.setAttribute(attributeName, 'true');
              // Not white or transparnt or grey
              styleForPesudo = styleForPesudo || document.createElement('style');
              if (waveColor && waveColor !== '#ffffff' && waveColor !== 'rgb(255, 255, 255)' && _this.isNotGrey(waveColor) && !/rgba\(\d*, \d*, \d*, 0\)/.test(waveColor) && // any transparent rgba color
              waveColor !== 'transparent') {
                  extraNode.style.borderColor = waveColor;
                  styleForPesudo.innerHTML = '[ant-click-animating-without-extra-node]:after { border-color: ' + waveColor + '; }';
                  if (!document.body.contains(styleForPesudo)) {
                      document.body.appendChild(styleForPesudo);
                  }
              }
              if (insertExtraNode) {
                  node.appendChild(extraNode);
              }
              css_animation_es_Event__WEBPACK_IMPORTED_MODULE_6__["default"].addEndEventListener(node, _this.onTransitionEnd);
          };
          _this.bindAnimationEvent = function (node) {
              if (!node || !node.getAttribute || node.getAttribute('disabled') || node.className.indexOf('disabled') >= 0) {
                  return;
              }
              var onClick = function onClick(e) {
                  // Fix radio button click twice
                  if (e.target.tagName === 'INPUT') {
                      return;
                  }
                  _this.resetEffect(node);
                  // Get wave color from target
                  var waveColor = getComputedStyle(node).getPropertyValue('border-top-color') || // Firefox Compatible
                  getComputedStyle(node).getPropertyValue('border-color') || getComputedStyle(node).getPropertyValue('background-color');
                  _this.clickWaveTimeoutId = window.setTimeout(function () {
                      return _this.onClick(node, waveColor);
                  }, 0);
              };
              node.addEventListener('click', onClick, true);
              return {
                  cancel: function cancel() {
                      node.removeEventListener('click', onClick, true);
                  }
              };
          };
          _this.onTransitionEnd = function (e) {
              if (!e || e.animationName !== 'fadeEffect') {
                  return;
              }
              _this.resetEffect(e.target);
          };
          return _this;
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(Wave, [{
          key: 'isNotGrey',
          value: function isNotGrey(color) {
              var match = (color || '').match(/rgba?\((\d*), (\d*), (\d*)(, [\.\d]*)?\)/);
              if (match && match[1] && match[2] && match[3]) {
                  return !(match[1] === match[2] && match[2] === match[3]);
              }
              return true;
          }
      }, {
          key: 'getAttributeName',
          value: function getAttributeName() {
              var insertExtraNode = this.props.insertExtraNode;
  
              return insertExtraNode ? 'ant-click-animating' : 'ant-click-animating-without-extra-node';
          }
      }, {
          key: 'resetEffect',
          value: function resetEffect(node) {
              if (!node || node === this.extraNode) {
                  return;
              }
              var insertExtraNode = this.props.insertExtraNode;
  
              var attributeName = this.getAttributeName();
              node.removeAttribute(attributeName);
              this.removeExtraStyleNode();
              if (insertExtraNode && this.extraNode && node.contains(this.extraNode)) {
                  node.removeChild(this.extraNode);
              }
              css_animation_es_Event__WEBPACK_IMPORTED_MODULE_6__["default"].removeEndEventListener(node, this.onTransitionEnd);
          }
      }, {
          key: 'removeExtraStyleNode',
          value: function removeExtraStyleNode() {
              if (styleForPesudo) {
                  styleForPesudo.innerHTML = '';
              }
          }
      }, {
          key: 'componentDidMount',
          value: function componentDidMount() {
              this.instance = this.bindAnimationEvent(Object(react_dom__WEBPACK_IMPORTED_MODULE_5__["findDOMNode"])(this));
          }
      }, {
          key: 'componentWillUnmount',
          value: function componentWillUnmount() {
              if (this.instance) {
                  this.instance.cancel();
              }
              if (this.clickWaveTimeoutId) {
                  clearTimeout(this.clickWaveTimeoutId);
              }
          }
      }, {
          key: 'render',
          value: function render() {
              return this.props.children;
          }
      }]);
  
      return Wave;
  }(react__WEBPACK_IMPORTED_MODULE_4__["Component"]);
  
  /* harmony default export */ __webpack_exports__["default"] = (Wave);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/button/button-group.js":
  /*!*****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/button/button-group.js ***!
    \*****************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "../../node_modules/babel-runtime/helpers/defineProperty.js");
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
  
  
  var __rest = undefined && undefined.__rest || function (s, e) {
      var t = {};
      for (var p in s) {
          if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
      }if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
          if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
      }return t;
  };
  
  
  var ButtonGroup = function ButtonGroup(props) {
      var _props$prefixCls = props.prefixCls,
          prefixCls = _props$prefixCls === undefined ? 'ant-btn-group' : _props$prefixCls,
          size = props.size,
          className = props.className,
          others = __rest(props, ["prefixCls", "size", "className"]);
      // large => lg
      // small => sm
  
  
      var sizeCls = '';
      switch (size) {
          case 'large':
              sizeCls = 'lg';
              break;
          case 'small':
              sizeCls = 'sm';
          default:
              break;
      }
      var classes = classnames__WEBPACK_IMPORTED_MODULE_3___default()(prefixCls, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()({}, prefixCls + '-' + sizeCls, sizeCls), className);
      return react__WEBPACK_IMPORTED_MODULE_2__["createElement"]('div', babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, others, { className: classes }));
  };
  /* harmony default export */ __webpack_exports__["default"] = (ButtonGroup);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/button/button.js":
  /*!***********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/button/button.js ***!
    \***********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "../../node_modules/babel-runtime/helpers/defineProperty.js");
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-dom */ "../../node_modules/react-dom/index.js");
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__);
  /* harmony import */ var _util_wave__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../_util/wave */ "../../node_modules/antd/es/_util/wave.js");
  /* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../icon */ "../../node_modules/antd/es/icon/index.js");
  
  
  
  
  
  
  var __rest = undefined && undefined.__rest || function (s, e) {
      var t = {};
      for (var p in s) {
          if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
      }if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
          if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
      }return t;
  };
  
  
  
  
  
  
  var rxTwoCNChar = /^[\u4e00-\u9fa5]{2}$/;
  var isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);
  function isString(str) {
      return typeof str === 'string';
  }
  // Insert one space between two chinese characters automatically.
  function insertSpace(child, needInserted) {
      // Check the child if is undefined or null.
      if (child == null) {
          return;
      }
      var SPACE = needInserted ? ' ' : '';
      // strictNullChecks oops.
      if (typeof child !== 'string' && typeof child !== 'number' && isString(child.type) && isTwoCNChar(child.props.children)) {
          return react__WEBPACK_IMPORTED_MODULE_6__["cloneElement"](child, {}, child.props.children.split('').join(SPACE));
      }
      if (typeof child === 'string') {
          if (isTwoCNChar(child)) {
              child = child.split('').join(SPACE);
          }
          return react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
              'span',
              null,
              child
          );
      }
      return child;
  }
  
  var Button = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(Button, _React$Component);
  
      function Button(props) {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, Button);
  
          var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (Button.__proto__ || Object.getPrototypeOf(Button)).call(this, props));
  
          _this.handleClick = function (e) {
              var onClick = _this.props.onClick;
  
              if (onClick) {
                  onClick(e);
              }
          };
          _this.state = {
              loading: props.loading,
              hasTwoCNChar: false
          };
          return _this;
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(Button, [{
          key: 'componentDidMount',
          value: function componentDidMount() {
              this.fixTwoCNChar();
          }
      }, {
          key: 'componentWillReceiveProps',
          value: function componentWillReceiveProps(nextProps) {
              var _this2 = this;
  
              var currentLoading = this.props.loading;
              var loading = nextProps.loading;
              if (currentLoading) {
                  clearTimeout(this.delayTimeout);
              }
              if (typeof loading !== 'boolean' && loading && loading.delay) {
                  this.delayTimeout = window.setTimeout(function () {
                      return _this2.setState({ loading: loading });
                  }, loading.delay);
              } else {
                  this.setState({ loading: loading });
              }
          }
      }, {
          key: 'componentDidUpdate',
          value: function componentDidUpdate() {
              this.fixTwoCNChar();
          }
      }, {
          key: 'componentWillUnmount',
          value: function componentWillUnmount() {
              if (this.delayTimeout) {
                  clearTimeout(this.delayTimeout);
              }
          }
      }, {
          key: 'fixTwoCNChar',
          value: function fixTwoCNChar() {
              // Fix for HOC usage like <FormatMessage />
              var node = Object(react_dom__WEBPACK_IMPORTED_MODULE_7__["findDOMNode"])(this);
              var buttonText = node.textContent || node.innerText;
              if (this.isNeedInserted() && isTwoCNChar(buttonText)) {
                  if (!this.state.hasTwoCNChar) {
                      this.setState({
                          hasTwoCNChar: true
                      });
                  }
              } else if (this.state.hasTwoCNChar) {
                  this.setState({
                      hasTwoCNChar: false
                  });
              }
          }
      }, {
          key: 'isNeedInserted',
          value: function isNeedInserted() {
              var _props = this.props,
                  icon = _props.icon,
                  children = _props.children;
  
              return react__WEBPACK_IMPORTED_MODULE_6__["Children"].count(children) === 1 && !icon;
          }
      }, {
          key: 'render',
          value: function render() {
              var _classNames,
                  _this3 = this;
  
              var _a = this.props,
                  type = _a.type,
                  shape = _a.shape,
                  size = _a.size,
                  className = _a.className,
                  children = _a.children,
                  icon = _a.icon,
                  prefixCls = _a.prefixCls,
                  ghost = _a.ghost,
                  _loadingProp = _a.loading,
                  block = _a.block,
                  rest = __rest(_a, ["type", "shape", "size", "className", "children", "icon", "prefixCls", "ghost", "loading", "block"]);var _state = this.state,
                  loading = _state.loading,
                  hasTwoCNChar = _state.hasTwoCNChar;
              // large => lg
              // small => sm
  
              var sizeCls = '';
              switch (size) {
                  case 'large':
                      sizeCls = 'lg';
                      break;
                  case 'small':
                      sizeCls = 'sm';
                  default:
                      break;
              }
              var now = new Date();
              var isChristmas = now.getMonth() === 11 && now.getDate() === 25;
              var classes = classnames__WEBPACK_IMPORTED_MODULE_9___default()(prefixCls, className, (_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-' + type, type), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-' + shape, shape), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-' + sizeCls, sizeCls), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-icon-only', !children && icon), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-loading', loading), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-background-ghost', ghost), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-two-chinese-chars', hasTwoCNChar), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-block', block), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, 'christmas', isChristmas), _classNames));
              var iconType = loading ? 'loading' : icon;
              var iconNode = iconType ? react__WEBPACK_IMPORTED_MODULE_6__["createElement"](_icon__WEBPACK_IMPORTED_MODULE_11__["default"], { type: iconType }) : null;
              var kids = children || children === 0 ? react__WEBPACK_IMPORTED_MODULE_6__["Children"].map(children, function (child) {
                  return insertSpace(child, _this3.isNeedInserted());
              }) : null;
              var title = isChristmas ? 'Ho Ho Ho!' : rest.title;
              if ('href' in rest) {
                  return react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                      'a',
                      babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, rest, { className: classes, onClick: this.handleClick, title: title }),
                      iconNode,
                      kids
                  );
              } else {
                  // React does not recognize the `htmlType` prop on a DOM element. Here we pick it out of `rest`.
                  var htmlType = rest.htmlType,
                      otherProps = __rest(rest, ["htmlType"]);
                  return react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                      _util_wave__WEBPACK_IMPORTED_MODULE_10__["default"],
                      null,
                      react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                          'button',
                          babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, otherProps, { type: htmlType || 'button', className: classes, onClick: this.handleClick, title: title }),
                          iconNode,
                          kids
                      )
                  );
              }
          }
      }]);
  
      return Button;
  }(react__WEBPACK_IMPORTED_MODULE_6__["Component"]);
  
  /* harmony default export */ __webpack_exports__["default"] = (Button);
  
  Button.__ANT_BUTTON = true;
  Button.defaultProps = {
      prefixCls: 'ant-btn',
      loading: false,
      ghost: false,
      block: false
  };
  Button.propTypes = {
      type: prop_types__WEBPACK_IMPORTED_MODULE_8__["string"],
      shape: prop_types__WEBPACK_IMPORTED_MODULE_8__["oneOf"](['circle', 'circle-outline']),
      size: prop_types__WEBPACK_IMPORTED_MODULE_8__["oneOf"](['large', 'default', 'small']),
      htmlType: prop_types__WEBPACK_IMPORTED_MODULE_8__["oneOf"](['submit', 'button', 'reset']),
      onClick: prop_types__WEBPACK_IMPORTED_MODULE_8__["func"],
      loading: prop_types__WEBPACK_IMPORTED_MODULE_8__["oneOfType"]([prop_types__WEBPACK_IMPORTED_MODULE_8__["bool"], prop_types__WEBPACK_IMPORTED_MODULE_8__["object"]]),
      className: prop_types__WEBPACK_IMPORTED_MODULE_8__["string"],
      icon: prop_types__WEBPACK_IMPORTED_MODULE_8__["string"],
      block: prop_types__WEBPACK_IMPORTED_MODULE_8__["bool"]
  };
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/button/index.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/button/index.js ***!
    \**********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./button */ "../../node_modules/antd/es/button/button.js");
  /* harmony import */ var _button_group__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./button-group */ "../../node_modules/antd/es/button/button-group.js");
  
  
  _button__WEBPACK_IMPORTED_MODULE_0__["default"].Group = _button_group__WEBPACK_IMPORTED_MODULE_1__["default"];
  /* harmony default export */ __webpack_exports__["default"] = (_button__WEBPACK_IMPORTED_MODULE_0__["default"]);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/button/style/css.js":
  /*!**************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/button/style/css.js ***!
    \**************************************************************************************/
  /*! no exports provided */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../style/index.css */ "../../node_modules/antd/es/style/index.css");
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_css__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.css */ "../../node_modules/antd/es/button/style/index.css");
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_css__WEBPACK_IMPORTED_MODULE_1__);
  
  
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/button/style/index.css":
  /*!*****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/button/style/index.css ***!
    \*****************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  
  var content = __webpack_require__(/*! !../../../../css-loader!./index.css */ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/button/style/index.css");
  
  if(typeof content === 'string') content = [[module.i, content, '']];
  
  var transform;
  var insertInto;
  
  
  
  var options = {"hmr":true}
  
  options.transform = transform
  options.insertInto = undefined;
  
  var update = __webpack_require__(/*! ../../../../style-loader/lib/addStyles.js */ "../../node_modules/style-loader/lib/addStyles.js")(content, options);
  
  if(content.locals) module.exports = content.locals;
  
  if(false) {}
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/calendar/locale/en_US.js":
  /*!*******************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/calendar/locale/en_US.js ***!
    \*******************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _date_picker_locale_en_US__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../date-picker/locale/en_US */ "../../node_modules/antd/es/date-picker/locale/en_US.js");
  
  /* harmony default export */ __webpack_exports__["default"] = (_date_picker_locale_en_US__WEBPACK_IMPORTED_MODULE_0__["default"]);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/date-picker/locale/en_US.js":
  /*!**********************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/date-picker/locale/en_US.js ***!
    \**********************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var rc_calendar_es_locale_en_US__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rc-calendar/es/locale/en_US */ "../../node_modules/rc-calendar/es/locale/en_US.js");
  /* harmony import */ var _time_picker_locale_en_US__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../time-picker/locale/en_US */ "../../node_modules/antd/es/time-picker/locale/en_US.js");
  
  
  
  // Merge into a locale object
  var locale = {
      lang: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({ placeholder: 'Select date', rangePlaceholder: ['Start date', 'End date'] }, rc_calendar_es_locale_en_US__WEBPACK_IMPORTED_MODULE_1__["default"]),
      timePickerLocale: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, _time_picker_locale_en_US__WEBPACK_IMPORTED_MODULE_2__["default"])
  };
  // All settings at:
  // https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
  /* harmony default export */ __webpack_exports__["default"] = (locale);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/dropdown/dropdown-button.js":
  /*!**********************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/dropdown/dropdown-button.js ***!
    \**********************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../button */ "../../node_modules/antd/es/button/index.js");
  /* harmony import */ var _dropdown__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./dropdown */ "../../node_modules/antd/es/dropdown/dropdown.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_8__);
  
  
  
  
  
  var __rest = undefined && undefined.__rest || function (s, e) {
      var t = {};
      for (var p in s) {
          if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
      }if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
          if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
      }return t;
  };
  
  
  
  
  var ButtonGroup = _button__WEBPACK_IMPORTED_MODULE_6__["default"].Group;
  
  var DropdownButton = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(DropdownButton, _React$Component);
  
      function DropdownButton() {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, DropdownButton);
  
          return babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (DropdownButton.__proto__ || Object.getPrototypeOf(DropdownButton)).apply(this, arguments));
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(DropdownButton, [{
          key: 'render',
          value: function render() {
              var _a = this.props,
                  type = _a.type,
                  disabled = _a.disabled,
                  onClick = _a.onClick,
                  htmlType = _a.htmlType,
                  children = _a.children,
                  prefixCls = _a.prefixCls,
                  className = _a.className,
                  overlay = _a.overlay,
                  trigger = _a.trigger,
                  align = _a.align,
                  visible = _a.visible,
                  onVisibleChange = _a.onVisibleChange,
                  placement = _a.placement,
                  getPopupContainer = _a.getPopupContainer,
                  restProps = __rest(_a, ["type", "disabled", "onClick", "htmlType", "children", "prefixCls", "className", "overlay", "trigger", "align", "visible", "onVisibleChange", "placement", "getPopupContainer"]);
              var dropdownProps = {
                  align: align,
                  overlay: overlay,
                  disabled: disabled,
                  trigger: disabled ? [] : trigger,
                  onVisibleChange: onVisibleChange,
                  placement: placement,
                  getPopupContainer: getPopupContainer
              };
              if ('visible' in this.props) {
                  dropdownProps.visible = visible;
              }
              return react__WEBPACK_IMPORTED_MODULE_5__["createElement"](
                  ButtonGroup,
                  babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, restProps, { className: classnames__WEBPACK_IMPORTED_MODULE_8___default()(prefixCls, className) }),
                  react__WEBPACK_IMPORTED_MODULE_5__["createElement"](
                      _button__WEBPACK_IMPORTED_MODULE_6__["default"],
                      { type: type, disabled: disabled, onClick: onClick, htmlType: htmlType },
                      children
                  ),
                  react__WEBPACK_IMPORTED_MODULE_5__["createElement"](
                      _dropdown__WEBPACK_IMPORTED_MODULE_7__["default"],
                      dropdownProps,
                      react__WEBPACK_IMPORTED_MODULE_5__["createElement"](_button__WEBPACK_IMPORTED_MODULE_6__["default"], { type: type, icon: 'ellipsis' })
                  )
              );
          }
      }]);
  
      return DropdownButton;
  }(react__WEBPACK_IMPORTED_MODULE_5__["Component"]);
  
  /* harmony default export */ __webpack_exports__["default"] = (DropdownButton);
  
  DropdownButton.defaultProps = {
      placement: 'bottomRight',
      type: 'default',
      prefixCls: 'ant-dropdown-button'
  };
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/dropdown/dropdown.js":
  /*!***************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/dropdown/dropdown.js ***!
    \***************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var rc_dropdown__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! rc-dropdown */ "../../node_modules/rc-dropdown/es/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var _util_warning__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../_util/warning */ "../../node_modules/antd/es/_util/warning.js");
  /* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../icon */ "../../node_modules/antd/es/icon/index.js");
  
  
  
  
  
  
  
  
  
  
  
  var Dropdown = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Dropdown, _React$Component);
  
      function Dropdown() {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, Dropdown);
  
          return babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (Dropdown.__proto__ || Object.getPrototypeOf(Dropdown)).apply(this, arguments));
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(Dropdown, [{
          key: 'getTransitionName',
          value: function getTransitionName() {
              var _props = this.props,
                  _props$placement = _props.placement,
                  placement = _props$placement === undefined ? '' : _props$placement,
                  transitionName = _props.transitionName;
  
              if (transitionName !== undefined) {
                  return transitionName;
              }
              if (placement.indexOf('top') >= 0) {
                  return 'slide-down';
              }
              return 'slide-up';
          }
      }, {
          key: 'componentDidMount',
          value: function componentDidMount() {
              var overlay = this.props.overlay;
  
              if (overlay) {
                  var overlayProps = overlay.props;
                  Object(_util_warning__WEBPACK_IMPORTED_MODULE_8__["default"])(!overlayProps.mode || overlayProps.mode === 'vertical', 'mode="' + overlayProps.mode + '" is not supported for Dropdown\'s Menu.');
              }
          }
      }, {
          key: 'render',
          value: function render() {
              var _props2 = this.props,
                  children = _props2.children,
                  prefixCls = _props2.prefixCls,
                  overlayElements = _props2.overlay,
                  trigger = _props2.trigger,
                  disabled = _props2.disabled;
  
              var child = react__WEBPACK_IMPORTED_MODULE_5__["Children"].only(children);
              var overlay = react__WEBPACK_IMPORTED_MODULE_5__["Children"].only(overlayElements);
              var dropdownTrigger = react__WEBPACK_IMPORTED_MODULE_5__["cloneElement"](child, {
                  className: classnames__WEBPACK_IMPORTED_MODULE_7___default()(child.props.className, prefixCls + '-trigger'),
                  disabled: disabled
              });
              // menu cannot be selectable in dropdown defaultly
              // menu should be focusable in dropdown defaultly
              var _overlay$props = overlay.props,
                  _overlay$props$select = _overlay$props.selectable,
                  selectable = _overlay$props$select === undefined ? false : _overlay$props$select,
                  _overlay$props$focusa = _overlay$props.focusable,
                  focusable = _overlay$props$focusa === undefined ? true : _overlay$props$focusa;
  
              var expandIcon = react__WEBPACK_IMPORTED_MODULE_5__["createElement"](
                  'span',
                  { className: prefixCls + '-menu-submenu-arrow' },
                  react__WEBPACK_IMPORTED_MODULE_5__["createElement"](_icon__WEBPACK_IMPORTED_MODULE_9__["default"], { type: 'right', className: prefixCls + '-menu-submenu-arrow-icon' })
              );
              var fixedModeOverlay = typeof overlay.type === 'string' ? overlay : react__WEBPACK_IMPORTED_MODULE_5__["cloneElement"](overlay, {
                  mode: 'vertical',
                  selectable: selectable,
                  focusable: focusable,
                  expandIcon: expandIcon
              });
              var triggerActions = disabled ? [] : trigger;
              var alignPoint = void 0;
              if (triggerActions && triggerActions.indexOf('contextMenu') !== -1) {
                  alignPoint = true;
              }
              return react__WEBPACK_IMPORTED_MODULE_5__["createElement"](
                  rc_dropdown__WEBPACK_IMPORTED_MODULE_6__["default"],
                  babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({ alignPoint: alignPoint }, this.props, { transitionName: this.getTransitionName(), trigger: triggerActions, overlay: fixedModeOverlay }),
                  dropdownTrigger
              );
          }
      }]);
  
      return Dropdown;
  }(react__WEBPACK_IMPORTED_MODULE_5__["Component"]);
  
  /* harmony default export */ __webpack_exports__["default"] = (Dropdown);
  
  Dropdown.defaultProps = {
      prefixCls: 'ant-dropdown',
      mouseEnterDelay: 0.15,
      mouseLeaveDelay: 0.1,
      placement: 'bottomLeft'
  };
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/dropdown/index.js":
  /*!************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/dropdown/index.js ***!
    \************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _dropdown__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dropdown */ "../../node_modules/antd/es/dropdown/dropdown.js");
  /* harmony import */ var _dropdown_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dropdown-button */ "../../node_modules/antd/es/dropdown/dropdown-button.js");
  
  
  _dropdown__WEBPACK_IMPORTED_MODULE_0__["default"].Button = _dropdown_button__WEBPACK_IMPORTED_MODULE_1__["default"];
  /* harmony default export */ __webpack_exports__["default"] = (_dropdown__WEBPACK_IMPORTED_MODULE_0__["default"]);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/dropdown/style/css.js":
  /*!****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/dropdown/style/css.js ***!
    \****************************************************************************************/
  /*! no exports provided */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../style/index.css */ "../../node_modules/antd/es/style/index.css");
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_css__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.css */ "../../node_modules/antd/es/dropdown/style/index.css");
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_css__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var _button_style_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../button/style/css */ "../../node_modules/antd/es/button/style/css.js");
  
  
  // style dependencies
  
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/dropdown/style/index.css":
  /*!*******************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/dropdown/style/index.css ***!
    \*******************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  
  var content = __webpack_require__(/*! !../../../../css-loader!./index.css */ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/dropdown/style/index.css");
  
  if(typeof content === 'string') content = [[module.i, content, '']];
  
  var transform;
  var insertInto;
  
  
  
  var options = {"hmr":true}
  
  options.transform = transform
  options.insertInto = undefined;
  
  var update = __webpack_require__(/*! ../../../../style-loader/lib/addStyles.js */ "../../node_modules/style-loader/lib/addStyles.js")(content, options);
  
  if(content.locals) module.exports = content.locals;
  
  if(false) {}
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/locale-provider/LocaleReceiver.js":
  /*!****************************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/locale-provider/LocaleReceiver.js ***!
    \****************************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  
  
  
  
  
  
  
  
  var LocaleReceiver = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(LocaleReceiver, _React$Component);
  
      function LocaleReceiver() {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, LocaleReceiver);
  
          return babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (LocaleReceiver.__proto__ || Object.getPrototypeOf(LocaleReceiver)).apply(this, arguments));
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(LocaleReceiver, [{
          key: 'getLocale',
          value: function getLocale() {
              var _props = this.props,
                  componentName = _props.componentName,
                  defaultLocale = _props.defaultLocale;
              var antLocale = this.context.antLocale;
  
              var localeFromContext = antLocale && antLocale[componentName];
              return babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, typeof defaultLocale === 'function' ? defaultLocale() : defaultLocale, localeFromContext || {});
          }
      }, {
          key: 'getLocaleCode',
          value: function getLocaleCode() {
              var antLocale = this.context.antLocale;
  
              var localeCode = antLocale && antLocale.locale;
              // Had use LocaleProvide but didn't set locale
              if (antLocale && antLocale.exist && !localeCode) {
                  return 'en-us';
              }
              return localeCode;
          }
      }, {
          key: 'render',
          value: function render() {
              return this.props.children(this.getLocale(), this.getLocaleCode());
          }
      }]);
  
      return LocaleReceiver;
  }(react__WEBPACK_IMPORTED_MODULE_5__["Component"]);
  
  /* harmony default export */ __webpack_exports__["default"] = (LocaleReceiver);
  
  LocaleReceiver.contextTypes = {
      antLocale: prop_types__WEBPACK_IMPORTED_MODULE_6__["object"]
  };
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/locale-provider/default.js":
  /*!*********************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/locale-provider/default.js ***!
    \*********************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var rc_pagination_es_locale_en_US__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rc-pagination/es/locale/en_US */ "../../node_modules/rc-pagination/es/locale/en_US.js");
  /* harmony import */ var _date_picker_locale_en_US__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../date-picker/locale/en_US */ "../../node_modules/antd/es/date-picker/locale/en_US.js");
  /* harmony import */ var _time_picker_locale_en_US__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../time-picker/locale/en_US */ "../../node_modules/antd/es/time-picker/locale/en_US.js");
  /* harmony import */ var _calendar_locale_en_US__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../calendar/locale/en_US */ "../../node_modules/antd/es/calendar/locale/en_US.js");
  
  
  
  
  /* harmony default export */ __webpack_exports__["default"] = ({
      locale: 'en',
      Pagination: rc_pagination_es_locale_en_US__WEBPACK_IMPORTED_MODULE_0__["default"],
      DatePicker: _date_picker_locale_en_US__WEBPACK_IMPORTED_MODULE_1__["default"],
      TimePicker: _time_picker_locale_en_US__WEBPACK_IMPORTED_MODULE_2__["default"],
      Calendar: _calendar_locale_en_US__WEBPACK_IMPORTED_MODULE_3__["default"],
      Table: {
          filterTitle: 'Filter menu',
          filterConfirm: 'OK',
          filterReset: 'Reset',
          emptyText: 'No data',
          selectAll: 'Select current page',
          selectInvert: 'Invert current page'
      },
      Modal: {
          okText: 'OK',
          cancelText: 'Cancel',
          justOkText: 'OK'
      },
      Popconfirm: {
          okText: 'OK',
          cancelText: 'Cancel'
      },
      Transfer: {
          titles: ['', ''],
          notFoundContent: 'Not Found',
          searchPlaceholder: 'Search here',
          itemUnit: 'item',
          itemsUnit: 'items'
      },
      Select: {
          notFoundContent: 'Not Found'
      },
      Upload: {
          uploading: 'Uploading...',
          removeFile: 'Remove file',
          uploadError: 'Upload error',
          previewFile: 'Preview file'
      }
  });
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/menu/MenuItem.js":
  /*!***********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/menu/MenuItem.js ***!
    \***********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var rc_menu__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! rc-menu */ "../../node_modules/rc-menu/es/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../tooltip */ "../../node_modules/antd/es/tooltip/index.js");
  
  
  
  
  
  
  
  
  
  
  var MenuItem = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(MenuItem, _React$Component);
  
      function MenuItem() {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, MenuItem);
  
          var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (MenuItem.__proto__ || Object.getPrototypeOf(MenuItem)).apply(this, arguments));
  
          _this.onKeyDown = function (e) {
              _this.menuItem.onKeyDown(e);
          };
          _this.saveMenuItem = function (menuItem) {
              _this.menuItem = menuItem;
          };
          return _this;
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(MenuItem, [{
          key: 'render',
          value: function render() {
              var inlineCollapsed = this.context.inlineCollapsed;
  
              var props = this.props;
              return react__WEBPACK_IMPORTED_MODULE_5__["createElement"](
                  _tooltip__WEBPACK_IMPORTED_MODULE_8__["default"],
                  { title: inlineCollapsed && props.level === 1 ? props.children : '', placement: 'right', overlayClassName: props.rootPrefixCls + '-inline-collapsed-tooltip' },
                  react__WEBPACK_IMPORTED_MODULE_5__["createElement"](rc_menu__WEBPACK_IMPORTED_MODULE_6__["Item"], babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, { ref: this.saveMenuItem }))
              );
          }
      }]);
  
      return MenuItem;
  }(react__WEBPACK_IMPORTED_MODULE_5__["Component"]);
  
  MenuItem.contextTypes = {
      inlineCollapsed: prop_types__WEBPACK_IMPORTED_MODULE_7__["bool"]
  };
  MenuItem.isMenuItem = 1;
  /* harmony default export */ __webpack_exports__["default"] = (MenuItem);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/menu/SubMenu.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/menu/SubMenu.js ***!
    \**********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var rc_menu__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rc-menu */ "../../node_modules/rc-menu/es/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_8__);
  
  
  
  
  
  
  
  
  
  
  var SubMenu = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(SubMenu, _React$Component);
  
      function SubMenu() {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, SubMenu);
  
          var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (SubMenu.__proto__ || Object.getPrototypeOf(SubMenu)).apply(this, arguments));
  
          _this.onKeyDown = function (e) {
              _this.subMenu.onKeyDown(e);
          };
          _this.saveSubMenu = function (subMenu) {
              _this.subMenu = subMenu;
          };
          return _this;
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(SubMenu, [{
          key: 'render',
          value: function render() {
              var _props = this.props,
                  rootPrefixCls = _props.rootPrefixCls,
                  className = _props.className;
  
              var theme = this.context.antdMenuTheme;
              return react__WEBPACK_IMPORTED_MODULE_5__["createElement"](rc_menu__WEBPACK_IMPORTED_MODULE_7__["SubMenu"], babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, this.props, { ref: this.saveSubMenu, popupClassName: classnames__WEBPACK_IMPORTED_MODULE_8___default()(rootPrefixCls + '-' + theme, className) }));
          }
      }]);
  
      return SubMenu;
  }(react__WEBPACK_IMPORTED_MODULE_5__["Component"]);
  
  SubMenu.contextTypes = {
      antdMenuTheme: prop_types__WEBPACK_IMPORTED_MODULE_6__["string"]
  };
  // fix issue:https://github.com/ant-design/ant-design/issues/8666
  SubMenu.isSubMenu = 1;
  /* harmony default export */ __webpack_exports__["default"] = (SubMenu);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/menu/index.js":
  /*!********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/menu/index.js ***!
    \********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "../../node_modules/babel-runtime/helpers/defineProperty.js");
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-dom */ "../../node_modules/react-dom/index.js");
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var rc_menu__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! rc-menu */ "../../node_modules/rc-menu/es/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__);
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_10__);
  /* harmony import */ var _util_openAnimation__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../_util/openAnimation */ "../../node_modules/antd/es/_util/openAnimation.js");
  /* harmony import */ var _util_warning__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../_util/warning */ "../../node_modules/antd/es/_util/warning.js");
  /* harmony import */ var _SubMenu__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./SubMenu */ "../../node_modules/antd/es/menu/SubMenu.js");
  /* harmony import */ var _MenuItem__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./MenuItem */ "../../node_modules/antd/es/menu/MenuItem.js");
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  var Menu = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(Menu, _React$Component);
  
      function Menu(props) {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, Menu);
  
          var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (Menu.__proto__ || Object.getPrototypeOf(Menu)).call(this, props));
  
          _this.inlineOpenKeys = [];
          _this.handleClick = function (e) {
              _this.handleOpenChange([]);
              var onClick = _this.props.onClick;
  
              if (onClick) {
                  onClick(e);
              }
          };
          _this.handleOpenChange = function (openKeys) {
              _this.setOpenKeys(openKeys);
              var onOpenChange = _this.props.onOpenChange;
  
              if (onOpenChange) {
                  onOpenChange(openKeys);
              }
          };
          Object(_util_warning__WEBPACK_IMPORTED_MODULE_12__["default"])(!('onOpen' in props || 'onClose' in props), '`onOpen` and `onClose` are removed, please use `onOpenChange` instead, ' + 'see: https://u.ant.design/menu-on-open-change.');
          Object(_util_warning__WEBPACK_IMPORTED_MODULE_12__["default"])(!('inlineCollapsed' in props && props.mode !== 'inline'), '`inlineCollapsed` should only be used when Menu\'s `mode` is inline.');
          var openKeys = void 0;
          if ('openKeys' in props) {
              openKeys = props.openKeys;
          } else if ('defaultOpenKeys' in props) {
              openKeys = props.defaultOpenKeys;
          }
          _this.state = {
              openKeys: openKeys || []
          };
          return _this;
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(Menu, [{
          key: 'getChildContext',
          value: function getChildContext() {
              return {
                  inlineCollapsed: this.getInlineCollapsed(),
                  antdMenuTheme: this.props.theme
              };
          }
      }, {
          key: 'componentWillReceiveProps',
          value: function componentWillReceiveProps(nextProps, nextContext) {
              var prefixCls = this.props.prefixCls;
  
              if (this.props.mode === 'inline' && nextProps.mode !== 'inline') {
                  this.switchModeFromInline = true;
              }
              if ('openKeys' in nextProps) {
                  this.setState({ openKeys: nextProps.openKeys });
                  return;
              }
              if (nextProps.inlineCollapsed && !this.props.inlineCollapsed || nextContext.siderCollapsed && !this.context.siderCollapsed) {
                  var menuNode = Object(react_dom__WEBPACK_IMPORTED_MODULE_7__["findDOMNode"])(this);
                  this.switchModeFromInline = !!this.state.openKeys.length && !!menuNode.querySelectorAll('.' + prefixCls + '-submenu-open').length;
                  this.inlineOpenKeys = this.state.openKeys;
                  this.setState({ openKeys: [] });
              }
              if (!nextProps.inlineCollapsed && this.props.inlineCollapsed || !nextContext.siderCollapsed && this.context.siderCollapsed) {
                  this.setState({ openKeys: this.inlineOpenKeys });
                  this.inlineOpenKeys = [];
              }
          }
      }, {
          key: 'setOpenKeys',
          value: function setOpenKeys(openKeys) {
              if (!('openKeys' in this.props)) {
                  this.setState({ openKeys: openKeys });
              }
          }
      }, {
          key: 'getRealMenuMode',
          value: function getRealMenuMode() {
              var inlineCollapsed = this.getInlineCollapsed();
              if (this.switchModeFromInline && inlineCollapsed) {
                  return 'inline';
              }
              var mode = this.props.mode;
  
              return inlineCollapsed ? 'vertical' : mode;
          }
      }, {
          key: 'getInlineCollapsed',
          value: function getInlineCollapsed() {
              var inlineCollapsed = this.props.inlineCollapsed;
  
              if (this.context.siderCollapsed !== undefined) {
                  return this.context.siderCollapsed;
              }
              return inlineCollapsed;
          }
      }, {
          key: 'getMenuOpenAnimation',
          value: function getMenuOpenAnimation(menuMode) {
              var _this2 = this;
  
              var _props = this.props,
                  openAnimation = _props.openAnimation,
                  openTransitionName = _props.openTransitionName;
  
              var menuOpenAnimation = openAnimation || openTransitionName;
              if (openAnimation === undefined && openTransitionName === undefined) {
                  switch (menuMode) {
                      case 'horizontal':
                          menuOpenAnimation = 'slide-up';
                          break;
                      case 'vertical':
                      case 'vertical-left':
                      case 'vertical-right':
                          // When mode switch from inline
                          // submenu should hide without animation
                          if (this.switchModeFromInline) {
                              menuOpenAnimation = '';
                              this.switchModeFromInline = false;
                          } else {
                              menuOpenAnimation = 'zoom-big';
                          }
                          break;
                      case 'inline':
                          menuOpenAnimation = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, _util_openAnimation__WEBPACK_IMPORTED_MODULE_11__["default"], { leave: function leave(node, done) {
                                  return _util_openAnimation__WEBPACK_IMPORTED_MODULE_11__["default"].leave(node, function () {
                                      // Make sure inline menu leave animation finished before mode is switched
                                      _this2.switchModeFromInline = false;
                                      _this2.setState({});
                                      // when inlineCollapsed change false to true, all submenu will be unmounted,
                                      // so that we don't need handle animation leaving.
                                      if (_this2.getRealMenuMode() === 'vertical') {
                                          return;
                                      }
                                      done();
                                  });
                              } });
                          break;
                      default:
                  }
              }
              return menuOpenAnimation;
          }
      }, {
          key: 'render',
          value: function render() {
              var _props2 = this.props,
                  prefixCls = _props2.prefixCls,
                  className = _props2.className,
                  theme = _props2.theme;
  
              var menuMode = this.getRealMenuMode();
              var menuOpenAnimation = this.getMenuOpenAnimation(menuMode);
              var menuClassName = classnames__WEBPACK_IMPORTED_MODULE_10___default()(className, prefixCls + '-' + theme, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, prefixCls + '-inline-collapsed', this.getInlineCollapsed()));
              var menuProps = {
                  openKeys: this.state.openKeys,
                  onOpenChange: this.handleOpenChange,
                  className: menuClassName,
                  mode: menuMode
              };
              if (menuMode !== 'inline') {
                  // closing vertical popup submenu after click it
                  menuProps.onClick = this.handleClick;
                  menuProps.openTransitionName = menuOpenAnimation;
              } else {
                  menuProps.openAnimation = menuOpenAnimation;
              }
              // https://github.com/ant-design/ant-design/issues/8587
              var collapsedWidth = this.context.collapsedWidth;
  
              if (this.getInlineCollapsed() && (collapsedWidth === 0 || collapsedWidth === '0' || collapsedWidth === '0px')) {
                  return null;
              }
              return react__WEBPACK_IMPORTED_MODULE_6__["createElement"](rc_menu__WEBPACK_IMPORTED_MODULE_8__["default"], babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, this.props, menuProps));
          }
      }]);
  
      return Menu;
  }(react__WEBPACK_IMPORTED_MODULE_6__["Component"]);
  
  /* harmony default export */ __webpack_exports__["default"] = (Menu);
  
  Menu.Divider = rc_menu__WEBPACK_IMPORTED_MODULE_8__["Divider"];
  Menu.Item = _MenuItem__WEBPACK_IMPORTED_MODULE_14__["default"];
  Menu.SubMenu = _SubMenu__WEBPACK_IMPORTED_MODULE_13__["default"];
  Menu.ItemGroup = rc_menu__WEBPACK_IMPORTED_MODULE_8__["ItemGroup"];
  Menu.defaultProps = {
      prefixCls: 'ant-menu',
      className: '',
      theme: 'light',
      focusable: false
  };
  Menu.childContextTypes = {
      inlineCollapsed: prop_types__WEBPACK_IMPORTED_MODULE_9__["bool"],
      antdMenuTheme: prop_types__WEBPACK_IMPORTED_MODULE_9__["string"]
  };
  Menu.contextTypes = {
      siderCollapsed: prop_types__WEBPACK_IMPORTED_MODULE_9__["bool"],
      collapsedWidth: prop_types__WEBPACK_IMPORTED_MODULE_9__["oneOfType"]([prop_types__WEBPACK_IMPORTED_MODULE_9__["number"], prop_types__WEBPACK_IMPORTED_MODULE_9__["string"]])
  };
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/menu/style/css.js":
  /*!************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/menu/style/css.js ***!
    \************************************************************************************/
  /*! no exports provided */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../style/index.css */ "../../node_modules/antd/es/style/index.css");
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_css__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.css */ "../../node_modules/antd/es/menu/style/index.css");
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_css__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var _tooltip_style_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../tooltip/style/css */ "../../node_modules/antd/es/tooltip/style/css.js");
  
  
  // style dependencies
  
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/menu/style/index.css":
  /*!***************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/menu/style/index.css ***!
    \***************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  
  var content = __webpack_require__(/*! !../../../../css-loader!./index.css */ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/menu/style/index.css");
  
  if(typeof content === 'string') content = [[module.i, content, '']];
  
  var transform;
  var insertInto;
  
  
  
  var options = {"hmr":true}
  
  options.transform = transform
  options.insertInto = undefined;
  
  var update = __webpack_require__(/*! ../../../../style-loader/lib/addStyles.js */ "../../node_modules/style-loader/lib/addStyles.js")(content, options);
  
  if(content.locals) module.exports = content.locals;
  
  if(false) {}
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/progress/index.js":
  /*!************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/progress/index.js ***!
    \************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _progress__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./progress */ "../../node_modules/antd/es/progress/progress.js");
  
  /* harmony default export */ __webpack_exports__["default"] = (_progress__WEBPACK_IMPORTED_MODULE_0__["default"]);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/progress/progress.js":
  /*!***************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/progress/progress.js ***!
    \***************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "../../node_modules/babel-runtime/helpers/defineProperty.js");
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../icon */ "../../node_modules/antd/es/icon/index.js");
  /* harmony import */ var rc_progress__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! rc-progress */ "../../node_modules/rc-progress/es/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_10__);
  
  
  
  
  
  
  var __rest = undefined && undefined.__rest || function (s, e) {
      var t = {};
      for (var p in s) {
          if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
      }if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
          if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
      }return t;
  };
  
  
  
  
  
  var statusColorMap = {
      normal: '#108ee9',
      exception: '#ff5500',
      success: '#87d068'
  };
  var validProgress = function validProgress(progress) {
      if (!progress || progress < 0) {
          return 0;
      } else if (progress > 100) {
          return 100;
      }
      return progress;
  };
  
  var Progress = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(Progress, _React$Component);
  
      function Progress() {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, Progress);
  
          return babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (Progress.__proto__ || Object.getPrototypeOf(Progress)).apply(this, arguments));
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(Progress, [{
          key: 'render',
          value: function render() {
              var _classNames;
  
              var props = this.props;
  
              var prefixCls = props.prefixCls,
                  className = props.className,
                  _props$percent = props.percent,
                  percent = _props$percent === undefined ? 0 : _props$percent,
                  status = props.status,
                  format = props.format,
                  trailColor = props.trailColor,
                  size = props.size,
                  successPercent = props.successPercent,
                  type = props.type,
                  strokeWidth = props.strokeWidth,
                  width = props.width,
                  showInfo = props.showInfo,
                  _props$gapDegree = props.gapDegree,
                  gapDegree = _props$gapDegree === undefined ? 0 : _props$gapDegree,
                  gapPosition = props.gapPosition,
                  strokeColor = props.strokeColor,
                  _props$strokeLinecap = props.strokeLinecap,
                  strokeLinecap = _props$strokeLinecap === undefined ? 'round' : _props$strokeLinecap,
                  restProps = __rest(props, ["prefixCls", "className", "percent", "status", "format", "trailColor", "size", "successPercent", "type", "strokeWidth", "width", "showInfo", "gapDegree", "gapPosition", "strokeColor", "strokeLinecap"]);
  
              var progressStatus = parseInt(successPercent ? successPercent.toString() : percent.toString(), 10) >= 100 && !('status' in props) ? 'success' : status || 'normal';
              var progressInfo = void 0;
              var progress = void 0;
              var textFormatter = format || function (percentNumber) {
                  return percentNumber + '%';
              };
              if (showInfo) {
                  var text = void 0;
                  var iconType = type === 'circle' || type === 'dashboard' ? '' : '-circle';
                  if (format || progressStatus !== 'exception' && progressStatus !== 'success') {
                      text = textFormatter(validProgress(percent), validProgress(successPercent));
                  } else if (progressStatus === 'exception') {
                      text = react__WEBPACK_IMPORTED_MODULE_7__["createElement"](_icon__WEBPACK_IMPORTED_MODULE_8__["default"], { type: 'close' + iconType, theme: type === 'line' ? 'filled' : 'outlined' });
                  } else if (progressStatus === 'success') {
                      text = react__WEBPACK_IMPORTED_MODULE_7__["createElement"](_icon__WEBPACK_IMPORTED_MODULE_8__["default"], { type: 'check' + iconType, theme: type === 'line' ? 'filled' : 'outlined' });
                  }
                  progressInfo = react__WEBPACK_IMPORTED_MODULE_7__["createElement"](
                      'span',
                      { className: prefixCls + '-text' },
                      text
                  );
              }
              if (type === 'line') {
                  var percentStyle = {
                      width: validProgress(percent) + '%',
                      height: strokeWidth || (size === 'small' ? 6 : 8),
                      background: strokeColor,
                      borderRadius: strokeLinecap === 'square' ? 0 : '100px'
                  };
                  var successPercentStyle = {
                      width: validProgress(successPercent) + '%',
                      height: strokeWidth || (size === 'small' ? 6 : 8),
                      borderRadius: strokeLinecap === 'square' ? 0 : '100px'
                  };
                  var successSegment = successPercent !== undefined ? react__WEBPACK_IMPORTED_MODULE_7__["createElement"]('div', { className: prefixCls + '-success-bg', style: successPercentStyle }) : null;
                  progress = react__WEBPACK_IMPORTED_MODULE_7__["createElement"](
                      'div',
                      null,
                      react__WEBPACK_IMPORTED_MODULE_7__["createElement"](
                          'div',
                          { className: prefixCls + '-outer' },
                          react__WEBPACK_IMPORTED_MODULE_7__["createElement"](
                              'div',
                              { className: prefixCls + '-inner' },
                              react__WEBPACK_IMPORTED_MODULE_7__["createElement"]('div', { className: prefixCls + '-bg', style: percentStyle }),
                              successSegment
                          )
                      ),
                      progressInfo
                  );
              } else if (type === 'circle' || type === 'dashboard') {
                  var circleSize = width || 120;
                  var circleStyle = {
                      width: circleSize,
                      height: circleSize,
                      fontSize: circleSize * 0.15 + 6
                  };
                  var circleWidth = strokeWidth || 6;
                  var gapPos = gapPosition || type === 'dashboard' && 'bottom' || 'top';
                  var gapDeg = gapDegree || type === 'dashboard' && 75;
                  progress = react__WEBPACK_IMPORTED_MODULE_7__["createElement"](
                      'div',
                      { className: prefixCls + '-inner', style: circleStyle },
                      react__WEBPACK_IMPORTED_MODULE_7__["createElement"](rc_progress__WEBPACK_IMPORTED_MODULE_9__["Circle"], { percent: validProgress(percent), strokeWidth: circleWidth, trailWidth: circleWidth, strokeColor: statusColorMap[progressStatus], strokeLinecap: strokeLinecap, trailColor: trailColor, prefixCls: prefixCls, gapDegree: gapDeg, gapPosition: gapPos }),
                      progressInfo
                  );
              }
              var classString = classnames__WEBPACK_IMPORTED_MODULE_10___default()(prefixCls, (_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-' + (type === 'dashboard' && 'circle' || type), true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-status-' + progressStatus, true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-show-info', showInfo), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-' + size, size), _classNames), className);
              return react__WEBPACK_IMPORTED_MODULE_7__["createElement"](
                  'div',
                  babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, restProps, { className: classString }),
                  progress
              );
          }
      }]);
  
      return Progress;
  }(react__WEBPACK_IMPORTED_MODULE_7__["Component"]);
  
  /* harmony default export */ __webpack_exports__["default"] = (Progress);
  
  Progress.defaultProps = {
      type: 'line',
      percent: 0,
      showInfo: true,
      trailColor: '#f3f3f3',
      prefixCls: 'ant-progress',
      size: 'default'
  };
  Progress.propTypes = {
      status: prop_types__WEBPACK_IMPORTED_MODULE_6__["oneOf"](['normal', 'exception', 'active', 'success']),
      type: prop_types__WEBPACK_IMPORTED_MODULE_6__["oneOf"](['line', 'circle', 'dashboard']),
      showInfo: prop_types__WEBPACK_IMPORTED_MODULE_6__["bool"],
      percent: prop_types__WEBPACK_IMPORTED_MODULE_6__["number"],
      width: prop_types__WEBPACK_IMPORTED_MODULE_6__["number"],
      strokeWidth: prop_types__WEBPACK_IMPORTED_MODULE_6__["number"],
      strokeLinecap: prop_types__WEBPACK_IMPORTED_MODULE_6__["oneOf"](['round', 'square']),
      strokeColor: prop_types__WEBPACK_IMPORTED_MODULE_6__["string"],
      trailColor: prop_types__WEBPACK_IMPORTED_MODULE_6__["string"],
      format: prop_types__WEBPACK_IMPORTED_MODULE_6__["func"],
      gapDegree: prop_types__WEBPACK_IMPORTED_MODULE_6__["number"],
      'default': prop_types__WEBPACK_IMPORTED_MODULE_6__["oneOf"](['default', 'small'])
  };
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/progress/style/css.js":
  /*!****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/progress/style/css.js ***!
    \****************************************************************************************/
  /*! no exports provided */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../style/index.css */ "../../node_modules/antd/es/style/index.css");
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_css__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.css */ "../../node_modules/antd/es/progress/style/index.css");
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_css__WEBPACK_IMPORTED_MODULE_1__);
  
  
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/progress/style/index.css":
  /*!*******************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/progress/style/index.css ***!
    \*******************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  
  var content = __webpack_require__(/*! !../../../../css-loader!./index.css */ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/progress/style/index.css");
  
  if(typeof content === 'string') content = [[module.i, content, '']];
  
  var transform;
  var insertInto;
  
  
  
  var options = {"hmr":true}
  
  options.transform = transform
  options.insertInto = undefined;
  
  var update = __webpack_require__(/*! ../../../../style-loader/lib/addStyles.js */ "../../node_modules/style-loader/lib/addStyles.js")(content, options);
  
  if(content.locals) module.exports = content.locals;
  
  if(false) {}
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/switch/index.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/switch/index.js ***!
    \**********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "../../node_modules/babel-runtime/helpers/defineProperty.js");
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var rc_switch__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! rc-switch */ "../../node_modules/rc-switch/es/index.js");
  /* harmony import */ var rc_switch__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(rc_switch__WEBPACK_IMPORTED_MODULE_8__);
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__);
  /* harmony import */ var omit_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! omit.js */ "../../node_modules/omit.js/es/index.js");
  /* harmony import */ var _util_wave__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../_util/wave */ "../../node_modules/antd/es/_util/wave.js");
  /* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../icon */ "../../node_modules/antd/es/icon/index.js");
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  var Switch = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(Switch, _React$Component);
  
      function Switch() {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, Switch);
  
          var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (Switch.__proto__ || Object.getPrototypeOf(Switch)).apply(this, arguments));
  
          _this.saveSwitch = function (node) {
              _this.rcSwitch = node;
          };
          return _this;
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(Switch, [{
          key: 'focus',
          value: function focus() {
              this.rcSwitch.focus();
          }
      }, {
          key: 'blur',
          value: function blur() {
              this.rcSwitch.blur();
          }
      }, {
          key: 'render',
          value: function render() {
              var _classNames;
  
              var _props = this.props,
                  prefixCls = _props.prefixCls,
                  size = _props.size,
                  loading = _props.loading,
                  _props$className = _props.className,
                  className = _props$className === undefined ? '' : _props$className;
  
              var classes = classnames__WEBPACK_IMPORTED_MODULE_9___default()(className, (_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-small', size === 'small'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-loading', loading), _classNames));
              var loadingIcon = loading ? react__WEBPACK_IMPORTED_MODULE_6__["createElement"](_icon__WEBPACK_IMPORTED_MODULE_12__["default"], { type: 'loading', className: prefixCls + '-loading-icon' }) : null;
              return react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                  _util_wave__WEBPACK_IMPORTED_MODULE_11__["default"],
                  { insertExtraNode: true },
                  react__WEBPACK_IMPORTED_MODULE_6__["createElement"](rc_switch__WEBPACK_IMPORTED_MODULE_8___default.a, babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, Object(omit_js__WEBPACK_IMPORTED_MODULE_10__["default"])(this.props, ['loading']), { className: classes, ref: this.saveSwitch, loadingIcon: loadingIcon }))
              );
          }
      }]);
  
      return Switch;
  }(react__WEBPACK_IMPORTED_MODULE_6__["Component"]);
  
  /* harmony default export */ __webpack_exports__["default"] = (Switch);
  
  Switch.defaultProps = {
      prefixCls: 'ant-switch'
  };
  Switch.propTypes = {
      prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_7__["string"],
      // HACK: https://github.com/ant-design/ant-design/issues/5368
      // size=default and size=large are the same
      size: prop_types__WEBPACK_IMPORTED_MODULE_7__["oneOf"](['small', 'default', 'large']),
      className: prop_types__WEBPACK_IMPORTED_MODULE_7__["string"]
  };
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/switch/style/css.js":
  /*!**************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/switch/style/css.js ***!
    \**************************************************************************************/
  /*! no exports provided */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../style/index.css */ "../../node_modules/antd/es/style/index.css");
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_css__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.css */ "../../node_modules/antd/es/switch/style/index.css");
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_css__WEBPACK_IMPORTED_MODULE_1__);
  
  
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/switch/style/index.css":
  /*!*****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/switch/style/index.css ***!
    \*****************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  
  var content = __webpack_require__(/*! !../../../../css-loader!./index.css */ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/switch/style/index.css");
  
  if(typeof content === 'string') content = [[module.i, content, '']];
  
  var transform;
  var insertInto;
  
  
  
  var options = {"hmr":true}
  
  options.transform = transform
  options.insertInto = undefined;
  
  var update = __webpack_require__(/*! ../../../../style-loader/lib/addStyles.js */ "../../node_modules/style-loader/lib/addStyles.js")(content, options);
  
  if(content.locals) module.exports = content.locals;
  
  if(false) {}
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/time-picker/locale/en_US.js":
  /*!**********************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/time-picker/locale/en_US.js ***!
    \**********************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  var locale = {
      placeholder: 'Select time'
  };
  /* harmony default export */ __webpack_exports__["default"] = (locale);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/tooltip/index.js":
  /*!***********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/tooltip/index.js ***!
    \***********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "../../node_modules/babel-runtime/helpers/defineProperty.js");
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var react_lifecycles_compat__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-lifecycles-compat */ "../../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js");
  /* harmony import */ var rc_tooltip__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! rc-tooltip */ "../../node_modules/rc-tooltip/es/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__);
  /* harmony import */ var _placements__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./placements */ "../../node_modules/antd/es/tooltip/placements.js");
  
  
  
  
  
  
  
  
  
  
  
  
  var splitObject = function splitObject(obj, keys) {
      var picked = {};
      var omitted = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default()({}, obj);
      keys.forEach(function (key) {
          if (obj && key in obj) {
              picked[key] = obj[key];
              delete omitted[key];
          }
      });
      return { picked: picked, omitted: omitted };
  };
  
  var Tooltip = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Tooltip, _React$Component);
  
      function Tooltip(props) {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, Tooltip);
  
          var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (Tooltip.__proto__ || Object.getPrototypeOf(Tooltip)).call(this, props));
  
          _this.onVisibleChange = function (visible) {
              var onVisibleChange = _this.props.onVisibleChange;
  
              if (!('visible' in _this.props)) {
                  _this.setState({ visible: _this.isNoTitle() ? false : visible });
              }
              if (onVisibleChange && !_this.isNoTitle()) {
                  onVisibleChange(visible);
              }
          };
          // 动态设置动画点
          _this.onPopupAlign = function (domNode, align) {
              var placements = _this.getPlacements();
              // 当前返回的位置
              var placement = Object.keys(placements).filter(function (key) {
                  return placements[key].points[0] === align.points[0] && placements[key].points[1] === align.points[1];
              })[0];
              if (!placement) {
                  return;
              }
              // 根据当前坐标设置动画点
              var rect = domNode.getBoundingClientRect();
              var transformOrigin = {
                  top: '50%',
                  left: '50%'
              };
              if (placement.indexOf('top') >= 0 || placement.indexOf('Bottom') >= 0) {
                  transformOrigin.top = rect.height - align.offset[1] + 'px';
              } else if (placement.indexOf('Top') >= 0 || placement.indexOf('bottom') >= 0) {
                  transformOrigin.top = -align.offset[1] + 'px';
              }
              if (placement.indexOf('left') >= 0 || placement.indexOf('Right') >= 0) {
                  transformOrigin.left = rect.width - align.offset[0] + 'px';
              } else if (placement.indexOf('right') >= 0 || placement.indexOf('Left') >= 0) {
                  transformOrigin.left = -align.offset[0] + 'px';
              }
              domNode.style.transformOrigin = transformOrigin.left + ' ' + transformOrigin.top;
          };
          _this.saveTooltip = function (node) {
              _this.tooltip = node;
          };
          _this.state = {
              visible: !!props.visible || !!props.defaultVisible
          };
          return _this;
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(Tooltip, [{
          key: 'getPopupDomNode',
          value: function getPopupDomNode() {
              return this.tooltip.getPopupDomNode();
          }
      }, {
          key: 'getPlacements',
          value: function getPlacements() {
              var _props = this.props,
                  builtinPlacements = _props.builtinPlacements,
                  arrowPointAtCenter = _props.arrowPointAtCenter,
                  autoAdjustOverflow = _props.autoAdjustOverflow;
  
              return builtinPlacements || Object(_placements__WEBPACK_IMPORTED_MODULE_10__["default"])({
                  arrowPointAtCenter: arrowPointAtCenter,
                  verticalArrowShift: 8,
                  autoAdjustOverflow: autoAdjustOverflow
              });
          }
      }, {
          key: 'isHoverTrigger',
          value: function isHoverTrigger() {
              var trigger = this.props.trigger;
  
              if (!trigger || trigger === 'hover') {
                  return true;
              }
              if (Array.isArray(trigger)) {
                  return trigger.indexOf('hover') >= 0;
              }
              return false;
          }
          // Fix Tooltip won't hide at disabled button
          // mouse events don't trigger at disabled button in Chrome
          // https://github.com/react-component/tooltip/issues/18
  
      }, {
          key: 'getDisabledCompatibleChildren',
          value: function getDisabledCompatibleChildren(element) {
              if ((element.type.__ANT_BUTTON || element.type === 'button') && element.props.disabled && this.isHoverTrigger()) {
                  // Pick some layout related style properties up to span
                  // Prevent layout bugs like https://github.com/ant-design/ant-design/issues/5254
                  var _splitObject = splitObject(element.props.style, ['position', 'left', 'right', 'top', 'bottom', 'float', 'display', 'zIndex']),
                      picked = _splitObject.picked,
                      omitted = _splitObject.omitted;
  
                  var spanStyle = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default()({ display: 'inline-block' }, picked, { cursor: 'not-allowed' });
                  var buttonStyle = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default()({}, omitted, { pointerEvents: 'none' });
                  var child = Object(react__WEBPACK_IMPORTED_MODULE_6__["cloneElement"])(element, {
                      style: buttonStyle,
                      className: null
                  });
                  return react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                      'span',
                      { style: spanStyle, className: element.props.className },
                      child
                  );
              }
              return element;
          }
      }, {
          key: 'isNoTitle',
          value: function isNoTitle() {
              var _props2 = this.props,
                  title = _props2.title,
                  overlay = _props2.overlay;
  
              return !title && !overlay; // overlay for old version compatibility
          }
      }, {
          key: 'render',
          value: function render() {
              var props = this.props,
                  state = this.state;
              var prefixCls = props.prefixCls,
                  title = props.title,
                  overlay = props.overlay,
                  openClassName = props.openClassName,
                  getPopupContainer = props.getPopupContainer,
                  getTooltipContainer = props.getTooltipContainer;
  
              var children = props.children;
              var visible = state.visible;
              // Hide tooltip when there is no title
              if (!('visible' in props) && this.isNoTitle()) {
                  visible = false;
              }
              var child = this.getDisabledCompatibleChildren(react__WEBPACK_IMPORTED_MODULE_6__["isValidElement"](children) ? children : react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                  'span',
                  null,
                  children
              ));
              var childProps = child.props;
              var childCls = classnames__WEBPACK_IMPORTED_MODULE_9___default()(childProps.className, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, openClassName || prefixCls + '-open', true));
              return react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                  rc_tooltip__WEBPACK_IMPORTED_MODULE_8__["default"],
                  babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_5___default()({}, this.props, { getTooltipContainer: getPopupContainer || getTooltipContainer, ref: this.saveTooltip, builtinPlacements: this.getPlacements(), overlay: overlay || title || '', visible: visible, onVisibleChange: this.onVisibleChange, onPopupAlign: this.onPopupAlign }),
                  visible ? Object(react__WEBPACK_IMPORTED_MODULE_6__["cloneElement"])(child, { className: childCls }) : child
              );
          }
      }], [{
          key: 'getDerivedStateFromProps',
          value: function getDerivedStateFromProps(nextProps) {
              if ('visible' in nextProps) {
                  return { visible: nextProps.visible };
              }
              return null;
          }
      }]);
  
      return Tooltip;
  }(react__WEBPACK_IMPORTED_MODULE_6__["Component"]);
  
  Tooltip.defaultProps = {
      prefixCls: 'ant-tooltip',
      placement: 'top',
      transitionName: 'zoom-big-fast',
      mouseEnterDelay: 0.1,
      mouseLeaveDelay: 0.1,
      arrowPointAtCenter: false,
      autoAdjustOverflow: true
  };
  Object(react_lifecycles_compat__WEBPACK_IMPORTED_MODULE_7__["polyfill"])(Tooltip);
  /* harmony default export */ __webpack_exports__["default"] = (Tooltip);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/tooltip/placements.js":
  /*!****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/tooltip/placements.js ***!
    \****************************************************************************************/
  /*! exports provided: getOverflowOptions, default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getOverflowOptions", function() { return getOverflowOptions; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return getPlacements; });
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var rc_tooltip_es_placements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rc-tooltip/es/placements */ "../../node_modules/rc-tooltip/es/placements.js");
  
  
  var autoAdjustOverflowEnabled = {
      adjustX: 1,
      adjustY: 1
  };
  var autoAdjustOverflowDisabled = {
      adjustX: 0,
      adjustY: 0
  };
  var targetOffset = [0, 0];
  function getOverflowOptions(autoAdjustOverflow) {
      if (typeof autoAdjustOverflow === 'boolean') {
          return autoAdjustOverflow ? autoAdjustOverflowEnabled : autoAdjustOverflowDisabled;
      }
      return babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, autoAdjustOverflowDisabled, autoAdjustOverflow);
  }
  function getPlacements() {
      var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var _config$arrowWidth = config.arrowWidth,
          arrowWidth = _config$arrowWidth === undefined ? 5 : _config$arrowWidth,
          _config$horizontalArr = config.horizontalArrowShift,
          horizontalArrowShift = _config$horizontalArr === undefined ? 16 : _config$horizontalArr,
          _config$verticalArrow = config.verticalArrowShift,
          verticalArrowShift = _config$verticalArrow === undefined ? 12 : _config$verticalArrow,
          _config$autoAdjustOve = config.autoAdjustOverflow,
          autoAdjustOverflow = _config$autoAdjustOve === undefined ? true : _config$autoAdjustOve;
  
      var placementMap = {
          left: {
              points: ['cr', 'cl'],
              offset: [-4, 0]
          },
          right: {
              points: ['cl', 'cr'],
              offset: [4, 0]
          },
          top: {
              points: ['bc', 'tc'],
              offset: [0, -4]
          },
          bottom: {
              points: ['tc', 'bc'],
              offset: [0, 4]
          },
          topLeft: {
              points: ['bl', 'tc'],
              offset: [-(horizontalArrowShift + arrowWidth), -4]
          },
          leftTop: {
              points: ['tr', 'cl'],
              offset: [-4, -(verticalArrowShift + arrowWidth)]
          },
          topRight: {
              points: ['br', 'tc'],
              offset: [horizontalArrowShift + arrowWidth, -4]
          },
          rightTop: {
              points: ['tl', 'cr'],
              offset: [4, -(verticalArrowShift + arrowWidth)]
          },
          bottomRight: {
              points: ['tr', 'bc'],
              offset: [horizontalArrowShift + arrowWidth, 4]
          },
          rightBottom: {
              points: ['bl', 'cr'],
              offset: [4, verticalArrowShift + arrowWidth]
          },
          bottomLeft: {
              points: ['tl', 'bc'],
              offset: [-(horizontalArrowShift + arrowWidth), 4]
          },
          leftBottom: {
              points: ['br', 'cl'],
              offset: [-4, verticalArrowShift + arrowWidth]
          }
      };
      Object.keys(placementMap).forEach(function (key) {
          placementMap[key] = config.arrowPointAtCenter ? babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, placementMap[key], { overflow: getOverflowOptions(autoAdjustOverflow), targetOffset: targetOffset }) : babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, rc_tooltip_es_placements__WEBPACK_IMPORTED_MODULE_1__["placements"][key], { overflow: getOverflowOptions(autoAdjustOverflow) });
      });
      return placementMap;
  }
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/tooltip/style/css.js":
  /*!***************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/tooltip/style/css.js ***!
    \***************************************************************************************/
  /*! no exports provided */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../style/index.css */ "../../node_modules/antd/es/style/index.css");
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_css__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.css */ "../../node_modules/antd/es/tooltip/style/index.css");
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_css__WEBPACK_IMPORTED_MODULE_1__);
  
  
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/tooltip/style/index.css":
  /*!******************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/tooltip/style/index.css ***!
    \******************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  
  var content = __webpack_require__(/*! !../../../../css-loader!./index.css */ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/tooltip/style/index.css");
  
  if(typeof content === 'string') content = [[module.i, content, '']];
  
  var transform;
  var insertInto;
  
  
  
  var options = {"hmr":true}
  
  options.transform = transform
  options.insertInto = undefined;
  
  var update = __webpack_require__(/*! ../../../../style-loader/lib/addStyles.js */ "../../node_modules/style-loader/lib/addStyles.js")(content, options);
  
  if(content.locals) module.exports = content.locals;
  
  if(false) {}
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/upload/Dragger.js":
  /*!************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/upload/Dragger.js ***!
    \************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var _Upload__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Upload */ "../../node_modules/antd/es/upload/Upload.js");
  
  
  
  
  
  
  
  
  var Dragger = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Dragger, _React$Component);
  
      function Dragger() {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, Dragger);
  
          return babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (Dragger.__proto__ || Object.getPrototypeOf(Dragger)).apply(this, arguments));
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(Dragger, [{
          key: 'render',
          value: function render() {
              var props = this.props;
  
              return react__WEBPACK_IMPORTED_MODULE_5__["createElement"](_Upload__WEBPACK_IMPORTED_MODULE_6__["default"], babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, { type: 'drag', style: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props.style, { height: props.height }) }));
          }
      }]);
  
      return Dragger;
  }(react__WEBPACK_IMPORTED_MODULE_5__["Component"]);
  
  /* harmony default export */ __webpack_exports__["default"] = (Dragger);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/upload/Upload.js":
  /*!***********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/upload/Upload.js ***!
    \***********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "../../node_modules/babel-runtime/helpers/defineProperty.js");
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var react_lifecycles_compat__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-lifecycles-compat */ "../../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js");
  /* harmony import */ var rc_upload__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! rc-upload */ "../../node_modules/rc-upload/es/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__);
  /* harmony import */ var lodash_uniqBy__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! lodash/uniqBy */ "../../node_modules/lodash/uniqBy.js");
  /* harmony import */ var lodash_uniqBy__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqBy__WEBPACK_IMPORTED_MODULE_10__);
  /* harmony import */ var _locale_provider_LocaleReceiver__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../locale-provider/LocaleReceiver */ "../../node_modules/antd/es/locale-provider/LocaleReceiver.js");
  /* harmony import */ var _locale_provider_default__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../locale-provider/default */ "../../node_modules/antd/es/locale-provider/default.js");
  /* harmony import */ var _UploadList__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./UploadList */ "../../node_modules/antd/es/upload/UploadList.js");
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./utils */ "../../node_modules/antd/es/upload/utils.js");
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  var Upload = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(Upload, _React$Component);
  
      function Upload(props) {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, Upload);
  
          var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (Upload.__proto__ || Object.getPrototypeOf(Upload)).call(this, props));
  
          _this.onStart = function (file) {
              var targetItem = Object(_utils__WEBPACK_IMPORTED_MODULE_14__["fileToObject"])(file);
              targetItem.status = 'uploading';
              var nextFileList = _this.state.fileList.concat();
              var fileIndex = nextFileList.findIndex(function (_ref) {
                  var uid = _ref.uid;
                  return uid === targetItem.uid;
              });
              if (fileIndex === -1) {
                  nextFileList.push(targetItem);
              } else {
                  nextFileList[fileIndex] = targetItem;
              }
              _this.onChange({
                  file: targetItem,
                  fileList: nextFileList
              });
              // fix ie progress
              if (!window.FormData) {
                  _this.autoUpdateProgress(0, targetItem);
              }
          };
          _this.onSuccess = function (response, file) {
              _this.clearProgressTimer();
              try {
                  if (typeof response === 'string') {
                      response = JSON.parse(response);
                  }
              } catch (e) {/* do nothing */
              }
              var fileList = _this.state.fileList;
              var targetItem = Object(_utils__WEBPACK_IMPORTED_MODULE_14__["getFileItem"])(file, fileList);
              // removed
              if (!targetItem) {
                  return;
              }
              targetItem.status = 'done';
              targetItem.response = response;
              _this.onChange({
                  file: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, targetItem),
                  fileList: fileList
              });
          };
          _this.onProgress = function (e, file) {
              var fileList = _this.state.fileList;
              var targetItem = Object(_utils__WEBPACK_IMPORTED_MODULE_14__["getFileItem"])(file, fileList);
              // removed
              if (!targetItem) {
                  return;
              }
              targetItem.percent = e.percent;
              _this.onChange({
                  event: e,
                  file: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, targetItem),
                  fileList: _this.state.fileList
              });
          };
          _this.onError = function (error, response, file) {
              _this.clearProgressTimer();
              var fileList = _this.state.fileList;
              var targetItem = Object(_utils__WEBPACK_IMPORTED_MODULE_14__["getFileItem"])(file, fileList);
              // removed
              if (!targetItem) {
                  return;
              }
              targetItem.error = error;
              targetItem.response = response;
              targetItem.status = 'error';
              _this.onChange({
                  file: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, targetItem),
                  fileList: fileList
              });
          };
          _this.handleManualRemove = function (file) {
              _this.upload.abort(file);
              file.status = 'removed'; // eslint-disable-line
              _this.handleRemove(file);
          };
          _this.onChange = function (info) {
              if (!('fileList' in _this.props)) {
                  _this.setState({ fileList: info.fileList });
              }
              var onChange = _this.props.onChange;
  
              if (onChange) {
                  onChange(info);
              }
          };
          _this.onFileDrop = function (e) {
              _this.setState({
                  dragState: e.type
              });
          };
          _this.beforeUpload = function (file, fileList) {
              if (!_this.props.beforeUpload) {
                  return true;
              }
              var result = _this.props.beforeUpload(file, fileList);
              if (result === false) {
                  _this.onChange({
                      file: file,
                      fileList: lodash_uniqBy__WEBPACK_IMPORTED_MODULE_10___default()(_this.state.fileList.concat(fileList.map(_utils__WEBPACK_IMPORTED_MODULE_14__["fileToObject"])), function (item) {
                          return item.uid;
                      })
                  });
                  return false;
              } else if (result && result.then) {
                  return result;
              }
              return true;
          };
          _this.saveUpload = function (node) {
              _this.upload = node;
          };
          _this.renderUploadList = function (locale) {
              var _this$props = _this.props,
                  showUploadList = _this$props.showUploadList,
                  listType = _this$props.listType,
                  onPreview = _this$props.onPreview;
              var showRemoveIcon = showUploadList.showRemoveIcon,
                  showPreviewIcon = showUploadList.showPreviewIcon;
  
              return react__WEBPACK_IMPORTED_MODULE_6__["createElement"](_UploadList__WEBPACK_IMPORTED_MODULE_13__["default"], { listType: listType, items: _this.state.fileList, onPreview: onPreview, onRemove: _this.handleManualRemove, showRemoveIcon: showRemoveIcon, showPreviewIcon: showPreviewIcon, locale: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, locale, _this.props.locale) });
          };
          _this.state = {
              fileList: props.fileList || props.defaultFileList || [],
              dragState: 'drop'
          };
          return _this;
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(Upload, [{
          key: 'componentWillUnmount',
          value: function componentWillUnmount() {
              this.clearProgressTimer();
          }
      }, {
          key: 'autoUpdateProgress',
          value: function autoUpdateProgress(_, file) {
              var _this2 = this;
  
              var getPercent = Object(_utils__WEBPACK_IMPORTED_MODULE_14__["genPercentAdd"])();
              var curPercent = 0;
              this.clearProgressTimer();
              this.progressTimer = setInterval(function () {
                  curPercent = getPercent(curPercent);
                  _this2.onProgress({
                      percent: curPercent * 100
                  }, file);
              }, 200);
          }
      }, {
          key: 'handleRemove',
          value: function handleRemove(file) {
              var _this3 = this;
  
              var onRemove = this.props.onRemove;
  
              Promise.resolve(typeof onRemove === 'function' ? onRemove(file) : onRemove).then(function (ret) {
                  // Prevent removing file
                  if (ret === false) {
                      return;
                  }
                  var removedFileList = Object(_utils__WEBPACK_IMPORTED_MODULE_14__["removeFileItem"])(file, _this3.state.fileList);
                  if (removedFileList) {
                      _this3.onChange({
                          file: file,
                          fileList: removedFileList
                      });
                  }
              });
          }
      }, {
          key: 'clearProgressTimer',
          value: function clearProgressTimer() {
              clearInterval(this.progressTimer);
          }
      }, {
          key: 'render',
          value: function render() {
              var _classNames2;
  
              var _props = this.props,
                  _props$prefixCls = _props.prefixCls,
                  prefixCls = _props$prefixCls === undefined ? '' : _props$prefixCls,
                  className = _props.className,
                  showUploadList = _props.showUploadList,
                  listType = _props.listType,
                  type = _props.type,
                  disabled = _props.disabled,
                  children = _props.children;
  
              var rcUploadProps = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({ onStart: this.onStart, onError: this.onError, onProgress: this.onProgress, onSuccess: this.onSuccess }, this.props, { beforeUpload: this.beforeUpload });
              delete rcUploadProps.className;
              var uploadList = showUploadList ? react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                  _locale_provider_LocaleReceiver__WEBPACK_IMPORTED_MODULE_11__["default"],
                  { componentName: 'Upload', defaultLocale: _locale_provider_default__WEBPACK_IMPORTED_MODULE_12__["default"].Upload },
                  this.renderUploadList
              ) : null;
              if (type === 'drag') {
                  var _classNames;
  
                  var dragCls = classnames__WEBPACK_IMPORTED_MODULE_9___default()(prefixCls, (_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls + '-drag', true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls + '-drag-uploading', this.state.fileList.some(function (file) {
                      return file.status === 'uploading';
                  })), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls + '-drag-hover', this.state.dragState === 'dragover'), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls + '-disabled', disabled), _classNames));
                  return react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                      'span',
                      { className: className },
                      react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                          'div',
                          { className: dragCls, onDrop: this.onFileDrop, onDragOver: this.onFileDrop, onDragLeave: this.onFileDrop },
                          react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                              rc_upload__WEBPACK_IMPORTED_MODULE_8__["default"],
                              babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, rcUploadProps, { ref: this.saveUpload, className: prefixCls + '-btn' }),
                              react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                                  'div',
                                  { className: prefixCls + '-drag-container' },
                                  children
                              )
                          )
                      ),
                      uploadList
                  );
              }
              var uploadButtonCls = classnames__WEBPACK_IMPORTED_MODULE_9___default()(prefixCls, (_classNames2 = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames2, prefixCls + '-select', true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames2, prefixCls + '-select-' + listType, true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames2, prefixCls + '-disabled', disabled), _classNames2));
              var uploadButton = react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                  'div',
                  { className: uploadButtonCls, style: { display: children ? '' : 'none' } },
                  react__WEBPACK_IMPORTED_MODULE_6__["createElement"](rc_upload__WEBPACK_IMPORTED_MODULE_8__["default"], babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, rcUploadProps, { ref: this.saveUpload }))
              );
              if (listType === 'picture-card') {
                  return react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                      'span',
                      { className: className },
                      uploadList,
                      uploadButton
                  );
              }
              return react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                  'span',
                  { className: className },
                  uploadButton,
                  uploadList
              );
          }
      }], [{
          key: 'getDerivedStateFromProps',
          value: function getDerivedStateFromProps(nextProps) {
              if ('fileList' in nextProps) {
                  return {
                      fileList: nextProps.fileList || []
                  };
              }
              return null;
          }
      }]);
  
      return Upload;
  }(react__WEBPACK_IMPORTED_MODULE_6__["Component"]);
  
  Upload.defaultProps = {
      prefixCls: 'ant-upload',
      type: 'select',
      multiple: false,
      action: '',
      data: {},
      accept: '',
      beforeUpload: _utils__WEBPACK_IMPORTED_MODULE_14__["T"],
      showUploadList: true,
      listType: 'text',
      className: '',
      disabled: false,
      supportServerRender: true
  };
  Object(react_lifecycles_compat__WEBPACK_IMPORTED_MODULE_7__["polyfill"])(Upload);
  /* harmony default export */ __webpack_exports__["default"] = (Upload);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/upload/UploadList.js":
  /*!***************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/upload/UploadList.js ***!
    \***************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "../../node_modules/babel-runtime/helpers/defineProperty.js");
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var rc_animate__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rc-animate */ "../../node_modules/rc-animate/es/Animate.js");
  /* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../icon */ "../../node_modules/antd/es/icon/index.js");
  /* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../tooltip */ "../../node_modules/antd/es/tooltip/index.js");
  /* harmony import */ var _progress__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../progress */ "../../node_modules/antd/es/progress/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_11__);
  
  
  
  
  
  
  
  
  
  
  
  
  // https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL
  var previewFile = function previewFile(file, callback) {
      var reader = new FileReader();
      reader.onloadend = function () {
          return callback(reader.result);
      };
      reader.readAsDataURL(file);
  };
  var extname = function extname(url) {
      if (!url) {
          return '';
      }
      var temp = url.split('/');
      var filename = temp[temp.length - 1];
      var filenameWithoutSuffix = filename.split(/#|\?/)[0];
      return (/\.[^./\\]*$/.exec(filenameWithoutSuffix) || [''])[0];
  };
  var imageTypes = ['image', 'webp', 'png', 'svg', 'gif', 'jpg', 'jpeg', 'bmp'];
  var isImageUrl = function isImageUrl(file) {
      if (imageTypes.includes(file.type)) {
          return true;
      }
      var url = file.thumbUrl || file.url;
      var extension = extname(url);
      if (/^data:image\//.test(url) || /(webp|svg|png|gif|jpg|jpeg|bmp)$/i.test(extension)) {
          return true;
      } else if (/^data:/.test(url)) {
          // other file types of base64
          return false;
      } else if (extension) {
          // other file types which have extension
          return false;
      }
      return true;
  };
  
  var UploadList = function (_React$Component) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(UploadList, _React$Component);
  
      function UploadList() {
          babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, UploadList);
  
          var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (UploadList.__proto__ || Object.getPrototypeOf(UploadList)).apply(this, arguments));
  
          _this.handleClose = function (file) {
              var onRemove = _this.props.onRemove;
  
              if (onRemove) {
                  onRemove(file);
              }
          };
          _this.handlePreview = function (file, e) {
              var onPreview = _this.props.onPreview;
  
              if (!onPreview) {
                  return;
              }
              e.preventDefault();
              return onPreview(file);
          };
          return _this;
      }
  
      babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(UploadList, [{
          key: 'componentDidUpdate',
          value: function componentDidUpdate() {
              var _this2 = this;
  
              if (this.props.listType !== 'picture' && this.props.listType !== 'picture-card') {
                  return;
              }
              (this.props.items || []).forEach(function (file) {
                  if (typeof document === 'undefined' || typeof window === 'undefined' || !window.FileReader || !window.File || !(file.originFileObj instanceof File) || file.thumbUrl !== undefined) {
                      return;
                  }
                  /*eslint-disable */
                  file.thumbUrl = '';
                  /*eslint-enable */
                  previewFile(file.originFileObj, function (previewDataUrl) {
                      /*eslint-disable */
                      file.thumbUrl = previewDataUrl;
                      /*eslint-enable */
                      _this2.forceUpdate();
                  });
              });
          }
      }, {
          key: 'render',
          value: function render() {
              var _this3 = this,
                  _classNames2;
  
              var _props = this.props,
                  prefixCls = _props.prefixCls,
                  _props$items = _props.items,
                  items = _props$items === undefined ? [] : _props$items,
                  listType = _props.listType,
                  showPreviewIcon = _props.showPreviewIcon,
                  showRemoveIcon = _props.showRemoveIcon,
                  locale = _props.locale;
  
              var list = items.map(function (file) {
                  var _classNames;
  
                  var progress = void 0;
                  var icon = react__WEBPACK_IMPORTED_MODULE_6__["createElement"](_icon__WEBPACK_IMPORTED_MODULE_8__["default"], { type: file.status === 'uploading' ? 'loading' : 'paper-clip' });
                  if (listType === 'picture' || listType === 'picture-card') {
                      if (listType === 'picture-card' && file.status === 'uploading') {
                          icon = react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                              'div',
                              { className: prefixCls + '-list-item-uploading-text' },
                              locale.uploading
                          );
                      } else if (!file.thumbUrl && !file.url) {
                          icon = react__WEBPACK_IMPORTED_MODULE_6__["createElement"](_icon__WEBPACK_IMPORTED_MODULE_8__["default"], { className: prefixCls + '-list-item-thumbnail', type: 'picture' });
                      } else {
                          var thumbnail = isImageUrl(file) ? react__WEBPACK_IMPORTED_MODULE_6__["createElement"]('img', { src: file.thumbUrl || file.url, alt: file.name }) : react__WEBPACK_IMPORTED_MODULE_6__["createElement"](_icon__WEBPACK_IMPORTED_MODULE_8__["default"], { type: 'file', className: prefixCls + '-list-item-icon' });
                          icon = react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                              'a',
                              { className: prefixCls + '-list-item-thumbnail', onClick: function onClick(e) {
                                      return _this3.handlePreview(file, e);
                                  }, href: file.url || file.thumbUrl, target: '_blank', rel: 'noopener noreferrer' },
                              thumbnail
                          );
                      }
                  }
                  if (file.status === 'uploading') {
                      // show loading icon if upload progress listener is disabled
                      var loadingProgress = 'percent' in file ? react__WEBPACK_IMPORTED_MODULE_6__["createElement"](_progress__WEBPACK_IMPORTED_MODULE_10__["default"], babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({ type: 'line' }, _this3.props.progressAttr, { percent: file.percent })) : null;
                      progress = react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                          'div',
                          { className: prefixCls + '-list-item-progress', key: 'progress' },
                          loadingProgress
                      );
                  }
                  var infoUploadingClass = classnames__WEBPACK_IMPORTED_MODULE_11___default()((_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls + '-list-item', true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls + '-list-item-' + file.status, true), _classNames));
                  var linkProps = typeof file.linkProps === 'string' ? JSON.parse(file.linkProps) : file.linkProps;
                  var preview = file.url ? react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                      'a',
                      babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({ target: '_blank', rel: 'noopener noreferrer', className: prefixCls + '-list-item-name', title: file.name }, linkProps, { href: file.url, onClick: function onClick(e) {
                              return _this3.handlePreview(file, e);
                          } }),
                      file.name
                  ) : react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                      'span',
                      { className: prefixCls + '-list-item-name', onClick: function onClick(e) {
                              return _this3.handlePreview(file, e);
                          }, title: file.name },
                      file.name
                  );
                  var style = {
                      pointerEvents: 'none',
                      opacity: 0.5
                  };
                  var previewIcon = showPreviewIcon ? react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                      'a',
                      { href: file.url || file.thumbUrl, target: '_blank', rel: 'noopener noreferrer', style: file.url || file.thumbUrl ? undefined : style, onClick: function onClick(e) {
                              return _this3.handlePreview(file, e);
                          }, title: locale.previewFile },
                      react__WEBPACK_IMPORTED_MODULE_6__["createElement"](_icon__WEBPACK_IMPORTED_MODULE_8__["default"], { type: 'eye-o' })
                  ) : null;
                  var removeIcon = showRemoveIcon ? react__WEBPACK_IMPORTED_MODULE_6__["createElement"](_icon__WEBPACK_IMPORTED_MODULE_8__["default"], { type: 'delete', title: locale.removeFile, onClick: function onClick() {
                          return _this3.handleClose(file);
                      } }) : null;
                  var removeIconClose = showRemoveIcon ? react__WEBPACK_IMPORTED_MODULE_6__["createElement"](_icon__WEBPACK_IMPORTED_MODULE_8__["default"], { type: 'close', title: locale.removeFile, onClick: function onClick() {
                          return _this3.handleClose(file);
                      } }) : null;
                  var actions = listType === 'picture-card' && file.status !== 'uploading' ? react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                      'span',
                      { className: prefixCls + '-list-item-actions' },
                      previewIcon,
                      removeIcon
                  ) : removeIconClose;
                  var message = void 0;
                  if (file.response && typeof file.response === 'string') {
                      message = file.response;
                  } else {
                      message = file.error && file.error.statusText || locale.uploadError;
                  }
                  var iconAndPreview = file.status === 'error' ? react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                      _tooltip__WEBPACK_IMPORTED_MODULE_9__["default"],
                      { title: message },
                      icon,
                      preview
                  ) : react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                      'span',
                      null,
                      icon,
                      preview
                  );
                  return react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                      'div',
                      { className: infoUploadingClass, key: file.uid },
                      react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                          'div',
                          { className: prefixCls + '-list-item-info' },
                          iconAndPreview
                      ),
                      actions,
                      react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                          rc_animate__WEBPACK_IMPORTED_MODULE_7__["default"],
                          { transitionName: 'fade', component: '' },
                          progress
                      )
                  );
              });
              var listClassNames = classnames__WEBPACK_IMPORTED_MODULE_11___default()((_classNames2 = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames2, prefixCls + '-list', true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames2, prefixCls + '-list-' + listType, true), _classNames2));
              var animationDirection = listType === 'picture-card' ? 'animate-inline' : 'animate';
              return react__WEBPACK_IMPORTED_MODULE_6__["createElement"](
                  rc_animate__WEBPACK_IMPORTED_MODULE_7__["default"],
                  { transitionName: prefixCls + '-' + animationDirection, component: 'div', className: listClassNames },
                  list
              );
          }
      }]);
  
      return UploadList;
  }(react__WEBPACK_IMPORTED_MODULE_6__["Component"]);
  
  /* harmony default export */ __webpack_exports__["default"] = (UploadList);
  
  UploadList.defaultProps = {
      listType: 'text',
      progressAttr: {
          strokeWidth: 2,
          showInfo: false
      },
      prefixCls: 'ant-upload',
      showRemoveIcon: true,
      showPreviewIcon: true
  };
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/upload/index.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/upload/index.js ***!
    \**********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _Upload__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Upload */ "../../node_modules/antd/es/upload/Upload.js");
  /* harmony import */ var _Dragger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Dragger */ "../../node_modules/antd/es/upload/Dragger.js");
  
  
  _Upload__WEBPACK_IMPORTED_MODULE_0__["default"].Dragger = _Dragger__WEBPACK_IMPORTED_MODULE_1__["default"];
  /* harmony default export */ __webpack_exports__["default"] = (_Upload__WEBPACK_IMPORTED_MODULE_0__["default"]);
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/upload/style/css.js":
  /*!**************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/upload/style/css.js ***!
    \**************************************************************************************/
  /*! no exports provided */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../style/index.css */ "../../node_modules/antd/es/style/index.css");
  /* harmony import */ var _style_index_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_css__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.css */ "../../node_modules/antd/es/upload/style/index.css");
  /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_css__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var _progress_style_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../progress/style/css */ "../../node_modules/antd/es/progress/style/css.js");
  /* harmony import */ var _tooltip_style_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../tooltip/style/css */ "../../node_modules/antd/es/tooltip/style/css.js");
  
  
  // style dependencies
  
  
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/upload/style/index.css":
  /*!*****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/upload/style/index.css ***!
    \*****************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  
  var content = __webpack_require__(/*! !../../../../css-loader!./index.css */ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/upload/style/index.css");
  
  if(typeof content === 'string') content = [[module.i, content, '']];
  
  var transform;
  var insertInto;
  
  
  
  var options = {"hmr":true}
  
  options.transform = transform
  options.insertInto = undefined;
  
  var update = __webpack_require__(/*! ../../../../style-loader/lib/addStyles.js */ "../../node_modules/style-loader/lib/addStyles.js")(content, options);
  
  if(content.locals) module.exports = content.locals;
  
  if(false) {}
  
  /***/ }),
  
  /***/ "../../node_modules/antd/es/upload/utils.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/upload/utils.js ***!
    \**********************************************************************************/
  /*! exports provided: T, fileToObject, genPercentAdd, getFileItem, removeFileItem */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "T", function() { return T; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fileToObject", function() { return fileToObject; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "genPercentAdd", function() { return genPercentAdd; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getFileItem", function() { return getFileItem; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeFileItem", function() { return removeFileItem; });
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  
  function T() {
      return true;
  }
  // Fix IE file.status problem
  // via coping a new Object
  function fileToObject(file) {
      return babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, file, { lastModified: file.lastModified, lastModifiedDate: file.lastModifiedDate, name: file.name, size: file.size, type: file.type, uid: file.uid, percent: 0, originFileObj: file });
  }
  /**
   * 生成Progress percent: 0.1 -> 0.98
   *   - for ie
   */
  function genPercentAdd() {
      var k = 0.1;
      var i = 0.01;
      var end = 0.98;
      return function (s) {
          var start = s;
          if (start >= end) {
              return start;
          }
          start += k;
          k = k - i;
          if (k < 0.001) {
              k = 0.001;
          }
          return start;
      };
  }
  function getFileItem(file, fileList) {
      var matchKey = file.uid !== undefined ? 'uid' : 'name';
      return fileList.filter(function (item) {
          return item[matchKey] === file[matchKey];
      })[0];
  }
  function removeFileItem(file, fileList) {
      var matchKey = file.uid !== undefined ? 'uid' : 'name';
      var removed = fileList.filter(function (item) {
          return item[matchKey] !== file[matchKey];
      });
      if (removed.length === fileList.length) {
          return null;
      }
      return removed;
  }
  
  /***/ }),
  
  /***/ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/button/style/index.css":
  /*!*******************************************************************************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/css-loader!/Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/button/style/index.css ***!
    \*******************************************************************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  exports = module.exports = __webpack_require__(/*! ../../../../css-loader/lib/css-base.js */ "../../node_modules/css-loader/lib/css-base.js")(false);
  // imports
  
  
  // module
  exports.push([module.i, "/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\n/* stylelint-disable no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\n.ant-btn {\n  line-height: 1.5;\n  display: inline-block;\n  font-weight: 400;\n  text-align: center;\n  -ms-touch-action: manipulation;\n      touch-action: manipulation;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  white-space: nowrap;\n  padding: 0 15px;\n  font-size: 14px;\n  border-radius: 4px;\n  height: 32px;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  position: relative;\n  -webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015);\n          box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015);\n  color: rgba(0, 0, 0, 0.65);\n  background-color: #fff;\n  border-color: #d9d9d9;\n}\n.ant-btn > .anticon {\n  line-height: 1;\n}\n.ant-btn,\n.ant-btn:active,\n.ant-btn:focus {\n  outline: 0;\n}\n.ant-btn:not([disabled]):hover {\n  text-decoration: none;\n}\n.ant-btn:not([disabled]):active {\n  outline: 0;\n  -webkit-transition: none;\n  transition: none;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.ant-btn.disabled,\n.ant-btn[disabled] {\n  cursor: not-allowed;\n}\n.ant-btn.disabled > *,\n.ant-btn[disabled] > * {\n  pointer-events: none;\n}\n.ant-btn-lg {\n  padding: 0 15px;\n  font-size: 16px;\n  border-radius: 4px;\n  height: 40px;\n}\n.ant-btn-sm {\n  padding: 0 7px;\n  font-size: 14px;\n  border-radius: 4px;\n  height: 24px;\n}\n.ant-btn > a:only-child {\n  color: currentColor;\n}\n.ant-btn > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn:hover,\n.ant-btn:focus {\n  color: #40a9ff;\n  background-color: #fff;\n  border-color: #40a9ff;\n}\n.ant-btn:hover > a:only-child,\n.ant-btn:focus > a:only-child {\n  color: currentColor;\n}\n.ant-btn:hover > a:only-child:after,\n.ant-btn:focus > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn:active,\n.ant-btn.active {\n  color: #096dd9;\n  background-color: #fff;\n  border-color: #096dd9;\n}\n.ant-btn:active > a:only-child,\n.ant-btn.active > a:only-child {\n  color: currentColor;\n}\n.ant-btn:active > a:only-child:after,\n.ant-btn.active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn.disabled,\n.ant-btn[disabled],\n.ant-btn.disabled:hover,\n.ant-btn[disabled]:hover,\n.ant-btn.disabled:focus,\n.ant-btn[disabled]:focus,\n.ant-btn.disabled:active,\n.ant-btn[disabled]:active,\n.ant-btn.disabled.active,\n.ant-btn[disabled].active {\n  color: rgba(0, 0, 0, 0.25);\n  background-color: #f5f5f5;\n  border-color: #d9d9d9;\n  text-shadow: none;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.ant-btn.disabled > a:only-child,\n.ant-btn[disabled] > a:only-child,\n.ant-btn.disabled:hover > a:only-child,\n.ant-btn[disabled]:hover > a:only-child,\n.ant-btn.disabled:focus > a:only-child,\n.ant-btn[disabled]:focus > a:only-child,\n.ant-btn.disabled:active > a:only-child,\n.ant-btn[disabled]:active > a:only-child,\n.ant-btn.disabled.active > a:only-child,\n.ant-btn[disabled].active > a:only-child {\n  color: currentColor;\n}\n.ant-btn.disabled > a:only-child:after,\n.ant-btn[disabled] > a:only-child:after,\n.ant-btn.disabled:hover > a:only-child:after,\n.ant-btn[disabled]:hover > a:only-child:after,\n.ant-btn.disabled:focus > a:only-child:after,\n.ant-btn[disabled]:focus > a:only-child:after,\n.ant-btn.disabled:active > a:only-child:after,\n.ant-btn[disabled]:active > a:only-child:after,\n.ant-btn.disabled.active > a:only-child:after,\n.ant-btn[disabled].active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn:hover,\n.ant-btn:focus,\n.ant-btn:active,\n.ant-btn.active {\n  background: #fff;\n  text-decoration: none;\n}\n.ant-btn > i,\n.ant-btn > span {\n  pointer-events: none;\n}\n.ant-btn-primary {\n  color: #fff;\n  background-color: #1890ff;\n  border-color: #1890ff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);\n  -webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);\n          box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);\n}\n.ant-btn-primary > a:only-child {\n  color: currentColor;\n}\n.ant-btn-primary > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-primary:hover,\n.ant-btn-primary:focus {\n  color: #fff;\n  background-color: #40a9ff;\n  border-color: #40a9ff;\n}\n.ant-btn-primary:hover > a:only-child,\n.ant-btn-primary:focus > a:only-child {\n  color: currentColor;\n}\n.ant-btn-primary:hover > a:only-child:after,\n.ant-btn-primary:focus > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-primary:active,\n.ant-btn-primary.active {\n  color: #fff;\n  background-color: #096dd9;\n  border-color: #096dd9;\n}\n.ant-btn-primary:active > a:only-child,\n.ant-btn-primary.active > a:only-child {\n  color: currentColor;\n}\n.ant-btn-primary:active > a:only-child:after,\n.ant-btn-primary.active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-primary.disabled,\n.ant-btn-primary[disabled],\n.ant-btn-primary.disabled:hover,\n.ant-btn-primary[disabled]:hover,\n.ant-btn-primary.disabled:focus,\n.ant-btn-primary[disabled]:focus,\n.ant-btn-primary.disabled:active,\n.ant-btn-primary[disabled]:active,\n.ant-btn-primary.disabled.active,\n.ant-btn-primary[disabled].active {\n  color: rgba(0, 0, 0, 0.25);\n  background-color: #f5f5f5;\n  border-color: #d9d9d9;\n  text-shadow: none;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.ant-btn-primary.disabled > a:only-child,\n.ant-btn-primary[disabled] > a:only-child,\n.ant-btn-primary.disabled:hover > a:only-child,\n.ant-btn-primary[disabled]:hover > a:only-child,\n.ant-btn-primary.disabled:focus > a:only-child,\n.ant-btn-primary[disabled]:focus > a:only-child,\n.ant-btn-primary.disabled:active > a:only-child,\n.ant-btn-primary[disabled]:active > a:only-child,\n.ant-btn-primary.disabled.active > a:only-child,\n.ant-btn-primary[disabled].active > a:only-child {\n  color: currentColor;\n}\n.ant-btn-primary.disabled > a:only-child:after,\n.ant-btn-primary[disabled] > a:only-child:after,\n.ant-btn-primary.disabled:hover > a:only-child:after,\n.ant-btn-primary[disabled]:hover > a:only-child:after,\n.ant-btn-primary.disabled:focus > a:only-child:after,\n.ant-btn-primary[disabled]:focus > a:only-child:after,\n.ant-btn-primary.disabled:active > a:only-child:after,\n.ant-btn-primary[disabled]:active > a:only-child:after,\n.ant-btn-primary.disabled.active > a:only-child:after,\n.ant-btn-primary[disabled].active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child) {\n  border-right-color: #40a9ff;\n  border-left-color: #40a9ff;\n}\n.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled {\n  border-color: #d9d9d9;\n}\n.ant-btn-group .ant-btn-primary:first-child:not(:last-child) {\n  border-right-color: #40a9ff;\n}\n.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled] {\n  border-right-color: #d9d9d9;\n}\n.ant-btn-group .ant-btn-primary:last-child:not(:first-child),\n.ant-btn-group .ant-btn-primary + .ant-btn-primary {\n  border-left-color: #40a9ff;\n}\n.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled],\n.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] {\n  border-left-color: #d9d9d9;\n}\n.ant-btn-ghost {\n  color: rgba(0, 0, 0, 0.65);\n  background-color: transparent;\n  border-color: #d9d9d9;\n}\n.ant-btn-ghost > a:only-child {\n  color: currentColor;\n}\n.ant-btn-ghost > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-ghost:hover,\n.ant-btn-ghost:focus {\n  color: #40a9ff;\n  background-color: transparent;\n  border-color: #40a9ff;\n}\n.ant-btn-ghost:hover > a:only-child,\n.ant-btn-ghost:focus > a:only-child {\n  color: currentColor;\n}\n.ant-btn-ghost:hover > a:only-child:after,\n.ant-btn-ghost:focus > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-ghost:active,\n.ant-btn-ghost.active {\n  color: #096dd9;\n  background-color: transparent;\n  border-color: #096dd9;\n}\n.ant-btn-ghost:active > a:only-child,\n.ant-btn-ghost.active > a:only-child {\n  color: currentColor;\n}\n.ant-btn-ghost:active > a:only-child:after,\n.ant-btn-ghost.active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-ghost.disabled,\n.ant-btn-ghost[disabled],\n.ant-btn-ghost.disabled:hover,\n.ant-btn-ghost[disabled]:hover,\n.ant-btn-ghost.disabled:focus,\n.ant-btn-ghost[disabled]:focus,\n.ant-btn-ghost.disabled:active,\n.ant-btn-ghost[disabled]:active,\n.ant-btn-ghost.disabled.active,\n.ant-btn-ghost[disabled].active {\n  color: rgba(0, 0, 0, 0.25);\n  background-color: #f5f5f5;\n  border-color: #d9d9d9;\n  text-shadow: none;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.ant-btn-ghost.disabled > a:only-child,\n.ant-btn-ghost[disabled] > a:only-child,\n.ant-btn-ghost.disabled:hover > a:only-child,\n.ant-btn-ghost[disabled]:hover > a:only-child,\n.ant-btn-ghost.disabled:focus > a:only-child,\n.ant-btn-ghost[disabled]:focus > a:only-child,\n.ant-btn-ghost.disabled:active > a:only-child,\n.ant-btn-ghost[disabled]:active > a:only-child,\n.ant-btn-ghost.disabled.active > a:only-child,\n.ant-btn-ghost[disabled].active > a:only-child {\n  color: currentColor;\n}\n.ant-btn-ghost.disabled > a:only-child:after,\n.ant-btn-ghost[disabled] > a:only-child:after,\n.ant-btn-ghost.disabled:hover > a:only-child:after,\n.ant-btn-ghost[disabled]:hover > a:only-child:after,\n.ant-btn-ghost.disabled:focus > a:only-child:after,\n.ant-btn-ghost[disabled]:focus > a:only-child:after,\n.ant-btn-ghost.disabled:active > a:only-child:after,\n.ant-btn-ghost[disabled]:active > a:only-child:after,\n.ant-btn-ghost.disabled.active > a:only-child:after,\n.ant-btn-ghost[disabled].active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-dashed {\n  color: rgba(0, 0, 0, 0.65);\n  background-color: #fff;\n  border-color: #d9d9d9;\n  border-style: dashed;\n}\n.ant-btn-dashed > a:only-child {\n  color: currentColor;\n}\n.ant-btn-dashed > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-dashed:hover,\n.ant-btn-dashed:focus {\n  color: #40a9ff;\n  background-color: #fff;\n  border-color: #40a9ff;\n}\n.ant-btn-dashed:hover > a:only-child,\n.ant-btn-dashed:focus > a:only-child {\n  color: currentColor;\n}\n.ant-btn-dashed:hover > a:only-child:after,\n.ant-btn-dashed:focus > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-dashed:active,\n.ant-btn-dashed.active {\n  color: #096dd9;\n  background-color: #fff;\n  border-color: #096dd9;\n}\n.ant-btn-dashed:active > a:only-child,\n.ant-btn-dashed.active > a:only-child {\n  color: currentColor;\n}\n.ant-btn-dashed:active > a:only-child:after,\n.ant-btn-dashed.active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-dashed.disabled,\n.ant-btn-dashed[disabled],\n.ant-btn-dashed.disabled:hover,\n.ant-btn-dashed[disabled]:hover,\n.ant-btn-dashed.disabled:focus,\n.ant-btn-dashed[disabled]:focus,\n.ant-btn-dashed.disabled:active,\n.ant-btn-dashed[disabled]:active,\n.ant-btn-dashed.disabled.active,\n.ant-btn-dashed[disabled].active {\n  color: rgba(0, 0, 0, 0.25);\n  background-color: #f5f5f5;\n  border-color: #d9d9d9;\n  text-shadow: none;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.ant-btn-dashed.disabled > a:only-child,\n.ant-btn-dashed[disabled] > a:only-child,\n.ant-btn-dashed.disabled:hover > a:only-child,\n.ant-btn-dashed[disabled]:hover > a:only-child,\n.ant-btn-dashed.disabled:focus > a:only-child,\n.ant-btn-dashed[disabled]:focus > a:only-child,\n.ant-btn-dashed.disabled:active > a:only-child,\n.ant-btn-dashed[disabled]:active > a:only-child,\n.ant-btn-dashed.disabled.active > a:only-child,\n.ant-btn-dashed[disabled].active > a:only-child {\n  color: currentColor;\n}\n.ant-btn-dashed.disabled > a:only-child:after,\n.ant-btn-dashed[disabled] > a:only-child:after,\n.ant-btn-dashed.disabled:hover > a:only-child:after,\n.ant-btn-dashed[disabled]:hover > a:only-child:after,\n.ant-btn-dashed.disabled:focus > a:only-child:after,\n.ant-btn-dashed[disabled]:focus > a:only-child:after,\n.ant-btn-dashed.disabled:active > a:only-child:after,\n.ant-btn-dashed[disabled]:active > a:only-child:after,\n.ant-btn-dashed.disabled.active > a:only-child:after,\n.ant-btn-dashed[disabled].active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-danger {\n  color: #f5222d;\n  background-color: #f5f5f5;\n  border-color: #d9d9d9;\n}\n.ant-btn-danger > a:only-child {\n  color: currentColor;\n}\n.ant-btn-danger > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-danger:hover {\n  color: #fff;\n  background-color: #ff4d4f;\n  border-color: #ff4d4f;\n}\n.ant-btn-danger:hover > a:only-child {\n  color: currentColor;\n}\n.ant-btn-danger:hover > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-danger:focus {\n  color: #ff4d4f;\n  background-color: #fff;\n  border-color: #ff4d4f;\n}\n.ant-btn-danger:focus > a:only-child {\n  color: currentColor;\n}\n.ant-btn-danger:focus > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-danger:active,\n.ant-btn-danger.active {\n  color: #fff;\n  background-color: #cf1322;\n  border-color: #cf1322;\n}\n.ant-btn-danger:active > a:only-child,\n.ant-btn-danger.active > a:only-child {\n  color: currentColor;\n}\n.ant-btn-danger:active > a:only-child:after,\n.ant-btn-danger.active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-danger.disabled,\n.ant-btn-danger[disabled],\n.ant-btn-danger.disabled:hover,\n.ant-btn-danger[disabled]:hover,\n.ant-btn-danger.disabled:focus,\n.ant-btn-danger[disabled]:focus,\n.ant-btn-danger.disabled:active,\n.ant-btn-danger[disabled]:active,\n.ant-btn-danger.disabled.active,\n.ant-btn-danger[disabled].active {\n  color: rgba(0, 0, 0, 0.25);\n  background-color: #f5f5f5;\n  border-color: #d9d9d9;\n  text-shadow: none;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.ant-btn-danger.disabled > a:only-child,\n.ant-btn-danger[disabled] > a:only-child,\n.ant-btn-danger.disabled:hover > a:only-child,\n.ant-btn-danger[disabled]:hover > a:only-child,\n.ant-btn-danger.disabled:focus > a:only-child,\n.ant-btn-danger[disabled]:focus > a:only-child,\n.ant-btn-danger.disabled:active > a:only-child,\n.ant-btn-danger[disabled]:active > a:only-child,\n.ant-btn-danger.disabled.active > a:only-child,\n.ant-btn-danger[disabled].active > a:only-child {\n  color: currentColor;\n}\n.ant-btn-danger.disabled > a:only-child:after,\n.ant-btn-danger[disabled] > a:only-child:after,\n.ant-btn-danger.disabled:hover > a:only-child:after,\n.ant-btn-danger[disabled]:hover > a:only-child:after,\n.ant-btn-danger.disabled:focus > a:only-child:after,\n.ant-btn-danger[disabled]:focus > a:only-child:after,\n.ant-btn-danger.disabled:active > a:only-child:after,\n.ant-btn-danger[disabled]:active > a:only-child:after,\n.ant-btn-danger.disabled.active > a:only-child:after,\n.ant-btn-danger[disabled].active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-circle,\n.ant-btn-circle-outline {\n  width: 32px;\n  padding: 0;\n  font-size: 16px;\n  border-radius: 50%;\n  height: 32px;\n}\n.ant-btn-circle.ant-btn-lg,\n.ant-btn-circle-outline.ant-btn-lg {\n  width: 40px;\n  padding: 0;\n  font-size: 18px;\n  border-radius: 50%;\n  height: 40px;\n}\n.ant-btn-circle.ant-btn-sm,\n.ant-btn-circle-outline.ant-btn-sm {\n  width: 24px;\n  padding: 0;\n  font-size: 14px;\n  border-radius: 50%;\n  height: 24px;\n}\n.ant-btn:before {\n  position: absolute;\n  top: -1px;\n  left: -1px;\n  bottom: -1px;\n  right: -1px;\n  background: #fff;\n  opacity: 0.35;\n  content: '';\n  border-radius: inherit;\n  z-index: 1;\n  -webkit-transition: opacity .2s;\n  transition: opacity .2s;\n  pointer-events: none;\n  display: none;\n}\n.ant-btn .anticon {\n  -webkit-transition: margin-left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: margin-left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-btn.ant-btn-loading:before {\n  display: block;\n}\n.ant-btn.ant-btn-loading:not(.ant-btn-circle):not(.ant-btn-circle-outline):not(.ant-btn-icon-only) {\n  padding-left: 29px;\n  pointer-events: none;\n  position: relative;\n}\n.ant-btn.ant-btn-loading:not(.ant-btn-circle):not(.ant-btn-circle-outline):not(.ant-btn-icon-only) .anticon {\n  margin-left: -14px;\n}\n.ant-btn-sm.ant-btn-loading:not(.ant-btn-circle):not(.ant-btn-circle-outline):not(.ant-btn-icon-only) {\n  padding-left: 24px;\n}\n.ant-btn-sm.ant-btn-loading:not(.ant-btn-circle):not(.ant-btn-circle-outline):not(.ant-btn-icon-only) .anticon {\n  margin-left: -17px;\n}\n.ant-btn-group {\n  position: relative;\n  display: inline-block;\n}\n.ant-btn-group > .ant-btn,\n.ant-btn-group > span > .ant-btn {\n  position: relative;\n  line-height: 30px;\n}\n.ant-btn-group > .ant-btn:hover,\n.ant-btn-group > span > .ant-btn:hover,\n.ant-btn-group > .ant-btn:focus,\n.ant-btn-group > span > .ant-btn:focus,\n.ant-btn-group > .ant-btn:active,\n.ant-btn-group > span > .ant-btn:active,\n.ant-btn-group > .ant-btn.active,\n.ant-btn-group > span > .ant-btn.active {\n  z-index: 2;\n}\n.ant-btn-group > .ant-btn:disabled,\n.ant-btn-group > span > .ant-btn:disabled {\n  z-index: 0;\n}\n.ant-btn-group-lg > .ant-btn,\n.ant-btn-group-lg > span > .ant-btn {\n  padding: 0 15px;\n  font-size: 16px;\n  border-radius: 0;\n  height: 40px;\n  line-height: 38px;\n}\n.ant-btn-group-sm > .ant-btn,\n.ant-btn-group-sm > span > .ant-btn {\n  padding: 0 7px;\n  font-size: 14px;\n  border-radius: 0;\n  height: 24px;\n  line-height: 22px;\n}\n.ant-btn-group-sm > .ant-btn > .anticon,\n.ant-btn-group-sm > span > .ant-btn > .anticon {\n  font-size: 14px;\n}\n.ant-btn-group .ant-btn + .ant-btn,\n.ant-btn + .ant-btn-group,\n.ant-btn-group span + .ant-btn,\n.ant-btn-group .ant-btn + span,\n.ant-btn-group > span + span,\n.ant-btn-group + .ant-btn,\n.ant-btn-group + .ant-btn-group {\n  margin-left: -1px;\n}\n.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary):not([disabled]) {\n  border-left-color: transparent;\n}\n.ant-btn-group .ant-btn {\n  border-radius: 0;\n}\n.ant-btn-group > .ant-btn:first-child,\n.ant-btn-group > span:first-child > .ant-btn {\n  margin-left: 0;\n}\n.ant-btn-group > .ant-btn:only-child {\n  border-radius: 4px;\n}\n.ant-btn-group > span:only-child > .ant-btn {\n  border-radius: 4px;\n}\n.ant-btn-group > .ant-btn:first-child:not(:last-child),\n.ant-btn-group > span:first-child:not(:last-child) > .ant-btn {\n  border-bottom-left-radius: 4px;\n  border-top-left-radius: 4px;\n}\n.ant-btn-group > .ant-btn:last-child:not(:first-child),\n.ant-btn-group > span:last-child:not(:first-child) > .ant-btn {\n  border-bottom-right-radius: 4px;\n  border-top-right-radius: 4px;\n}\n.ant-btn-group-sm > .ant-btn:only-child {\n  border-radius: 4px;\n}\n.ant-btn-group-sm > span:only-child > .ant-btn {\n  border-radius: 4px;\n}\n.ant-btn-group-sm > .ant-btn:first-child:not(:last-child),\n.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn {\n  border-bottom-left-radius: 4px;\n  border-top-left-radius: 4px;\n}\n.ant-btn-group-sm > .ant-btn:last-child:not(:first-child),\n.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn {\n  border-bottom-right-radius: 4px;\n  border-top-right-radius: 4px;\n}\n.ant-btn-group > .ant-btn-group {\n  float: left;\n}\n.ant-btn-group > .ant-btn-group:not(:first-child):not(:last-child) > .ant-btn {\n  border-radius: 0;\n}\n.ant-btn-group > .ant-btn-group:first-child:not(:last-child) > .ant-btn:last-child {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n  padding-right: 8px;\n}\n.ant-btn-group > .ant-btn-group:last-child:not(:first-child) > .ant-btn:first-child {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n  padding-left: 8px;\n}\n.ant-btn:not(.ant-btn-circle):not(.ant-btn-circle-outline).ant-btn-icon-only {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.ant-btn:focus > span,\n.ant-btn:active > span {\n  position: relative;\n}\n.ant-btn > .anticon + span,\n.ant-btn > span + .anticon {\n  margin-left: 8px;\n}\n.ant-btn-background-ghost {\n  background: transparent !important;\n  border-color: #fff;\n  color: #fff;\n}\n.ant-btn-background-ghost.ant-btn-primary {\n  color: #1890ff;\n  background-color: transparent;\n  border-color: #1890ff;\n  text-shadow: none;\n}\n.ant-btn-background-ghost.ant-btn-primary > a:only-child {\n  color: currentColor;\n}\n.ant-btn-background-ghost.ant-btn-primary > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-background-ghost.ant-btn-primary:hover,\n.ant-btn-background-ghost.ant-btn-primary:focus {\n  color: #40a9ff;\n  background-color: transparent;\n  border-color: #40a9ff;\n}\n.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child {\n  color: currentColor;\n}\n.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-background-ghost.ant-btn-primary:active,\n.ant-btn-background-ghost.ant-btn-primary.active {\n  color: #096dd9;\n  background-color: transparent;\n  border-color: #096dd9;\n}\n.ant-btn-background-ghost.ant-btn-primary:active > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary.active > a:only-child {\n  color: currentColor;\n}\n.ant-btn-background-ghost.ant-btn-primary:active > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-primary.active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-background-ghost.ant-btn-primary.disabled,\n.ant-btn-background-ghost.ant-btn-primary[disabled],\n.ant-btn-background-ghost.ant-btn-primary.disabled:hover,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:hover,\n.ant-btn-background-ghost.ant-btn-primary.disabled:focus,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:focus,\n.ant-btn-background-ghost.ant-btn-primary.disabled:active,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:active,\n.ant-btn-background-ghost.ant-btn-primary.disabled.active,\n.ant-btn-background-ghost.ant-btn-primary[disabled].active {\n  color: rgba(0, 0, 0, 0.25);\n  background-color: #f5f5f5;\n  border-color: #d9d9d9;\n  text-shadow: none;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.ant-btn-background-ghost.ant-btn-primary.disabled > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary.disabled:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary.disabled:focus > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary.disabled:active > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary.disabled.active > a:only-child,\n.ant-btn-background-ghost.ant-btn-primary[disabled].active > a:only-child {\n  color: currentColor;\n}\n.ant-btn-background-ghost.ant-btn-primary.disabled > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-primary.disabled:hover > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-primary.disabled:focus > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-primary.disabled:active > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-primary.disabled.active > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-primary[disabled].active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-background-ghost.ant-btn-danger {\n  color: #f5222d;\n  background-color: transparent;\n  border-color: #f5222d;\n  text-shadow: none;\n}\n.ant-btn-background-ghost.ant-btn-danger > a:only-child {\n  color: currentColor;\n}\n.ant-btn-background-ghost.ant-btn-danger > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-background-ghost.ant-btn-danger:hover,\n.ant-btn-background-ghost.ant-btn-danger:focus {\n  color: #ff4d4f;\n  background-color: transparent;\n  border-color: #ff4d4f;\n}\n.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child {\n  color: currentColor;\n}\n.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-background-ghost.ant-btn-danger:active,\n.ant-btn-background-ghost.ant-btn-danger.active {\n  color: #cf1322;\n  background-color: transparent;\n  border-color: #cf1322;\n}\n.ant-btn-background-ghost.ant-btn-danger:active > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger.active > a:only-child {\n  color: currentColor;\n}\n.ant-btn-background-ghost.ant-btn-danger:active > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-danger.active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-background-ghost.ant-btn-danger.disabled,\n.ant-btn-background-ghost.ant-btn-danger[disabled],\n.ant-btn-background-ghost.ant-btn-danger.disabled:hover,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:hover,\n.ant-btn-background-ghost.ant-btn-danger.disabled:focus,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:focus,\n.ant-btn-background-ghost.ant-btn-danger.disabled:active,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:active,\n.ant-btn-background-ghost.ant-btn-danger.disabled.active,\n.ant-btn-background-ghost.ant-btn-danger[disabled].active {\n  color: rgba(0, 0, 0, 0.25);\n  background-color: #f5f5f5;\n  border-color: #d9d9d9;\n  text-shadow: none;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.ant-btn-background-ghost.ant-btn-danger.disabled > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger.disabled:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger.disabled:focus > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger.disabled:active > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger.disabled.active > a:only-child,\n.ant-btn-background-ghost.ant-btn-danger[disabled].active > a:only-child {\n  color: currentColor;\n}\n.ant-btn-background-ghost.ant-btn-danger.disabled > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-danger.disabled:hover > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-danger.disabled:focus > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-danger.disabled:active > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-danger.disabled.active > a:only-child:after,\n.ant-btn-background-ghost.ant-btn-danger[disabled].active > a:only-child:after {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  background: transparent;\n}\n.ant-btn-two-chinese-chars:first-letter {\n  letter-spacing: .34em;\n}\n.ant-btn-two-chinese-chars > * {\n  letter-spacing: .34em;\n  margin-right: -0.34em;\n}\n.ant-btn-block {\n  width: 100%;\n}\n.christmas.ant-btn-primary:before {\n  content: '';\n  display: block;\n  position: absolute;\n  top: -6px;\n  left: 0;\n  right: 0;\n  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE0AAAAXCAYAAABOHMIhAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABiZJREFUeNrsWMtPlFcUvzPMwIDysLyRR4uATDHWCiVgSmRlios2DeiiXUFs0nRBd6arxqQhJDapkYXhP4BqDKTQhZaFNQSCaBEVJjwdHsNr5DUMDDPDzPT3u7nTDEgRKrKgc5KT+z3uufec33de99P4fD4RpL2RNgjB3kn35MkTeRERESFiYmLkGBoaKnQ6nWSNRvPPZFxr+vv7k6KioiIdDsfa8vLyQkFBgcP3Bnel3MDAQArWI0eFhISE87nb7bZ7PJ4VvLYuLi5O5+fnu9+kMNfq6+tLjIyMzMY6KeBEbK/XarXReI3lPDZMWcc4v7GxYV1dXR3Jy8ub2E5HPvJ6vRSSDH0ku1wuAfsEZOV1IEFHoeNFdHS0yMrK2knR0Lm5uR+hxLdQMjbwHTZbB41h8RGwCdc9MzMzneHh4bGJiYlf4SN8ijkfwqiIncCAAR7Iz2GPSShudjqdfeCeqampvwBQfFxc3JdYqwTv8gB8/F48A8BgKecE14V+L7ju2tpae05OzkuCCZvkPOj8mizmC6vVKtmPu+bx48cC3qI1mUyFUOyywWD4SHlELBaLJmCHNcwAghuAOujtuF4FqHO4nsX4EsAS3I4TJ04ME1h8PDE9PS09TYZoY2Pj1729vd6lpSVfkDYTPG0UkfNDRUWFgQ5Gb2Mh0N29e9eG/GQfHh4W8/PzwUy/ObQ/gMfVVlZW1iAiZdQxp3nv3LljRoL/5erVq1UIxzSiiVD9X4EDYATynCwAzGO858hCQRoaGmJFZNJz8YIcBc4BF966dau6sLAwBxVSJCUlCSThQwuU3W6XkYUok1Vzm5znQx5bbm9v77p+/frPeNSNRzZ/ISBwrG4ZR48eLamtrf2+uLjYSEG9Xi/wTISFhQlWGXohyzO/CJlVl23KQRLbABoaHx+/Z1lUZ/Hq1SsJFj3JT3hmHx8fnydPTEzMj46OziHPW2w22wxeD4Kfgadh/4YEzU8Az4DhffAn5eXlX1y6dKkEoCTspAQ9Mjs7+0BBo8Fms1lkZGTsOo0QLLRNkvnR+fEJzIMHD0xtbW39CL8JTFtSbAOvBIyLHIGVm9VzE2gKuDAMSSpcT6KXyT137lx2cnLyMXhcGDb3wq3XuWF3d/fCzZs3P0c4v5eSknJQbYLo7Ox0gC2lpaVZ3Be67Th/dnZWoAJKsJC3XA8fPhxoamp6hMb+BaaMgWcUMGtszZjiFDNmvcDI91pzG0iY4ARwkwrxkcHBwUdgNrRMbnrqoRbkVzDcvn3bl5qaWsmcgFH4G8XdEGUWFhak51AuISFBnkoCTyFbyWKxCJwIxlC0fq2rq7tcVFRkRKskjh8/Lr0+kBjCCDV/knfdv3//WX19/R8IRRNemxlu4AXwKqM+EJwdj1HbPYSwh3sCPAJDABm2LLchCjS+5/kirKGhwWk0GrMuXrxYQuX9hm/XXTMXMY+srKwI5ApZrbYmZh7deEJhAUKjLe/pLTzSsCuHrK+1tbUJVe3P6upq87Vr174rKysrYHVj/uW+OH3IfEuw4F3ee/fuPQfAvwOs5yyE4CnlFOu7BWrTCWlreO6FACpBZGwUw4BvkANLobReHb3kGZYGsGzTq/zlO8AT1ru6uoZbWlqeA6gINJAfnz59OlVLoX8Jtebm5raampqfcMvQYgTknz9//sKVK1c+y83NTdIEuCnaKMuNGzd+6+np6cCtSTkAw9D9X8Dyh+dbgaaAC1XAnUlPTy+qqqq6cPbs2UzkmWjNljiDJzpwHFnCkW2yo6NjCKW8H54wjlezKvRT09LSTsJrz5w6dSoN+Yp51ADAPUj8VoDbDq9pxrwuJcNIYQllJTIi/xopBw/VA7DJp0+f9hA78CgL5F5C8J2CpoCj8sfA6WCe/FPRhsRlZmbGIs8Y4FFO5CJgtrSsvrRVGW1V93b1myoGnKAKEcHgnwsWpg1lNI0fphwrmdqbckeU18WrnlOjqp5/j7W3BWvfQVPKa5SBkcrYCNVB65TRTlWZ1lXiXVU5xbtlDb2SPaLWYwrgHIcqPg6Vc7fbX69Yoyqfa7/AeiegbWOEVhmsVcWDwPn224iDJgla8Hd38Hd3ELQgaIeI/hZgAIPEp0vmQJdoAAAAAElFTkSuQmCC) no-repeat 50% 0;\n  background-size: 64px;\n  opacity: 1;\n}\n.christmas.ant-btn-primary.ant-btn-lg:before {\n  background-size: 72px;\n}\n.christmas.ant-btn-primary.ant-btn-sm:before {\n  background-size: 56px;\n}\na.ant-btn {\n  line-height: 30px;\n}\na.ant-btn-lg {\n  line-height: 38px;\n}\na.ant-btn-sm {\n  line-height: 22px;\n}\n", ""]);
  
  // exports
  
  
  /***/ }),
  
  /***/ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/dropdown/style/index.css":
  /*!*********************************************************************************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/css-loader!/Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/dropdown/style/index.css ***!
    \*********************************************************************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  exports = module.exports = __webpack_require__(/*! ../../../../css-loader/lib/css-base.js */ "../../node_modules/css-loader/lib/css-base.js")(false);
  // imports
  
  
  // module
  exports.push([module.i, "/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\n/* stylelint-disable no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\n.ant-dropdown {\n  font-family: \"Chinese Quote\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-size: 14px;\n  font-variant: tabular-nums;\n  line-height: 1.5;\n  color: rgba(0, 0, 0, 0.65);\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  position: absolute;\n  left: -9999px;\n  top: -9999px;\n  z-index: 1050;\n  display: block;\n}\n.ant-dropdown-wrap {\n  position: relative;\n}\n.ant-dropdown-wrap .ant-btn > .anticon-down {\n  display: inline-block;\n  font-size: 12px;\n  font-size: 10px \\9;\n  -webkit-transform: scale(0.83333333) rotate(0deg);\n      -ms-transform: scale(0.83333333) rotate(0deg);\n          transform: scale(0.83333333) rotate(0deg);\n}\n:root .ant-dropdown-wrap .ant-btn > .anticon-down {\n  font-size: 12px;\n}\n.ant-dropdown-wrap .anticon-down:before {\n  -webkit-transition: -webkit-transform .2s;\n  transition: -webkit-transform .2s;\n  transition: transform .2s;\n  transition: transform .2s, -webkit-transform .2s;\n}\n.ant-dropdown-wrap-open .anticon-down:before {\n  -webkit-transform: rotate(180deg);\n      -ms-transform: rotate(180deg);\n          transform: rotate(180deg);\n}\n.ant-dropdown-hidden,\n.ant-dropdown-menu-hidden {\n  display: none;\n}\n.ant-dropdown-menu {\n  outline: none;\n  position: relative;\n  list-style-type: none;\n  padding: 4px 0;\n  margin: 0;\n  text-align: left;\n  background-color: #fff;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n  background-clip: padding-box;\n}\n.ant-dropdown-menu-item-group-title {\n  color: rgba(0, 0, 0, 0.45);\n  padding: 5px 12px;\n  -webkit-transition: all .3s;\n  transition: all .3s;\n}\n.ant-dropdown-menu-submenu-popup {\n  position: absolute;\n  z-index: 1050;\n}\n.ant-dropdown-menu-item,\n.ant-dropdown-menu-submenu-title {\n  padding: 5px 12px;\n  margin: 0;\n  clear: both;\n  font-size: 14px;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.65);\n  white-space: nowrap;\n  cursor: pointer;\n  -webkit-transition: all .3s;\n  transition: all .3s;\n  line-height: 22px;\n}\n.ant-dropdown-menu-item > .anticon:first-child,\n.ant-dropdown-menu-submenu-title > .anticon:first-child {\n  min-width: 12px;\n  margin-right: 8px;\n}\n.ant-dropdown-menu-item > a,\n.ant-dropdown-menu-submenu-title > a {\n  color: rgba(0, 0, 0, 0.65);\n  display: block;\n  padding: 5px 12px;\n  margin: -5px -12px;\n  -webkit-transition: all .3s;\n  transition: all .3s;\n}\n.ant-dropdown-menu-item > a:focus,\n.ant-dropdown-menu-submenu-title > a:focus {\n  text-decoration: none;\n}\n.ant-dropdown-menu-item-selected,\n.ant-dropdown-menu-submenu-title-selected,\n.ant-dropdown-menu-item-selected > a,\n.ant-dropdown-menu-submenu-title-selected > a {\n  color: #1890ff;\n  background-color: #e6f7ff;\n}\n.ant-dropdown-menu-item:hover,\n.ant-dropdown-menu-submenu-title:hover {\n  background-color: #e6f7ff;\n}\n.ant-dropdown-menu-item-disabled,\n.ant-dropdown-menu-submenu-title-disabled {\n  color: rgba(0, 0, 0, 0.25);\n  cursor: not-allowed;\n}\n.ant-dropdown-menu-item-disabled:hover,\n.ant-dropdown-menu-submenu-title-disabled:hover {\n  color: rgba(0, 0, 0, 0.25);\n  background-color: #fff;\n  cursor: not-allowed;\n}\n.ant-dropdown-menu-item-divider,\n.ant-dropdown-menu-submenu-title-divider {\n  height: 1px;\n  overflow: hidden;\n  background-color: #e8e8e8;\n  line-height: 0;\n  margin: 4px 0;\n}\n.ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow,\n.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow {\n  position: absolute;\n  right: 8px;\n}\n.ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow-icon,\n.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon {\n  font-style: normal;\n  color: rgba(0, 0, 0, 0.45);\n  display: inline-block;\n  font-size: 12px;\n  font-size: 10px \\9;\n  -webkit-transform: scale(0.83333333) rotate(0deg);\n      -ms-transform: scale(0.83333333) rotate(0deg);\n          transform: scale(0.83333333) rotate(0deg);\n}\n:root .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow-icon,\n:root .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon {\n  font-size: 12px;\n}\n.ant-dropdown-menu-submenu-title {\n  padding-right: 26px;\n}\n.ant-dropdown-menu-submenu-vertical {\n  position: relative;\n}\n.ant-dropdown-menu-submenu-vertical > .ant-dropdown-menu {\n  top: 0;\n  left: 100%;\n  position: absolute;\n  min-width: 100%;\n  margin-left: 4px;\n  -webkit-transform-origin: 0 0;\n      -ms-transform-origin: 0 0;\n          transform-origin: 0 0;\n}\n.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,\n.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon {\n  color: rgba(0, 0, 0, 0.25);\n}\n.ant-dropdown.slide-down-enter.slide-down-enter-active.ant-dropdown-placement-bottomLeft,\n.ant-dropdown.slide-down-appear.slide-down-appear-active.ant-dropdown-placement-bottomLeft,\n.ant-dropdown.slide-down-enter.slide-down-enter-active.ant-dropdown-placement-bottomCenter,\n.ant-dropdown.slide-down-appear.slide-down-appear-active.ant-dropdown-placement-bottomCenter,\n.ant-dropdown.slide-down-enter.slide-down-enter-active.ant-dropdown-placement-bottomRight,\n.ant-dropdown.slide-down-appear.slide-down-appear-active.ant-dropdown-placement-bottomRight {\n  -webkit-animation-name: antSlideUpIn;\n          animation-name: antSlideUpIn;\n}\n.ant-dropdown.slide-up-enter.slide-up-enter-active.ant-dropdown-placement-topLeft,\n.ant-dropdown.slide-up-appear.slide-up-appear-active.ant-dropdown-placement-topLeft,\n.ant-dropdown.slide-up-enter.slide-up-enter-active.ant-dropdown-placement-topCenter,\n.ant-dropdown.slide-up-appear.slide-up-appear-active.ant-dropdown-placement-topCenter,\n.ant-dropdown.slide-up-enter.slide-up-enter-active.ant-dropdown-placement-topRight,\n.ant-dropdown.slide-up-appear.slide-up-appear-active.ant-dropdown-placement-topRight {\n  -webkit-animation-name: antSlideDownIn;\n          animation-name: antSlideDownIn;\n}\n.ant-dropdown.slide-down-leave.slide-down-leave-active.ant-dropdown-placement-bottomLeft,\n.ant-dropdown.slide-down-leave.slide-down-leave-active.ant-dropdown-placement-bottomCenter,\n.ant-dropdown.slide-down-leave.slide-down-leave-active.ant-dropdown-placement-bottomRight {\n  -webkit-animation-name: antSlideUpOut;\n          animation-name: antSlideUpOut;\n}\n.ant-dropdown.slide-up-leave.slide-up-leave-active.ant-dropdown-placement-topLeft,\n.ant-dropdown.slide-up-leave.slide-up-leave-active.ant-dropdown-placement-topCenter,\n.ant-dropdown.slide-up-leave.slide-up-leave-active.ant-dropdown-placement-topRight {\n  -webkit-animation-name: antSlideDownOut;\n          animation-name: antSlideDownOut;\n}\n.ant-dropdown-trigger .anticon:not(.anticon-ellipsis),\n.ant-dropdown-link .anticon:not(.anticon-ellipsis) {\n  display: inline-block;\n  font-size: 12px;\n  font-size: 10px \\9;\n  -webkit-transform: scale(0.83333333) rotate(0deg);\n      -ms-transform: scale(0.83333333) rotate(0deg);\n          transform: scale(0.83333333) rotate(0deg);\n}\n:root .ant-dropdown-trigger .anticon:not(.anticon-ellipsis),\n:root .ant-dropdown-link .anticon:not(.anticon-ellipsis) {\n  font-size: 12px;\n}\n.ant-dropdown-button {\n  white-space: nowrap;\n}\n.ant-dropdown-button.ant-btn-group > .ant-btn:last-child:not(:first-child) {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.ant-dropdown-button .anticon:not(.anticon-ellipsis) {\n  display: inline-block;\n  font-size: 12px;\n  font-size: 10px \\9;\n  -webkit-transform: scale(0.83333333) rotate(0deg);\n      -ms-transform: scale(0.83333333) rotate(0deg);\n          transform: scale(0.83333333) rotate(0deg);\n}\n:root .ant-dropdown-button .anticon:not(.anticon-ellipsis) {\n  font-size: 12px;\n}\n.ant-dropdown-menu-dark,\n.ant-dropdown-menu-dark .ant-dropdown-menu {\n  background: #001529;\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item,\n.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > a {\n  color: rgba(255, 255, 255, 0.65);\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow:after,\n.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow:after,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > a .ant-dropdown-menu-submenu-arrow:after {\n  color: rgba(255, 255, 255, 0.65);\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover,\n.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item > a:hover {\n  color: #fff;\n  background: transparent;\n}\n.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover,\n.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected > a {\n  background: #1890ff;\n  color: #fff;\n}\n", ""]);
  
  // exports
  
  
  /***/ }),
  
  /***/ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/menu/style/index.css":
  /*!*****************************************************************************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/css-loader!/Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/menu/style/index.css ***!
    \*****************************************************************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  exports = module.exports = __webpack_require__(/*! ../../../../css-loader/lib/css-base.js */ "../../node_modules/css-loader/lib/css-base.js")(false);
  // imports
  
  
  // module
  exports.push([module.i, "/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\n/* stylelint-disable no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\n.ant-menu {\n  font-family: \"Chinese Quote\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-size: 14px;\n  font-variant: tabular-nums;\n  line-height: 1.5;\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n  outline: none;\n  margin-bottom: 0;\n  padding-left: 0;\n  list-style: none;\n  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n  color: rgba(0, 0, 0, 0.65);\n  background: #fff;\n  line-height: 0;\n  -webkit-transition: background .3s, width .2s;\n  transition: background .3s, width .2s;\n  zoom: 1;\n}\n.ant-menu:before,\n.ant-menu:after {\n  content: \"\";\n  display: table;\n}\n.ant-menu:after {\n  clear: both;\n}\n.ant-menu ul,\n.ant-menu ol {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n}\n.ant-menu-hidden {\n  display: none;\n}\n.ant-menu-item-group-title {\n  color: rgba(0, 0, 0, 0.45);\n  font-size: 14px;\n  line-height: 1.5;\n  padding: 8px 16px;\n  -webkit-transition: all .3s;\n  transition: all .3s;\n}\n.ant-menu-submenu,\n.ant-menu-submenu-inline {\n  -webkit-transition: border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-menu-item:active,\n.ant-menu-submenu-title:active {\n  background: #e6f7ff;\n}\n.ant-menu-submenu .ant-menu-sub {\n  cursor: initial;\n  -webkit-transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-menu-item > a {\n  display: block;\n  color: rgba(0, 0, 0, 0.65);\n}\n.ant-menu-item > a:hover {\n  color: #1890ff;\n}\n.ant-menu-item > a:focus {\n  text-decoration: none;\n}\n.ant-menu-item > a:before {\n  position: absolute;\n  background-color: transparent;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  right: 0;\n  content: '';\n}\n.ant-menu-item-divider {\n  height: 1px;\n  overflow: hidden;\n  background-color: #e8e8e8;\n  line-height: 0;\n}\n.ant-menu-item:hover,\n.ant-menu-item-active,\n.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open,\n.ant-menu-submenu-active,\n.ant-menu-submenu-title:hover {\n  color: #1890ff;\n}\n.ant-menu-horizontal .ant-menu-item,\n.ant-menu-horizontal .ant-menu-submenu {\n  margin-top: -1px;\n}\n.ant-menu-horizontal > .ant-menu-item:hover,\n.ant-menu-horizontal > .ant-menu-item-active,\n.ant-menu-horizontal > .ant-menu-submenu .ant-menu-submenu-title:hover {\n  background-color: transparent;\n}\n.ant-menu-item-selected {\n  color: #1890ff;\n}\n.ant-menu-item-selected > a,\n.ant-menu-item-selected > a:hover {\n  color: #1890ff;\n}\n.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected {\n  background-color: #e6f7ff;\n}\n.ant-menu-inline,\n.ant-menu-vertical,\n.ant-menu-vertical-left {\n  border-right: 1px solid #e8e8e8;\n}\n.ant-menu-vertical-right {\n  border-left: 1px solid #e8e8e8;\n}\n.ant-menu-vertical.ant-menu-sub,\n.ant-menu-vertical-left.ant-menu-sub,\n.ant-menu-vertical-right.ant-menu-sub {\n  border-right: 0;\n  padding: 0;\n  -webkit-transform-origin: 0 0;\n      -ms-transform-origin: 0 0;\n          transform-origin: 0 0;\n}\n.ant-menu-vertical.ant-menu-sub .ant-menu-item,\n.ant-menu-vertical-left.ant-menu-sub .ant-menu-item,\n.ant-menu-vertical-right.ant-menu-sub .ant-menu-item {\n  border-right: 0;\n  margin-left: 0;\n  left: 0;\n}\n.ant-menu-vertical.ant-menu-sub .ant-menu-item:after,\n.ant-menu-vertical-left.ant-menu-sub .ant-menu-item:after,\n.ant-menu-vertical-right.ant-menu-sub .ant-menu-item:after {\n  border-right: 0;\n}\n.ant-menu-vertical.ant-menu-sub > .ant-menu-item,\n.ant-menu-vertical-left.ant-menu-sub > .ant-menu-item,\n.ant-menu-vertical-right.ant-menu-sub > .ant-menu-item,\n.ant-menu-vertical.ant-menu-sub > .ant-menu-submenu,\n.ant-menu-vertical-left.ant-menu-sub > .ant-menu-submenu,\n.ant-menu-vertical-right.ant-menu-sub > .ant-menu-submenu {\n  -webkit-transform-origin: 0 0;\n      -ms-transform-origin: 0 0;\n          transform-origin: 0 0;\n}\n.ant-menu-horizontal.ant-menu-sub,\n.ant-menu-vertical.ant-menu-sub,\n.ant-menu-vertical-left.ant-menu-sub,\n.ant-menu-vertical-right.ant-menu-sub {\n  min-width: 160px;\n}\n.ant-menu-item,\n.ant-menu-submenu-title {\n  cursor: pointer;\n  margin: 0;\n  padding: 0 20px;\n  position: relative;\n  display: block;\n  white-space: nowrap;\n  -webkit-transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-menu-item .anticon,\n.ant-menu-submenu-title .anticon {\n  min-width: 14px;\n  margin-right: 10px;\n  font-size: 14px;\n  -webkit-transition: font-size 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), margin 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: font-size 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), margin 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-menu-item .anticon + span,\n.ant-menu-submenu-title .anticon + span {\n  -webkit-transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  opacity: 1;\n}\n.ant-menu > .ant-menu-item-divider {\n  height: 1px;\n  margin: 1px 0;\n  overflow: hidden;\n  padding: 0;\n  line-height: 0;\n  background-color: #e8e8e8;\n}\n.ant-menu-submenu-popup {\n  position: absolute;\n  border-radius: 4px;\n  z-index: 1050;\n}\n.ant-menu-submenu-popup .submenu-title-wrapper {\n  padding-right: 20px;\n}\n.ant-menu-submenu-popup:before {\n  position: absolute;\n  top: -7px;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  content: ' ';\n  opacity: .0001;\n}\n.ant-menu-submenu > .ant-menu {\n  background-color: #fff;\n  border-radius: 4px;\n}\n.ant-menu-submenu > .ant-menu-submenu-title:after {\n  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow,\n.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow,\n.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow,\n.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow {\n  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  position: absolute;\n  top: 50%;\n  right: 16px;\n  width: 10px;\n}\n.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow:before,\n.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow:before,\n.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow:before,\n.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:before,\n.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow:after,\n.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow:after,\n.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow:after,\n.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:after {\n  content: '';\n  position: absolute;\n  vertical-align: baseline;\n  background: #fff;\n  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.65)), to(rgba(0, 0, 0, 0.65)));\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65));\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65));\n  width: 6px;\n  height: 1.5px;\n  border-radius: 2px;\n  -webkit-transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow:before,\n.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow:before,\n.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow:before,\n.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:before {\n  -webkit-transform: rotate(45deg) translateY(-2px);\n      -ms-transform: rotate(45deg) translateY(-2px);\n          transform: rotate(45deg) translateY(-2px);\n}\n.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow:after,\n.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow:after,\n.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow:after,\n.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:after {\n  -webkit-transform: rotate(-45deg) translateY(2px);\n      -ms-transform: rotate(-45deg) translateY(2px);\n          transform: rotate(-45deg) translateY(2px);\n}\n.ant-menu-submenu-vertical > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after,\n.ant-menu-submenu-vertical-left > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after,\n.ant-menu-submenu-vertical-right > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after,\n.ant-menu-submenu-inline > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after,\n.ant-menu-submenu-vertical > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before,\n.ant-menu-submenu-vertical-left > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before,\n.ant-menu-submenu-vertical-right > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before,\n.ant-menu-submenu-inline > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before {\n  background: -webkit-gradient(linear, left top, right top, from(#1890ff), to(#1890ff));\n  background: -webkit-linear-gradient(left, #1890ff, #1890ff);\n  background: linear-gradient(to right, #1890ff, #1890ff);\n}\n.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:before {\n  -webkit-transform: rotate(-45deg) translateX(2px);\n      -ms-transform: rotate(-45deg) translateX(2px);\n          transform: rotate(-45deg) translateX(2px);\n}\n.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:after {\n  -webkit-transform: rotate(45deg) translateX(-2px);\n      -ms-transform: rotate(45deg) translateX(-2px);\n          transform: rotate(45deg) translateX(-2px);\n}\n.ant-menu-submenu-open.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow {\n  -webkit-transform: translateY(-2px);\n      -ms-transform: translateY(-2px);\n          transform: translateY(-2px);\n}\n.ant-menu-submenu-open.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:after {\n  -webkit-transform: rotate(-45deg) translateX(-2px);\n      -ms-transform: rotate(-45deg) translateX(-2px);\n          transform: rotate(-45deg) translateX(-2px);\n}\n.ant-menu-submenu-open.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:before {\n  -webkit-transform: rotate(45deg) translateX(2px);\n      -ms-transform: rotate(45deg) translateX(2px);\n          transform: rotate(45deg) translateX(2px);\n}\n.ant-menu-vertical .ant-menu-submenu-selected,\n.ant-menu-vertical-left .ant-menu-submenu-selected,\n.ant-menu-vertical-right .ant-menu-submenu-selected {\n  color: #1890ff;\n}\n.ant-menu-vertical .ant-menu-submenu-selected > a,\n.ant-menu-vertical-left .ant-menu-submenu-selected > a,\n.ant-menu-vertical-right .ant-menu-submenu-selected > a {\n  color: #1890ff;\n}\n.ant-menu-horizontal {\n  border: 0;\n  border-bottom: 1px solid #e8e8e8;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n  line-height: 46px;\n  white-space: nowrap;\n}\n.ant-menu-horizontal > .ant-menu-item,\n.ant-menu-horizontal > .ant-menu-submenu {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  vertical-align: bottom;\n  border-bottom: 2px solid transparent;\n}\n.ant-menu-horizontal > .ant-menu-item:hover,\n.ant-menu-horizontal > .ant-menu-submenu:hover,\n.ant-menu-horizontal > .ant-menu-item-active,\n.ant-menu-horizontal > .ant-menu-submenu-active,\n.ant-menu-horizontal > .ant-menu-item-open,\n.ant-menu-horizontal > .ant-menu-submenu-open,\n.ant-menu-horizontal > .ant-menu-item-selected,\n.ant-menu-horizontal > .ant-menu-submenu-selected {\n  border-bottom: 2px solid #1890ff;\n  color: #1890ff;\n}\n.ant-menu-horizontal > .ant-menu-item > a {\n  display: block;\n  color: rgba(0, 0, 0, 0.65);\n}\n.ant-menu-horizontal > .ant-menu-item > a:hover {\n  color: #1890ff;\n}\n.ant-menu-horizontal > .ant-menu-item > a:before {\n  bottom: -2px;\n}\n.ant-menu-horizontal > .ant-menu-item-selected > a {\n  color: #1890ff;\n}\n.ant-menu-horizontal:after {\n  content: \" \";\n  display: block;\n  height: 0;\n  clear: both;\n}\n.ant-menu-vertical .ant-menu-item,\n.ant-menu-vertical-left .ant-menu-item,\n.ant-menu-vertical-right .ant-menu-item,\n.ant-menu-inline .ant-menu-item {\n  position: relative;\n}\n.ant-menu-vertical .ant-menu-item:after,\n.ant-menu-vertical-left .ant-menu-item:after,\n.ant-menu-vertical-right .ant-menu-item:after,\n.ant-menu-inline .ant-menu-item:after {\n  content: \"\";\n  position: absolute;\n  right: 0;\n  top: 0;\n  bottom: 0;\n  border-right: 3px solid #1890ff;\n  -webkit-transform: scaleY(0.0001);\n      -ms-transform: scaleY(0.0001);\n          transform: scaleY(0.0001);\n  opacity: 0;\n  -webkit-transition: opacity 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n  transition: opacity 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n  transition: transform 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n  transition: transform 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n.ant-menu-vertical .ant-menu-item,\n.ant-menu-vertical-left .ant-menu-item,\n.ant-menu-vertical-right .ant-menu-item,\n.ant-menu-inline .ant-menu-item,\n.ant-menu-vertical .ant-menu-submenu-title,\n.ant-menu-vertical-left .ant-menu-submenu-title,\n.ant-menu-vertical-right .ant-menu-submenu-title,\n.ant-menu-inline .ant-menu-submenu-title {\n  padding: 0 16px;\n  font-size: 14px;\n  line-height: 40px;\n  height: 40px;\n  margin-top: 4px;\n  margin-bottom: 4px;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.ant-menu-vertical .ant-menu-submenu,\n.ant-menu-vertical-left .ant-menu-submenu,\n.ant-menu-vertical-right .ant-menu-submenu,\n.ant-menu-inline .ant-menu-submenu {\n  padding-bottom: 0.01px;\n}\n.ant-menu-vertical .ant-menu-item:not(:last-child),\n.ant-menu-vertical-left .ant-menu-item:not(:last-child),\n.ant-menu-vertical-right .ant-menu-item:not(:last-child),\n.ant-menu-inline .ant-menu-item:not(:last-child) {\n  margin-bottom: 8px;\n}\n.ant-menu-vertical > .ant-menu-item,\n.ant-menu-vertical-left > .ant-menu-item,\n.ant-menu-vertical-right > .ant-menu-item,\n.ant-menu-inline > .ant-menu-item,\n.ant-menu-vertical > .ant-menu-submenu > .ant-menu-submenu-title,\n.ant-menu-vertical-left > .ant-menu-submenu > .ant-menu-submenu-title,\n.ant-menu-vertical-right > .ant-menu-submenu > .ant-menu-submenu-title,\n.ant-menu-inline > .ant-menu-submenu > .ant-menu-submenu-title {\n  line-height: 40px;\n  height: 40px;\n}\n.ant-menu-inline {\n  width: 100%;\n}\n.ant-menu-inline .ant-menu-selected:after,\n.ant-menu-inline .ant-menu-item-selected:after {\n  -webkit-transition: opacity 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: opacity 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);\n  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);\n  opacity: 1;\n  -webkit-transform: scaleY(1);\n      -ms-transform: scaleY(1);\n          transform: scaleY(1);\n}\n.ant-menu-inline .ant-menu-item,\n.ant-menu-inline .ant-menu-submenu-title {\n  width: calc(100% + 1px);\n}\n.ant-menu-inline .ant-menu-submenu-title {\n  padding-right: 34px;\n}\n.ant-menu-inline-collapsed {\n  width: 80px;\n}\n.ant-menu-inline-collapsed > .ant-menu-item,\n.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item,\n.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title,\n.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title {\n  left: 0;\n  text-overflow: clip;\n  padding: 0 32px !important;\n}\n.ant-menu-inline-collapsed > .ant-menu-item .ant-menu-submenu-arrow,\n.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .ant-menu-submenu-arrow,\n.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-submenu-arrow,\n.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .ant-menu-submenu-arrow {\n  display: none;\n}\n.ant-menu-inline-collapsed > .ant-menu-item .anticon,\n.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .anticon,\n.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .anticon,\n.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .anticon {\n  font-size: 16px;\n  line-height: 40px;\n  margin: 0;\n}\n.ant-menu-inline-collapsed > .ant-menu-item .anticon + span,\n.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-item .anticon + span,\n.ant-menu-inline-collapsed > .ant-menu-item-group > .ant-menu-item-group-list > .ant-menu-submenu > .ant-menu-submenu-title .anticon + span,\n.ant-menu-inline-collapsed > .ant-menu-submenu > .ant-menu-submenu-title .anticon + span {\n  max-width: 0;\n  display: inline-block;\n  opacity: 0;\n}\n.ant-menu-inline-collapsed-tooltip {\n  pointer-events: none;\n}\n.ant-menu-inline-collapsed-tooltip .anticon {\n  display: none;\n}\n.ant-menu-inline-collapsed-tooltip a {\n  color: rgba(255, 255, 255, 0.85);\n}\n.ant-menu-inline-collapsed .ant-menu-item-group-title {\n  overflow: hidden;\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  padding-left: 4px;\n  padding-right: 4px;\n}\n.ant-menu-item-group-list {\n  margin: 0;\n  padding: 0;\n}\n.ant-menu-item-group-list .ant-menu-item,\n.ant-menu-item-group-list .ant-menu-submenu-title {\n  padding: 0 16px 0 28px;\n}\n.ant-menu-root.ant-menu-vertical,\n.ant-menu-root.ant-menu-vertical-left,\n.ant-menu-root.ant-menu-vertical-right,\n.ant-menu-root.ant-menu-inline {\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.ant-menu-sub.ant-menu-inline {\n  padding: 0;\n  border: 0;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n  border-radius: 0;\n}\n.ant-menu-sub.ant-menu-inline > .ant-menu-item,\n.ant-menu-sub.ant-menu-inline > .ant-menu-submenu > .ant-menu-submenu-title {\n  line-height: 40px;\n  height: 40px;\n  list-style-type: disc;\n  list-style-position: inside;\n}\n.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title {\n  padding-left: 32px;\n}\n.ant-menu-item-disabled,\n.ant-menu-submenu-disabled {\n  color: rgba(0, 0, 0, 0.25) !important;\n  cursor: not-allowed;\n  background: none;\n  border-color: transparent !important;\n}\n.ant-menu-item-disabled > a,\n.ant-menu-submenu-disabled > a {\n  color: rgba(0, 0, 0, 0.25) !important;\n  pointer-events: none;\n}\n.ant-menu-item-disabled > .ant-menu-submenu-title,\n.ant-menu-submenu-disabled > .ant-menu-submenu-title {\n  color: rgba(0, 0, 0, 0.25) !important;\n  cursor: not-allowed;\n}\n.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before,\n.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before,\n.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after,\n.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after {\n  background: rgba(0, 0, 0, 0.25) !important;\n}\n.ant-menu-dark,\n.ant-menu-dark .ant-menu-sub {\n  color: rgba(255, 255, 255, 0.65);\n  background: #001529;\n}\n.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow {\n  opacity: .45;\n  -webkit-transition: all .3s;\n  transition: all .3s;\n}\n.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:before {\n  background: #fff;\n}\n.ant-menu-dark.ant-menu-submenu-popup {\n  background: transparent;\n}\n.ant-menu-dark .ant-menu-inline.ant-menu-sub {\n  background: #000c17;\n  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45) inset;\n          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45) inset;\n}\n.ant-menu-dark.ant-menu-horizontal {\n  border-bottom: 0;\n}\n.ant-menu-dark.ant-menu-horizontal > .ant-menu-item,\n.ant-menu-dark.ant-menu-horizontal > .ant-menu-submenu {\n  border-color: #001529;\n  border-bottom: 0;\n  top: 0;\n  margin-top: 0;\n}\n.ant-menu-dark.ant-menu-horizontal > .ant-menu-item > a:before {\n  bottom: 0;\n}\n.ant-menu-dark .ant-menu-item,\n.ant-menu-dark .ant-menu-item-group-title,\n.ant-menu-dark .ant-menu-item > a {\n  color: rgba(255, 255, 255, 0.65);\n}\n.ant-menu-dark.ant-menu-inline,\n.ant-menu-dark.ant-menu-vertical,\n.ant-menu-dark.ant-menu-vertical-left,\n.ant-menu-dark.ant-menu-vertical-right {\n  border-right: 0;\n}\n.ant-menu-dark.ant-menu-inline .ant-menu-item,\n.ant-menu-dark.ant-menu-vertical .ant-menu-item,\n.ant-menu-dark.ant-menu-vertical-left .ant-menu-item,\n.ant-menu-dark.ant-menu-vertical-right .ant-menu-item {\n  border-right: 0;\n  margin-left: 0;\n  left: 0;\n}\n.ant-menu-dark.ant-menu-inline .ant-menu-item:after,\n.ant-menu-dark.ant-menu-vertical .ant-menu-item:after,\n.ant-menu-dark.ant-menu-vertical-left .ant-menu-item:after,\n.ant-menu-dark.ant-menu-vertical-right .ant-menu-item:after {\n  border-right: 0;\n}\n.ant-menu-dark.ant-menu-inline .ant-menu-item,\n.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title {\n  width: 100%;\n}\n.ant-menu-dark .ant-menu-item:hover,\n.ant-menu-dark .ant-menu-item-active,\n.ant-menu-dark .ant-menu-submenu-active,\n.ant-menu-dark .ant-menu-submenu-open,\n.ant-menu-dark .ant-menu-submenu-selected,\n.ant-menu-dark .ant-menu-submenu-title:hover {\n  background-color: transparent;\n  color: #fff;\n}\n.ant-menu-dark .ant-menu-item:hover > a,\n.ant-menu-dark .ant-menu-item-active > a,\n.ant-menu-dark .ant-menu-submenu-active > a,\n.ant-menu-dark .ant-menu-submenu-open > a,\n.ant-menu-dark .ant-menu-submenu-selected > a,\n.ant-menu-dark .ant-menu-submenu-title:hover > a {\n  color: #fff;\n}\n.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow,\n.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow {\n  opacity: 1;\n}\n.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before {\n  background: #fff;\n}\n.ant-menu-dark .ant-menu-item-selected {\n  border-right: 0;\n  color: #fff;\n}\n.ant-menu-dark .ant-menu-item-selected:after {\n  border-right: 0;\n}\n.ant-menu-dark .ant-menu-item-selected > a,\n.ant-menu-dark .ant-menu-item-selected > a:hover {\n  color: #fff;\n}\n.ant-menu.ant-menu-dark .ant-menu-item-selected,\n.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected {\n  background-color: #1890ff;\n}\n.ant-menu-dark .ant-menu-item-disabled,\n.ant-menu-dark .ant-menu-submenu-disabled,\n.ant-menu-dark .ant-menu-item-disabled > a,\n.ant-menu-dark .ant-menu-submenu-disabled > a {\n  opacity: 0.8;\n  color: rgba(255, 255, 255, 0.35) !important;\n}\n.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title,\n.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title {\n  color: rgba(255, 255, 255, 0.35) !important;\n}\n.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before,\n.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after,\n.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after {\n  background: rgba(255, 255, 255, 0.35) !important;\n}\n", ""]);
  
  // exports
  
  
  /***/ }),
  
  /***/ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/progress/style/index.css":
  /*!*********************************************************************************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/css-loader!/Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/progress/style/index.css ***!
    \*********************************************************************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  exports = module.exports = __webpack_require__(/*! ../../../../css-loader/lib/css-base.js */ "../../node_modules/css-loader/lib/css-base.js")(false);
  // imports
  
  
  // module
  exports.push([module.i, "/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\n/* stylelint-disable no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\n.ant-progress {\n  font-family: \"Chinese Quote\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-size: 14px;\n  font-variant: tabular-nums;\n  line-height: 1.5;\n  color: rgba(0, 0, 0, 0.65);\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  display: inline-block;\n}\n.ant-progress-line {\n  width: 100%;\n  font-size: 14px;\n  position: relative;\n}\n.ant-progress-small.ant-progress-line,\n.ant-progress-small.ant-progress-line .ant-progress-text .anticon {\n  font-size: 12px;\n}\n.ant-progress-outer {\n  display: inline-block;\n  width: 100%;\n  margin-right: 0;\n  padding-right: 0;\n}\n.ant-progress-show-info .ant-progress-outer {\n  padding-right: calc(2em + 8px);\n  margin-right: calc(-2em - 8px);\n}\n.ant-progress-inner {\n  display: inline-block;\n  width: 100%;\n  background-color: #f5f5f5;\n  border-radius: 100px;\n  vertical-align: middle;\n  position: relative;\n}\n.ant-progress-circle-trail {\n  stroke: #f5f5f5;\n}\n.ant-progress-circle-path {\n  stroke: #1890ff;\n  -webkit-animation: ant-progress-appear 0.3s;\n          animation: ant-progress-appear 0.3s;\n}\n.ant-progress-success-bg,\n.ant-progress-bg {\n  background-color: #1890ff;\n  -webkit-transition: all 0.4s cubic-bezier(0.08, 0.82, 0.17, 1) 0s;\n  transition: all 0.4s cubic-bezier(0.08, 0.82, 0.17, 1) 0s;\n  position: relative;\n}\n.ant-progress-success-bg {\n  background-color: #52c41a;\n  position: absolute;\n  top: 0;\n  left: 0;\n}\n.ant-progress-text {\n  word-break: normal;\n  width: 2em;\n  text-align: left;\n  font-size: 1em;\n  margin-left: 8px;\n  vertical-align: middle;\n  display: inline-block;\n  white-space: nowrap;\n  color: rgba(0, 0, 0, 0.45);\n  line-height: 1;\n}\n.ant-progress-text .anticon {\n  font-size: 14px;\n}\n.ant-progress-status-active .ant-progress-bg:before {\n  content: \"\";\n  opacity: 0;\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background: #fff;\n  border-radius: 10px;\n  -webkit-animation: ant-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite;\n          animation: ant-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite;\n}\n.ant-progress-status-exception .ant-progress-bg {\n  background-color: #f5222d;\n}\n.ant-progress-status-exception .ant-progress-text {\n  color: #f5222d;\n}\n.ant-progress-status-exception .ant-progress-circle-path {\n  stroke: #f5222d;\n}\n.ant-progress-status-success .ant-progress-bg {\n  background-color: #52c41a;\n}\n.ant-progress-status-success .ant-progress-text {\n  color: #52c41a;\n}\n.ant-progress-status-success .ant-progress-circle-path {\n  stroke: #52c41a;\n}\n.ant-progress-circle .ant-progress-inner {\n  position: relative;\n  line-height: 1;\n  background-color: transparent;\n}\n.ant-progress-circle .ant-progress-text {\n  display: block;\n  position: absolute;\n  width: 100%;\n  text-align: center;\n  line-height: 1;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n          transform: translateY(-50%);\n  left: 0;\n  margin: 0;\n  color: rgba(0, 0, 0, 0.65);\n}\n.ant-progress-circle .ant-progress-text .anticon {\n  font-size: 1.16666667em;\n}\n.ant-progress-circle.ant-progress-status-exception .ant-progress-text {\n  color: #f5222d;\n}\n.ant-progress-circle.ant-progress-status-success .ant-progress-text {\n  color: #52c41a;\n}\n@-webkit-keyframes ant-progress-active {\n  0% {\n    opacity: 0.1;\n    width: 0;\n  }\n  20% {\n    opacity: 0.5;\n    width: 0;\n  }\n  100% {\n    opacity: 0;\n    width: 100%;\n  }\n}\n@keyframes ant-progress-active {\n  0% {\n    opacity: 0.1;\n    width: 0;\n  }\n  20% {\n    opacity: 0.5;\n    width: 0;\n  }\n  100% {\n    opacity: 0;\n    width: 100%;\n  }\n}\n", ""]);
  
  // exports
  
  
  /***/ }),
  
  /***/ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/switch/style/index.css":
  /*!*******************************************************************************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/css-loader!/Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/switch/style/index.css ***!
    \*******************************************************************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  exports = module.exports = __webpack_require__(/*! ../../../../css-loader/lib/css-base.js */ "../../node_modules/css-loader/lib/css-base.js")(false);
  // imports
  
  
  // module
  exports.push([module.i, "/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\n/* stylelint-disable no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\n.ant-switch {\n  font-family: \"Chinese Quote\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-size: 14px;\n  font-variant: tabular-nums;\n  line-height: 1.5;\n  color: rgba(0, 0, 0, 0.65);\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  position: relative;\n  display: inline-block;\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  height: 22px;\n  min-width: 44px;\n  line-height: 20px;\n  vertical-align: middle;\n  border-radius: 100px;\n  border: 1px solid transparent;\n  background-color: rgba(0, 0, 0, 0.25);\n  cursor: pointer;\n  -webkit-transition: all 0.36s;\n  transition: all 0.36s;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n}\n.ant-switch-inner {\n  color: #fff;\n  font-size: 12px;\n  margin-left: 24px;\n  margin-right: 6px;\n  display: block;\n}\n.ant-switch-loading-icon,\n.ant-switch:after {\n  position: absolute;\n  width: 18px;\n  height: 18px;\n  left: 1px;\n  top: 1px;\n  border-radius: 18px;\n  background-color: #fff;\n  content: \" \";\n  cursor: pointer;\n  -webkit-transition: all 0.36s cubic-bezier(0.78, 0.14, 0.15, 0.86);\n  transition: all 0.36s cubic-bezier(0.78, 0.14, 0.15, 0.86);\n}\n.ant-switch:after {\n  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2);\n          box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2);\n}\n.ant-switch:active:before,\n.ant-switch:active:after {\n  width: 24px;\n}\n.ant-switch-loading-icon {\n  background: transparent;\n  z-index: 1;\n  display: none;\n  font-size: 12px;\n}\n.ant-switch-loading-icon svg {\n  position: absolute;\n  left: 0;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  margin: auto;\n}\n.ant-switch-loading .ant-switch-loading-icon {\n  display: inline-block;\n  color: rgba(0, 0, 0, 0.65);\n}\n.ant-switch-checked.ant-switch-loading .ant-switch-loading-icon {\n  color: #1890ff;\n}\n.ant-switch:focus {\n  -webkit-box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);\n          box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);\n  outline: 0;\n}\n.ant-switch:focus:hover {\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.ant-switch-small {\n  height: 16px;\n  min-width: 28px;\n  line-height: 14px;\n}\n.ant-switch-small .ant-switch-inner {\n  margin-left: 18px;\n  margin-right: 3px;\n  font-size: 12px;\n}\n.ant-switch-small:after {\n  width: 12px;\n  height: 12px;\n}\n.ant-switch-small:active:before,\n.ant-switch-small:active:after {\n  width: 16px;\n}\n.ant-switch-small .ant-switch-loading-icon {\n  width: 12px;\n  height: 12px;\n}\n.ant-switch-small.ant-switch-checked .ant-switch-inner {\n  margin-left: 3px;\n  margin-right: 18px;\n}\n.ant-switch-small.ant-switch-checked .ant-switch-loading-icon {\n  left: 100%;\n  margin-left: -13px;\n}\n.ant-switch-small.ant-switch-loading .ant-switch-loading-icon {\n  -webkit-transform: scale(0.66667);\n      -ms-transform: scale(0.66667);\n          transform: scale(0.66667);\n  font-weight: bold;\n}\n.ant-switch-checked {\n  background-color: #1890ff;\n}\n.ant-switch-checked .ant-switch-inner {\n  margin-left: 6px;\n  margin-right: 24px;\n}\n.ant-switch-checked:after {\n  left: 100%;\n  -webkit-transform: translateX(-100%);\n      -ms-transform: translateX(-100%);\n          transform: translateX(-100%);\n  margin-left: -1px;\n}\n.ant-switch-checked .ant-switch-loading-icon {\n  left: 100%;\n  margin-left: -19px;\n}\n.ant-switch-loading,\n.ant-switch-disabled {\n  pointer-events: none;\n  opacity: 0.4;\n}\n@-webkit-keyframes AntSwitchSmallLoadingCircle {\n  0% {\n    -webkit-transform-origin: 50% 50%;\n            transform-origin: 50% 50%;\n    -webkit-transform: rotate(0deg) scale(0.66667);\n            transform: rotate(0deg) scale(0.66667);\n  }\n  100% {\n    -webkit-transform-origin: 50% 50%;\n            transform-origin: 50% 50%;\n    -webkit-transform: rotate(360deg) scale(0.66667);\n            transform: rotate(360deg) scale(0.66667);\n  }\n}\n@keyframes AntSwitchSmallLoadingCircle {\n  0% {\n    -webkit-transform-origin: 50% 50%;\n            transform-origin: 50% 50%;\n    -webkit-transform: rotate(0deg) scale(0.66667);\n            transform: rotate(0deg) scale(0.66667);\n  }\n  100% {\n    -webkit-transform-origin: 50% 50%;\n            transform-origin: 50% 50%;\n    -webkit-transform: rotate(360deg) scale(0.66667);\n            transform: rotate(360deg) scale(0.66667);\n  }\n}\n", ""]);
  
  // exports
  
  
  /***/ }),
  
  /***/ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/tooltip/style/index.css":
  /*!********************************************************************************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/css-loader!/Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/tooltip/style/index.css ***!
    \********************************************************************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  exports = module.exports = __webpack_require__(/*! ../../../../css-loader/lib/css-base.js */ "../../node_modules/css-loader/lib/css-base.js")(false);
  // imports
  
  
  // module
  exports.push([module.i, "/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\n/* stylelint-disable no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\n.ant-tooltip {\n  font-family: \"Chinese Quote\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-size: 14px;\n  font-variant: tabular-nums;\n  line-height: 1.5;\n  color: rgba(0, 0, 0, 0.65);\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  position: absolute;\n  z-index: 1060;\n  display: block;\n  visibility: visible;\n  max-width: 250px;\n}\n.ant-tooltip-hidden {\n  display: none;\n}\n.ant-tooltip-placement-top,\n.ant-tooltip-placement-topLeft,\n.ant-tooltip-placement-topRight {\n  padding-bottom: 8px;\n}\n.ant-tooltip-placement-right,\n.ant-tooltip-placement-rightTop,\n.ant-tooltip-placement-rightBottom {\n  padding-left: 8px;\n}\n.ant-tooltip-placement-bottom,\n.ant-tooltip-placement-bottomLeft,\n.ant-tooltip-placement-bottomRight {\n  padding-top: 8px;\n}\n.ant-tooltip-placement-left,\n.ant-tooltip-placement-leftTop,\n.ant-tooltip-placement-leftBottom {\n  padding-right: 8px;\n}\n.ant-tooltip-inner {\n  padding: 6px 8px;\n  color: #fff;\n  text-align: left;\n  text-decoration: none;\n  background-color: rgba(0, 0, 0, 0.75);\n  border-radius: 4px;\n  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n  min-height: 32px;\n  word-wrap: break-word;\n}\n.ant-tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.ant-tooltip-placement-top .ant-tooltip-arrow,\n.ant-tooltip-placement-topLeft .ant-tooltip-arrow,\n.ant-tooltip-placement-topRight .ant-tooltip-arrow {\n  bottom: 3px;\n  border-width: 5px 5px 0;\n  border-top-color: rgba(0, 0, 0, 0.75);\n}\n.ant-tooltip-placement-top .ant-tooltip-arrow {\n  left: 50%;\n  margin-left: -5px;\n}\n.ant-tooltip-placement-topLeft .ant-tooltip-arrow {\n  left: 16px;\n}\n.ant-tooltip-placement-topRight .ant-tooltip-arrow {\n  right: 16px;\n}\n.ant-tooltip-placement-right .ant-tooltip-arrow,\n.ant-tooltip-placement-rightTop .ant-tooltip-arrow,\n.ant-tooltip-placement-rightBottom .ant-tooltip-arrow {\n  left: 3px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: rgba(0, 0, 0, 0.75);\n}\n.ant-tooltip-placement-right .ant-tooltip-arrow {\n  top: 50%;\n  margin-top: -5px;\n}\n.ant-tooltip-placement-rightTop .ant-tooltip-arrow {\n  top: 8px;\n}\n.ant-tooltip-placement-rightBottom .ant-tooltip-arrow {\n  bottom: 8px;\n}\n.ant-tooltip-placement-left .ant-tooltip-arrow,\n.ant-tooltip-placement-leftTop .ant-tooltip-arrow,\n.ant-tooltip-placement-leftBottom .ant-tooltip-arrow {\n  right: 3px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: rgba(0, 0, 0, 0.75);\n}\n.ant-tooltip-placement-left .ant-tooltip-arrow {\n  top: 50%;\n  margin-top: -5px;\n}\n.ant-tooltip-placement-leftTop .ant-tooltip-arrow {\n  top: 8px;\n}\n.ant-tooltip-placement-leftBottom .ant-tooltip-arrow {\n  bottom: 8px;\n}\n.ant-tooltip-placement-bottom .ant-tooltip-arrow,\n.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow,\n.ant-tooltip-placement-bottomRight .ant-tooltip-arrow {\n  top: 3px;\n  border-width: 0 5px 5px;\n  border-bottom-color: rgba(0, 0, 0, 0.75);\n}\n.ant-tooltip-placement-bottom .ant-tooltip-arrow {\n  left: 50%;\n  margin-left: -5px;\n}\n.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow {\n  left: 16px;\n}\n.ant-tooltip-placement-bottomRight .ant-tooltip-arrow {\n  right: 16px;\n}\n", ""]);
  
  // exports
  
  
  /***/ }),
  
  /***/ "../../node_modules/css-loader/index.js!../../node_modules/antd/es/upload/style/index.css":
  /*!*******************************************************************************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/css-loader!/Users/bliashenko/Learning/codecrumbs/node_modules/antd/es/upload/style/index.css ***!
    \*******************************************************************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  exports = module.exports = __webpack_require__(/*! ../../../../css-loader/lib/css-base.js */ "../../node_modules/css-loader/lib/css-base.js")(false);
  // imports
  
  
  // module
  exports.push([module.i, "/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */\n/* stylelint-disable no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors */\n/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */\n.ant-upload {\n  font-family: \"Chinese Quote\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-size: 14px;\n  font-variant: tabular-nums;\n  line-height: 1.5;\n  color: rgba(0, 0, 0, 0.65);\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  outline: 0;\n}\n.ant-upload p {\n  margin: 0;\n}\n.ant-upload-btn {\n  display: block;\n  width: 100%;\n  outline: none;\n}\n.ant-upload input[type=\"file\"] {\n  cursor: pointer;\n}\n.ant-upload.ant-upload-select {\n  display: inline-block;\n}\n.ant-upload.ant-upload-select-picture-card {\n  border: 1px dashed #d9d9d9;\n  width: 104px;\n  height: 104px;\n  border-radius: 4px;\n  background-color: #fafafa;\n  text-align: center;\n  cursor: pointer;\n  -webkit-transition: border-color 0.3s ease;\n  transition: border-color 0.3s ease;\n  vertical-align: top;\n  margin-right: 8px;\n  margin-bottom: 8px;\n  display: table;\n}\n.ant-upload.ant-upload-select-picture-card > .ant-upload {\n  width: 100%;\n  height: 100%;\n  display: table-cell;\n  text-align: center;\n  vertical-align: middle;\n  padding: 8px;\n}\n.ant-upload.ant-upload-select-picture-card:hover {\n  border-color: #1890ff;\n}\n.ant-upload.ant-upload-drag {\n  border: 1px dashed #d9d9d9;\n  -webkit-transition: border-color 0.3s;\n  transition: border-color 0.3s;\n  cursor: pointer;\n  border-radius: 4px;\n  text-align: center;\n  width: 100%;\n  height: 100%;\n  position: relative;\n  background: #fafafa;\n}\n.ant-upload.ant-upload-drag .ant-upload {\n  padding: 16px 0;\n}\n.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled) {\n  border: 2px dashed #40a9ff;\n}\n.ant-upload.ant-upload-drag.ant-upload-disabled {\n  cursor: not-allowed;\n}\n.ant-upload.ant-upload-drag .ant-upload-btn {\n  display: table;\n  height: 100%;\n}\n.ant-upload.ant-upload-drag .ant-upload-drag-container {\n  display: table-cell;\n  vertical-align: middle;\n}\n.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover {\n  border-color: #40a9ff;\n}\n.ant-upload.ant-upload-drag p.ant-upload-drag-icon {\n  margin-bottom: 20px;\n}\n.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon {\n  font-size: 48px;\n  color: #40a9ff;\n}\n.ant-upload.ant-upload-drag p.ant-upload-text {\n  font-size: 16px;\n  margin: 0 0 4px;\n  color: rgba(0, 0, 0, 0.85);\n}\n.ant-upload.ant-upload-drag p.ant-upload-hint {\n  font-size: 14px;\n  color: rgba(0, 0, 0, 0.45);\n}\n.ant-upload.ant-upload-drag .anticon-plus {\n  font-size: 30px;\n  -webkit-transition: all .3s;\n  transition: all .3s;\n  color: rgba(0, 0, 0, 0.25);\n}\n.ant-upload.ant-upload-drag .anticon-plus:hover {\n  color: rgba(0, 0, 0, 0.45);\n}\n.ant-upload.ant-upload-drag:hover .anticon-plus {\n  color: rgba(0, 0, 0, 0.45);\n}\n.ant-upload-list {\n  font-family: \"Chinese Quote\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n  font-size: 14px;\n  font-variant: tabular-nums;\n  line-height: 1.5;\n  color: rgba(0, 0, 0, 0.65);\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n  list-style: none;\n  zoom: 1;\n}\n.ant-upload-list:before,\n.ant-upload-list:after {\n  content: \"\";\n  display: table;\n}\n.ant-upload-list:after {\n  clear: both;\n}\n.ant-upload-list-item {\n  margin-top: 8px;\n  font-size: 14px;\n  position: relative;\n  height: 22px;\n}\n.ant-upload-list-item-name {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  padding-left: 22px;\n  width: 100%;\n  display: inline-block;\n}\n.ant-upload-list-item-info {\n  height: 100%;\n  padding: 0 12px 0 4px;\n  -webkit-transition: background-color 0.3s;\n  transition: background-color 0.3s;\n}\n.ant-upload-list-item-info > span {\n  display: block;\n}\n.ant-upload-list-item-info .anticon-loading,\n.ant-upload-list-item-info .anticon-paper-clip {\n  font-size: 14px;\n  color: rgba(0, 0, 0, 0.45);\n  position: absolute;\n  top: 5px;\n}\n.ant-upload-list-item .anticon-close {\n  display: inline-block;\n  font-size: 12px;\n  font-size: 10px \\9;\n  -webkit-transform: scale(0.83333333) rotate(0deg);\n      -ms-transform: scale(0.83333333) rotate(0deg);\n          transform: scale(0.83333333) rotate(0deg);\n  -webkit-transition: all .3s;\n  transition: all .3s;\n  opacity: 0;\n  cursor: pointer;\n  position: absolute;\n  top: 6px;\n  right: 4px;\n  color: rgba(0, 0, 0, 0.45);\n  line-height: 0;\n}\n:root .ant-upload-list-item .anticon-close {\n  font-size: 12px;\n}\n.ant-upload-list-item .anticon-close:hover {\n  color: rgba(0, 0, 0, 0.65);\n}\n.ant-upload-list-item:hover .ant-upload-list-item-info {\n  background-color: #e6f7ff;\n}\n.ant-upload-list-item:hover .anticon-close {\n  opacity: 1;\n}\n.ant-upload-list-item-error,\n.ant-upload-list-item-error .anticon-paper-clip,\n.ant-upload-list-item-error .ant-upload-list-item-name {\n  color: #f5222d;\n}\n.ant-upload-list-item-error .anticon-close {\n  opacity: 1;\n  color: #f5222d !important;\n}\n.ant-upload-list-item-progress {\n  line-height: 0;\n  font-size: 14px;\n  position: absolute;\n  width: 100%;\n  bottom: -12px;\n  padding-left: 26px;\n}\n.ant-upload-list-picture .ant-upload-list-item,\n.ant-upload-list-picture-card .ant-upload-list-item {\n  padding: 8px;\n  border-radius: 4px;\n  border: 1px solid #d9d9d9;\n  height: 66px;\n  position: relative;\n}\n.ant-upload-list-picture .ant-upload-list-item:hover,\n.ant-upload-list-picture-card .ant-upload-list-item:hover {\n  background: transparent;\n}\n.ant-upload-list-picture .ant-upload-list-item-error,\n.ant-upload-list-picture-card .ant-upload-list-item-error {\n  border-color: #f5222d;\n}\n.ant-upload-list-picture .ant-upload-list-item-info,\n.ant-upload-list-picture-card .ant-upload-list-item-info {\n  padding: 0;\n}\n.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info,\n.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info {\n  background: transparent;\n}\n.ant-upload-list-picture .ant-upload-list-item-uploading,\n.ant-upload-list-picture-card .ant-upload-list-item-uploading {\n  border-style: dashed;\n}\n.ant-upload-list-picture .ant-upload-list-item-thumbnail,\n.ant-upload-list-picture-card .ant-upload-list-item-thumbnail {\n  width: 48px;\n  height: 48px;\n  position: absolute;\n  top: 8px;\n  left: 8px;\n  text-align: center;\n}\n.ant-upload-list-picture .ant-upload-list-item-icon,\n.ant-upload-list-picture-card .ant-upload-list-item-icon {\n  color: rgba(0, 0, 0, 0.25);\n  font-size: 36px;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  margin-top: -18px;\n  margin-left: -18px;\n}\n.ant-upload-list-picture .ant-upload-list-item-thumbnail img,\n.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img {\n  width: 48px;\n  height: 48px;\n  display: block;\n  overflow: hidden;\n}\n.ant-upload-list-picture .ant-upload-list-item-thumbnail.anticon:before,\n.ant-upload-list-picture-card .ant-upload-list-item-thumbnail.anticon:before {\n  line-height: 48px;\n  font-size: 24px;\n  color: rgba(0, 0, 0, 0.45);\n}\n.ant-upload-list-picture .ant-upload-list-item-name,\n.ant-upload-list-picture-card .ant-upload-list-item-name {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  margin: 0 0 0 8px;\n  line-height: 44px;\n  -webkit-transition: all .3s;\n  transition: all .3s;\n  padding-left: 48px;\n  padding-right: 8px;\n  max-width: 100%;\n  display: inline-block;\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n}\n.ant-upload-list-picture .ant-upload-list-item-uploading .ant-upload-list-item-name,\n.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-name {\n  line-height: 28px;\n}\n.ant-upload-list-picture .ant-upload-list-item-progress,\n.ant-upload-list-picture-card .ant-upload-list-item-progress {\n  padding-left: 56px;\n  margin-top: 0;\n  bottom: 14px;\n  width: calc(100% - 24px);\n}\n.ant-upload-list-picture .anticon-close,\n.ant-upload-list-picture-card .anticon-close {\n  position: absolute;\n  right: 8px;\n  top: 8px;\n  line-height: 1;\n  opacity: 1;\n}\n.ant-upload-list-picture-card {\n  float: left;\n}\n.ant-upload-list-picture-card.ant-upload-list:after {\n  display: none;\n}\n.ant-upload-list-picture-card .ant-upload-list-item {\n  float: left;\n  width: 104px;\n  height: 104px;\n  margin: 0 8px 8px 0;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-info {\n  height: 100%;\n  position: relative;\n  overflow: hidden;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-info:before {\n  content: ' ';\n  position: absolute;\n  z-index: 1;\n  background-color: rgba(0, 0, 0, 0.5);\n  -webkit-transition: all .3s;\n  transition: all .3s;\n  width: 100%;\n  height: 100%;\n  opacity: 0;\n}\n.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info:before {\n  opacity: 1;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-actions {\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  -webkit-transform: translate(-50%, -50%);\n      -ms-transform: translate(-50%, -50%);\n          transform: translate(-50%, -50%);\n  z-index: 10;\n  white-space: nowrap;\n  opacity: 0;\n  -webkit-transition: all .3s;\n  transition: all .3s;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye-o,\n.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete {\n  z-index: 10;\n  -webkit-transition: all .3s;\n  transition: all .3s;\n  cursor: pointer;\n  font-size: 16px;\n  width: 16px;\n  color: rgba(255, 255, 255, 0.85);\n  margin: 0 4px;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye-o:hover,\n.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover {\n  color: #fff;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-info:hover + .ant-upload-list-item-actions,\n.ant-upload-list-picture-card .ant-upload-list-item-actions:hover {\n  opacity: 1;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-thumbnail,\n.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img {\n  display: block;\n  width: 100%;\n  height: 100%;\n  position: static;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-name {\n  margin: 8px 0 0;\n  padding: 0;\n  text-align: center;\n  line-height: 1.5;\n  display: none;\n}\n.ant-upload-list-picture-card .anticon-picture + .ant-upload-list-item-name {\n  display: block;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item {\n  background-color: #fafafa;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info {\n  height: auto;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info:before,\n.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-eye-o,\n.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-delete {\n  display: none;\n}\n.ant-upload-list-picture-card .ant-upload-list-item-uploading-text {\n  margin-top: 18px;\n  color: rgba(0, 0, 0, 0.45);\n}\n.ant-upload-list-picture-card .ant-upload-list-item-progress {\n  padding-left: 0;\n  bottom: 32px;\n}\n.ant-upload-list .ant-upload-success-icon {\n  color: #52c41a;\n  font-weight: bold;\n}\n.ant-upload-list .ant-upload-animate-enter,\n.ant-upload-list .ant-upload-animate-leave,\n.ant-upload-list .ant-upload-animate-inline-enter,\n.ant-upload-list .ant-upload-animate-inline-leave {\n  -webkit-animation-duration: .3s;\n          animation-duration: .3s;\n  -webkit-animation-fill-mode: cubic-bezier(0.78, 0.14, 0.15, 0.86);\n          animation-fill-mode: cubic-bezier(0.78, 0.14, 0.15, 0.86);\n}\n.ant-upload-list .ant-upload-animate-enter {\n  -webkit-animation-name: uploadAnimateIn;\n          animation-name: uploadAnimateIn;\n}\n.ant-upload-list .ant-upload-animate-leave {\n  -webkit-animation-name: uploadAnimateOut;\n          animation-name: uploadAnimateOut;\n}\n.ant-upload-list .ant-upload-animate-inline-enter {\n  -webkit-animation-name: uploadAnimateInlineIn;\n          animation-name: uploadAnimateInlineIn;\n}\n.ant-upload-list .ant-upload-animate-inline-leave {\n  -webkit-animation-name: uploadAnimateInlineOut;\n          animation-name: uploadAnimateInlineOut;\n}\n@-webkit-keyframes uploadAnimateIn {\n  from {\n    height: 0;\n    margin: 0;\n    opacity: 0;\n    padding: 0;\n  }\n}\n@keyframes uploadAnimateIn {\n  from {\n    height: 0;\n    margin: 0;\n    opacity: 0;\n    padding: 0;\n  }\n}\n@-webkit-keyframes uploadAnimateOut {\n  to {\n    height: 0;\n    margin: 0;\n    padding: 0;\n    opacity: 0;\n  }\n}\n@keyframes uploadAnimateOut {\n  to {\n    height: 0;\n    margin: 0;\n    padding: 0;\n    opacity: 0;\n  }\n}\n@-webkit-keyframes uploadAnimateInlineIn {\n  from {\n    width: 0;\n    height: 0;\n    margin: 0;\n    opacity: 0;\n    padding: 0;\n  }\n}\n@keyframes uploadAnimateInlineIn {\n  from {\n    width: 0;\n    height: 0;\n    margin: 0;\n    opacity: 0;\n    padding: 0;\n  }\n}\n@-webkit-keyframes uploadAnimateInlineOut {\n  to {\n    width: 0;\n    height: 0;\n    margin: 0;\n    padding: 0;\n    opacity: 0;\n  }\n}\n@keyframes uploadAnimateInlineOut {\n  to {\n    width: 0;\n    height: 0;\n    margin: 0;\n    padding: 0;\n    opacity: 0;\n  }\n}\n", ""]);
  
  // exports
  
  
  /***/ }),
  
  /***/ "../../node_modules/dom-align/es/adjustForViewport.js":
  /*!********************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-align/es/adjustForViewport.js ***!
    \********************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "../../node_modules/dom-align/es/utils.js");
  
  
  function adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {
    var pos = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].clone(elFuturePos);
    var size = {
      width: elRegion.width,
      height: elRegion.height
    };
  
    if (overflow.adjustX && pos.left < visibleRect.left) {
      pos.left = visibleRect.left;
    }
  
    // Left edge inside and right edge outside viewport, try to resize it.
    if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {
      size.width -= pos.left + size.width - visibleRect.right;
    }
  
    // Right edge outside viewport, try to move it.
    if (overflow.adjustX && pos.left + size.width > visibleRect.right) {
      // 保证左边界和可视区域左边界对齐
      pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);
    }
  
    // Top edge outside viewport, try to move it.
    if (overflow.adjustY && pos.top < visibleRect.top) {
      pos.top = visibleRect.top;
    }
  
    // Top edge inside and bottom edge outside viewport, try to resize it.
    if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {
      size.height -= pos.top + size.height - visibleRect.bottom;
    }
  
    // Bottom edge outside viewport, try to move it.
    if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {
      // 保证上边界和可视区域上边界对齐
      pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);
    }
  
    return _utils__WEBPACK_IMPORTED_MODULE_0__["default"].mix(pos, size);
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (adjustForViewport);
  
  /***/ }),
  
  /***/ "../../node_modules/dom-align/es/align/align.js":
  /*!**************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-align/es/align/align.js ***!
    \**************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ "../../node_modules/dom-align/es/utils.js");
  /* harmony import */ var _getVisibleRectForElement__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../getVisibleRectForElement */ "../../node_modules/dom-align/es/getVisibleRectForElement.js");
  /* harmony import */ var _adjustForViewport__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../adjustForViewport */ "../../node_modules/dom-align/es/adjustForViewport.js");
  /* harmony import */ var _getRegion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../getRegion */ "../../node_modules/dom-align/es/getRegion.js");
  /* harmony import */ var _getElFuturePos__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../getElFuturePos */ "../../node_modules/dom-align/es/getElFuturePos.js");
  /**
   * align dom node flexibly
   * @author yiminghe@gmail.com
   */
  
  
  
  
  
  
  
  // http://yiminghe.iteye.com/blog/1124720
  
  function isFailX(elFuturePos, elRegion, visibleRect) {
    return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;
  }
  
  function isFailY(elFuturePos, elRegion, visibleRect) {
    return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;
  }
  
  function isCompleteFailX(elFuturePos, elRegion, visibleRect) {
    return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;
  }
  
  function isCompleteFailY(elFuturePos, elRegion, visibleRect) {
    return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;
  }
  
  function flip(points, reg, map) {
    var ret = [];
    _utils__WEBPACK_IMPORTED_MODULE_0__["default"].each(points, function (p) {
      ret.push(p.replace(reg, function (m) {
        return map[m];
      }));
    });
    return ret;
  }
  
  function flipOffset(offset, index) {
    offset[index] = -offset[index];
    return offset;
  }
  
  function convertOffset(str, offsetLen) {
    var n = void 0;
    if (/%$/.test(str)) {
      n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;
    } else {
      n = parseInt(str, 10);
    }
    return n || 0;
  }
  
  function normalizeOffset(offset, el) {
    offset[0] = convertOffset(offset[0], el.width);
    offset[1] = convertOffset(offset[1], el.height);
  }
  
  /**
   * @param el
   * @param tgtRegion 参照节点所占的区域: { left, top, width, height }
   * @param align
   */
  function doAlign(el, tgtRegion, align, isTgtRegionVisible) {
    var points = align.points;
    var offset = align.offset || [0, 0];
    var targetOffset = align.targetOffset || [0, 0];
    var overflow = align.overflow;
    var source = align.source || el;
    offset = [].concat(offset);
    targetOffset = [].concat(targetOffset);
    overflow = overflow || {};
    var newOverflowCfg = {};
    var fail = 0;
    // 当前节点可以被放置的显示区域
    var visibleRect = Object(_getVisibleRectForElement__WEBPACK_IMPORTED_MODULE_1__["default"])(source);
    // 当前节点所占的区域, left/top/width/height
    var elRegion = Object(_getRegion__WEBPACK_IMPORTED_MODULE_3__["default"])(source);
    // 将 offset 转换成数值，支持百分比
    normalizeOffset(offset, elRegion);
    normalizeOffset(targetOffset, tgtRegion);
    // 当前节点将要被放置的位置
    var elFuturePos = Object(_getElFuturePos__WEBPACK_IMPORTED_MODULE_4__["default"])(elRegion, tgtRegion, points, offset, targetOffset);
    // 当前节点将要所处的区域
    var newElRegion = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].merge(elRegion, elFuturePos);
  
    // 如果可视区域不能完全放置当前节点时允许调整
    if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {
      if (overflow.adjustX) {
        // 如果横向不能放下
        if (isFailX(elFuturePos, elRegion, visibleRect)) {
          // 对齐位置反下
          var newPoints = flip(points, /[lr]/ig, {
            l: 'r',
            r: 'l'
          });
          // 偏移量也反下
          var newOffset = flipOffset(offset, 0);
          var newTargetOffset = flipOffset(targetOffset, 0);
          var newElFuturePos = Object(_getElFuturePos__WEBPACK_IMPORTED_MODULE_4__["default"])(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);
  
          if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {
            fail = 1;
            points = newPoints;
            offset = newOffset;
            targetOffset = newTargetOffset;
          }
        }
      }
  
      if (overflow.adjustY) {
        // 如果纵向不能放下
        if (isFailY(elFuturePos, elRegion, visibleRect)) {
          // 对齐位置反下
          var _newPoints = flip(points, /[tb]/ig, {
            t: 'b',
            b: 't'
          });
          // 偏移量也反下
          var _newOffset = flipOffset(offset, 1);
          var _newTargetOffset = flipOffset(targetOffset, 1);
          var _newElFuturePos = Object(_getElFuturePos__WEBPACK_IMPORTED_MODULE_4__["default"])(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);
  
          if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {
            fail = 1;
            points = _newPoints;
            offset = _newOffset;
            targetOffset = _newTargetOffset;
          }
        }
      }
  
      // 如果失败，重新计算当前节点将要被放置的位置
      if (fail) {
        elFuturePos = Object(_getElFuturePos__WEBPACK_IMPORTED_MODULE_4__["default"])(elRegion, tgtRegion, points, offset, targetOffset);
        _utils__WEBPACK_IMPORTED_MODULE_0__["default"].mix(newElRegion, elFuturePos);
      }
      var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);
      var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);
      // 检查反下后的位置是否可以放下了，如果仍然放不下：
      // 1. 复原修改过的定位参数
      if (isStillFailX || isStillFailY) {
        points = align.points;
        offset = align.offset || [0, 0];
        targetOffset = align.targetOffset || [0, 0];
      }
      // 2. 只有指定了可以调整当前方向才调整
      newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;
      newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;
  
      // 确实要调整，甚至可能会调整高度宽度
      if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {
        newElRegion = Object(_adjustForViewport__WEBPACK_IMPORTED_MODULE_2__["default"])(elFuturePos, elRegion, visibleRect, newOverflowCfg);
      }
    }
  
    // need judge to in case set fixed with in css on height auto element
    if (newElRegion.width !== elRegion.width) {
      _utils__WEBPACK_IMPORTED_MODULE_0__["default"].css(source, 'width', _utils__WEBPACK_IMPORTED_MODULE_0__["default"].width(source) + newElRegion.width - elRegion.width);
    }
  
    if (newElRegion.height !== elRegion.height) {
      _utils__WEBPACK_IMPORTED_MODULE_0__["default"].css(source, 'height', _utils__WEBPACK_IMPORTED_MODULE_0__["default"].height(source) + newElRegion.height - elRegion.height);
    }
  
    // https://github.com/kissyteam/kissy/issues/190
    // 相对于屏幕位置没变，而 left/top 变了
    // 例如 <div 'relative'><el absolute></div>
    _utils__WEBPACK_IMPORTED_MODULE_0__["default"].offset(source, {
      left: newElRegion.left,
      top: newElRegion.top
    }, {
      useCssRight: align.useCssRight,
      useCssBottom: align.useCssBottom,
      useCssTransform: align.useCssTransform,
      ignoreShake: align.ignoreShake
    });
  
    return {
      points: points,
      offset: offset,
      targetOffset: targetOffset,
      overflow: newOverflowCfg
    };
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (doAlign);
  /**
   *  2012-04-26 yiminghe@gmail.com
   *   - 优化智能对齐算法
   *   - 慎用 resizeXX
   *
   *  2011-07-13 yiminghe@gmail.com note:
   *   - 增加智能对齐，以及大小调整选项
   **/
  
  /***/ }),
  
  /***/ "../../node_modules/dom-align/es/align/alignElement.js":
  /*!*********************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-align/es/align/alignElement.js ***!
    \*********************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _align__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./align */ "../../node_modules/dom-align/es/align/align.js");
  /* harmony import */ var _getOffsetParent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../getOffsetParent */ "../../node_modules/dom-align/es/getOffsetParent.js");
  /* harmony import */ var _getVisibleRectForElement__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../getVisibleRectForElement */ "../../node_modules/dom-align/es/getVisibleRectForElement.js");
  /* harmony import */ var _getRegion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../getRegion */ "../../node_modules/dom-align/es/getRegion.js");
  
  
  
  
  
  function isOutOfVisibleRect(target) {
    var visibleRect = Object(_getVisibleRectForElement__WEBPACK_IMPORTED_MODULE_2__["default"])(target);
    var targetRegion = Object(_getRegion__WEBPACK_IMPORTED_MODULE_3__["default"])(target);
  
    return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;
  }
  
  function alignElement(el, refNode, align) {
    var target = align.target || refNode;
    var refNodeRegion = Object(_getRegion__WEBPACK_IMPORTED_MODULE_3__["default"])(target);
  
    var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);
  
    return Object(_align__WEBPACK_IMPORTED_MODULE_0__["default"])(el, refNodeRegion, align, isTargetNotOutOfVisible);
  }
  
  alignElement.__getOffsetParent = _getOffsetParent__WEBPACK_IMPORTED_MODULE_1__["default"];
  
  alignElement.__getVisibleRectForElement = _getVisibleRectForElement__WEBPACK_IMPORTED_MODULE_2__["default"];
  
  /* harmony default export */ __webpack_exports__["default"] = (alignElement);
  
  /***/ }),
  
  /***/ "../../node_modules/dom-align/es/align/alignPoint.js":
  /*!*******************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-align/es/align/alignPoint.js ***!
    \*******************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ "../../node_modules/dom-align/es/utils.js");
  /* harmony import */ var _align__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./align */ "../../node_modules/dom-align/es/align/align.js");
  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; };
  
  
  
  
  /**
   * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.
   * If client position provided, will internal convert to page position.
   */
  
  function alignPoint(el, tgtPoint, align) {
    var pageX = void 0;
    var pageY = void 0;
  
    var doc = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].getDocument(el);
    var win = doc.defaultView || doc.parentWindow;
  
    var scrollX = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].getWindowScrollLeft(win);
    var scrollY = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].getWindowScrollTop(win);
    var viewportWidth = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].viewportWidth(win);
    var viewportHeight = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].viewportHeight(win);
  
    if ('pageX' in tgtPoint) {
      pageX = tgtPoint.pageX;
    } else {
      pageX = scrollX + tgtPoint.clientX;
    }
  
    if ('pageY' in tgtPoint) {
      pageY = tgtPoint.pageY;
    } else {
      pageY = scrollY + tgtPoint.clientY;
    }
  
    var tgtRegion = {
      left: pageX,
      top: pageY,
      width: 0,
      height: 0
    };
  
    var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;
  
    // Provide default target point
    var points = [align.points[0], 'cc'];
  
    return Object(_align__WEBPACK_IMPORTED_MODULE_1__["default"])(el, tgtRegion, _extends({}, align, { points: points }), pointInView);
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (alignPoint);
  
  /***/ }),
  
  /***/ "../../node_modules/dom-align/es/getAlignOffset.js":
  /*!*****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-align/es/getAlignOffset.js ***!
    \*****************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /**
   * 获取 node 上的 align 对齐点 相对于页面的坐标
   */
  
  function getAlignOffset(region, align) {
    var V = align.charAt(0);
    var H = align.charAt(1);
    var w = region.width;
    var h = region.height;
  
    var x = region.left;
    var y = region.top;
  
    if (V === 'c') {
      y += h / 2;
    } else if (V === 'b') {
      y += h;
    }
  
    if (H === 'c') {
      x += w / 2;
    } else if (H === 'r') {
      x += w;
    }
  
    return {
      left: x,
      top: y
    };
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (getAlignOffset);
  
  /***/ }),
  
  /***/ "../../node_modules/dom-align/es/getElFuturePos.js":
  /*!*****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-align/es/getElFuturePos.js ***!
    \*****************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _getAlignOffset__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getAlignOffset */ "../../node_modules/dom-align/es/getAlignOffset.js");
  
  
  function getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {
    var p1 = Object(_getAlignOffset__WEBPACK_IMPORTED_MODULE_0__["default"])(refNodeRegion, points[1]);
    var p2 = Object(_getAlignOffset__WEBPACK_IMPORTED_MODULE_0__["default"])(elRegion, points[0]);
    var diff = [p2.left - p1.left, p2.top - p1.top];
  
    return {
      left: elRegion.left - diff[0] + offset[0] - targetOffset[0],
      top: elRegion.top - diff[1] + offset[1] - targetOffset[1]
    };
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (getElFuturePos);
  
  /***/ }),
  
  /***/ "../../node_modules/dom-align/es/getOffsetParent.js":
  /*!******************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-align/es/getOffsetParent.js ***!
    \******************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "../../node_modules/dom-align/es/utils.js");
  
  
  /**
   * 得到会导致元素显示不全的祖先元素
   */
  
  function getOffsetParent(element) {
    if (_utils__WEBPACK_IMPORTED_MODULE_0__["default"].isWindow(element) || element.nodeType === 9) {
      return null;
    }
    // ie 这个也不是完全可行
    /*
     <div style="width: 50px;height: 100px;overflow: hidden">
     <div style="width: 50px;height: 100px;position: relative;" id="d6">
     元素 6 高 100px 宽 50px<br/>
     </div>
     </div>
     */
    // element.offsetParent does the right thing in ie7 and below. Return parent with layout!
    //  In other browsers it only includes elements with position absolute, relative or
    // fixed, not elements with overflow set to auto or scroll.
    //        if (UA.ie && ieMode < 8) {
    //            return element.offsetParent;
    //        }
    // 统一的 offsetParent 方法
    var doc = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].getDocument(element);
    var body = doc.body;
    var parent = void 0;
    var positionStyle = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].css(element, 'position');
    var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';
  
    if (!skipStatic) {
      return element.nodeName.toLowerCase() === 'html' ? null : element.parentNode;
    }
  
    for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {
      positionStyle = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].css(parent, 'position');
      if (positionStyle !== 'static') {
        return parent;
      }
    }
    return null;
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (getOffsetParent);
  
  /***/ }),
  
  /***/ "../../node_modules/dom-align/es/getRegion.js":
  /*!************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-align/es/getRegion.js ***!
    \************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "../../node_modules/dom-align/es/utils.js");
  
  
  function getRegion(node) {
    var offset = void 0;
    var w = void 0;
    var h = void 0;
    if (!_utils__WEBPACK_IMPORTED_MODULE_0__["default"].isWindow(node) && node.nodeType !== 9) {
      offset = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].offset(node);
      w = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].outerWidth(node);
      h = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].outerHeight(node);
    } else {
      var win = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].getWindow(node);
      offset = {
        left: _utils__WEBPACK_IMPORTED_MODULE_0__["default"].getWindowScrollLeft(win),
        top: _utils__WEBPACK_IMPORTED_MODULE_0__["default"].getWindowScrollTop(win)
      };
      w = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].viewportWidth(win);
      h = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].viewportHeight(win);
    }
    offset.width = w;
    offset.height = h;
    return offset;
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (getRegion);
  
  /***/ }),
  
  /***/ "../../node_modules/dom-align/es/getVisibleRectForElement.js":
  /*!***************************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-align/es/getVisibleRectForElement.js ***!
    \***************************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "../../node_modules/dom-align/es/utils.js");
  /* harmony import */ var _getOffsetParent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getOffsetParent */ "../../node_modules/dom-align/es/getOffsetParent.js");
  /* harmony import */ var _isAncestorFixed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isAncestorFixed */ "../../node_modules/dom-align/es/isAncestorFixed.js");
  
  
  
  
  /**
   * 获得元素的显示部分的区域
   */
  function getVisibleRectForElement(element) {
    var visibleRect = {
      left: 0,
      right: Infinity,
      top: 0,
      bottom: Infinity
    };
    var el = Object(_getOffsetParent__WEBPACK_IMPORTED_MODULE_1__["default"])(element);
    var doc = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].getDocument(element);
    var win = doc.defaultView || doc.parentWindow;
    var body = doc.body;
    var documentElement = doc.documentElement;
  
    // Determine the size of the visible rect by climbing the dom accounting for
    // all scrollable containers.
    while (el) {
      // clientWidth is zero for inline block elements in ie.
      if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&
      // body may have overflow set on it, yet we still get the entire
      // viewport. In some browsers, el.offsetParent may be
      // document.documentElement, so check for that too.
      el !== body && el !== documentElement && _utils__WEBPACK_IMPORTED_MODULE_0__["default"].css(el, 'overflow') !== 'visible') {
        var pos = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].offset(el);
        // add border
        pos.left += el.clientLeft;
        pos.top += el.clientTop;
        visibleRect.top = Math.max(visibleRect.top, pos.top);
        visibleRect.right = Math.min(visibleRect.right,
        // consider area without scrollBar
        pos.left + el.clientWidth);
        visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);
        visibleRect.left = Math.max(visibleRect.left, pos.left);
      } else if (el === body || el === documentElement) {
        break;
      }
      el = Object(_getOffsetParent__WEBPACK_IMPORTED_MODULE_1__["default"])(el);
    }
  
    // Set element position to fixed
    // make sure absolute element itself don't affect it's visible area
    // https://github.com/ant-design/ant-design/issues/7601
    var originalPosition = null;
    if (!_utils__WEBPACK_IMPORTED_MODULE_0__["default"].isWindow(element) && element.nodeType !== 9) {
      originalPosition = element.style.position;
      var position = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].css(element, 'position');
      if (position === 'absolute') {
        element.style.position = 'fixed';
      }
    }
  
    var scrollX = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].getWindowScrollLeft(win);
    var scrollY = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].getWindowScrollTop(win);
    var viewportWidth = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].viewportWidth(win);
    var viewportHeight = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].viewportHeight(win);
    var documentWidth = documentElement.scrollWidth;
    var documentHeight = documentElement.scrollHeight;
  
    // Reset element position after calculate the visible area
    if (element.style) {
      element.style.position = originalPosition;
    }
  
    if (Object(_isAncestorFixed__WEBPACK_IMPORTED_MODULE_2__["default"])(element)) {
      // Clip by viewport's size.
      visibleRect.left = Math.max(visibleRect.left, scrollX);
      visibleRect.top = Math.max(visibleRect.top, scrollY);
      visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);
      visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);
    } else {
      // Clip by document's size.
      var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);
      visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);
  
      var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);
      visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);
    }
  
    return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (getVisibleRectForElement);
  
  /***/ }),
  
  /***/ "../../node_modules/dom-align/es/index.js":
  /*!********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-align/es/index.js ***!
    \********************************************************************************/
  /*! exports provided: alignElement, alignPoint, default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _align_alignElement__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./align/alignElement */ "../../node_modules/dom-align/es/align/alignElement.js");
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "alignElement", function() { return _align_alignElement__WEBPACK_IMPORTED_MODULE_0__["default"]; });
  
  /* harmony import */ var _align_alignPoint__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./align/alignPoint */ "../../node_modules/dom-align/es/align/alignPoint.js");
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "alignPoint", function() { return _align_alignPoint__WEBPACK_IMPORTED_MODULE_1__["default"]; });
  
  
  
  
  
  
  /* harmony default export */ __webpack_exports__["default"] = (_align_alignElement__WEBPACK_IMPORTED_MODULE_0__["default"]);
  
  /***/ }),
  
  /***/ "../../node_modules/dom-align/es/isAncestorFixed.js":
  /*!******************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-align/es/isAncestorFixed.js ***!
    \******************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return isAncestorFixed; });
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "../../node_modules/dom-align/es/utils.js");
  
  
  function isAncestorFixed(element) {
    if (_utils__WEBPACK_IMPORTED_MODULE_0__["default"].isWindow(element) || element.nodeType === 9) {
      return false;
    }
  
    var doc = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].getDocument(element);
    var body = doc.body;
    var parent = null;
    for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {
      var positionStyle = _utils__WEBPACK_IMPORTED_MODULE_0__["default"].css(parent, 'position');
      if (positionStyle === 'fixed') {
        return true;
      }
    }
    return false;
  }
  
  /***/ }),
  
  /***/ "../../node_modules/dom-align/es/propertyUtils.js":
  /*!****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-align/es/propertyUtils.js ***!
    \****************************************************************************************/
  /*! exports provided: getTransformName, setTransitionProperty, getTransitionProperty, getTransformXY, setTransformXY */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTransformName", function() { return getTransformName; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setTransitionProperty", function() { return setTransitionProperty; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTransitionProperty", function() { return getTransitionProperty; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTransformXY", function() { return getTransformXY; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setTransformXY", function() { return setTransformXY; });
  var vendorPrefix = void 0;
  
  var jsCssMap = {
    Webkit: '-webkit-',
    Moz: '-moz-',
    // IE did it wrong again ...
    ms: '-ms-',
    O: '-o-'
  };
  
  function getVendorPrefix() {
    if (vendorPrefix !== undefined) {
      return vendorPrefix;
    }
    vendorPrefix = '';
    var style = document.createElement('p').style;
    var testProp = 'Transform';
    for (var key in jsCssMap) {
      if (key + testProp in style) {
        vendorPrefix = key;
      }
    }
    return vendorPrefix;
  }
  
  function getTransitionName() {
    return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';
  }
  
  function getTransformName() {
    return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';
  }
  
  function setTransitionProperty(node, value) {
    var name = getTransitionName();
    if (name) {
      node.style[name] = value;
      if (name !== 'transitionProperty') {
        node.style.transitionProperty = value;
      }
    }
  }
  
  function setTransform(node, value) {
    var name = getTransformName();
    if (name) {
      node.style[name] = value;
      if (name !== 'transform') {
        node.style.transform = value;
      }
    }
  }
  
  function getTransitionProperty(node) {
    return node.style.transitionProperty || node.style[getTransitionName()];
  }
  
  function getTransformXY(node) {
    var style = window.getComputedStyle(node, null);
    var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());
    if (transform && transform !== 'none') {
      var matrix = transform.replace(/[^0-9\-.,]/g, '').split(',');
      return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };
    }
    return {
      x: 0,
      y: 0
    };
  }
  
  var matrix2d = /matrix\((.*)\)/;
  var matrix3d = /matrix3d\((.*)\)/;
  
  function setTransformXY(node, xy) {
    var style = window.getComputedStyle(node, null);
    var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());
    if (transform && transform !== 'none') {
      var arr = void 0;
      var match2d = transform.match(matrix2d);
      if (match2d) {
        match2d = match2d[1];
        arr = match2d.split(',').map(function (item) {
          return parseFloat(item, 10);
        });
        arr[4] = xy.x;
        arr[5] = xy.y;
        setTransform(node, 'matrix(' + arr.join(',') + ')');
      } else {
        var match3d = transform.match(matrix3d)[1];
        arr = match3d.split(',').map(function (item) {
          return parseFloat(item, 10);
        });
        arr[12] = xy.x;
        arr[13] = xy.y;
        setTransform(node, 'matrix3d(' + arr.join(',') + ')');
      }
    } else {
      setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');
    }
  }
  
  /***/ }),
  
  /***/ "../../node_modules/dom-align/es/utils.js":
  /*!********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-align/es/utils.js ***!
    \********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _propertyUtils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./propertyUtils */ "../../node_modules/dom-align/es/propertyUtils.js");
  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; };
  
  
  
  var RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;
  
  var getComputedStyleX = void 0;
  
  // https://stackoverflow.com/a/3485654/3040605
  function forceRelayout(elem) {
    var originalStyle = elem.style.display;
    elem.style.display = 'none';
    elem.offsetHeight; // eslint-disable-line
    elem.style.display = originalStyle;
  }
  
  function css(el, name, v) {
    var value = v;
    if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {
      for (var i in name) {
        if (name.hasOwnProperty(i)) {
          css(el, i, name[i]);
        }
      }
      return undefined;
    }
    if (typeof value !== 'undefined') {
      if (typeof value === 'number') {
        value = value + 'px';
      }
      el.style[name] = value;
      return undefined;
    }
    return getComputedStyleX(el, name);
  }
  
  function getClientPosition(elem) {
    var box = void 0;
    var x = void 0;
    var y = void 0;
    var doc = elem.ownerDocument;
    var body = doc.body;
    var docElem = doc && doc.documentElement;
    // 根据 GBS 最新数据，A-Grade Browsers 都已支持 getBoundingClientRect 方法，不用再考虑传统的实现方式
    box = elem.getBoundingClientRect();
  
    // 注：jQuery 还考虑减去 docElem.clientLeft/clientTop
    // 但测试发现，这样反而会导致当 html 和 body 有边距/边框样式时，获取的值不正确
    // 此外，ie6 会忽略 html 的 margin 值，幸运地是没有谁会去设置 html 的 margin
  
    x = box.left;
    y = box.top;
  
    // In IE, most of the time, 2 extra pixels are added to the top and left
    // due to the implicit 2-pixel inset border.  In IE6/7 quirks mode and
    // IE6 standards mode, this border can be overridden by setting the
    // document element's border to zero -- thus, we cannot rely on the
    // offset always being 2 pixels.
  
    // In quirks mode, the offset can be determined by querying the body's
    // clientLeft/clientTop, but in standards mode, it is found by querying
    // the document element's clientLeft/clientTop.  Since we already called
    // getClientBoundingRect we have already forced a reflow, so it is not
    // too expensive just to query them all.
  
    // ie 下应该减去窗口的边框吧，毕竟默认 absolute 都是相对窗口定位的
    // 窗口边框标准是设 documentElement ,quirks 时设置 body
    // 最好禁止在 body 和 html 上边框 ，但 ie < 9 html 默认有 2px ，减去
    // 但是非 ie 不可能设置窗口边框，body html 也不是窗口 ,ie 可以通过 html,body 设置
    // 标准 ie 下 docElem.clientTop 就是 border-top
    // ie7 html 即窗口边框改变不了。永远为 2
    // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框，即使设了 border-top 也为 0
  
    x -= docElem.clientLeft || body.clientLeft || 0;
    y -= docElem.clientTop || body.clientTop || 0;
  
    return {
      left: x,
      top: y
    };
  }
  
  function getScroll(w, top) {
    var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];
    var method = 'scroll' + (top ? 'Top' : 'Left');
    if (typeof ret !== 'number') {
      var d = w.document;
      // ie6,7,8 standard mode
      ret = d.documentElement[method];
      if (typeof ret !== 'number') {
        // quirks mode
        ret = d.body[method];
      }
    }
    return ret;
  }
  
  function getScrollLeft(w) {
    return getScroll(w);
  }
  
  function getScrollTop(w) {
    return getScroll(w, true);
  }
  
  function getOffset(el) {
    var pos = getClientPosition(el);
    var doc = el.ownerDocument;
    var w = doc.defaultView || doc.parentWindow;
    pos.left += getScrollLeft(w);
    pos.top += getScrollTop(w);
    return pos;
  }
  
  /**
   * A crude way of determining if an object is a window
   * @member util
   */
  function isWindow(obj) {
    // must use == for ie8
    /* eslint eqeqeq:0 */
    return obj !== null && obj !== undefined && obj == obj.window;
  }
  
  function getDocument(node) {
    if (isWindow(node)) {
      return node.document;
    }
    if (node.nodeType === 9) {
      return node;
    }
    return node.ownerDocument;
  }
  
  function _getComputedStyle(elem, name, cs) {
    var computedStyle = cs;
    var val = '';
    var d = getDocument(elem);
    computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);
  
    // https://github.com/kissyteam/kissy/issues/61
    if (computedStyle) {
      val = computedStyle.getPropertyValue(name) || computedStyle[name];
    }
  
    return val;
  }
  
  var _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');
  var RE_POS = /^(top|right|bottom|left)$/;
  var CURRENT_STYLE = 'currentStyle';
  var RUNTIME_STYLE = 'runtimeStyle';
  var LEFT = 'left';
  var PX = 'px';
  
  function _getComputedStyleIE(elem, name) {
    // currentStyle maybe null
    // http://msdn.microsoft.com/en-us/library/ms535231.aspx
    var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];
  
    // 当 width/height 设置为百分比时，通过 pixelLeft 方式转换的 width/height 值
    // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19
    // 在 ie 下不对，需要直接用 offset 方式
    // borderWidth 等值也有问题，但考虑到 borderWidth 设为百分比的概率很小，这里就不考虑了
  
    // From the awesome hack by Dean Edwards
    // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
    // If we're not dealing with a regular pixel number
    // but a number that has a weird ending, we need to convert it to pixels
    // exclude left right for relativity
    if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {
      // Remember the original values
      var style = elem.style;
      var left = style[LEFT];
      var rsLeft = elem[RUNTIME_STYLE][LEFT];
  
      // prevent flashing of content
      elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];
  
      // Put in the new values to get a computed value out
      style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;
      ret = style.pixelLeft + PX;
  
      // Revert the changed values
      style[LEFT] = left;
  
      elem[RUNTIME_STYLE][LEFT] = rsLeft;
    }
    return ret === '' ? 'auto' : ret;
  }
  
  if (typeof window !== 'undefined') {
    getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;
  }
  
  function getOffsetDirection(dir, option) {
    if (dir === 'left') {
      return option.useCssRight ? 'right' : dir;
    }
    return option.useCssBottom ? 'bottom' : dir;
  }
  
  function oppositeOffsetDirection(dir) {
    if (dir === 'left') {
      return 'right';
    } else if (dir === 'right') {
      return 'left';
    } else if (dir === 'top') {
      return 'bottom';
    } else if (dir === 'bottom') {
      return 'top';
    }
  }
  
  // 设置 elem 相对 elem.ownerDocument 的坐标
  function setLeftTop(elem, offset, option) {
    // set position first, in-case top/left are set even on static elem
    if (css(elem, 'position') === 'static') {
      elem.style.position = 'relative';
    }
    var presetH = -999;
    var presetV = -999;
    var horizontalProperty = getOffsetDirection('left', option);
    var verticalProperty = getOffsetDirection('top', option);
    var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);
    var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);
  
    if (horizontalProperty !== 'left') {
      presetH = 999;
    }
  
    if (verticalProperty !== 'top') {
      presetV = 999;
    }
    var originalTransition = '';
    var originalOffset = getOffset(elem);
    if ('left' in offset || 'top' in offset) {
      originalTransition = Object(_propertyUtils__WEBPACK_IMPORTED_MODULE_0__["getTransitionProperty"])(elem) || '';
      Object(_propertyUtils__WEBPACK_IMPORTED_MODULE_0__["setTransitionProperty"])(elem, 'none');
    }
    if ('left' in offset) {
      elem.style[oppositeHorizontalProperty] = '';
      elem.style[horizontalProperty] = presetH + 'px';
    }
    if ('top' in offset) {
      elem.style[oppositeVerticalProperty] = '';
      elem.style[verticalProperty] = presetV + 'px';
    }
    // force relayout
    forceRelayout(elem);
    var old = getOffset(elem);
    var originalStyle = {};
    for (var key in offset) {
      if (offset.hasOwnProperty(key)) {
        var dir = getOffsetDirection(key, option);
        var preset = key === 'left' ? presetH : presetV;
        var off = originalOffset[key] - old[key];
        if (dir === key) {
          originalStyle[dir] = preset + off;
        } else {
          originalStyle[dir] = preset - off;
        }
      }
    }
    css(elem, originalStyle);
    // force relayout
    forceRelayout(elem);
    if ('left' in offset || 'top' in offset) {
      Object(_propertyUtils__WEBPACK_IMPORTED_MODULE_0__["setTransitionProperty"])(elem, originalTransition);
    }
    var ret = {};
    for (var _key in offset) {
      if (offset.hasOwnProperty(_key)) {
        var _dir = getOffsetDirection(_key, option);
        var _off = offset[_key] - originalOffset[_key];
        if (_key === _dir) {
          ret[_dir] = originalStyle[_dir] + _off;
        } else {
          ret[_dir] = originalStyle[_dir] - _off;
        }
      }
    }
    css(elem, ret);
  }
  
  function setTransform(elem, offset) {
    var originalOffset = getOffset(elem);
    var originalXY = Object(_propertyUtils__WEBPACK_IMPORTED_MODULE_0__["getTransformXY"])(elem);
    var resultXY = { x: originalXY.x, y: originalXY.y };
    if ('left' in offset) {
      resultXY.x = originalXY.x + offset.left - originalOffset.left;
    }
    if ('top' in offset) {
      resultXY.y = originalXY.y + offset.top - originalOffset.top;
    }
    Object(_propertyUtils__WEBPACK_IMPORTED_MODULE_0__["setTransformXY"])(elem, resultXY);
  }
  
  function setOffset(elem, offset, option) {
    if (option.ignoreShake) {
      var oriOffset = getOffset(elem);
  
      var oLeft = oriOffset.left.toFixed(0);
      var oTop = oriOffset.top.toFixed(0);
      var tLeft = offset.left.toFixed(0);
      var tTop = offset.top.toFixed(0);
  
      if (oLeft === tLeft && oTop === tTop) {
        return;
      }
    }
  
    if (option.useCssRight || option.useCssBottom) {
      setLeftTop(elem, offset, option);
    } else if (option.useCssTransform && Object(_propertyUtils__WEBPACK_IMPORTED_MODULE_0__["getTransformName"])() in document.body.style) {
      setTransform(elem, offset, option);
    } else {
      setLeftTop(elem, offset, option);
    }
  }
  
  function each(arr, fn) {
    for (var i = 0; i < arr.length; i++) {
      fn(arr[i]);
    }
  }
  
  function isBorderBoxFn(elem) {
    return getComputedStyleX(elem, 'boxSizing') === 'border-box';
  }
  
  var BOX_MODELS = ['margin', 'border', 'padding'];
  var CONTENT_INDEX = -1;
  var PADDING_INDEX = 2;
  var BORDER_INDEX = 1;
  var MARGIN_INDEX = 0;
  
  function swap(elem, options, callback) {
    var old = {};
    var style = elem.style;
    var name = void 0;
  
    // Remember the old values, and insert the new ones
    for (name in options) {
      if (options.hasOwnProperty(name)) {
        old[name] = style[name];
        style[name] = options[name];
      }
    }
  
    callback.call(elem);
  
    // Revert the old values
    for (name in options) {
      if (options.hasOwnProperty(name)) {
        style[name] = old[name];
      }
    }
  }
  
  function getPBMWidth(elem, props, which) {
    var value = 0;
    var prop = void 0;
    var j = void 0;
    var i = void 0;
    for (j = 0; j < props.length; j++) {
      prop = props[j];
      if (prop) {
        for (i = 0; i < which.length; i++) {
          var cssProp = void 0;
          if (prop === 'border') {
            cssProp = '' + prop + which[i] + 'Width';
          } else {
            cssProp = prop + which[i];
          }
          value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;
        }
      }
    }
    return value;
  }
  
  var domUtils = {};
  
  each(['Width', 'Height'], function (name) {
    domUtils['doc' + name] = function (refWin) {
      var d = refWin.document;
      return Math.max(
      // firefox chrome documentElement.scrollHeight< body.scrollHeight
      // ie standard mode : documentElement.scrollHeight> body.scrollHeight
      d.documentElement['scroll' + name],
      // quirks : documentElement.scrollHeight 最大等于可视窗口多一点？
      d.body['scroll' + name], domUtils['viewport' + name](d));
    };
  
    domUtils['viewport' + name] = function (win) {
      // pc browser includes scrollbar in window.innerWidth
      var prop = 'client' + name;
      var doc = win.document;
      var body = doc.body;
      var documentElement = doc.documentElement;
      var documentElementProp = documentElement[prop];
      // 标准模式取 documentElement
      // backcompat 取 body
      return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;
    };
  });
  
  /*
   得到元素的大小信息
   @param elem
   @param name
   @param {String} [extra]  'padding' : (css width) + padding
   'border' : (css width) + padding + border
   'margin' : (css width) + padding + border + margin
   */
  function getWH(elem, name, ex) {
    var extra = ex;
    if (isWindow(elem)) {
      return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);
    } else if (elem.nodeType === 9) {
      return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);
    }
    var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
    var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;
    var computedStyle = getComputedStyleX(elem);
    var isBorderBox = isBorderBoxFn(elem, computedStyle);
    var cssBoxValue = 0;
    if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {
      borderBoxValue = undefined;
      // Fall back to computed then un computed css if necessary
      cssBoxValue = getComputedStyleX(elem, name);
      if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {
        cssBoxValue = elem.style[name] || 0;
      }
      // Normalize '', auto, and prepare for extra
      cssBoxValue = parseFloat(cssBoxValue) || 0;
    }
    if (extra === undefined) {
      extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;
    }
    var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;
    var val = borderBoxValue || cssBoxValue;
    if (extra === CONTENT_INDEX) {
      if (borderBoxValueOrIsBorderBox) {
        return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);
      }
      return cssBoxValue;
    } else if (borderBoxValueOrIsBorderBox) {
      if (extra === BORDER_INDEX) {
        return val;
      }
      return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle));
    }
    return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);
  }
  
  var cssShow = {
    position: 'absolute',
    visibility: 'hidden',
    display: 'block'
  };
  
  // fix #119 : https://github.com/kissyteam/kissy/issues/119
  function getWHIgnoreDisplay() {
    for (var _len = arguments.length, args = Array(_len), _key2 = 0; _key2 < _len; _key2++) {
      args[_key2] = arguments[_key2];
    }
  
    var val = void 0;
    var elem = args[0];
    // in case elem is window
    // elem.offsetWidth === undefined
    if (elem.offsetWidth !== 0) {
      val = getWH.apply(undefined, args);
    } else {
      swap(elem, cssShow, function () {
        val = getWH.apply(undefined, args);
      });
    }
    return val;
  }
  
  each(['width', 'height'], function (name) {
    var first = name.charAt(0).toUpperCase() + name.slice(1);
    domUtils['outer' + first] = function (el, includeMargin) {
      return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);
    };
    var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
  
    domUtils[name] = function (elem, v) {
      var val = v;
      if (val !== undefined) {
        if (elem) {
          var computedStyle = getComputedStyleX(elem);
          var isBorderBox = isBorderBoxFn(elem);
          if (isBorderBox) {
            val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);
          }
          return css(elem, name, val);
        }
        return undefined;
      }
      return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);
    };
  });
  
  function mix(to, from) {
    for (var i in from) {
      if (from.hasOwnProperty(i)) {
        to[i] = from[i];
      }
    }
    return to;
  }
  
  var utils = {
    getWindow: function getWindow(node) {
      if (node && node.document && node.setTimeout) {
        return node;
      }
      var doc = node.ownerDocument || node;
      return doc.defaultView || doc.parentWindow;
    },
  
    getDocument: getDocument,
    offset: function offset(el, value, option) {
      if (typeof value !== 'undefined') {
        setOffset(el, value, option || {});
      } else {
        return getOffset(el);
      }
    },
  
    isWindow: isWindow,
    each: each,
    css: css,
    clone: function clone(obj) {
      var i = void 0;
      var ret = {};
      for (i in obj) {
        if (obj.hasOwnProperty(i)) {
          ret[i] = obj[i];
        }
      }
      var overflow = obj.overflow;
      if (overflow) {
        for (i in obj) {
          if (obj.hasOwnProperty(i)) {
            ret.overflow[i] = obj.overflow[i];
          }
        }
      }
      return ret;
    },
  
    mix: mix,
    getWindowScrollLeft: function getWindowScrollLeft(w) {
      return getScrollLeft(w);
    },
    getWindowScrollTop: function getWindowScrollTop(w) {
      return getScrollTop(w);
    },
    merge: function merge() {
      var ret = {};
  
      for (var _len2 = arguments.length, args = Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {
        args[_key3] = arguments[_key3];
      }
  
      for (var i = 0; i < args.length; i++) {
        utils.mix(ret, args[i]);
      }
      return ret;
    },
  
    viewportWidth: 0,
    viewportHeight: 0
  };
  
  mix(utils, domUtils);
  
  /* harmony default export */ __webpack_exports__["default"] = (utils);
  
  /***/ }),
  
  /***/ "../../node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js":
  /*!***********************************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js ***!
    \***********************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var util = __webpack_require__(/*! ./util */ "../../node_modules/dom-scroll-into-view/lib/util.js");
  
  function scrollIntoView(elem, container, config) {
    config = config || {};
    // document 归一化到 window
    if (container.nodeType === 9) {
      container = util.getWindow(container);
    }
  
    var allowHorizontalScroll = config.allowHorizontalScroll;
    var onlyScrollIfNeeded = config.onlyScrollIfNeeded;
    var alignWithTop = config.alignWithTop;
    var alignWithLeft = config.alignWithLeft;
    var offsetTop = config.offsetTop || 0;
    var offsetLeft = config.offsetLeft || 0;
    var offsetBottom = config.offsetBottom || 0;
    var offsetRight = config.offsetRight || 0;
  
    allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;
  
    var isWin = util.isWindow(container);
    var elemOffset = util.offset(elem);
    var eh = util.outerHeight(elem);
    var ew = util.outerWidth(elem);
    var containerOffset = undefined;
    var ch = undefined;
    var cw = undefined;
    var containerScroll = undefined;
    var diffTop = undefined;
    var diffBottom = undefined;
    var win = undefined;
    var winScroll = undefined;
    var ww = undefined;
    var wh = undefined;
  
    if (isWin) {
      win = container;
      wh = util.height(win);
      ww = util.width(win);
      winScroll = {
        left: util.scrollLeft(win),
        top: util.scrollTop(win)
      };
      // elem 相对 container 可视视窗的距离
      diffTop = {
        left: elemOffset.left - winScroll.left - offsetLeft,
        top: elemOffset.top - winScroll.top - offsetTop
      };
      diffBottom = {
        left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,
        top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom
      };
      containerScroll = winScroll;
    } else {
      containerOffset = util.offset(container);
      ch = container.clientHeight;
      cw = container.clientWidth;
      containerScroll = {
        left: container.scrollLeft,
        top: container.scrollTop
      };
      // elem 相对 container 可视视窗的距离
      // 注意边框, offset 是边框到根节点
      diffTop = {
        left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,
        top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop
      };
      diffBottom = {
        left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,
        top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom
      };
    }
  
    if (diffTop.top < 0 || diffBottom.top > 0) {
      // 强制向上
      if (alignWithTop === true) {
        util.scrollTop(container, containerScroll.top + diffTop.top);
      } else if (alignWithTop === false) {
        util.scrollTop(container, containerScroll.top + diffBottom.top);
      } else {
        // 自动调整
        if (diffTop.top < 0) {
          util.scrollTop(container, containerScroll.top + diffTop.top);
        } else {
          util.scrollTop(container, containerScroll.top + diffBottom.top);
        }
      }
    } else {
      if (!onlyScrollIfNeeded) {
        alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;
        if (alignWithTop) {
          util.scrollTop(container, containerScroll.top + diffTop.top);
        } else {
          util.scrollTop(container, containerScroll.top + diffBottom.top);
        }
      }
    }
  
    if (allowHorizontalScroll) {
      if (diffTop.left < 0 || diffBottom.left > 0) {
        // 强制向上
        if (alignWithLeft === true) {
          util.scrollLeft(container, containerScroll.left + diffTop.left);
        } else if (alignWithLeft === false) {
          util.scrollLeft(container, containerScroll.left + diffBottom.left);
        } else {
          // 自动调整
          if (diffTop.left < 0) {
            util.scrollLeft(container, containerScroll.left + diffTop.left);
          } else {
            util.scrollLeft(container, containerScroll.left + diffBottom.left);
          }
        }
      } else {
        if (!onlyScrollIfNeeded) {
          alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;
          if (alignWithLeft) {
            util.scrollLeft(container, containerScroll.left + diffTop.left);
          } else {
            util.scrollLeft(container, containerScroll.left + diffBottom.left);
          }
        }
      }
    }
  }
  
  module.exports = scrollIntoView;
  
  /***/ }),
  
  /***/ "../../node_modules/dom-scroll-into-view/lib/index.js":
  /*!********************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-scroll-into-view/lib/index.js ***!
    \********************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  module.exports = __webpack_require__(/*! ./dom-scroll-into-view */ "../../node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js");
  
  /***/ }),
  
  /***/ "../../node_modules/dom-scroll-into-view/lib/util.js":
  /*!*******************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/dom-scroll-into-view/lib/util.js ***!
    \*******************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  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 _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 RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;
  
  function getClientPosition(elem) {
    var box = undefined;
    var x = undefined;
    var y = undefined;
    var doc = elem.ownerDocument;
    var body = doc.body;
    var docElem = doc && doc.documentElement;
    // 根据 GBS 最新数据，A-Grade Browsers 都已支持 getBoundingClientRect 方法，不用再考虑传统的实现方式
    box = elem.getBoundingClientRect();
  
    // 注：jQuery 还考虑减去 docElem.clientLeft/clientTop
    // 但测试发现，这样反而会导致当 html 和 body 有边距/边框样式时，获取的值不正确
    // 此外，ie6 会忽略 html 的 margin 值，幸运地是没有谁会去设置 html 的 margin
  
    x = box.left;
    y = box.top;
  
    // In IE, most of the time, 2 extra pixels are added to the top and left
    // due to the implicit 2-pixel inset border.  In IE6/7 quirks mode and
    // IE6 standards mode, this border can be overridden by setting the
    // document element's border to zero -- thus, we cannot rely on the
    // offset always being 2 pixels.
  
    // In quirks mode, the offset can be determined by querying the body's
    // clientLeft/clientTop, but in standards mode, it is found by querying
    // the document element's clientLeft/clientTop.  Since we already called
    // getClientBoundingRect we have already forced a reflow, so it is not
    // too expensive just to query them all.
  
    // ie 下应该减去窗口的边框吧，毕竟默认 absolute 都是相对窗口定位的
    // 窗口边框标准是设 documentElement ,quirks 时设置 body
    // 最好禁止在 body 和 html 上边框 ，但 ie < 9 html 默认有 2px ，减去
    // 但是非 ie 不可能设置窗口边框，body html 也不是窗口 ,ie 可以通过 html,body 设置
    // 标准 ie 下 docElem.clientTop 就是 border-top
    // ie7 html 即窗口边框改变不了。永远为 2
    // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框，即使设了 border-top 也为 0
  
    x -= docElem.clientLeft || body.clientLeft || 0;
    y -= docElem.clientTop || body.clientTop || 0;
  
    return {
      left: x,
      top: y
    };
  }
  
  function getScroll(w, top) {
    var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];
    var method = 'scroll' + (top ? 'Top' : 'Left');
    if (typeof ret !== 'number') {
      var d = w.document;
      // ie6,7,8 standard mode
      ret = d.documentElement[method];
      if (typeof ret !== 'number') {
        // quirks mode
        ret = d.body[method];
      }
    }
    return ret;
  }
  
  function getScrollLeft(w) {
    return getScroll(w);
  }
  
  function getScrollTop(w) {
    return getScroll(w, true);
  }
  
  function getOffset(el) {
    var pos = getClientPosition(el);
    var doc = el.ownerDocument;
    var w = doc.defaultView || doc.parentWindow;
    pos.left += getScrollLeft(w);
    pos.top += getScrollTop(w);
    return pos;
  }
  function _getComputedStyle(elem, name, computedStyle_) {
    var val = '';
    var d = elem.ownerDocument;
    var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);
  
    // https://github.com/kissyteam/kissy/issues/61
    if (computedStyle) {
      val = computedStyle.getPropertyValue(name) || computedStyle[name];
    }
  
    return val;
  }
  
  var _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');
  var RE_POS = /^(top|right|bottom|left)$/;
  var CURRENT_STYLE = 'currentStyle';
  var RUNTIME_STYLE = 'runtimeStyle';
  var LEFT = 'left';
  var PX = 'px';
  
  function _getComputedStyleIE(elem, name) {
    // currentStyle maybe null
    // http://msdn.microsoft.com/en-us/library/ms535231.aspx
    var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];
  
    // 当 width/height 设置为百分比时，通过 pixelLeft 方式转换的 width/height 值
    // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19
    // 在 ie 下不对，需要直接用 offset 方式
    // borderWidth 等值也有问题，但考虑到 borderWidth 设为百分比的概率很小，这里就不考虑了
  
    // From the awesome hack by Dean Edwards
    // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
    // If we're not dealing with a regular pixel number
    // but a number that has a weird ending, we need to convert it to pixels
    // exclude left right for relativity
    if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {
      // Remember the original values
      var style = elem.style;
      var left = style[LEFT];
      var rsLeft = elem[RUNTIME_STYLE][LEFT];
  
      // prevent flashing of content
      elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];
  
      // Put in the new values to get a computed value out
      style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;
      ret = style.pixelLeft + PX;
  
      // Revert the changed values
      style[LEFT] = left;
  
      elem[RUNTIME_STYLE][LEFT] = rsLeft;
    }
    return ret === '' ? 'auto' : ret;
  }
  
  var getComputedStyleX = undefined;
  if (typeof window !== 'undefined') {
    getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;
  }
  
  function each(arr, fn) {
    for (var i = 0; i < arr.length; i++) {
      fn(arr[i]);
    }
  }
  
  function isBorderBoxFn(elem) {
    return getComputedStyleX(elem, 'boxSizing') === 'border-box';
  }
  
  var BOX_MODELS = ['margin', 'border', 'padding'];
  var CONTENT_INDEX = -1;
  var PADDING_INDEX = 2;
  var BORDER_INDEX = 1;
  var MARGIN_INDEX = 0;
  
  function swap(elem, options, callback) {
    var old = {};
    var style = elem.style;
    var name = undefined;
  
    // Remember the old values, and insert the new ones
    for (name in options) {
      if (options.hasOwnProperty(name)) {
        old[name] = style[name];
        style[name] = options[name];
      }
    }
  
    callback.call(elem);
  
    // Revert the old values
    for (name in options) {
      if (options.hasOwnProperty(name)) {
        style[name] = old[name];
      }
    }
  }
  
  function getPBMWidth(elem, props, which) {
    var value = 0;
    var prop = undefined;
    var j = undefined;
    var i = undefined;
    for (j = 0; j < props.length; j++) {
      prop = props[j];
      if (prop) {
        for (i = 0; i < which.length; i++) {
          var cssProp = undefined;
          if (prop === 'border') {
            cssProp = prop + which[i] + 'Width';
          } else {
            cssProp = prop + which[i];
          }
          value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;
        }
      }
    }
    return value;
  }
  
  /**
   * A crude way of determining if an object is a window
   * @member util
   */
  function isWindow(obj) {
    // must use == for ie8
    /* eslint eqeqeq:0 */
    return obj != null && obj == obj.window;
  }
  
  var domUtils = {};
  
  each(['Width', 'Height'], function (name) {
    domUtils['doc' + name] = function (refWin) {
      var d = refWin.document;
      return Math.max(
      // firefox chrome documentElement.scrollHeight< body.scrollHeight
      // ie standard mode : documentElement.scrollHeight> body.scrollHeight
      d.documentElement['scroll' + name],
      // quirks : documentElement.scrollHeight 最大等于可视窗口多一点？
      d.body['scroll' + name], domUtils['viewport' + name](d));
    };
  
    domUtils['viewport' + name] = function (win) {
      // pc browser includes scrollbar in window.innerWidth
      var prop = 'client' + name;
      var doc = win.document;
      var body = doc.body;
      var documentElement = doc.documentElement;
      var documentElementProp = documentElement[prop];
      // 标准模式取 documentElement
      // backcompat 取 body
      return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;
    };
  });
  
  /*
   得到元素的大小信息
   @param elem
   @param name
   @param {String} [extra]  'padding' : (css width) + padding
   'border' : (css width) + padding + border
   'margin' : (css width) + padding + border + margin
   */
  function getWH(elem, name, extra) {
    if (isWindow(elem)) {
      return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);
    } else if (elem.nodeType === 9) {
      return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);
    }
    var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
    var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;
    var computedStyle = getComputedStyleX(elem);
    var isBorderBox = isBorderBoxFn(elem, computedStyle);
    var cssBoxValue = 0;
    if (borderBoxValue == null || borderBoxValue <= 0) {
      borderBoxValue = undefined;
      // Fall back to computed then un computed css if necessary
      cssBoxValue = getComputedStyleX(elem, name);
      if (cssBoxValue == null || Number(cssBoxValue) < 0) {
        cssBoxValue = elem.style[name] || 0;
      }
      // Normalize '', auto, and prepare for extra
      cssBoxValue = parseFloat(cssBoxValue) || 0;
    }
    if (extra === undefined) {
      extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;
    }
    var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;
    var val = borderBoxValue || cssBoxValue;
    if (extra === CONTENT_INDEX) {
      if (borderBoxValueOrIsBorderBox) {
        return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);
      }
      return cssBoxValue;
    }
    if (borderBoxValueOrIsBorderBox) {
      var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);
      return val + (extra === BORDER_INDEX ? 0 : padding);
    }
    return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);
  }
  
  var cssShow = {
    position: 'absolute',
    visibility: 'hidden',
    display: 'block'
  };
  
  // fix #119 : https://github.com/kissyteam/kissy/issues/119
  function getWHIgnoreDisplay(elem) {
    var val = undefined;
    var args = arguments;
    // in case elem is window
    // elem.offsetWidth === undefined
    if (elem.offsetWidth !== 0) {
      val = getWH.apply(undefined, args);
    } else {
      swap(elem, cssShow, function () {
        val = getWH.apply(undefined, args);
      });
    }
    return val;
  }
  
  function css(el, name, v) {
    var value = v;
    if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {
      for (var i in name) {
        if (name.hasOwnProperty(i)) {
          css(el, i, name[i]);
        }
      }
      return undefined;
    }
    if (typeof value !== 'undefined') {
      if (typeof value === 'number') {
        value += 'px';
      }
      el.style[name] = value;
      return undefined;
    }
    return getComputedStyleX(el, name);
  }
  
  each(['width', 'height'], function (name) {
    var first = name.charAt(0).toUpperCase() + name.slice(1);
    domUtils['outer' + first] = function (el, includeMargin) {
      return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);
    };
    var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
  
    domUtils[name] = function (elem, val) {
      if (val !== undefined) {
        if (elem) {
          var computedStyle = getComputedStyleX(elem);
          var isBorderBox = isBorderBoxFn(elem);
          if (isBorderBox) {
            val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);
          }
          return css(elem, name, val);
        }
        return undefined;
      }
      return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);
    };
  });
  
  // 设置 elem 相对 elem.ownerDocument 的坐标
  function setOffset(elem, offset) {
    // set position first, in-case top/left are set even on static elem
    if (css(elem, 'position') === 'static') {
      elem.style.position = 'relative';
    }
  
    var old = getOffset(elem);
    var ret = {};
    var current = undefined;
    var key = undefined;
  
    for (key in offset) {
      if (offset.hasOwnProperty(key)) {
        current = parseFloat(css(elem, key)) || 0;
        ret[key] = current + offset[key] - old[key];
      }
    }
    css(elem, ret);
  }
  
  module.exports = _extends({
    getWindow: function getWindow(node) {
      var doc = node.ownerDocument || node;
      return doc.defaultView || doc.parentWindow;
    },
    offset: function offset(el, value) {
      if (typeof value !== 'undefined') {
        setOffset(el, value);
      } else {
        return getOffset(el);
      }
    },
  
    isWindow: isWindow,
    each: each,
    css: css,
    clone: function clone(obj) {
      var ret = {};
      for (var i in obj) {
        if (obj.hasOwnProperty(i)) {
          ret[i] = obj[i];
        }
      }
      var overflow = obj.overflow;
      if (overflow) {
        for (var i in obj) {
          if (obj.hasOwnProperty(i)) {
            ret.overflow[i] = obj.overflow[i];
          }
        }
      }
      return ret;
    },
    scrollLeft: function scrollLeft(w, v) {
      if (isWindow(w)) {
        if (v === undefined) {
          return getScrollLeft(w);
        }
        window.scrollTo(v, getScrollTop(w));
      } else {
        if (v === undefined) {
          return w.scrollLeft;
        }
        w.scrollLeft = v;
      }
    },
    scrollTop: function scrollTop(w, v) {
      if (isWindow(w)) {
        if (v === undefined) {
          return getScrollTop(w);
        }
        window.scrollTo(getScrollLeft(w), v);
      } else {
        if (v === undefined) {
          return w.scrollTop;
        }
        w.scrollTop = v;
      }
    },
  
    viewportWidth: 0,
    viewportHeight: 0
  }, domUtils);
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_arraySome.js":
  /*!*******************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_arraySome.js ***!
    \*******************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  /**
   * A specialized version of `_.some` for arrays without support for iteratee
   * shorthands.
   *
   * @private
   * @param {Array} [array] The array to iterate over.
   * @param {Function} predicate The function invoked per iteration.
   * @returns {boolean} Returns `true` if any element passes the predicate check,
   *  else `false`.
   */
  function arraySome(array, predicate) {
    var index = -1,
        length = array == null ? 0 : array.length;
  
    while (++index < length) {
      if (predicate(array[index], index, array)) {
        return true;
      }
    }
    return false;
  }
  
  module.exports = arraySome;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_baseGet.js":
  /*!*****************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_baseGet.js ***!
    \*****************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var castPath = __webpack_require__(/*! ./_castPath */ "../../node_modules/lodash/_castPath.js"),
      toKey = __webpack_require__(/*! ./_toKey */ "../../node_modules/lodash/_toKey.js");
  
  /**
   * The base implementation of `_.get` without support for default values.
   *
   * @private
   * @param {Object} object The object to query.
   * @param {Array|string} path The path of the property to get.
   * @returns {*} Returns the resolved value.
   */
  function baseGet(object, path) {
    path = castPath(path, object);
  
    var index = 0,
        length = path.length;
  
    while (object != null && index < length) {
      object = object[toKey(path[index++])];
    }
    return (index && index == length) ? object : undefined;
  }
  
  module.exports = baseGet;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_baseHasIn.js":
  /*!*******************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_baseHasIn.js ***!
    \*******************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  /**
   * The base implementation of `_.hasIn` without support for deep paths.
   *
   * @private
   * @param {Object} [object] The object to query.
   * @param {Array|string} key The key to check.
   * @returns {boolean} Returns `true` if `key` exists, else `false`.
   */
  function baseHasIn(object, key) {
    return object != null && key in Object(object);
  }
  
  module.exports = baseHasIn;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_baseIsEqual.js":
  /*!*********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_baseIsEqual.js ***!
    \*********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var baseIsEqualDeep = __webpack_require__(/*! ./_baseIsEqualDeep */ "../../node_modules/lodash/_baseIsEqualDeep.js"),
      isObjectLike = __webpack_require__(/*! ./isObjectLike */ "../../node_modules/lodash/isObjectLike.js");
  
  /**
   * The base implementation of `_.isEqual` which supports partial comparisons
   * and tracks traversed objects.
   *
   * @private
   * @param {*} value The value to compare.
   * @param {*} other The other value to compare.
   * @param {boolean} bitmask The bitmask flags.
   *  1 - Unordered comparison
   *  2 - Partial comparison
   * @param {Function} [customizer] The function to customize comparisons.
   * @param {Object} [stack] Tracks traversed `value` and `other` objects.
   * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
   */
  function baseIsEqual(value, other, bitmask, customizer, stack) {
    if (value === other) {
      return true;
    }
    if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
      return value !== value && other !== other;
    }
    return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
  }
  
  module.exports = baseIsEqual;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_baseIsEqualDeep.js":
  /*!*************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_baseIsEqualDeep.js ***!
    \*************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var Stack = __webpack_require__(/*! ./_Stack */ "../../node_modules/lodash/_Stack.js"),
      equalArrays = __webpack_require__(/*! ./_equalArrays */ "../../node_modules/lodash/_equalArrays.js"),
      equalByTag = __webpack_require__(/*! ./_equalByTag */ "../../node_modules/lodash/_equalByTag.js"),
      equalObjects = __webpack_require__(/*! ./_equalObjects */ "../../node_modules/lodash/_equalObjects.js"),
      getTag = __webpack_require__(/*! ./_getTag */ "../../node_modules/lodash/_getTag.js"),
      isArray = __webpack_require__(/*! ./isArray */ "../../node_modules/lodash/isArray.js"),
      isBuffer = __webpack_require__(/*! ./isBuffer */ "../../node_modules/lodash/isBuffer.js"),
      isTypedArray = __webpack_require__(/*! ./isTypedArray */ "../../node_modules/lodash/isTypedArray.js");
  
  /** Used to compose bitmasks for value comparisons. */
  var COMPARE_PARTIAL_FLAG = 1;
  
  /** `Object#toString` result references. */
  var argsTag = '[object Arguments]',
      arrayTag = '[object Array]',
      objectTag = '[object Object]';
  
  /** Used for built-in method references. */
  var objectProto = Object.prototype;
  
  /** Used to check objects for own properties. */
  var hasOwnProperty = objectProto.hasOwnProperty;
  
  /**
   * A specialized version of `baseIsEqual` for arrays and objects which performs
   * deep comparisons and tracks traversed objects enabling objects with circular
   * references to be compared.
   *
   * @private
   * @param {Object} object The object to compare.
   * @param {Object} other The other object to compare.
   * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
   * @param {Function} customizer The function to customize comparisons.
   * @param {Function} equalFunc The function to determine equivalents of values.
   * @param {Object} [stack] Tracks traversed `object` and `other` objects.
   * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
   */
  function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
    var objIsArr = isArray(object),
        othIsArr = isArray(other),
        objTag = objIsArr ? arrayTag : getTag(object),
        othTag = othIsArr ? arrayTag : getTag(other);
  
    objTag = objTag == argsTag ? objectTag : objTag;
    othTag = othTag == argsTag ? objectTag : othTag;
  
    var objIsObj = objTag == objectTag,
        othIsObj = othTag == objectTag,
        isSameTag = objTag == othTag;
  
    if (isSameTag && isBuffer(object)) {
      if (!isBuffer(other)) {
        return false;
      }
      objIsArr = true;
      objIsObj = false;
    }
    if (isSameTag && !objIsObj) {
      stack || (stack = new Stack);
      return (objIsArr || isTypedArray(object))
        ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
        : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
    }
    if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
      var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
          othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
  
      if (objIsWrapped || othIsWrapped) {
        var objUnwrapped = objIsWrapped ? object.value() : object,
            othUnwrapped = othIsWrapped ? other.value() : other;
  
        stack || (stack = new Stack);
        return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
      }
    }
    if (!isSameTag) {
      return false;
    }
    stack || (stack = new Stack);
    return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
  }
  
  module.exports = baseIsEqualDeep;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_baseIsMatch.js":
  /*!*********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_baseIsMatch.js ***!
    \*********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var Stack = __webpack_require__(/*! ./_Stack */ "../../node_modules/lodash/_Stack.js"),
      baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "../../node_modules/lodash/_baseIsEqual.js");
  
  /** Used to compose bitmasks for value comparisons. */
  var COMPARE_PARTIAL_FLAG = 1,
      COMPARE_UNORDERED_FLAG = 2;
  
  /**
   * The base implementation of `_.isMatch` without support for iteratee shorthands.
   *
   * @private
   * @param {Object} object The object to inspect.
   * @param {Object} source The object of property values to match.
   * @param {Array} matchData The property names, values, and compare flags to match.
   * @param {Function} [customizer] The function to customize comparisons.
   * @returns {boolean} Returns `true` if `object` is a match, else `false`.
   */
  function baseIsMatch(object, source, matchData, customizer) {
    var index = matchData.length,
        length = index,
        noCustomizer = !customizer;
  
    if (object == null) {
      return !length;
    }
    object = Object(object);
    while (index--) {
      var data = matchData[index];
      if ((noCustomizer && data[2])
            ? data[1] !== object[data[0]]
            : !(data[0] in object)
          ) {
        return false;
      }
    }
    while (++index < length) {
      data = matchData[index];
      var key = data[0],
          objValue = object[key],
          srcValue = data[1];
  
      if (noCustomizer && data[2]) {
        if (objValue === undefined && !(key in object)) {
          return false;
        }
      } else {
        var stack = new Stack;
        if (customizer) {
          var result = customizer(objValue, srcValue, key, object, source, stack);
        }
        if (!(result === undefined
              ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)
              : result
            )) {
          return false;
        }
      }
    }
    return true;
  }
  
  module.exports = baseIsMatch;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_baseIteratee.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_baseIteratee.js ***!
    \**********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var baseMatches = __webpack_require__(/*! ./_baseMatches */ "../../node_modules/lodash/_baseMatches.js"),
      baseMatchesProperty = __webpack_require__(/*! ./_baseMatchesProperty */ "../../node_modules/lodash/_baseMatchesProperty.js"),
      identity = __webpack_require__(/*! ./identity */ "../../node_modules/lodash/identity.js"),
      isArray = __webpack_require__(/*! ./isArray */ "../../node_modules/lodash/isArray.js"),
      property = __webpack_require__(/*! ./property */ "../../node_modules/lodash/property.js");
  
  /**
   * The base implementation of `_.iteratee`.
   *
   * @private
   * @param {*} [value=_.identity] The value to convert to an iteratee.
   * @returns {Function} Returns the iteratee.
   */
  function baseIteratee(value) {
    // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
    // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
    if (typeof value == 'function') {
      return value;
    }
    if (value == null) {
      return identity;
    }
    if (typeof value == 'object') {
      return isArray(value)
        ? baseMatchesProperty(value[0], value[1])
        : baseMatches(value);
    }
    return property(value);
  }
  
  module.exports = baseIteratee;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_baseMatches.js":
  /*!*********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_baseMatches.js ***!
    \*********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var baseIsMatch = __webpack_require__(/*! ./_baseIsMatch */ "../../node_modules/lodash/_baseIsMatch.js"),
      getMatchData = __webpack_require__(/*! ./_getMatchData */ "../../node_modules/lodash/_getMatchData.js"),
      matchesStrictComparable = __webpack_require__(/*! ./_matchesStrictComparable */ "../../node_modules/lodash/_matchesStrictComparable.js");
  
  /**
   * The base implementation of `_.matches` which doesn't clone `source`.
   *
   * @private
   * @param {Object} source The object of property values to match.
   * @returns {Function} Returns the new spec function.
   */
  function baseMatches(source) {
    var matchData = getMatchData(source);
    if (matchData.length == 1 && matchData[0][2]) {
      return matchesStrictComparable(matchData[0][0], matchData[0][1]);
    }
    return function(object) {
      return object === source || baseIsMatch(object, source, matchData);
    };
  }
  
  module.exports = baseMatches;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_baseMatchesProperty.js":
  /*!*****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_baseMatchesProperty.js ***!
    \*****************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "../../node_modules/lodash/_baseIsEqual.js"),
      get = __webpack_require__(/*! ./get */ "../../node_modules/lodash/get.js"),
      hasIn = __webpack_require__(/*! ./hasIn */ "../../node_modules/lodash/hasIn.js"),
      isKey = __webpack_require__(/*! ./_isKey */ "../../node_modules/lodash/_isKey.js"),
      isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ "../../node_modules/lodash/_isStrictComparable.js"),
      matchesStrictComparable = __webpack_require__(/*! ./_matchesStrictComparable */ "../../node_modules/lodash/_matchesStrictComparable.js"),
      toKey = __webpack_require__(/*! ./_toKey */ "../../node_modules/lodash/_toKey.js");
  
  /** Used to compose bitmasks for value comparisons. */
  var COMPARE_PARTIAL_FLAG = 1,
      COMPARE_UNORDERED_FLAG = 2;
  
  /**
   * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
   *
   * @private
   * @param {string} path The path of the property to get.
   * @param {*} srcValue The value to match.
   * @returns {Function} Returns the new spec function.
   */
  function baseMatchesProperty(path, srcValue) {
    if (isKey(path) && isStrictComparable(srcValue)) {
      return matchesStrictComparable(toKey(path), srcValue);
    }
    return function(object) {
      var objValue = get(object, path);
      return (objValue === undefined && objValue === srcValue)
        ? hasIn(object, path)
        : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
    };
  }
  
  module.exports = baseMatchesProperty;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_baseProperty.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_baseProperty.js ***!
    \**********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  /**
   * The base implementation of `_.property` without support for deep paths.
   *
   * @private
   * @param {string} key The key of the property to get.
   * @returns {Function} Returns the new accessor function.
   */
  function baseProperty(key) {
    return function(object) {
      return object == null ? undefined : object[key];
    };
  }
  
  module.exports = baseProperty;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_basePropertyDeep.js":
  /*!**************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_basePropertyDeep.js ***!
    \**************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var baseGet = __webpack_require__(/*! ./_baseGet */ "../../node_modules/lodash/_baseGet.js");
  
  /**
   * A specialized version of `baseProperty` which supports deep paths.
   *
   * @private
   * @param {Array|string} path The path of the property to get.
   * @returns {Function} Returns the new accessor function.
   */
  function basePropertyDeep(path) {
    return function(object) {
      return baseGet(object, path);
    };
  }
  
  module.exports = basePropertyDeep;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_castPath.js":
  /*!******************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_castPath.js ***!
    \******************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var isArray = __webpack_require__(/*! ./isArray */ "../../node_modules/lodash/isArray.js"),
      isKey = __webpack_require__(/*! ./_isKey */ "../../node_modules/lodash/_isKey.js"),
      stringToPath = __webpack_require__(/*! ./_stringToPath */ "../../node_modules/lodash/_stringToPath.js"),
      toString = __webpack_require__(/*! ./toString */ "../../node_modules/lodash/toString.js");
  
  /**
   * Casts `value` to a path array if it's not one.
   *
   * @private
   * @param {*} value The value to inspect.
   * @param {Object} [object] The object to query keys on.
   * @returns {Array} Returns the cast property path array.
   */
  function castPath(value, object) {
    if (isArray(value)) {
      return value;
    }
    return isKey(value, object) ? [value] : stringToPath(toString(value));
  }
  
  module.exports = castPath;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_equalArrays.js":
  /*!*********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_equalArrays.js ***!
    \*********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var SetCache = __webpack_require__(/*! ./_SetCache */ "../../node_modules/lodash/_SetCache.js"),
      arraySome = __webpack_require__(/*! ./_arraySome */ "../../node_modules/lodash/_arraySome.js"),
      cacheHas = __webpack_require__(/*! ./_cacheHas */ "../../node_modules/lodash/_cacheHas.js");
  
  /** Used to compose bitmasks for value comparisons. */
  var COMPARE_PARTIAL_FLAG = 1,
      COMPARE_UNORDERED_FLAG = 2;
  
  /**
   * A specialized version of `baseIsEqualDeep` for arrays with support for
   * partial deep comparisons.
   *
   * @private
   * @param {Array} array The array to compare.
   * @param {Array} other The other array to compare.
   * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
   * @param {Function} customizer The function to customize comparisons.
   * @param {Function} equalFunc The function to determine equivalents of values.
   * @param {Object} stack Tracks traversed `array` and `other` objects.
   * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
   */
  function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
    var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
        arrLength = array.length,
        othLength = other.length;
  
    if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
      return false;
    }
    // Assume cyclic values are equal.
    var stacked = stack.get(array);
    if (stacked && stack.get(other)) {
      return stacked == other;
    }
    var index = -1,
        result = true,
        seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
  
    stack.set(array, other);
    stack.set(other, array);
  
    // Ignore non-index properties.
    while (++index < arrLength) {
      var arrValue = array[index],
          othValue = other[index];
  
      if (customizer) {
        var compared = isPartial
          ? customizer(othValue, arrValue, index, other, array, stack)
          : customizer(arrValue, othValue, index, array, other, stack);
      }
      if (compared !== undefined) {
        if (compared) {
          continue;
        }
        result = false;
        break;
      }
      // Recursively compare arrays (susceptible to call stack limits).
      if (seen) {
        if (!arraySome(other, function(othValue, othIndex) {
              if (!cacheHas(seen, othIndex) &&
                  (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
                return seen.push(othIndex);
              }
            })) {
          result = false;
          break;
        }
      } else if (!(
            arrValue === othValue ||
              equalFunc(arrValue, othValue, bitmask, customizer, stack)
          )) {
        result = false;
        break;
      }
    }
    stack['delete'](array);
    stack['delete'](other);
    return result;
  }
  
  module.exports = equalArrays;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_equalByTag.js":
  /*!********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_equalByTag.js ***!
    \********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var Symbol = __webpack_require__(/*! ./_Symbol */ "../../node_modules/lodash/_Symbol.js"),
      Uint8Array = __webpack_require__(/*! ./_Uint8Array */ "../../node_modules/lodash/_Uint8Array.js"),
      eq = __webpack_require__(/*! ./eq */ "../../node_modules/lodash/eq.js"),
      equalArrays = __webpack_require__(/*! ./_equalArrays */ "../../node_modules/lodash/_equalArrays.js"),
      mapToArray = __webpack_require__(/*! ./_mapToArray */ "../../node_modules/lodash/_mapToArray.js"),
      setToArray = __webpack_require__(/*! ./_setToArray */ "../../node_modules/lodash/_setToArray.js");
  
  /** Used to compose bitmasks for value comparisons. */
  var COMPARE_PARTIAL_FLAG = 1,
      COMPARE_UNORDERED_FLAG = 2;
  
  /** `Object#toString` result references. */
  var boolTag = '[object Boolean]',
      dateTag = '[object Date]',
      errorTag = '[object Error]',
      mapTag = '[object Map]',
      numberTag = '[object Number]',
      regexpTag = '[object RegExp]',
      setTag = '[object Set]',
      stringTag = '[object String]',
      symbolTag = '[object Symbol]';
  
  var arrayBufferTag = '[object ArrayBuffer]',
      dataViewTag = '[object DataView]';
  
  /** Used to convert symbols to primitives and strings. */
  var symbolProto = Symbol ? Symbol.prototype : undefined,
      symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
  
  /**
   * A specialized version of `baseIsEqualDeep` for comparing objects of
   * the same `toStringTag`.
   *
   * **Note:** This function only supports comparing values with tags of
   * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
   *
   * @private
   * @param {Object} object The object to compare.
   * @param {Object} other The other object to compare.
   * @param {string} tag The `toStringTag` of the objects to compare.
   * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
   * @param {Function} customizer The function to customize comparisons.
   * @param {Function} equalFunc The function to determine equivalents of values.
   * @param {Object} stack Tracks traversed `object` and `other` objects.
   * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
   */
  function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
    switch (tag) {
      case dataViewTag:
        if ((object.byteLength != other.byteLength) ||
            (object.byteOffset != other.byteOffset)) {
          return false;
        }
        object = object.buffer;
        other = other.buffer;
  
      case arrayBufferTag:
        if ((object.byteLength != other.byteLength) ||
            !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
          return false;
        }
        return true;
  
      case boolTag:
      case dateTag:
      case numberTag:
        // Coerce booleans to `1` or `0` and dates to milliseconds.
        // Invalid dates are coerced to `NaN`.
        return eq(+object, +other);
  
      case errorTag:
        return object.name == other.name && object.message == other.message;
  
      case regexpTag:
      case stringTag:
        // Coerce regexes to strings and treat strings, primitives and objects,
        // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
        // for more details.
        return object == (other + '');
  
      case mapTag:
        var convert = mapToArray;
  
      case setTag:
        var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
        convert || (convert = setToArray);
  
        if (object.size != other.size && !isPartial) {
          return false;
        }
        // Assume cyclic values are equal.
        var stacked = stack.get(object);
        if (stacked) {
          return stacked == other;
        }
        bitmask |= COMPARE_UNORDERED_FLAG;
  
        // Recursively compare objects (susceptible to call stack limits).
        stack.set(object, other);
        var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
        stack['delete'](object);
        return result;
  
      case symbolTag:
        if (symbolValueOf) {
          return symbolValueOf.call(object) == symbolValueOf.call(other);
        }
    }
    return false;
  }
  
  module.exports = equalByTag;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_equalObjects.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_equalObjects.js ***!
    \**********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var getAllKeys = __webpack_require__(/*! ./_getAllKeys */ "../../node_modules/lodash/_getAllKeys.js");
  
  /** Used to compose bitmasks for value comparisons. */
  var COMPARE_PARTIAL_FLAG = 1;
  
  /** Used for built-in method references. */
  var objectProto = Object.prototype;
  
  /** Used to check objects for own properties. */
  var hasOwnProperty = objectProto.hasOwnProperty;
  
  /**
   * A specialized version of `baseIsEqualDeep` for objects with support for
   * partial deep comparisons.
   *
   * @private
   * @param {Object} object The object to compare.
   * @param {Object} other The other object to compare.
   * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
   * @param {Function} customizer The function to customize comparisons.
   * @param {Function} equalFunc The function to determine equivalents of values.
   * @param {Object} stack Tracks traversed `object` and `other` objects.
   * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
   */
  function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
    var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
        objProps = getAllKeys(object),
        objLength = objProps.length,
        othProps = getAllKeys(other),
        othLength = othProps.length;
  
    if (objLength != othLength && !isPartial) {
      return false;
    }
    var index = objLength;
    while (index--) {
      var key = objProps[index];
      if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
        return false;
      }
    }
    // Assume cyclic values are equal.
    var stacked = stack.get(object);
    if (stacked && stack.get(other)) {
      return stacked == other;
    }
    var result = true;
    stack.set(object, other);
    stack.set(other, object);
  
    var skipCtor = isPartial;
    while (++index < objLength) {
      key = objProps[index];
      var objValue = object[key],
          othValue = other[key];
  
      if (customizer) {
        var compared = isPartial
          ? customizer(othValue, objValue, key, other, object, stack)
          : customizer(objValue, othValue, key, object, other, stack);
      }
      // Recursively compare objects (susceptible to call stack limits).
      if (!(compared === undefined
            ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
            : compared
          )) {
        result = false;
        break;
      }
      skipCtor || (skipCtor = key == 'constructor');
    }
    if (result && !skipCtor) {
      var objCtor = object.constructor,
          othCtor = other.constructor;
  
      // Non `Object` object instances with different constructors are not equal.
      if (objCtor != othCtor &&
          ('constructor' in object && 'constructor' in other) &&
          !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
            typeof othCtor == 'function' && othCtor instanceof othCtor)) {
        result = false;
      }
    }
    stack['delete'](object);
    stack['delete'](other);
    return result;
  }
  
  module.exports = equalObjects;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_getMatchData.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_getMatchData.js ***!
    \**********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ "../../node_modules/lodash/_isStrictComparable.js"),
      keys = __webpack_require__(/*! ./keys */ "../../node_modules/lodash/keys.js");
  
  /**
   * Gets the property names, values, and compare flags of `object`.
   *
   * @private
   * @param {Object} object The object to query.
   * @returns {Array} Returns the match data of `object`.
   */
  function getMatchData(object) {
    var result = keys(object),
        length = result.length;
  
    while (length--) {
      var key = result[length],
          value = object[key];
  
      result[length] = [key, value, isStrictComparable(value)];
    }
    return result;
  }
  
  module.exports = getMatchData;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_hasPath.js":
  /*!*****************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_hasPath.js ***!
    \*****************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var castPath = __webpack_require__(/*! ./_castPath */ "../../node_modules/lodash/_castPath.js"),
      isArguments = __webpack_require__(/*! ./isArguments */ "../../node_modules/lodash/isArguments.js"),
      isArray = __webpack_require__(/*! ./isArray */ "../../node_modules/lodash/isArray.js"),
      isIndex = __webpack_require__(/*! ./_isIndex */ "../../node_modules/lodash/_isIndex.js"),
      isLength = __webpack_require__(/*! ./isLength */ "../../node_modules/lodash/isLength.js"),
      toKey = __webpack_require__(/*! ./_toKey */ "../../node_modules/lodash/_toKey.js");
  
  /**
   * Checks if `path` exists on `object`.
   *
   * @private
   * @param {Object} object The object to query.
   * @param {Array|string} path The path to check.
   * @param {Function} hasFunc The function to check properties.
   * @returns {boolean} Returns `true` if `path` exists, else `false`.
   */
  function hasPath(object, path, hasFunc) {
    path = castPath(path, object);
  
    var index = -1,
        length = path.length,
        result = false;
  
    while (++index < length) {
      var key = toKey(path[index]);
      if (!(result = object != null && hasFunc(object, key))) {
        break;
      }
      object = object[key];
    }
    if (result || ++index != length) {
      return result;
    }
    length = object == null ? 0 : object.length;
    return !!length && isLength(length) && isIndex(key, length) &&
      (isArray(object) || isArguments(object));
  }
  
  module.exports = hasPath;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_isKey.js":
  /*!***************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_isKey.js ***!
    \***************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var isArray = __webpack_require__(/*! ./isArray */ "../../node_modules/lodash/isArray.js"),
      isSymbol = __webpack_require__(/*! ./isSymbol */ "../../node_modules/lodash/isSymbol.js");
  
  /** Used to match property names within property paths. */
  var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
      reIsPlainProp = /^\w*$/;
  
  /**
   * Checks if `value` is a property name and not a property path.
   *
   * @private
   * @param {*} value The value to check.
   * @param {Object} [object] The object to query keys on.
   * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
   */
  function isKey(value, object) {
    if (isArray(value)) {
      return false;
    }
    var type = typeof value;
    if (type == 'number' || type == 'symbol' || type == 'boolean' ||
        value == null || isSymbol(value)) {
      return true;
    }
    return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
      (object != null && value in Object(object));
  }
  
  module.exports = isKey;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_isStrictComparable.js":
  /*!****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_isStrictComparable.js ***!
    \****************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var isObject = __webpack_require__(/*! ./isObject */ "../../node_modules/lodash/isObject.js");
  
  /**
   * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
   *
   * @private
   * @param {*} value The value to check.
   * @returns {boolean} Returns `true` if `value` if suitable for strict
   *  equality comparisons, else `false`.
   */
  function isStrictComparable(value) {
    return value === value && !isObject(value);
  }
  
  module.exports = isStrictComparable;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_mapToArray.js":
  /*!********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_mapToArray.js ***!
    \********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  /**
   * Converts `map` to its key-value pairs.
   *
   * @private
   * @param {Object} map The map to convert.
   * @returns {Array} Returns the key-value pairs.
   */
  function mapToArray(map) {
    var index = -1,
        result = Array(map.size);
  
    map.forEach(function(value, key) {
      result[++index] = [key, value];
    });
    return result;
  }
  
  module.exports = mapToArray;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_matchesStrictComparable.js":
  /*!*********************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_matchesStrictComparable.js ***!
    \*********************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  /**
   * A specialized version of `matchesProperty` for source values suitable
   * for strict equality comparisons, i.e. `===`.
   *
   * @private
   * @param {string} key The key of the property to get.
   * @param {*} srcValue The value to match.
   * @returns {Function} Returns the new spec function.
   */
  function matchesStrictComparable(key, srcValue) {
    return function(object) {
      if (object == null) {
        return false;
      }
      return object[key] === srcValue &&
        (srcValue !== undefined || (key in Object(object)));
    };
  }
  
  module.exports = matchesStrictComparable;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_memoizeCapped.js":
  /*!***********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_memoizeCapped.js ***!
    \***********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var memoize = __webpack_require__(/*! ./memoize */ "../../node_modules/lodash/memoize.js");
  
  /** Used as the maximum memoize cache size. */
  var MAX_MEMOIZE_SIZE = 500;
  
  /**
   * A specialized version of `_.memoize` which clears the memoized function's
   * cache when it exceeds `MAX_MEMOIZE_SIZE`.
   *
   * @private
   * @param {Function} func The function to have its output memoized.
   * @returns {Function} Returns the new memoized function.
   */
  function memoizeCapped(func) {
    var result = memoize(func, function(key) {
      if (cache.size === MAX_MEMOIZE_SIZE) {
        cache.clear();
      }
      return key;
    });
  
    var cache = result.cache;
    return result;
  }
  
  module.exports = memoizeCapped;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_stringToPath.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_stringToPath.js ***!
    \**********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var memoizeCapped = __webpack_require__(/*! ./_memoizeCapped */ "../../node_modules/lodash/_memoizeCapped.js");
  
  /** Used to match property names within property paths. */
  var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
  
  /** Used to match backslashes in property paths. */
  var reEscapeChar = /\\(\\)?/g;
  
  /**
   * Converts `string` to a property path array.
   *
   * @private
   * @param {string} string The string to convert.
   * @returns {Array} Returns the property path array.
   */
  var stringToPath = memoizeCapped(function(string) {
    var result = [];
    if (string.charCodeAt(0) === 46 /* . */) {
      result.push('');
    }
    string.replace(rePropName, function(match, number, quote, subString) {
      result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
    });
    return result;
  });
  
  module.exports = stringToPath;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/_toKey.js":
  /*!***************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/_toKey.js ***!
    \***************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var isSymbol = __webpack_require__(/*! ./isSymbol */ "../../node_modules/lodash/isSymbol.js");
  
  /** Used as references for various `Number` constants. */
  var INFINITY = 1 / 0;
  
  /**
   * Converts `value` to a string key if it's not a string or symbol.
   *
   * @private
   * @param {*} value The value to inspect.
   * @returns {string|symbol} Returns the key.
   */
  function toKey(value) {
    if (typeof value == 'string' || isSymbol(value)) {
      return value;
    }
    var result = (value + '');
    return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
  }
  
  module.exports = toKey;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/get.js":
  /*!************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/get.js ***!
    \************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var baseGet = __webpack_require__(/*! ./_baseGet */ "../../node_modules/lodash/_baseGet.js");
  
  /**
   * Gets the value at `path` of `object`. If the resolved value is
   * `undefined`, the `defaultValue` is returned in its place.
   *
   * @static
   * @memberOf _
   * @since 3.7.0
   * @category Object
   * @param {Object} object The object to query.
   * @param {Array|string} path The path of the property to get.
   * @param {*} [defaultValue] The value returned for `undefined` resolved values.
   * @returns {*} Returns the resolved value.
   * @example
   *
   * var object = { 'a': [{ 'b': { 'c': 3 } }] };
   *
   * _.get(object, 'a[0].b.c');
   * // => 3
   *
   * _.get(object, ['a', '0', 'b', 'c']);
   * // => 3
   *
   * _.get(object, 'a.b.c', 'default');
   * // => 'default'
   */
  function get(object, path, defaultValue) {
    var result = object == null ? undefined : baseGet(object, path);
    return result === undefined ? defaultValue : result;
  }
  
  module.exports = get;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/hasIn.js":
  /*!**************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/hasIn.js ***!
    \**************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var baseHasIn = __webpack_require__(/*! ./_baseHasIn */ "../../node_modules/lodash/_baseHasIn.js"),
      hasPath = __webpack_require__(/*! ./_hasPath */ "../../node_modules/lodash/_hasPath.js");
  
  /**
   * Checks if `path` is a direct or inherited property of `object`.
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Object
   * @param {Object} object The object to query.
   * @param {Array|string} path The path to check.
   * @returns {boolean} Returns `true` if `path` exists, else `false`.
   * @example
   *
   * var object = _.create({ 'a': _.create({ 'b': 2 }) });
   *
   * _.hasIn(object, 'a');
   * // => true
   *
   * _.hasIn(object, 'a.b');
   * // => true
   *
   * _.hasIn(object, ['a', 'b']);
   * // => true
   *
   * _.hasIn(object, 'b');
   * // => false
   */
  function hasIn(object, path) {
    return object != null && hasPath(object, path, baseHasIn);
  }
  
  module.exports = hasIn;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/memoize.js":
  /*!****************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/memoize.js ***!
    \****************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var MapCache = __webpack_require__(/*! ./_MapCache */ "../../node_modules/lodash/_MapCache.js");
  
  /** Error message constants. */
  var FUNC_ERROR_TEXT = 'Expected a function';
  
  /**
   * Creates a function that memoizes the result of `func`. If `resolver` is
   * provided, it determines the cache key for storing the result based on the
   * arguments provided to the memoized function. By default, the first argument
   * provided to the memoized function is used as the map cache key. The `func`
   * is invoked with the `this` binding of the memoized function.
   *
   * **Note:** The cache is exposed as the `cache` property on the memoized
   * function. Its creation may be customized by replacing the `_.memoize.Cache`
   * constructor with one whose instances implement the
   * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
   * method interface of `clear`, `delete`, `get`, `has`, and `set`.
   *
   * @static
   * @memberOf _
   * @since 0.1.0
   * @category Function
   * @param {Function} func The function to have its output memoized.
   * @param {Function} [resolver] The function to resolve the cache key.
   * @returns {Function} Returns the new memoized function.
   * @example
   *
   * var object = { 'a': 1, 'b': 2 };
   * var other = { 'c': 3, 'd': 4 };
   *
   * var values = _.memoize(_.values);
   * values(object);
   * // => [1, 2]
   *
   * values(other);
   * // => [3, 4]
   *
   * object.a = 2;
   * values(object);
   * // => [1, 2]
   *
   * // Modify the result cache.
   * values.cache.set(object, ['a', 'b']);
   * values(object);
   * // => ['a', 'b']
   *
   * // Replace `_.memoize.Cache`.
   * _.memoize.Cache = WeakMap;
   */
  function memoize(func, resolver) {
    if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {
      throw new TypeError(FUNC_ERROR_TEXT);
    }
    var memoized = function() {
      var args = arguments,
          key = resolver ? resolver.apply(this, args) : args[0],
          cache = memoized.cache;
  
      if (cache.has(key)) {
        return cache.get(key);
      }
      var result = func.apply(this, args);
      memoized.cache = cache.set(key, result) || cache;
      return result;
    };
    memoized.cache = new (memoize.Cache || MapCache);
    return memoized;
  }
  
  // Expose `MapCache`.
  memoize.Cache = MapCache;
  
  module.exports = memoize;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/property.js":
  /*!*****************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/property.js ***!
    \*****************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var baseProperty = __webpack_require__(/*! ./_baseProperty */ "../../node_modules/lodash/_baseProperty.js"),
      basePropertyDeep = __webpack_require__(/*! ./_basePropertyDeep */ "../../node_modules/lodash/_basePropertyDeep.js"),
      isKey = __webpack_require__(/*! ./_isKey */ "../../node_modules/lodash/_isKey.js"),
      toKey = __webpack_require__(/*! ./_toKey */ "../../node_modules/lodash/_toKey.js");
  
  /**
   * Creates a function that returns the value at `path` of a given object.
   *
   * @static
   * @memberOf _
   * @since 2.4.0
   * @category Util
   * @param {Array|string} path The path of the property to get.
   * @returns {Function} Returns the new accessor function.
   * @example
   *
   * var objects = [
   *   { 'a': { 'b': 2 } },
   *   { 'a': { 'b': 1 } }
   * ];
   *
   * _.map(objects, _.property('a.b'));
   * // => [2, 1]
   *
   * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
   * // => [1, 2]
   */
  function property(path) {
    return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
  }
  
  module.exports = property;
  
  
  /***/ }),
  
  /***/ "../../node_modules/lodash/uniqBy.js":
  /*!***************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/lodash/uniqBy.js ***!
    \***************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "../../node_modules/lodash/_baseIteratee.js"),
      baseUniq = __webpack_require__(/*! ./_baseUniq */ "../../node_modules/lodash/_baseUniq.js");
  
  /**
   * This method is like `_.uniq` except that it accepts `iteratee` which is
   * invoked for each element in `array` to generate the criterion by which
   * uniqueness is computed. The order of result values is determined by the
   * order they occur in the array. The iteratee is invoked with one argument:
   * (value).
   *
   * @static
   * @memberOf _
   * @since 4.0.0
   * @category Array
   * @param {Array} array The array to inspect.
   * @param {Function} [iteratee=_.identity] The iteratee invoked per element.
   * @returns {Array} Returns the new duplicate free array.
   * @example
   *
   * _.uniqBy([2.1, 1.2, 2.3], Math.floor);
   * // => [2.1, 1.2]
   *
   * // The `_.property` iteratee shorthand.
   * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
   * // => [{ 'x': 1 }, { 'x': 2 }]
   */
  function uniqBy(array, iteratee) {
    return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];
  }
  
  module.exports = uniqBy;
  
  
  /***/ }),
  
  /***/ "../../node_modules/mini-store/lib/PropTypes.js":
  /*!**************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/mini-store/lib/PropTypes.js ***!
    \**************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.storeShape = undefined;
  
  var _propTypes = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  
  var _propTypes2 = _interopRequireDefault(_propTypes);
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  
  var storeShape = exports.storeShape = _propTypes2.default.shape({
    subscribe: _propTypes2.default.func.isRequired,
    setState: _propTypes2.default.func.isRequired,
    getState: _propTypes2.default.func.isRequired
  });
  
  /***/ }),
  
  /***/ "../../node_modules/mini-store/lib/Provider.js":
  /*!*************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/mini-store/lib/Provider.js ***!
    \*************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  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__(/*! react */ "../../node_modules/react/index.js");
  
  var _react2 = _interopRequireDefault(_react);
  
  var _PropTypes = __webpack_require__(/*! ./PropTypes */ "../../node_modules/mini-store/lib/PropTypes.js");
  
  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 Provider = function (_Component) {
    _inherits(Provider, _Component);
  
    function Provider() {
      _classCallCheck(this, Provider);
  
      return _possibleConstructorReturn(this, (Provider.__proto__ || Object.getPrototypeOf(Provider)).apply(this, arguments));
    }
  
    _createClass(Provider, [{
      key: 'getChildContext',
      value: function getChildContext() {
        return {
          miniStore: this.props.store
        };
      }
    }, {
      key: 'render',
      value: function render() {
        return _react.Children.only(this.props.children);
      }
    }]);
  
    return Provider;
  }(_react.Component);
  
  Provider.propTypes = {
    store: _PropTypes.storeShape.isRequired
  };
  Provider.childContextTypes = {
    miniStore: _PropTypes.storeShape.isRequired
  };
  exports.default = Provider;
  
  /***/ }),
  
  /***/ "../../node_modules/mini-store/lib/connect.js":
  /*!************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/mini-store/lib/connect.js ***!
    \************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  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; }; }();
  
  exports.default = connect;
  
  var _react = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  
  var _react2 = _interopRequireDefault(_react);
  
  var _shallowequal = __webpack_require__(/*! shallowequal */ "../../node_modules/shallowequal/index.js");
  
  var _shallowequal2 = _interopRequireDefault(_shallowequal);
  
  var _hoistNonReactStatics = __webpack_require__(/*! hoist-non-react-statics */ "../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js");
  
  var _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);
  
  var _reactLifecyclesCompat = __webpack_require__(/*! react-lifecycles-compat */ "../../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js");
  
  var _PropTypes = __webpack_require__(/*! ./PropTypes */ "../../node_modules/mini-store/lib/PropTypes.js");
  
  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; }
  
  function getDisplayName(WrappedComponent) {
    return WrappedComponent.displayName || WrappedComponent.name || 'Component';
  }
  
  function isStateless(Component) {
    return !Component.prototype.render;
  }
  
  var defaultMapStateToProps = function defaultMapStateToProps() {
    return {};
  };
  
  function connect(mapStateToProps) {
    var shouldSubscribe = !!mapStateToProps;
    var finnalMapStateToProps = mapStateToProps || defaultMapStateToProps;
  
    return function wrapWithConnect(WrappedComponent) {
      var Connect = function (_Component) {
        _inherits(Connect, _Component);
  
        _createClass(Connect, null, [{
          key: 'getDerivedStateFromProps',
          value: function getDerivedStateFromProps(props, prevState) {
            // using ownProps
            if (mapStateToProps && mapStateToProps.length === 2 && props !== prevState.props) {
              return {
                subscribed: finnalMapStateToProps(prevState.store.getState(), props),
                props: props
              };
            }
            return { props: props };
          }
        }]);
  
        function Connect(props, context) {
          _classCallCheck(this, Connect);
  
          var _this = _possibleConstructorReturn(this, (Connect.__proto__ || Object.getPrototypeOf(Connect)).call(this, props, context));
  
          _this.handleChange = function () {
            if (!_this.unsubscribe) {
              return;
            }
            var nextState = finnalMapStateToProps(_this.store.getState(), _this.props);
            if (!(0, _shallowequal2.default)(_this.state.subscribed, nextState)) {
              _this.setState({ subscribed: nextState });
            }
          };
  
          _this.store = context.miniStore;
          _this.state = {
            subscribed: finnalMapStateToProps(_this.store.getState(), props),
            store: _this.store,
            props: props
          };
          return _this;
        }
  
        _createClass(Connect, [{
          key: 'componentDidMount',
          value: function componentDidMount() {
            this.trySubscribe();
          }
        }, {
          key: 'componentWillUnmount',
          value: function componentWillUnmount() {
            this.tryUnsubscribe();
          }
        }, {
          key: 'trySubscribe',
          value: function trySubscribe() {
            if (shouldSubscribe) {
              this.unsubscribe = this.store.subscribe(this.handleChange);
              this.handleChange();
            }
          }
        }, {
          key: 'tryUnsubscribe',
          value: function tryUnsubscribe() {
            if (this.unsubscribe) {
              this.unsubscribe();
              this.unsubscribe = null;
            }
          }
        }, {
          key: 'getWrappedInstance',
          value: function getWrappedInstance() {
            return this.wrappedInstance;
          }
        }, {
          key: 'render',
          value: function render() {
            var _this2 = this;
  
            var props = _extends({}, this.props, this.state.subscribed, {
              store: this.store
            });
  
            if (!isStateless(WrappedComponent)) {
              props = _extends({}, props, {
                ref: function ref(c) {
                  return _this2.wrappedInstance = c;
                }
              });
            }
  
            return _react2.default.createElement(WrappedComponent, props);
          }
        }]);
  
        return Connect;
      }(_react.Component);
  
      Connect.displayName = 'Connect(' + getDisplayName(WrappedComponent) + ')';
      Connect.contextTypes = {
        miniStore: _PropTypes.storeShape.isRequired
      };
  
  
      (0, _reactLifecyclesCompat.polyfill)(Connect);
  
      return (0, _hoistNonReactStatics2.default)(Connect, WrappedComponent);
    };
  }
  
  /***/ }),
  
  /***/ "../../node_modules/mini-store/lib/create.js":
  /*!***********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/mini-store/lib/create.js ***!
    \***********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  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; };
  
  exports.default = create;
  function create(initialState) {
    var state = initialState;
    var listeners = [];
  
    function setState(partial) {
      state = _extends({}, state, partial);
      for (var i = 0; i < listeners.length; i++) {
        listeners[i]();
      }
    }
  
    function getState() {
      return state;
    }
  
    function subscribe(listener) {
      listeners.push(listener);
  
      return function unsubscribe() {
        var index = listeners.indexOf(listener);
        listeners.splice(index, 1);
      };
    }
  
    return {
      setState: setState,
      getState: getState,
      subscribe: subscribe
    };
  }
  
  /***/ }),
  
  /***/ "../../node_modules/mini-store/lib/index.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/mini-store/lib/index.js ***!
    \**********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.create = exports.connect = exports.Provider = undefined;
  
  var _Provider2 = __webpack_require__(/*! ./Provider */ "../../node_modules/mini-store/lib/Provider.js");
  
  var _Provider3 = _interopRequireDefault(_Provider2);
  
  var _connect2 = __webpack_require__(/*! ./connect */ "../../node_modules/mini-store/lib/connect.js");
  
  var _connect3 = _interopRequireDefault(_connect2);
  
  var _create2 = __webpack_require__(/*! ./create */ "../../node_modules/mini-store/lib/create.js");
  
  var _create3 = _interopRequireDefault(_create2);
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  
  exports.Provider = _Provider3.default;
  exports.connect = _connect3.default;
  exports.create = _create3.default;
  
  /***/ }),
  
  /***/ "../../node_modules/mutationobserver-shim/dist/mutationobserver.min.js":
  /*!*************************************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/mutationobserver-shim/dist/mutationobserver.min.js ***!
    \*************************************************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  // mutationobserver-shim v0.3.2 (github.com/megawac/MutationObserver.js)
  // Authors: Graeme Yeates (github.com/megawac) 
  window.MutationObserver=window.MutationObserver||function(w){function v(a){this.i=[];this.m=a}function I(a){(function c(){var d=a.takeRecords();d.length&&a.m(d,a);a.h=setTimeout(c,v._period)})()}function p(a){var b={type:null,target:null,addedNodes:[],removedNodes:[],previousSibling:null,nextSibling:null,attributeName:null,attributeNamespace:null,oldValue:null},c;for(c in a)b[c]!==w&&a[c]!==w&&(b[c]=a[c]);return b}function J(a,b){var c=C(a,b);return function(d){var f=d.length,n;b.a&&3===a.nodeType&&
  a.nodeValue!==c.a&&d.push(new p({type:"characterData",target:a,oldValue:c.a}));b.b&&c.b&&A(d,a,c.b,b.f);if(b.c||b.g)n=K(d,a,c,b);if(n||d.length!==f)c=C(a,b)}}function L(a,b){return b.value}function M(a,b){return"style"!==b.name?b.value:a.style.cssText}function A(a,b,c,d){for(var f={},n=b.attributes,k,g,x=n.length;x--;)k=n[x],g=k.name,d&&d[g]===w||(D(b,k)!==c[g]&&a.push(p({type:"attributes",target:b,attributeName:g,oldValue:c[g],attributeNamespace:k.namespaceURI})),f[g]=!0);for(g in c)f[g]||a.push(p({target:b,
  type:"attributes",attributeName:g,oldValue:c[g]}))}function K(a,b,c,d){function f(b,c,f,k,y){var g=b.length-1;y=-~((g-y)/2);for(var h,l,e;e=b.pop();)h=f[e.j],l=k[e.l],d.c&&y&&Math.abs(e.j-e.l)>=g&&(a.push(p({type:"childList",target:c,addedNodes:[h],removedNodes:[h],nextSibling:h.nextSibling,previousSibling:h.previousSibling})),y--),d.b&&l.b&&A(a,h,l.b,d.f),d.a&&3===h.nodeType&&h.nodeValue!==l.a&&a.push(p({type:"characterData",target:h,oldValue:l.a})),d.g&&n(h,l)}function n(b,c){for(var g=b.childNodes,
  q=c.c,x=g.length,v=q?q.length:0,h,l,e,m,t,z=0,u=0,r=0;u<x||r<v;)m=g[u],t=(e=q[r])&&e.node,m===t?(d.b&&e.b&&A(a,m,e.b,d.f),d.a&&e.a!==w&&m.nodeValue!==e.a&&a.push(p({type:"characterData",target:m,oldValue:e.a})),l&&f(l,b,g,q,z),d.g&&(m.childNodes.length||e.c&&e.c.length)&&n(m,e),u++,r++):(k=!0,h||(h={},l=[]),m&&(h[e=E(m)]||(h[e]=!0,-1===(e=F(q,m,r,"node"))?d.c&&(a.push(p({type:"childList",target:b,addedNodes:[m],nextSibling:m.nextSibling,previousSibling:m.previousSibling})),z++):l.push({j:u,l:e})),
  u++),t&&t!==g[u]&&(h[e=E(t)]||(h[e]=!0,-1===(e=F(g,t,u))?d.c&&(a.push(p({type:"childList",target:c.node,removedNodes:[t],nextSibling:q[r+1],previousSibling:q[r-1]})),z--):l.push({j:e,l:r})),r++));l&&f(l,b,g,q,z)}var k;n(b,c);return k}function C(a,b){var c=!0;return function f(a){var k={node:a};!b.a||3!==a.nodeType&&8!==a.nodeType?(b.b&&c&&1===a.nodeType&&(k.b=G(a.attributes,function(c,f){if(!b.f||b.f[f.name])c[f.name]=D(a,f);return c})),c&&(b.c||b.a||b.b&&b.g)&&(k.c=N(a.childNodes,f)),c=b.g):k.a=
  a.nodeValue;return k}(a)}function E(a){try{return a.id||(a.mo_id=a.mo_id||H++)}catch(b){try{return a.nodeValue}catch(c){return H++}}}function N(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d,a);return c}function G(a,b){for(var c={},d=0;d<a.length;d++)c=b(c,a[d],d,a);return c}function F(a,b,c,d){for(;c<a.length;c++)if((d?a[c][d]:a[c])===b)return c;return-1}v._period=30;v.prototype={observe:function(a,b){for(var c={b:!!(b.attributes||b.attributeFilter||b.attributeOldValue),c:!!b.childList,g:!!b.subtree,
  a:!(!b.characterData&&!b.characterDataOldValue)},d=this.i,f=0;f<d.length;f++)d[f].s===a&&d.splice(f,1);b.attributeFilter&&(c.f=G(b.attributeFilter,function(a,b){a[b]=!0;return a}));d.push({s:a,o:J(a,c)});this.h||I(this)},takeRecords:function(){for(var a=[],b=this.i,c=0;c<b.length;c++)b[c].o(a);return a},disconnect:function(){this.i=[];clearTimeout(this.h);this.h=null}};var B=document.createElement("i");B.style.top=0;var D=(B="null"!=B.attributes.style.value)?L:M,H=1;return v}(void 0);
  //# sourceMappingURL=mutationobserver.map
  
  
  /***/ }),
  
  /***/ "../../node_modules/rc-align/es/Align.js":
  /*!*******************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-align/es/Align.js ***!
    \*******************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ "../../node_modules/react-dom/index.js");
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var dom_align__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! dom-align */ "../../node_modules/dom-align/es/index.js");
  /* harmony import */ var rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rc-util/es/Dom/addEventListener */ "../../node_modules/rc-util/es/Dom/addEventListener.js");
  /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./util */ "../../node_modules/rc-align/es/util.js");
  
  
  
  
  
  
  
  
  
  
  
  function getElement(func) {
    if (typeof func !== 'function' || !func) return null;
    return func();
  }
  
  function getPoint(point) {
    if (typeof point !== 'object' || !point) return null;
    return point;
  }
  
  var Align = function (_Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2___default()(Align, _Component);
  
    function Align() {
      var _temp, _this, _ret;
  
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Align);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default()(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.forceAlign = function () {
        var _this$props = _this.props,
            disabled = _this$props.disabled,
            target = _this$props.target,
            align = _this$props.align,
            onAlign = _this$props.onAlign;
  
        if (!disabled && target) {
          var source = react_dom__WEBPACK_IMPORTED_MODULE_5___default.a.findDOMNode(_this);
  
          var result = void 0;
          var element = getElement(target);
          var point = getPoint(target);
  
          if (element) {
            result = Object(dom_align__WEBPACK_IMPORTED_MODULE_6__["alignElement"])(source, element, align);
          } else if (point) {
            result = Object(dom_align__WEBPACK_IMPORTED_MODULE_6__["alignPoint"])(source, point, align);
          }
  
          if (onAlign) {
            onAlign(source, result);
          }
        }
      }, _temp), babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default()(_this, _ret);
    }
  
    Align.prototype.componentDidMount = function componentDidMount() {
      var props = this.props;
      // if parent ref not attached .... use document.getElementById
      this.forceAlign();
      if (!props.disabled && props.monitorWindowResize) {
        this.startMonitorWindowResize();
      }
    };
  
    Align.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {
      var reAlign = false;
      var props = this.props;
  
      if (!props.disabled) {
        var source = react_dom__WEBPACK_IMPORTED_MODULE_5___default.a.findDOMNode(this);
        var sourceRect = source ? source.getBoundingClientRect() : null;
  
        if (prevProps.disabled) {
          reAlign = true;
        } else {
          var lastElement = getElement(prevProps.target);
          var currentElement = getElement(props.target);
          var lastPoint = getPoint(prevProps.target);
          var currentPoint = getPoint(props.target);
  
          if (Object(_util__WEBPACK_IMPORTED_MODULE_8__["isWindow"])(lastElement) && Object(_util__WEBPACK_IMPORTED_MODULE_8__["isWindow"])(currentElement)) {
            // Skip if is window
            reAlign = false;
          } else if (lastElement !== currentElement || // Element change
          lastElement && !currentElement && currentPoint || // Change from element to point
          lastPoint && currentPoint && currentElement || // Change from point to element
          currentPoint && !Object(_util__WEBPACK_IMPORTED_MODULE_8__["isSamePoint"])(lastPoint, currentPoint)) {
            reAlign = true;
          }
  
          // If source element size changed
          var preRect = this.sourceRect || {};
          if (!reAlign && source && (preRect.width !== sourceRect.width || preRect.height !== sourceRect.height)) {
            reAlign = true;
          }
        }
  
        this.sourceRect = sourceRect;
      }
  
      if (reAlign) {
        this.forceAlign();
      }
  
      if (props.monitorWindowResize && !props.disabled) {
        this.startMonitorWindowResize();
      } else {
        this.stopMonitorWindowResize();
      }
    };
  
    Align.prototype.componentWillUnmount = function componentWillUnmount() {
      this.stopMonitorWindowResize();
    };
  
    Align.prototype.startMonitorWindowResize = function startMonitorWindowResize() {
      if (!this.resizeHandler) {
        this.bufferMonitor = Object(_util__WEBPACK_IMPORTED_MODULE_8__["buffer"])(this.forceAlign, this.props.monitorBufferTime);
        this.resizeHandler = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_7__["default"])(window, 'resize', this.bufferMonitor);
      }
    };
  
    Align.prototype.stopMonitorWindowResize = function stopMonitorWindowResize() {
      if (this.resizeHandler) {
        this.bufferMonitor.clear();
        this.resizeHandler.remove();
        this.resizeHandler = null;
      }
    };
  
    Align.prototype.render = function render() {
      var _this2 = this;
  
      var _props = this.props,
          childrenProps = _props.childrenProps,
          children = _props.children;
  
      var child = react__WEBPACK_IMPORTED_MODULE_3___default.a.Children.only(children);
      if (childrenProps) {
        var newProps = {};
        var propList = Object.keys(childrenProps);
        propList.forEach(function (prop) {
          newProps[prop] = _this2.props[childrenProps[prop]];
        });
  
        return react__WEBPACK_IMPORTED_MODULE_3___default.a.cloneElement(child, newProps);
      }
      return child;
    };
  
    return Align;
  }(react__WEBPACK_IMPORTED_MODULE_3__["Component"]);
  
  Align.propTypes = {
    childrenProps: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.object,
    align: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.object.isRequired,
    target: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.func, prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.shape({
      clientX: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.number,
      clientY: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.number,
      pageX: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.number,
      pageY: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.number
    })]),
    onAlign: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.func,
    monitorBufferTime: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.number,
    monitorWindowResize: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.bool,
    disabled: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.bool,
    children: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.any
  };
  Align.defaultProps = {
    target: function target() {
      return window;
    },
    monitorBufferTime: 50,
    monitorWindowResize: false,
    disabled: false
  };
  
  
  /* harmony default export */ __webpack_exports__["default"] = (Align);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-align/es/index.js":
  /*!*******************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-align/es/index.js ***!
    \*******************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _Align__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Align */ "../../node_modules/rc-align/es/Align.js");
  // export this package's api
  
  
  /* harmony default export */ __webpack_exports__["default"] = (_Align__WEBPACK_IMPORTED_MODULE_0__["default"]);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-align/es/util.js":
  /*!******************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-align/es/util.js ***!
    \******************************************************************************/
  /*! exports provided: buffer, isSamePoint, isWindow */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buffer", function() { return buffer; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isSamePoint", function() { return isSamePoint; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isWindow", function() { return isWindow; });
  function buffer(fn, ms) {
    var timer = void 0;
  
    function clear() {
      if (timer) {
        clearTimeout(timer);
        timer = null;
      }
    }
  
    function bufferFn() {
      clear();
      timer = setTimeout(fn, ms);
    }
  
    bufferFn.clear = clear;
  
    return bufferFn;
  }
  
  function isSamePoint(prev, next) {
    if (prev === next) return true;
    if (!prev || !next) return false;
  
    if ('pageX' in next && 'pageY' in next) {
      return prev.pageX === next.pageX && prev.pageY === next.pageY;
    }
  
    if ('clientX' in next && 'clientY' in next) {
      return prev.clientX === next.clientX && prev.clientY === next.clientY;
    }
  
    return false;
  }
  
  function isWindow(obj) {
    return obj && typeof obj === 'object' && obj.window === obj;
  }
  
  /***/ }),
  
  /***/ "../../node_modules/rc-calendar/es/locale/en_US.js":
  /*!*****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-calendar/es/locale/en_US.js ***!
    \*****************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony default export */ __webpack_exports__["default"] = ({
    today: 'Today',
    now: 'Now',
    backToToday: 'Back to today',
    ok: 'Ok',
    clear: 'Clear',
    month: 'Month',
    year: 'Year',
    timeSelect: 'select time',
    dateSelect: 'select date',
    weekSelect: 'Choose a week',
    monthSelect: 'Choose a month',
    yearSelect: 'Choose a year',
    decadeSelect: 'Choose a decade',
    yearFormat: 'YYYY',
    dateFormat: 'M/D/YYYY',
    dayFormat: 'D',
    dateTimeFormat: 'M/D/YYYY HH:mm:ss',
    monthBeforeYear: true,
    previousMonth: 'Previous month (PageUp)',
    nextMonth: 'Next month (PageDown)',
    previousYear: 'Last year (Control + left)',
    nextYear: 'Next year (Control + right)',
    previousDecade: 'Last decade',
    nextDecade: 'Next decade',
    previousCentury: 'Last century',
    nextCentury: 'Next century'
  });
  
  /***/ }),
  
  /***/ "../../node_modules/rc-dropdown/es/Dropdown.js":
  /*!*************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-dropdown/es/Dropdown.js ***!
    \*************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-dom */ "../../node_modules/react-dom/index.js");
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var rc_trigger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rc-trigger */ "../../node_modules/rc-trigger/es/index.js");
  /* harmony import */ var _placements__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./placements */ "../../node_modules/rc-dropdown/es/placements.js");
  /* harmony import */ var react_lifecycles_compat__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-lifecycles-compat */ "../../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js");
  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 _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
  
  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 Dropdown = function (_Component) {
    _inherits(Dropdown, _Component);
  
    function Dropdown(props) {
      _classCallCheck(this, Dropdown);
  
      var _this = _possibleConstructorReturn(this, _Component.call(this, props));
  
      _initialiseProps.call(_this);
  
      if ('visible' in props) {
        _this.state = {
          visible: props.visible
        };
      } else {
        _this.state = {
          visible: props.defaultVisible
        };
      }
      return _this;
    }
  
    Dropdown.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps) {
      if ('visible' in nextProps) {
        return {
          visible: nextProps.visible
        };
      }
      return null;
    };
  
    Dropdown.prototype.getMenuElement = function getMenuElement() {
      var _props = this.props,
          overlay = _props.overlay,
          prefixCls = _props.prefixCls;
  
      var extraOverlayProps = {
        prefixCls: prefixCls + '-menu',
        onClick: this.onClick
      };
      if (typeof overlay.type === 'string') {
        delete extraOverlayProps.prefixCls;
      }
      return react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement(overlay, extraOverlayProps);
    };
  
    Dropdown.prototype.getPopupDomNode = function getPopupDomNode() {
      return this.trigger.getPopupDomNode();
    };
  
    Dropdown.prototype.render = function render() {
      var _props2 = this.props,
          prefixCls = _props2.prefixCls,
          children = _props2.children,
          transitionName = _props2.transitionName,
          animation = _props2.animation,
          align = _props2.align,
          placement = _props2.placement,
          getPopupContainer = _props2.getPopupContainer,
          showAction = _props2.showAction,
          hideAction = _props2.hideAction,
          overlayClassName = _props2.overlayClassName,
          overlayStyle = _props2.overlayStyle,
          trigger = _props2.trigger,
          otherProps = _objectWithoutProperties(_props2, ['prefixCls', 'children', 'transitionName', 'animation', 'align', 'placement', 'getPopupContainer', 'showAction', 'hideAction', 'overlayClassName', 'overlayStyle', 'trigger']);
  
      var triggerHideAction = hideAction;
      if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {
        triggerHideAction = ['click'];
      }
  
      return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(
        rc_trigger__WEBPACK_IMPORTED_MODULE_3__["default"],
        _extends({}, otherProps, {
          prefixCls: prefixCls,
          ref: this.saveTrigger,
          popupClassName: overlayClassName,
          popupStyle: overlayStyle,
          builtinPlacements: _placements__WEBPACK_IMPORTED_MODULE_4__["default"],
          action: trigger,
          showAction: showAction,
          hideAction: triggerHideAction || [],
          popupPlacement: placement,
          popupAlign: align,
          popupTransitionName: transitionName,
          popupAnimation: animation,
          popupVisible: this.state.visible,
          afterPopupVisibleChange: this.afterVisibleChange,
          popup: this.getMenuElement(),
          onPopupVisibleChange: this.onVisibleChange,
          getPopupContainer: getPopupContainer
        }),
        children
      );
    };
  
    return Dropdown;
  }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
  
  Dropdown.propTypes = {
    minOverlayWidthMatchTrigger: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,
    onVisibleChange: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,
    onOverlayClick: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,
    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,
    children: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any,
    transitionName: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,
    overlayClassName: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,
    animation: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any,
    align: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,
    overlayStyle: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,
    placement: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,
    overlay: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node,
    trigger: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array,
    alignPoint: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,
    showAction: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array,
    hideAction: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array,
    getPopupContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,
    visible: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,
    defaultVisible: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool
  };
  Dropdown.defaultProps = {
    prefixCls: 'rc-dropdown',
    trigger: ['hover'],
    showAction: [],
    overlayClassName: '',
    overlayStyle: {},
    defaultVisible: false,
    onVisibleChange: function onVisibleChange() {},
  
    placement: 'bottomLeft'
  };
  
  var _initialiseProps = function _initialiseProps() {
    var _this2 = this;
  
    this.onClick = function (e) {
      var props = _this2.props;
      var overlayProps = props.overlay.props;
      // do no call onVisibleChange, if you need click to hide, use onClick and control visible
      if (!('visible' in props)) {
        _this2.setState({
          visible: false
        });
      }
      if (props.onOverlayClick) {
        props.onOverlayClick(e);
      }
      if (overlayProps.onClick) {
        overlayProps.onClick(e);
      }
    };
  
    this.onVisibleChange = function (visible) {
      var props = _this2.props;
      if (!('visible' in props)) {
        _this2.setState({
          visible: visible
        });
      }
      props.onVisibleChange(visible);
    };
  
    this.getMinOverlayWidthMatchTrigger = function () {
      var _props3 = _this2.props,
          minOverlayWidthMatchTrigger = _props3.minOverlayWidthMatchTrigger,
          alignPoint = _props3.alignPoint;
  
      if ('minOverlayWidthMatchTrigger' in _this2.props) {
        return minOverlayWidthMatchTrigger;
      }
  
      return !alignPoint;
    };
  
    this.afterVisibleChange = function (visible) {
      if (visible && _this2.getMinOverlayWidthMatchTrigger()) {
        var overlayNode = _this2.getPopupDomNode();
        var rootNode = react_dom__WEBPACK_IMPORTED_MODULE_2___default.a.findDOMNode(_this2);
        if (rootNode && overlayNode && rootNode.offsetWidth > overlayNode.offsetWidth) {
          overlayNode.style.minWidth = rootNode.offsetWidth + 'px';
          if (_this2.trigger && _this2.trigger._component && _this2.trigger._component.alignInstance) {
            _this2.trigger._component.alignInstance.forceAlign();
          }
        }
      }
    };
  
    this.saveTrigger = function (node) {
      _this2.trigger = node;
    };
  };
  
  Object(react_lifecycles_compat__WEBPACK_IMPORTED_MODULE_5__["polyfill"])(Dropdown);
  
  /* harmony default export */ __webpack_exports__["default"] = (Dropdown);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-dropdown/es/index.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-dropdown/es/index.js ***!
    \**********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _Dropdown__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Dropdown */ "../../node_modules/rc-dropdown/es/Dropdown.js");
  
  /* harmony default export */ __webpack_exports__["default"] = (_Dropdown__WEBPACK_IMPORTED_MODULE_0__["default"]);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-dropdown/es/placements.js":
  /*!***************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-dropdown/es/placements.js ***!
    \***************************************************************************************/
  /*! exports provided: placements, default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "placements", function() { return placements; });
  var autoAdjustOverflow = {
    adjustX: 1,
    adjustY: 1
  };
  
  var targetOffset = [0, 0];
  
  var placements = {
    topLeft: {
      points: ['bl', 'tl'],
      overflow: autoAdjustOverflow,
      offset: [0, -4],
      targetOffset: targetOffset
    },
    topCenter: {
      points: ['bc', 'tc'],
      overflow: autoAdjustOverflow,
      offset: [0, -4],
      targetOffset: targetOffset
    },
    topRight: {
      points: ['br', 'tr'],
      overflow: autoAdjustOverflow,
      offset: [0, -4],
      targetOffset: targetOffset
    },
    bottomLeft: {
      points: ['tl', 'bl'],
      overflow: autoAdjustOverflow,
      offset: [0, 4],
      targetOffset: targetOffset
    },
    bottomCenter: {
      points: ['tc', 'bc'],
      overflow: autoAdjustOverflow,
      offset: [0, 4],
      targetOffset: targetOffset
    },
    bottomRight: {
      points: ['tr', 'br'],
      overflow: autoAdjustOverflow,
      offset: [0, 4],
      targetOffset: targetOffset
    }
  };
  
  /* harmony default export */ __webpack_exports__["default"] = (placements);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-menu/es/DOMWrap.js":
  /*!********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-menu/es/DOMWrap.js ***!
    \********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ "../../node_modules/babel-runtime/helpers/objectWithoutProperties.js");
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-dom */ "../../node_modules/react-dom/index.js");
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! resize-observer-polyfill */ "../../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js");
  /* harmony import */ var _SubMenu__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./SubMenu */ "../../node_modules/rc-menu/es/SubMenu.js");
  /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./util */ "../../node_modules/rc-menu/es/util.js");
  
  
  
  
  
  
  
  
  
  
  
  
  var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
  
  // Fix ssr
  if (canUseDOM) {
    __webpack_require__(/*! mutationobserver-shim */ "../../node_modules/mutationobserver-shim/dist/mutationobserver.min.js");
  }
  
  var DOMWrap = function (_React$Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(DOMWrap, _React$Component);
  
    function DOMWrap() {
      var _temp, _this, _ret;
  
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, DOMWrap);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {
        lastVisibleIndex: undefined
      }, _this.getOverflowedSubMenuItem = function (keyPrefix, overflowedItems, renderPlaceholder) {
        var _this$props = _this.props,
            overflowedIndicator = _this$props.overflowedIndicator,
            level = _this$props.level,
            mode = _this$props.mode,
            prefixCls = _this$props.prefixCls,
            theme = _this$props.theme,
            propStyle = _this$props.style;
  
        if (level !== 1 || mode !== 'horizontal') {
          return null;
        }
        // put all the overflowed item inside a submenu
        // with a title of overflow indicator ('...')
        var copy = _this.props.children[0];
  
        var _copy$props = copy.props,
            throwAway = _copy$props.children,
            title = _copy$props.title,
            eventKey = _copy$props.eventKey,
            rest = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_copy$props, ['children', 'title', 'eventKey']);
  
        var style = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, propStyle);
        var key = keyPrefix + '-overflowed-indicator';
  
        if (overflowedItems.length === 0 && renderPlaceholder !== true) {
          style = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, style, {
            display: 'none'
          });
        } else if (renderPlaceholder) {
          style = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, style, {
            visibility: 'hidden'
          });
          key = key + '-placeholder';
        }
  
        var popupClassName = theme ? prefixCls + '-' + theme : '';
  
        return react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(
          _SubMenu__WEBPACK_IMPORTED_MODULE_9__["default"],
          babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
            title: overflowedIndicator,
            className: prefixCls + '-overflowed-submenu',
            popupClassName: popupClassName
          }, rest, {
            key: key,
            eventKey: keyPrefix + '-overflowed-indicator',
            disabled: false,
            style: style
          }),
          overflowedItems
        );
      }, _this.setChildrenWidthAndResize = function () {
        if (_this.props.mode !== 'horizontal') {
          return;
        }
        var ul = react_dom__WEBPACK_IMPORTED_MODULE_6___default.a.findDOMNode(_this);
  
        if (!ul) {
          return;
        }
  
        var ulChildrenNodes = ul.children;
  
        if (!ulChildrenNodes || ulChildrenNodes.length === 0) {
          return;
        }
  
        _this.childrenSizes = [];
        var children = _this.props.children;
  
  
        var lastOverflowedIndicatorPlaceholder = ul.children[ulChildrenNodes.length - 1];
  
        // need last overflowed indicator for calculating length;
        lastOverflowedIndicatorPlaceholder.style.width = 'auto';
        _this.childrenSizes = children.map(function (c, i) {
          return Object(_util__WEBPACK_IMPORTED_MODULE_10__["getWidth"])(ul.children[2 * i + 1]);
        });
  
        _this.overflowedIndicatorWidth = Object(_util__WEBPACK_IMPORTED_MODULE_10__["getWidth"])(ul.children[ul.children.length - 1]);
        _this.originalTotalWidth = _this.childrenSizes.reduce(function (acc, cur) {
          return acc + cur;
        }, 0);
        _this.handleResize();
  
        // prevent the overflowed indicator from taking space;
        lastOverflowedIndicatorPlaceholder.style.width = 0;
      }, _this.resizeObserver = null, _this.mutationObserver = null, _this.originalTotalWidth = 0, _this.overflowedItems = [], _this.childrenSizes = [], _this.handleResize = function () {
        if (_this.props.mode !== 'horizontal') {
          return;
        }
  
        var ul = react_dom__WEBPACK_IMPORTED_MODULE_6___default.a.findDOMNode(_this);
        if (!ul) {
          return;
        }
        var width = Object(_util__WEBPACK_IMPORTED_MODULE_10__["getWidth"])(ul);
  
        _this.overflowedItems = [];
        var currentSumWidth = 0;
  
        // index for last visible child in horizontal mode
        var lastVisibleIndex = undefined;
  
        if (_this.originalTotalWidth > width) {
          lastVisibleIndex = -1;
  
          _this.childrenSizes.forEach(function (liWidth) {
            currentSumWidth += liWidth;
            if (currentSumWidth + _this.overflowedIndicatorWidth <= width) {
              lastVisibleIndex++;
            }
          });
        }
  
        _this.setState({ lastVisibleIndex: lastVisibleIndex });
      }, _temp), babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(_this, _ret);
    }
  
    DOMWrap.prototype.componentDidMount = function componentDidMount() {
      var _this2 = this;
  
      this.setChildrenWidthAndResize();
      if (this.props.level === 1 && this.props.mode === 'horizontal') {
        var menuUl = react_dom__WEBPACK_IMPORTED_MODULE_6___default.a.findDOMNode(this);
        if (!menuUl) {
          return;
        }
        this.resizeObserver = new resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_8__["default"](function (entries) {
          entries.forEach(_this2.setChildrenWidthAndResize);
        });
  
        [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {
          _this2.resizeObserver.observe(el);
        });
  
        if (typeof MutationObserver !== 'undefined') {
          this.mutationObserver = new MutationObserver(function () {
            _this2.resizeObserver.disconnect();
            [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {
              _this2.resizeObserver.observe(el);
            });
            _this2.setChildrenWidthAndResize();
          });
          this.mutationObserver.observe(menuUl, { attributes: false, childList: true, subTree: false });
        }
      }
    };
  
    DOMWrap.prototype.componentWillUnmount = function componentWillUnmount() {
      if (this.resizeObserver) {
        this.resizeObserver.disconnect();
      }
      if (this.mutationObserver) {
        this.resizeObserver.disconnect();
      }
    };
  
    // memorize rendered menuSize
  
  
    // original scroll size of the list
  
  
    // copy of overflowed items
  
  
    // cache item of the original items (so we can track the size and order)
  
  
    DOMWrap.prototype.renderChildren = function renderChildren(children) {
      var _this3 = this;
  
      // need to take care of overflowed items in horizontal mode
      var lastVisibleIndex = this.state.lastVisibleIndex;
  
      return (children || []).reduce(function (acc, childNode, index) {
        var item = childNode;
        if (_this3.props.mode === 'horizontal') {
          var overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, []);
          if (lastVisibleIndex !== undefined && _this3.props.className.indexOf(_this3.props.prefixCls + '-root') !== -1) {
            if (index > lastVisibleIndex) {
              item = react__WEBPACK_IMPORTED_MODULE_5___default.a.cloneElement(childNode,
              // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件
              { style: { visibility: 'hidden' }, eventKey: childNode.props.eventKey + '-hidden' });
            }
            if (index === lastVisibleIndex + 1) {
              _this3.overflowedItems = children.slice(lastVisibleIndex + 1).map(function (c) {
                return react__WEBPACK_IMPORTED_MODULE_5___default.a.cloneElement(c,
                // children[index].key will become '.$key' in clone by default,
                // we have to overwrite with the correct key explicitly
                { key: c.props.eventKey, mode: 'vertical-left' });
              });
  
              overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, _this3.overflowedItems);
            }
          }
  
          var ret = [].concat(acc, [overflowed, item]);
  
          if (index === children.length - 1) {
            // need a placeholder for calculating overflowed indicator width
            ret.push(_this3.getOverflowedSubMenuItem(childNode.props.eventKey, [], true));
          }
          return ret;
        }
        return [].concat(acc, [item]);
      }, []);
    };
  
    DOMWrap.prototype.render = function render() {
      var _props = this.props,
          hiddenClassName = _props.hiddenClassName,
          visible = _props.visible,
          prefixCls = _props.prefixCls,
          overflowedIndicator = _props.overflowedIndicator,
          mode = _props.mode,
          level = _props.level,
          Tag = _props.tag,
          children = _props.children,
          theme = _props.theme,
          rest = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_props, ['hiddenClassName', 'visible', 'prefixCls', 'overflowedIndicator', 'mode', 'level', 'tag', 'children', 'theme']);
  
      if (!visible) {
        rest.className += ' ' + hiddenClassName;
      }
  
      return react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(
        Tag,
        rest,
        this.renderChildren(this.props.children)
      );
    };
  
    return DOMWrap;
  }(react__WEBPACK_IMPORTED_MODULE_5___default.a.Component);
  
  DOMWrap.propTypes = {
    className: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
    children: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.node,
    mode: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),
    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
    level: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.number,
    theme: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
    overflowedIndicator: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.node,
    visible: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,
    hiddenClassName: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
    tag: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
    style: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object
  };
  
  DOMWrap.defaultProps = {
    tag: 'div',
    className: ''
  };
  
  /* harmony default export */ __webpack_exports__["default"] = (DOMWrap);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-menu/es/Divider.js":
  /*!********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-menu/es/Divider.js ***!
    \********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);
  
  
  
  
  
  
  var Divider = function (_React$Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2___default()(Divider, _React$Component);
  
    function Divider() {
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Divider);
  
      return babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default()(this, _React$Component.apply(this, arguments));
    }
  
    Divider.prototype.render = function render() {
      var _props = this.props,
          className = _props.className,
          rootPrefixCls = _props.rootPrefixCls,
          style = _props.style;
  
      return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement('li', {
        className: className + ' ' + rootPrefixCls + '-item-divider',
        style: style
      });
    };
  
    return Divider;
  }(react__WEBPACK_IMPORTED_MODULE_3___default.a.Component);
  
  Divider.propTypes = {
    className: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string,
    rootPrefixCls: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string,
    style: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.object
  };
  Divider.defaultProps = {
    // To fix keyboard UX.
    disabled: true,
    className: '',
    style: {}
  };
  /* harmony default export */ __webpack_exports__["default"] = (Divider);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-menu/es/Menu.js":
  /*!*****************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-menu/es/Menu.js ***!
    \*****************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ "../../node_modules/babel-runtime/helpers/objectWithoutProperties.js");
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var mini_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! mini-store */ "../../node_modules/mini-store/lib/index.js");
  /* harmony import */ var mini_store__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(mini_store__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var _SubPopupMenu__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./SubPopupMenu */ "../../node_modules/rc-menu/es/SubPopupMenu.js");
  /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./util */ "../../node_modules/rc-menu/es/util.js");
  
  
  
  
  
  
  
  
  
  
  
  var Menu = function (_React$Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Menu, _React$Component);
  
    function Menu(props) {
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, Menu);
  
      var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _React$Component.call(this, props));
  
      _initialiseProps.call(_this);
  
      _this.isRootMenu = true;
  
      var selectedKeys = props.defaultSelectedKeys;
      var openKeys = props.defaultOpenKeys;
      if ('selectedKeys' in props) {
        selectedKeys = props.selectedKeys || [];
      }
      if ('openKeys' in props) {
        openKeys = props.openKeys || [];
      }
  
      _this.store = Object(mini_store__WEBPACK_IMPORTED_MODULE_7__["create"])({
        selectedKeys: selectedKeys,
        openKeys: openKeys,
        activeKey: { '0-menu-': Object(_SubPopupMenu__WEBPACK_IMPORTED_MODULE_8__["getActiveKey"])(props, props.activeKey) }
      });
      return _this;
    }
  
    Menu.prototype.componentDidMount = function componentDidMount() {
      this.updateMiniStore();
    };
  
    Menu.prototype.componentDidUpdate = function componentDidUpdate() {
      this.updateMiniStore();
    };
  
    // onKeyDown needs to be exposed as a instance method
    // e.g., in rc-select, we need to navigate menu item while
    // current active item is rc-select input box rather than the menu itself
  
  
    Menu.prototype.updateMiniStore = function updateMiniStore() {
      if ('selectedKeys' in this.props) {
        this.store.setState({
          selectedKeys: this.props.selectedKeys || []
        });
      }
      if ('openKeys' in this.props) {
        this.store.setState({
          openKeys: this.props.openKeys || []
        });
      }
    };
  
    Menu.prototype.render = function render() {
      var _this2 = this;
  
      var props = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(this.props, []);
  
      props.className += ' ' + props.prefixCls + '-root';
      props = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, {
        onClick: this.onClick,
        onOpenChange: this.onOpenChange,
        onDeselect: this.onDeselect,
        onSelect: this.onSelect,
        openTransitionName: this.getOpenTransitionName(),
        parentMenu: this
      });
      return react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(
        mini_store__WEBPACK_IMPORTED_MODULE_7__["Provider"],
        { store: this.store },
        react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(
          _SubPopupMenu__WEBPACK_IMPORTED_MODULE_8__["default"],
          babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, { ref: function ref(c) {
              return _this2.innerMenu = c;
            } }),
          this.props.children
        )
      );
    };
  
    return Menu;
  }(react__WEBPACK_IMPORTED_MODULE_5___default.a.Component);
  
  Menu.propTypes = {
    defaultSelectedKeys: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string),
    defaultActiveFirst: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    selectedKeys: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string),
    defaultOpenKeys: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string),
    openKeys: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string),
    mode: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),
    getPopupContainer: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onClick: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onSelect: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onDeselect: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onDestroy: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    openTransitionName: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    openAnimation: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object]),
    subMenuOpenDelay: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,
    subMenuCloseDelay: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,
    forceSubMenuRender: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    triggerSubMenuAction: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    level: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,
    selectable: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    multiple: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    children: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.any,
    className: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    style: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object,
    activeKey: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    builtinPlacements: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object,
    itemIcon: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.node]),
    expandIcon: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.node]),
    overflowedIndicator: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.node
  };
  Menu.defaultProps = {
    selectable: true,
    onClick: _util__WEBPACK_IMPORTED_MODULE_9__["noop"],
    onSelect: _util__WEBPACK_IMPORTED_MODULE_9__["noop"],
    onOpenChange: _util__WEBPACK_IMPORTED_MODULE_9__["noop"],
    onDeselect: _util__WEBPACK_IMPORTED_MODULE_9__["noop"],
    defaultSelectedKeys: [],
    defaultOpenKeys: [],
    subMenuOpenDelay: 0.1,
    subMenuCloseDelay: 0.1,
    triggerSubMenuAction: 'hover',
    prefixCls: 'rc-menu',
    className: '',
    mode: 'vertical',
    style: {},
    builtinPlacements: {},
    overflowedIndicator: react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(
      'span',
      null,
      '\xB7\xB7\xB7'
    )
  };
  
  var _initialiseProps = function _initialiseProps() {
    var _this3 = this;
  
    this.onSelect = function (selectInfo) {
      var props = _this3.props;
      if (props.selectable) {
        // root menu
        var selectedKeys = _this3.store.getState().selectedKeys;
        var selectedKey = selectInfo.key;
        if (props.multiple) {
          selectedKeys = selectedKeys.concat([selectedKey]);
        } else {
          selectedKeys = [selectedKey];
        }
        if (!('selectedKeys' in props)) {
          _this3.store.setState({
            selectedKeys: selectedKeys
          });
        }
        props.onSelect(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, selectInfo, {
          selectedKeys: selectedKeys
        }));
      }
    };
  
    this.onClick = function (e) {
      _this3.props.onClick(e);
    };
  
    this.onKeyDown = function (e, callback) {
      _this3.innerMenu.getWrappedInstance().onKeyDown(e, callback);
    };
  
    this.onOpenChange = function (event) {
      var props = _this3.props;
      var openKeys = _this3.store.getState().openKeys.concat();
      var changed = false;
      var processSingle = function processSingle(e) {
        var oneChanged = false;
        if (e.open) {
          oneChanged = openKeys.indexOf(e.key) === -1;
          if (oneChanged) {
            openKeys.push(e.key);
          }
        } else {
          var index = openKeys.indexOf(e.key);
          oneChanged = index !== -1;
          if (oneChanged) {
            openKeys.splice(index, 1);
          }
        }
        changed = changed || oneChanged;
      };
      if (Array.isArray(event)) {
        // batch change call
        event.forEach(processSingle);
      } else {
        processSingle(event);
      }
      if (changed) {
        if (!('openKeys' in _this3.props)) {
          _this3.store.setState({ openKeys: openKeys });
        }
        props.onOpenChange(openKeys);
      }
    };
  
    this.onDeselect = function (selectInfo) {
      var props = _this3.props;
      if (props.selectable) {
        var selectedKeys = _this3.store.getState().selectedKeys.concat();
        var selectedKey = selectInfo.key;
        var index = selectedKeys.indexOf(selectedKey);
        if (index !== -1) {
          selectedKeys.splice(index, 1);
        }
        if (!('selectedKeys' in props)) {
          _this3.store.setState({
            selectedKeys: selectedKeys
          });
        }
        props.onDeselect(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, selectInfo, {
          selectedKeys: selectedKeys
        }));
      }
    };
  
    this.getOpenTransitionName = function () {
      var props = _this3.props;
      var transitionName = props.openTransitionName;
      var animationName = props.openAnimation;
      if (!transitionName && typeof animationName === 'string') {
        transitionName = props.prefixCls + '-open-' + animationName;
      }
      return transitionName;
    };
  };
  
  /* harmony default export */ __webpack_exports__["default"] = (Menu);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-menu/es/MenuItem.js":
  /*!*********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-menu/es/MenuItem.js ***!
    \*********************************************************************************/
  /*! exports provided: MenuItem, default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MenuItem", function() { return MenuItem; });
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ "../../node_modules/react-dom/index.js");
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rc-util/es/KeyCode */ "../../node_modules/rc-util/es/KeyCode.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_8__);
  /* harmony import */ var dom_scroll_into_view__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! dom-scroll-into-view */ "../../node_modules/dom-scroll-into-view/lib/index.js");
  /* harmony import */ var dom_scroll_into_view__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(dom_scroll_into_view__WEBPACK_IMPORTED_MODULE_9__);
  /* harmony import */ var mini_store__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! mini-store */ "../../node_modules/mini-store/lib/index.js");
  /* harmony import */ var mini_store__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(mini_store__WEBPACK_IMPORTED_MODULE_10__);
  /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./util */ "../../node_modules/rc-menu/es/util.js");
  
  
  
  
  
  
  
  
  
  
  
  
  
  /* eslint react/no-is-mounted:0 */
  
  var MenuItem = function (_React$Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(MenuItem, _React$Component);
  
    function MenuItem(props) {
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, MenuItem);
  
      var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _React$Component.call(this, props));
  
      _this.onKeyDown = function (e) {
        var keyCode = e.keyCode;
        if (keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_7__["default"].ENTER) {
          _this.onClick(e);
          return true;
        }
      };
  
      _this.onMouseLeave = function (e) {
        var _this$props = _this.props,
            eventKey = _this$props.eventKey,
            onItemHover = _this$props.onItemHover,
            onMouseLeave = _this$props.onMouseLeave;
  
        onItemHover({
          key: eventKey,
          hover: false
        });
        onMouseLeave({
          key: eventKey,
          domEvent: e
        });
      };
  
      _this.onMouseEnter = function (e) {
        var _this$props2 = _this.props,
            eventKey = _this$props2.eventKey,
            onItemHover = _this$props2.onItemHover,
            onMouseEnter = _this$props2.onMouseEnter;
  
        onItemHover({
          key: eventKey,
          hover: true
        });
        onMouseEnter({
          key: eventKey,
          domEvent: e
        });
      };
  
      _this.onClick = function (e) {
        var _this$props3 = _this.props,
            eventKey = _this$props3.eventKey,
            multiple = _this$props3.multiple,
            onClick = _this$props3.onClick,
            onSelect = _this$props3.onSelect,
            onDeselect = _this$props3.onDeselect,
            isSelected = _this$props3.isSelected;
  
        var info = {
          key: eventKey,
          keyPath: [eventKey],
          item: _this,
          domEvent: e
        };
        onClick(info);
        if (multiple) {
          if (isSelected) {
            onDeselect(info);
          } else {
            onSelect(info);
          }
        } else if (!isSelected) {
          onSelect(info);
        }
      };
  
      return _this;
    }
  
    MenuItem.prototype.componentDidMount = function componentDidMount() {
      // invoke customized ref to expose component to mixin
      this.callRef();
    };
  
    MenuItem.prototype.componentDidUpdate = function componentDidUpdate() {
      if (this.props.active) {
        dom_scroll_into_view__WEBPACK_IMPORTED_MODULE_9___default()(react_dom__WEBPACK_IMPORTED_MODULE_5___default.a.findDOMNode(this), react_dom__WEBPACK_IMPORTED_MODULE_5___default.a.findDOMNode(this.props.parentMenu), {
          onlyScrollIfNeeded: true
        });
      }
      this.callRef();
    };
  
    MenuItem.prototype.componentWillUnmount = function componentWillUnmount() {
      var props = this.props;
      if (props.onDestroy) {
        props.onDestroy(props.eventKey);
      }
    };
  
    MenuItem.prototype.getPrefixCls = function getPrefixCls() {
      return this.props.rootPrefixCls + '-item';
    };
  
    MenuItem.prototype.getActiveClassName = function getActiveClassName() {
      return this.getPrefixCls() + '-active';
    };
  
    MenuItem.prototype.getSelectedClassName = function getSelectedClassName() {
      return this.getPrefixCls() + '-selected';
    };
  
    MenuItem.prototype.getDisabledClassName = function getDisabledClassName() {
      return this.getPrefixCls() + '-disabled';
    };
  
    MenuItem.prototype.callRef = function callRef() {
      if (this.props.manualRef) {
        this.props.manualRef(this);
      }
    };
  
    MenuItem.prototype.render = function render() {
      var _classNames;
  
      var props = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, this.props);
      var className = classnames__WEBPACK_IMPORTED_MODULE_8___default()(this.getPrefixCls(), props.className, (_classNames = {}, _classNames[this.getActiveClassName()] = !props.disabled && props.active, _classNames[this.getSelectedClassName()] = props.isSelected, _classNames[this.getDisabledClassName()] = props.disabled, _classNames));
      var attrs = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props.attribute, {
        title: props.title,
        className: className,
        // set to menuitem by default
        role: props.role || 'menuitem',
        'aria-disabled': props.disabled
      });
  
      if (props.role === 'option') {
        // overwrite to option
        attrs = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, attrs, {
          role: 'option',
          'aria-selected': props.isSelected
        });
      } else if (props.role === null || props.role === 'none') {
        // sometimes we want to specify role inside <li/> element
        // <li><a role='menuitem'>Link</a></li> would be a good example
        // in this case the role on <li/> should be "none" to
        // remove the implied listitem role.
        // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html
        attrs.role = 'none';
      }
      // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner
      var mouseEvent = {
        onClick: props.disabled ? null : this.onClick,
        onMouseLeave: props.disabled ? null : this.onMouseLeave,
        onMouseEnter: props.disabled ? null : this.onMouseEnter
      };
      var style = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props.style);
      if (props.mode === 'inline') {
        style.paddingLeft = props.inlineIndent * props.level;
      }
      _util__WEBPACK_IMPORTED_MODULE_11__["menuAllProps"].forEach(function (key) {
        return delete props[key];
      });
      var icon = this.props.itemIcon;
      if (typeof this.props.itemIcon === 'function') {
        icon = react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(this.props.itemIcon, this.props);
      }
      return react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
        'li',
        babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, attrs, mouseEvent, {
          style: style
        }),
        props.children,
        icon
      );
    };
  
    return MenuItem;
  }(react__WEBPACK_IMPORTED_MODULE_4___default.a.Component);
  
  MenuItem.propTypes = {
    attribute: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object,
    rootPrefixCls: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    eventKey: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    active: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    children: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.any,
    selectedKeys: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.array,
    disabled: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    title: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    onItemHover: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onSelect: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onClick: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onDeselect: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    parentMenu: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object,
    onDestroy: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onMouseEnter: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onMouseLeave: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    multiple: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    isSelected: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    manualRef: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    itemIcon: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.node])
  };
  MenuItem.defaultProps = {
    onSelect: _util__WEBPACK_IMPORTED_MODULE_11__["noop"],
    onMouseEnter: _util__WEBPACK_IMPORTED_MODULE_11__["noop"],
    onMouseLeave: _util__WEBPACK_IMPORTED_MODULE_11__["noop"],
    manualRef: _util__WEBPACK_IMPORTED_MODULE_11__["noop"]
  };
  MenuItem.isMenuItem = true;
  
  var connected = Object(mini_store__WEBPACK_IMPORTED_MODULE_10__["connect"])(function (_ref, _ref2) {
    var activeKey = _ref.activeKey,
        selectedKeys = _ref.selectedKeys;
    var eventKey = _ref2.eventKey,
        subMenuKey = _ref2.subMenuKey;
    return {
      active: activeKey[subMenuKey] === eventKey,
      isSelected: selectedKeys.indexOf(eventKey) !== -1
    };
  })(MenuItem);
  
  /* harmony default export */ __webpack_exports__["default"] = (connected);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-menu/es/MenuItemGroup.js":
  /*!**************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-menu/es/MenuItemGroup.js ***!
    \**************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ "../../node_modules/babel-runtime/helpers/objectWithoutProperties.js");
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./util */ "../../node_modules/rc-menu/es/util.js");
  
  
  
  
  
  
  
  
  
  var MenuItemGroup = function (_React$Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(MenuItemGroup, _React$Component);
  
    function MenuItemGroup() {
      var _temp, _this, _ret;
  
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, MenuItemGroup);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.renderInnerMenuItem = function (item) {
        var _this$props = _this.props,
            renderMenuItem = _this$props.renderMenuItem,
            index = _this$props.index;
  
        return renderMenuItem(item, index, _this.props.subMenuKey);
      }, _temp), babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(_this, _ret);
    }
  
    MenuItemGroup.prototype.render = function render() {
      var props = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(this.props, []);
  
      var _props$className = props.className,
          className = _props$className === undefined ? '' : _props$className,
          rootPrefixCls = props.rootPrefixCls;
  
      var titleClassName = rootPrefixCls + '-item-group-title';
      var listClassName = rootPrefixCls + '-item-group-list';
      var title = props.title,
          children = props.children;
  
      _util__WEBPACK_IMPORTED_MODULE_7__["menuAllProps"].forEach(function (key) {
        return delete props[key];
      });
  
      // Set onClick to null, to ignore propagated onClick event
      delete props.onClick;
  
      return react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(
        'li',
        babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, props, { className: className + ' ' + rootPrefixCls + '-item-group' }),
        react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(
          'div',
          {
            className: titleClassName,
            title: typeof title === 'string' ? title : undefined
          },
          title
        ),
        react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(
          'ul',
          { className: listClassName },
          react__WEBPACK_IMPORTED_MODULE_5___default.a.Children.map(children, this.renderInnerMenuItem)
        )
      );
    };
  
    return MenuItemGroup;
  }(react__WEBPACK_IMPORTED_MODULE_5___default.a.Component);
  
  MenuItemGroup.propTypes = {
    renderMenuItem: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    index: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,
    className: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    subMenuKey: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    rootPrefixCls: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string
  };
  MenuItemGroup.defaultProps = {
    disabled: true
  };
  
  
  MenuItemGroup.isMenuItemGroup = true;
  
  /* harmony default export */ __webpack_exports__["default"] = (MenuItemGroup);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-menu/es/SubMenu.js":
  /*!********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-menu/es/SubMenu.js ***!
    \********************************************************************************/
  /*! exports provided: SubMenu, default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SubMenu", function() { return SubMenu; });
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ "../../node_modules/react-dom/index.js");
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var rc_trigger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rc-trigger */ "../../node_modules/rc-trigger/es/index.js");
  /* harmony import */ var rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! rc-util/es/KeyCode */ "../../node_modules/rc-util/es/KeyCode.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__);
  /* harmony import */ var mini_store__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! mini-store */ "../../node_modules/mini-store/lib/index.js");
  /* harmony import */ var mini_store__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(mini_store__WEBPACK_IMPORTED_MODULE_10__);
  /* harmony import */ var _SubPopupMenu__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./SubPopupMenu */ "../../node_modules/rc-menu/es/SubPopupMenu.js");
  /* harmony import */ var _placements__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./placements */ "../../node_modules/rc-menu/es/placements.js");
  /* harmony import */ var rc_animate__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! rc-animate */ "../../node_modules/rc-animate/es/Animate.js");
  /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./util */ "../../node_modules/rc-menu/es/util.js");
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  var guid = 0;
  
  var popupPlacementMap = {
    horizontal: 'bottomLeft',
    vertical: 'rightTop',
    'vertical-left': 'rightTop',
    'vertical-right': 'leftTop'
  };
  
  var updateDefaultActiveFirst = function updateDefaultActiveFirst(store, eventKey, defaultActiveFirst) {
    var _extends2;
  
    var menuId = Object(_util__WEBPACK_IMPORTED_MODULE_14__["getMenuIdFromSubMenuEventKey"])(eventKey);
    var state = store.getState();
    store.setState({
      defaultActiveFirst: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3___default()({}, state.defaultActiveFirst, (_extends2 = {}, _extends2[menuId] = defaultActiveFirst, _extends2))
    });
  };
  
  var SubMenu = function (_React$Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2___default()(SubMenu, _React$Component);
  
    function SubMenu(props) {
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, SubMenu);
  
      var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default()(this, _React$Component.call(this, props));
  
      _initialiseProps.call(_this);
  
      var store = props.store;
      var eventKey = props.eventKey;
      var defaultActiveFirst = store.getState().defaultActiveFirst;
  
      _this.isRootMenu = false;
  
      var value = false;
  
      if (defaultActiveFirst) {
        value = defaultActiveFirst[eventKey];
      }
  
      updateDefaultActiveFirst(store, eventKey, value);
      return _this;
    }
  
    SubMenu.prototype.componentDidMount = function componentDidMount() {
      this.componentDidUpdate();
    };
  
    SubMenu.prototype.componentDidUpdate = function componentDidUpdate() {
      var _this2 = this;
  
      var _props = this.props,
          mode = _props.mode,
          parentMenu = _props.parentMenu,
          manualRef = _props.manualRef;
  
      // invoke customized ref to expose component to mixin
  
      if (manualRef) {
        manualRef(this);
      }
  
      if (mode !== 'horizontal' || !parentMenu.isRootMenu || !this.props.isOpen) {
        return;
      }
  
      this.minWidthTimeout = setTimeout(function () {
        return _this2.adjustWidth();
      }, 0);
    };
  
    SubMenu.prototype.componentWillUnmount = function componentWillUnmount() {
      var _props2 = this.props,
          onDestroy = _props2.onDestroy,
          eventKey = _props2.eventKey;
  
      if (onDestroy) {
        onDestroy(eventKey);
      }
  
      /* istanbul ignore if */
      if (this.minWidthTimeout) {
        clearTimeout(this.minWidthTimeout);
      }
  
      /* istanbul ignore if */
      if (this.mouseenterTimeout) {
        clearTimeout(this.mouseenterTimeout);
      }
    };
  
    SubMenu.prototype.renderChildren = function renderChildren(children) {
      var props = this.props;
      var baseProps = {
        mode: props.mode === 'horizontal' ? 'vertical' : props.mode,
        visible: this.props.isOpen,
        level: props.level + 1,
        inlineIndent: props.inlineIndent,
        focusable: false,
        onClick: this.onSubMenuClick,
        onSelect: this.onSelect,
        onDeselect: this.onDeselect,
        onDestroy: this.onDestroy,
        selectedKeys: props.selectedKeys,
        eventKey: props.eventKey + '-menu-',
        openKeys: props.openKeys,
        openTransitionName: props.openTransitionName,
        openAnimation: props.openAnimation,
        onOpenChange: this.onOpenChange,
        subMenuOpenDelay: props.subMenuOpenDelay,
        parentMenu: this,
        subMenuCloseDelay: props.subMenuCloseDelay,
        forceSubMenuRender: props.forceSubMenuRender,
        triggerSubMenuAction: props.triggerSubMenuAction,
        builtinPlacements: props.builtinPlacements,
        defaultActiveFirst: props.store.getState().defaultActiveFirst[Object(_util__WEBPACK_IMPORTED_MODULE_14__["getMenuIdFromSubMenuEventKey"])(props.eventKey)],
        multiple: props.multiple,
        prefixCls: props.rootPrefixCls,
        id: this._menuId,
        manualRef: this.saveMenuInstance,
        itemIcon: props.itemIcon,
        expandIcon: props.expandIcon
      };
  
      var haveRendered = this.haveRendered;
      this.haveRendered = true;
  
      this.haveOpened = this.haveOpened || baseProps.visible || baseProps.forceSubMenuRender;
      // never rendered not planning to, don't render
      if (!this.haveOpened) {
        return react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement('div', null);
      }
  
      // don't show transition on first rendering (no animation for opened menu)
      // show appear transition if it's not visible (not sure why)
      // show appear transition if it's not inline mode
      var transitionAppear = haveRendered || !baseProps.visible || !baseProps.mode === 'inline';
  
      baseProps.className = ' ' + baseProps.prefixCls + '-sub';
      var animProps = {};
  
      if (baseProps.openTransitionName) {
        animProps.transitionName = baseProps.openTransitionName;
      } else if (typeof baseProps.openAnimation === 'object') {
        animProps.animation = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3___default()({}, baseProps.openAnimation);
        if (!transitionAppear) {
          delete animProps.animation.appear;
        }
      }
  
      return react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
        rc_animate__WEBPACK_IMPORTED_MODULE_13__["default"],
        babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3___default()({}, animProps, {
          showProp: 'visible',
          component: '',
          transitionAppear: transitionAppear
        }),
        react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
          _SubPopupMenu__WEBPACK_IMPORTED_MODULE_11__["default"],
          babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3___default()({}, baseProps, { id: this._menuId }),
          children
        )
      );
    };
  
    SubMenu.prototype.render = function render() {
      var _classNames;
  
      var props = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3___default()({}, this.props);
      var isOpen = props.isOpen;
      var level = props.level;
      var prefixCls = this.getPrefixCls();
      var isInlineMode = props.mode === 'inline';
      var className = classnames__WEBPACK_IMPORTED_MODULE_9___default()(prefixCls, prefixCls + '-' + props.mode, (_classNames = {}, _classNames[props.className] = !!props.className, _classNames[this.getOpenClassName()] = isOpen, _classNames[this.getActiveClassName()] = props.active || isOpen && !isInlineMode, _classNames[this.getDisabledClassName()] = props.disabled, _classNames[this.getSelectedClassName()] = this.isChildrenSelected(), _classNames));
  
      if (!this._menuId) {
        if (props.eventKey) {
          this._menuId = props.eventKey + '$Menu';
        } else {
          this._menuId = '$__$' + ++guid + '$Menu';
        }
      }
  
      var mouseEvents = {};
      var titleClickEvents = {};
      var titleMouseEvents = {};
      if (!props.disabled) {
        mouseEvents = {
          onMouseLeave: this.onMouseLeave,
          onMouseEnter: this.onMouseEnter
        };
  
        // only works in title, not outer li
        titleClickEvents = {
          onClick: this.onTitleClick
        };
        titleMouseEvents = {
          onMouseEnter: this.onTitleMouseEnter,
          onMouseLeave: this.onTitleMouseLeave
        };
      }
  
      var style = {};
      if (isInlineMode) {
        style.paddingLeft = props.inlineIndent * props.level;
      }
  
      var ariaOwns = {};
      // only set aria-owns when menu is open
      // otherwise it would be an invalid aria-owns value
      // since corresponding node cannot be found
      if (this.props.isOpen) {
        ariaOwns = {
          'aria-owns': this._menuId
        };
      }
  
      // expand custom icon should NOT be displayed in menu with horizontal mode.
      var icon = null;
      if (props.mode !== 'horizontal') {
        icon = this.props.expandIcon; // ReactNode
        if (typeof this.props.expandIcon === 'function') {
          icon = react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(this.props.expandIcon, babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3___default()({}, this.props));
        }
      }
  
      var title = react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
        'div',
        babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3___default()({
          ref: this.saveSubMenuTitle,
          style: style,
          className: prefixCls + '-title'
        }, titleMouseEvents, titleClickEvents, {
          'aria-expanded': isOpen
        }, ariaOwns, {
          'aria-haspopup': 'true',
          title: typeof props.title === 'string' ? props.title : undefined
        }),
        props.title,
        icon || react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement('i', { className: prefixCls + '-arrow' })
      );
      var children = this.renderChildren(props.children);
  
      var getPopupContainer = props.parentMenu.isRootMenu ? props.parentMenu.props.getPopupContainer : function (triggerNode) {
        return triggerNode.parentNode;
      };
      var popupPlacement = popupPlacementMap[props.mode];
      var popupAlign = props.popupOffset ? { offset: props.popupOffset } : {};
      var popupClassName = props.mode === 'inline' ? '' : props.popupClassName;
      var disabled = props.disabled,
          triggerSubMenuAction = props.triggerSubMenuAction,
          subMenuOpenDelay = props.subMenuOpenDelay,
          forceSubMenuRender = props.forceSubMenuRender,
          subMenuCloseDelay = props.subMenuCloseDelay,
          builtinPlacements = props.builtinPlacements;
  
      _util__WEBPACK_IMPORTED_MODULE_14__["menuAllProps"].forEach(function (key) {
        return delete props[key];
      });
      // Set onClick to null, to ignore propagated onClick event
      delete props.onClick;
  
      return react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
        'li',
        babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3___default()({}, props, mouseEvents, {
          className: className,
          role: 'menuitem'
        }),
        isInlineMode && title,
        isInlineMode && children,
        !isInlineMode && react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
          rc_trigger__WEBPACK_IMPORTED_MODULE_7__["default"],
          {
            prefixCls: prefixCls,
            popupClassName: prefixCls + '-popup ' + popupClassName,
            getPopupContainer: getPopupContainer,
            builtinPlacements: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3___default()({}, _placements__WEBPACK_IMPORTED_MODULE_12__["default"], builtinPlacements),
            popupPlacement: popupPlacement,
            popupVisible: isOpen,
            popupAlign: popupAlign,
            popup: children,
            action: disabled ? [] : [triggerSubMenuAction],
            mouseEnterDelay: subMenuOpenDelay,
            mouseLeaveDelay: subMenuCloseDelay,
            onPopupVisibleChange: this.onPopupVisibleChange,
            forceRender: forceSubMenuRender,
            zIndex: level
          },
          title
        )
      );
    };
  
    return SubMenu;
  }(react__WEBPACK_IMPORTED_MODULE_4___default.a.Component);
  
  SubMenu.propTypes = {
    parentMenu: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object,
    title: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.node,
    children: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.any,
    selectedKeys: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.array,
    openKeys: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.array,
    onClick: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onOpenChange: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    rootPrefixCls: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    eventKey: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    multiple: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    active: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool, // TODO: remove
    onItemHover: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onSelect: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    triggerSubMenuAction: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    onDeselect: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onDestroy: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onMouseEnter: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onMouseLeave: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onTitleMouseEnter: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onTitleMouseLeave: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onTitleClick: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    popupOffset: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.array,
    isOpen: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    store: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object,
    mode: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),
    manualRef: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    itemIcon: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.node]),
    expandIcon: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.node])
  };
  SubMenu.defaultProps = {
    onMouseEnter: _util__WEBPACK_IMPORTED_MODULE_14__["noop"],
    onMouseLeave: _util__WEBPACK_IMPORTED_MODULE_14__["noop"],
    onTitleMouseEnter: _util__WEBPACK_IMPORTED_MODULE_14__["noop"],
    onTitleMouseLeave: _util__WEBPACK_IMPORTED_MODULE_14__["noop"],
    onTitleClick: _util__WEBPACK_IMPORTED_MODULE_14__["noop"],
    manualRef: _util__WEBPACK_IMPORTED_MODULE_14__["noop"],
    mode: 'vertical',
    title: ''
  };
  
  var _initialiseProps = function _initialiseProps() {
    var _this3 = this;
  
    this.onDestroy = function (key) {
      _this3.props.onDestroy(key);
    };
  
    this.onKeyDown = function (e) {
      var keyCode = e.keyCode;
      var menu = _this3.menuInstance;
      var _props3 = _this3.props,
          isOpen = _props3.isOpen,
          store = _props3.store;
  
  
      if (keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_8__["default"].ENTER) {
        _this3.onTitleClick(e);
        updateDefaultActiveFirst(store, _this3.props.eventKey, true);
        return true;
      }
  
      if (keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_8__["default"].RIGHT) {
        if (isOpen) {
          menu.onKeyDown(e);
        } else {
          _this3.triggerOpenChange(true);
          // need to update current menu's defaultActiveFirst value
          updateDefaultActiveFirst(store, _this3.props.eventKey, true);
        }
        return true;
      }
      if (keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_8__["default"].LEFT) {
        var handled = void 0;
        if (isOpen) {
          handled = menu.onKeyDown(e);
        } else {
          return undefined;
        }
        if (!handled) {
          _this3.triggerOpenChange(false);
          handled = true;
        }
        return handled;
      }
  
      if (isOpen && (keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_8__["default"].UP || keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_8__["default"].DOWN)) {
        return menu.onKeyDown(e);
      }
    };
  
    this.onOpenChange = function (e) {
      _this3.props.onOpenChange(e);
    };
  
    this.onPopupVisibleChange = function (visible) {
      _this3.triggerOpenChange(visible, visible ? 'mouseenter' : 'mouseleave');
    };
  
    this.onMouseEnter = function (e) {
      var _props4 = _this3.props,
          key = _props4.eventKey,
          onMouseEnter = _props4.onMouseEnter,
          store = _props4.store;
  
      updateDefaultActiveFirst(store, _this3.props.eventKey, false);
      onMouseEnter({
        key: key,
        domEvent: e
      });
    };
  
    this.onMouseLeave = function (e) {
      var _props5 = _this3.props,
          parentMenu = _props5.parentMenu,
          eventKey = _props5.eventKey,
          onMouseLeave = _props5.onMouseLeave;
  
      parentMenu.subMenuInstance = _this3;
      onMouseLeave({
        key: eventKey,
        domEvent: e
      });
    };
  
    this.onTitleMouseEnter = function (domEvent) {
      var _props6 = _this3.props,
          key = _props6.eventKey,
          onItemHover = _props6.onItemHover,
          onTitleMouseEnter = _props6.onTitleMouseEnter;
  
      onItemHover({
        key: key,
        hover: true
      });
      onTitleMouseEnter({
        key: key,
        domEvent: domEvent
      });
    };
  
    this.onTitleMouseLeave = function (e) {
      var _props7 = _this3.props,
          parentMenu = _props7.parentMenu,
          eventKey = _props7.eventKey,
          onItemHover = _props7.onItemHover,
          onTitleMouseLeave = _props7.onTitleMouseLeave;
  
      parentMenu.subMenuInstance = _this3;
      onItemHover({
        key: eventKey,
        hover: false
      });
      onTitleMouseLeave({
        key: eventKey,
        domEvent: e
      });
    };
  
    this.onTitleClick = function (e) {
      var props = _this3.props;
  
      props.onTitleClick({
        key: props.eventKey,
        domEvent: e
      });
      if (props.triggerSubMenuAction === 'hover') {
        return;
      }
      _this3.triggerOpenChange(!props.isOpen, 'click');
      updateDefaultActiveFirst(props.store, _this3.props.eventKey, false);
    };
  
    this.onSubMenuClick = function (info) {
      _this3.props.onClick(_this3.addKeyPath(info));
    };
  
    this.onSelect = function (info) {
      _this3.props.onSelect(info);
    };
  
    this.onDeselect = function (info) {
      _this3.props.onDeselect(info);
    };
  
    this.getPrefixCls = function () {
      return _this3.props.rootPrefixCls + '-submenu';
    };
  
    this.getActiveClassName = function () {
      return _this3.getPrefixCls() + '-active';
    };
  
    this.getDisabledClassName = function () {
      return _this3.getPrefixCls() + '-disabled';
    };
  
    this.getSelectedClassName = function () {
      return _this3.getPrefixCls() + '-selected';
    };
  
    this.getOpenClassName = function () {
      return _this3.props.rootPrefixCls + '-submenu-open';
    };
  
    this.saveMenuInstance = function (c) {
      // children menu instance
      _this3.menuInstance = c;
    };
  
    this.addKeyPath = function (info) {
      return babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_3___default()({}, info, {
        keyPath: (info.keyPath || []).concat(_this3.props.eventKey)
      });
    };
  
    this.triggerOpenChange = function (open, type) {
      var key = _this3.props.eventKey;
      var openChange = function openChange() {
        _this3.onOpenChange({
          key: key,
          item: _this3,
          trigger: type,
          open: open
        });
      };
      if (type === 'mouseenter') {
        // make sure mouseenter happen after other menu item's mouseleave
        _this3.mouseenterTimeout = setTimeout(function () {
          openChange();
        }, 0);
      } else {
        openChange();
      }
    };
  
    this.isChildrenSelected = function () {
      var ret = { find: false };
      Object(_util__WEBPACK_IMPORTED_MODULE_14__["loopMenuItemRecursively"])(_this3.props.children, _this3.props.selectedKeys, ret);
      return ret.find;
    };
  
    this.isOpen = function () {
      return _this3.props.openKeys.indexOf(_this3.props.eventKey) !== -1;
    };
  
    this.adjustWidth = function () {
      /* istanbul ignore if */
      if (!_this3.subMenuTitle || !_this3.menuInstance) {
        return;
      }
      var popupMenu = react_dom__WEBPACK_IMPORTED_MODULE_5___default.a.findDOMNode(_this3.menuInstance);
      if (popupMenu.offsetWidth >= _this3.subMenuTitle.offsetWidth) {
        return;
      }
  
      /* istanbul ignore next */
      popupMenu.style.minWidth = _this3.subMenuTitle.offsetWidth + 'px';
    };
  
    this.saveSubMenuTitle = function (subMenuTitle) {
      _this3.subMenuTitle = subMenuTitle;
    };
  };
  
  var connected = Object(mini_store__WEBPACK_IMPORTED_MODULE_10__["connect"])(function (_ref, _ref2) {
    var openKeys = _ref.openKeys,
        activeKey = _ref.activeKey,
        selectedKeys = _ref.selectedKeys;
    var eventKey = _ref2.eventKey,
        subMenuKey = _ref2.subMenuKey;
    return {
      isOpen: openKeys.indexOf(eventKey) > -1,
      active: activeKey[subMenuKey] === eventKey,
      selectedKeys: selectedKeys
    };
  })(SubMenu);
  
  connected.isSubMenu = true;
  
  /* harmony default export */ __webpack_exports__["default"] = (connected);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-menu/es/SubPopupMenu.js":
  /*!*************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-menu/es/SubPopupMenu.js ***!
    \*************************************************************************************/
  /*! exports provided: getActiveKey, saveRef, SubPopupMenu, default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getActiveKey", function() { return getActiveKey; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "saveRef", function() { return saveRef; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SubPopupMenu", function() { return SubPopupMenu; });
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ "../../node_modules/babel-runtime/helpers/objectWithoutProperties.js");
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var mini_store__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! mini-store */ "../../node_modules/mini-store/lib/index.js");
  /* harmony import */ var mini_store__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(mini_store__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! rc-util/es/KeyCode */ "../../node_modules/rc-util/es/KeyCode.js");
  /* harmony import */ var rc_util_es_createChainedFunction__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! rc-util/es/createChainedFunction */ "../../node_modules/rc-util/es/createChainedFunction.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_10__);
  /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./util */ "../../node_modules/rc-menu/es/util.js");
  /* harmony import */ var _DOMWrap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./DOMWrap */ "../../node_modules/rc-menu/es/DOMWrap.js");
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  function allDisabled(arr) {
    if (!arr.length) {
      return true;
    }
    return arr.every(function (c) {
      return !!c.props.disabled;
    });
  }
  
  function updateActiveKey(store, menuId, activeKey) {
    var _extends2;
  
    var state = store.getState();
    store.setState({
      activeKey: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_4___default()({}, state.activeKey, (_extends2 = {}, _extends2[menuId] = activeKey, _extends2))
    });
  }
  
  function getEventKey(props) {
    // when eventKey not available ,it's menu and return menu id '0-menu-'
    return props.eventKey || '0-menu-';
  }
  
  function getActiveKey(props, originalActiveKey) {
    var activeKey = originalActiveKey;
    var children = props.children,
        eventKey = props.eventKey;
  
    if (activeKey) {
      var found = void 0;
      Object(_util__WEBPACK_IMPORTED_MODULE_11__["loopMenuItem"])(children, function (c, i) {
        if (c && !c.props.disabled && activeKey === Object(_util__WEBPACK_IMPORTED_MODULE_11__["getKeyFromChildrenIndex"])(c, eventKey, i)) {
          found = true;
        }
      });
      if (found) {
        return activeKey;
      }
    }
    activeKey = null;
    if (props.defaultActiveFirst) {
      Object(_util__WEBPACK_IMPORTED_MODULE_11__["loopMenuItem"])(children, function (c, i) {
        if (!activeKey && c && !c.props.disabled) {
          activeKey = Object(_util__WEBPACK_IMPORTED_MODULE_11__["getKeyFromChildrenIndex"])(c, eventKey, i);
        }
      });
      return activeKey;
    }
    return activeKey;
  }
  
  function saveRef(c) {
    if (c) {
      var index = this.instanceArray.indexOf(c);
      if (index !== -1) {
        // update component if it's already inside instanceArray
        this.instanceArray[index] = c;
      } else {
        // add component if it's not in instanceArray yet;
        this.instanceArray.push(c);
      }
    }
  }
  
  var SubPopupMenu = function (_React$Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(SubPopupMenu, _React$Component);
  
    function SubPopupMenu(props) {
      var _extends3;
  
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, SubPopupMenu);
  
      var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _React$Component.call(this, props));
  
      _initialiseProps.call(_this);
  
      props.store.setState({
        activeKey: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_4___default()({}, props.store.getState().activeKey, (_extends3 = {}, _extends3[props.eventKey] = getActiveKey(props, props.activeKey), _extends3))
      });
  
      _this.instanceArray = [];
      return _this;
    }
  
    SubPopupMenu.prototype.componentDidMount = function componentDidMount() {
      // invoke customized ref to expose component to mixin
      if (this.props.manualRef) {
        this.props.manualRef(this);
      }
    };
  
    SubPopupMenu.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
      return this.props.visible || nextProps.visible;
    };
  
    SubPopupMenu.prototype.componentDidUpdate = function componentDidUpdate() {
      var props = this.props;
      var originalActiveKey = 'activeKey' in props ? props.activeKey : props.store.getState().activeKey[getEventKey(props)];
      var activeKey = getActiveKey(props, originalActiveKey);
      if (activeKey !== originalActiveKey) {
        updateActiveKey(props.store, getEventKey(props), activeKey);
      }
    };
  
    // all keyboard events callbacks run from here at first
  
  
    SubPopupMenu.prototype.render = function render() {
      var _this2 = this;
  
      var props = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(this.props, []);
  
      this.instanceArray = [];
      var className = classnames__WEBPACK_IMPORTED_MODULE_10___default()(props.prefixCls, props.className, props.prefixCls + '-' + props.mode);
      var domProps = {
        className: className,
        // role could be 'select' and by default set to menu
        role: props.role || 'menu'
      };
      if (props.id) {
        domProps.id = props.id;
      }
      if (props.focusable) {
        domProps.tabIndex = '0';
        domProps.onKeyDown = this.onKeyDown;
      }
      var prefixCls = props.prefixCls,
          eventKey = props.eventKey,
          visible = props.visible,
          level = props.level,
          mode = props.mode,
          overflowedIndicator = props.overflowedIndicator,
          theme = props.theme;
  
      _util__WEBPACK_IMPORTED_MODULE_11__["menuAllProps"].forEach(function (key) {
        return delete props[key];
      });
  
      // Otherwise, the propagated click event will trigger another onClick
      delete props.onClick;
  
      return (
        // ESLint is not smart enough to know that the type of `children` was checked.
        /* eslint-disable */
        react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(
          _DOMWrap__WEBPACK_IMPORTED_MODULE_12__["default"],
          babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_4___default()({}, props, {
            prefixCls: prefixCls,
            mode: mode,
            tag: 'ul',
            level: level,
            theme: theme,
            hiddenClassName: prefixCls + '-hidden',
            visible: visible,
            overflowedIndicator: overflowedIndicator
          }, domProps),
          react__WEBPACK_IMPORTED_MODULE_5___default.a.Children.map(props.children, function (c, i) {
            return _this2.renderMenuItem(c, i, eventKey || '0-menu-');
          })
        )
        /*eslint-enable */
  
      );
    };
  
    return SubPopupMenu;
  }(react__WEBPACK_IMPORTED_MODULE_5___default.a.Component);
  SubPopupMenu.propTypes = {
    onSelect: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onClick: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onDeselect: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onOpenChange: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onDestroy: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    openTransitionName: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    openAnimation: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object]),
    openKeys: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string),
    visible: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    children: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.any,
    parentMenu: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object,
    eventKey: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    store: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.shape({
      getState: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
      setState: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func
    }),
  
    // adding in refactor
    focusable: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    multiple: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    style: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object,
    defaultActiveFirst: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    activeKey: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    selectedKeys: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string),
    defaultSelectedKeys: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string),
    defaultOpenKeys: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string),
    level: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,
    mode: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),
    triggerSubMenuAction: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOf(['click', 'hover']),
    inlineIndent: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string]),
    manualRef: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    itemIcon: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.node]),
    expandIcon: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.node])
  };
  SubPopupMenu.defaultProps = {
    prefixCls: 'rc-menu',
    className: '',
    mode: 'vertical',
    level: 1,
    inlineIndent: 24,
    visible: true,
    focusable: true,
    style: {},
    manualRef: _util__WEBPACK_IMPORTED_MODULE_11__["noop"]
  };
  
  var _initialiseProps = function _initialiseProps() {
    var _this3 = this;
  
    this.onKeyDown = function (e, callback) {
      var keyCode = e.keyCode;
      var handled = void 0;
      _this3.getFlatInstanceArray().forEach(function (obj) {
        if (obj && obj.props.active && obj.onKeyDown) {
          handled = obj.onKeyDown(e);
        }
      });
      if (handled) {
        return 1;
      }
      var activeItem = null;
      if (keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_8__["default"].UP || keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_8__["default"].DOWN) {
        activeItem = _this3.step(keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_8__["default"].UP ? -1 : 1);
      }
      if (activeItem) {
        e.preventDefault();
        updateActiveKey(_this3.props.store, getEventKey(_this3.props), activeItem.props.eventKey);
  
        if (typeof callback === 'function') {
          callback(activeItem);
        }
  
        return 1;
      }
    };
  
    this.onItemHover = function (e) {
      var key = e.key,
          hover = e.hover;
  
      updateActiveKey(_this3.props.store, getEventKey(_this3.props), hover ? key : null);
    };
  
    this.onDeselect = function (selectInfo) {
      _this3.props.onDeselect(selectInfo);
    };
  
    this.onSelect = function (selectInfo) {
      _this3.props.onSelect(selectInfo);
    };
  
    this.onClick = function (e) {
      _this3.props.onClick(e);
    };
  
    this.onOpenChange = function (e) {
      _this3.props.onOpenChange(e);
    };
  
    this.onDestroy = function (key) {
      /* istanbul ignore next */
      _this3.props.onDestroy(key);
    };
  
    this.getFlatInstanceArray = function () {
      return _this3.instanceArray;
    };
  
    this.getOpenTransitionName = function () {
      return _this3.props.openTransitionName;
    };
  
    this.step = function (direction) {
      var children = _this3.getFlatInstanceArray();
      var activeKey = _this3.props.store.getState().activeKey[getEventKey(_this3.props)];
      var len = children.length;
      if (!len) {
        return null;
      }
      if (direction < 0) {
        children = children.concat().reverse();
      }
      // find current activeIndex
      var activeIndex = -1;
      children.every(function (c, ci) {
        if (c && c.props.eventKey === activeKey) {
          activeIndex = ci;
          return false;
        }
        return true;
      });
      if (!_this3.props.defaultActiveFirst && activeIndex !== -1 && allDisabled(children.slice(activeIndex, len - 1))) {
        return undefined;
      }
      var start = (activeIndex + 1) % len;
      var i = start;
  
      do {
        var child = children[i];
        if (!child || child.props.disabled) {
          i = (i + 1) % len;
        } else {
          return child;
        }
      } while (i !== start);
  
      return null;
    };
  
    this.renderCommonMenuItem = function (child, i, extraProps) {
      var state = _this3.props.store.getState();
      var props = _this3.props;
      var key = Object(_util__WEBPACK_IMPORTED_MODULE_11__["getKeyFromChildrenIndex"])(child, props.eventKey, i);
      var childProps = child.props;
      var isActive = key === state.activeKey;
      var newChildProps = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_4___default()({
        mode: childProps.mode || props.mode,
        level: props.level,
        inlineIndent: props.inlineIndent,
        renderMenuItem: _this3.renderMenuItem,
        rootPrefixCls: props.prefixCls,
        index: i,
        parentMenu: props.parentMenu,
        // customized ref function, need to be invoked manually in child's componentDidMount
        manualRef: childProps.disabled ? undefined : Object(rc_util_es_createChainedFunction__WEBPACK_IMPORTED_MODULE_9__["default"])(child.ref, saveRef.bind(_this3)),
        eventKey: key,
        active: !childProps.disabled && isActive,
        multiple: props.multiple,
        onClick: function onClick(e) {
          (childProps.onClick || _util__WEBPACK_IMPORTED_MODULE_11__["noop"])(e);
          _this3.onClick(e);
        },
        onItemHover: _this3.onItemHover,
        openTransitionName: _this3.getOpenTransitionName(),
        openAnimation: props.openAnimation,
        subMenuOpenDelay: props.subMenuOpenDelay,
        subMenuCloseDelay: props.subMenuCloseDelay,
        forceSubMenuRender: props.forceSubMenuRender,
        onOpenChange: _this3.onOpenChange,
        onDeselect: _this3.onDeselect,
        onSelect: _this3.onSelect,
        builtinPlacements: props.builtinPlacements,
        itemIcon: childProps.itemIcon || _this3.props.itemIcon,
        expandIcon: childProps.expandIcon || _this3.props.expandIcon
      }, extraProps);
      if (props.mode === 'inline') {
        newChildProps.triggerSubMenuAction = 'click';
      }
      return react__WEBPACK_IMPORTED_MODULE_5___default.a.cloneElement(child, newChildProps);
    };
  
    this.renderMenuItem = function (c, i, subMenuKey) {
      /* istanbul ignore if */
      if (!c) {
        return null;
      }
      var state = _this3.props.store.getState();
      var extraProps = {
        openKeys: state.openKeys,
        selectedKeys: state.selectedKeys,
        triggerSubMenuAction: _this3.props.triggerSubMenuAction,
        subMenuKey: subMenuKey
      };
      return _this3.renderCommonMenuItem(c, i, extraProps);
    };
  };
  
  var connected = Object(mini_store__WEBPACK_IMPORTED_MODULE_7__["connect"])()(SubPopupMenu);
  
  /* harmony default export */ __webpack_exports__["default"] = (connected);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-menu/es/index.js":
  /*!******************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-menu/es/index.js ***!
    \******************************************************************************/
  /*! exports provided: SubMenu, Item, MenuItem, MenuItemGroup, ItemGroup, Divider, default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _Menu__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Menu */ "../../node_modules/rc-menu/es/Menu.js");
  /* harmony import */ var _SubMenu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SubMenu */ "../../node_modules/rc-menu/es/SubMenu.js");
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "SubMenu", function() { return _SubMenu__WEBPACK_IMPORTED_MODULE_1__["default"]; });
  
  /* harmony import */ var _MenuItem__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MenuItem */ "../../node_modules/rc-menu/es/MenuItem.js");
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Item", function() { return _MenuItem__WEBPACK_IMPORTED_MODULE_2__["default"]; });
  
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MenuItem", function() { return _MenuItem__WEBPACK_IMPORTED_MODULE_2__["default"]; });
  
  /* harmony import */ var _MenuItemGroup__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./MenuItemGroup */ "../../node_modules/rc-menu/es/MenuItemGroup.js");
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MenuItemGroup", function() { return _MenuItemGroup__WEBPACK_IMPORTED_MODULE_3__["default"]; });
  
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ItemGroup", function() { return _MenuItemGroup__WEBPACK_IMPORTED_MODULE_3__["default"]; });
  
  /* harmony import */ var _Divider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Divider */ "../../node_modules/rc-menu/es/Divider.js");
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Divider", function() { return _Divider__WEBPACK_IMPORTED_MODULE_4__["default"]; });
  
  
  
  
  
  
  
  
  
  /* harmony default export */ __webpack_exports__["default"] = (_Menu__WEBPACK_IMPORTED_MODULE_0__["default"]);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-menu/es/placements.js":
  /*!***********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-menu/es/placements.js ***!
    \***********************************************************************************/
  /*! exports provided: placements, default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "placements", function() { return placements; });
  var autoAdjustOverflow = {
    adjustX: 1,
    adjustY: 1
  };
  
  var placements = {
    topLeft: {
      points: ['bl', 'tl'],
      overflow: autoAdjustOverflow,
      offset: [0, -7]
    },
    bottomLeft: {
      points: ['tl', 'bl'],
      overflow: autoAdjustOverflow,
      offset: [0, 7]
    },
    leftTop: {
      points: ['tr', 'tl'],
      overflow: autoAdjustOverflow,
      offset: [-4, 0]
    },
    rightTop: {
      points: ['tl', 'tr'],
      overflow: autoAdjustOverflow,
      offset: [4, 0]
    }
  };
  
  /* harmony default export */ __webpack_exports__["default"] = (placements);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-menu/es/util.js":
  /*!*****************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-menu/es/util.js ***!
    \*****************************************************************************/
  /*! exports provided: noop, getKeyFromChildrenIndex, getMenuIdFromSubMenuEventKey, loopMenuItem, loopMenuItemRecursively, menuAllProps, getWidth */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "noop", function() { return noop; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getKeyFromChildrenIndex", function() { return getKeyFromChildrenIndex; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getMenuIdFromSubMenuEventKey", function() { return getMenuIdFromSubMenuEventKey; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loopMenuItem", function() { return loopMenuItem; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loopMenuItemRecursively", function() { return loopMenuItemRecursively; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "menuAllProps", function() { return menuAllProps; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getWidth", function() { return getWidth; });
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
  
  
  function noop() {}
  
  function getKeyFromChildrenIndex(child, menuEventKey, index) {
    var prefix = menuEventKey || '';
    return child.key || prefix + 'item_' + index;
  }
  
  function getMenuIdFromSubMenuEventKey(eventKey) {
    return eventKey + '-menu-';
  }
  
  function loopMenuItem(children, cb) {
    var index = -1;
    react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.forEach(children, function (c) {
      index++;
      if (c && c.type && c.type.isMenuItemGroup) {
        react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.forEach(c.props.children, function (c2) {
          index++;
          cb(c2, index);
        });
      } else {
        cb(c, index);
      }
    });
  }
  
  function loopMenuItemRecursively(children, keys, ret) {
    /* istanbul ignore if */
    if (!children || ret.find) {
      return;
    }
    react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.forEach(children, function (c) {
      if (c) {
        var construct = c.type;
        if (!construct || !(construct.isSubMenu || construct.isMenuItem || construct.isMenuItemGroup)) {
          return;
        }
        if (keys.indexOf(c.key) !== -1) {
          ret.find = true;
        } else if (c.props.children) {
          loopMenuItemRecursively(c.props.children, keys, ret);
        }
      }
    });
  }
  
  var menuAllProps = ['defaultSelectedKeys', 'selectedKeys', 'defaultOpenKeys', 'openKeys', 'mode', 'getPopupContainer', 'onSelect', 'onDeselect', 'onDestroy', 'openTransitionName', 'openAnimation', 'subMenuOpenDelay', 'subMenuCloseDelay', 'forceSubMenuRender', 'triggerSubMenuAction', 'level', 'selectable', 'multiple', 'onOpenChange', 'visible', 'focusable', 'defaultActiveFirst', 'prefixCls', 'inlineIndent', 'parentMenu', 'title', 'rootPrefixCls', 'eventKey', 'active', 'onItemHover', 'onTitleMouseEnter', 'onTitleMouseLeave', 'onTitleClick', 'popupAlign', 'popupOffset', 'isOpen', 'renderMenuItem', 'manualRef', 'subMenuKey', 'disabled', 'index', 'isSelected', 'store', 'activeKey', 'builtinPlacements', 'overflowedIndicator',
  
  // the following keys found need to be removed from test regression
  'attribute', 'value', 'popupClassName', 'inlineCollapsed', 'menu', 'theme', 'itemIcon', 'expandIcon'];
  
  var getWidth = function getWidth(elem) {
    return elem.getBoundingClientRect().width;
  };
  
  /***/ }),
  
  /***/ "../../node_modules/rc-pagination/es/locale/en_US.js":
  /*!*******************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-pagination/es/locale/en_US.js ***!
    \*******************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony default export */ __webpack_exports__["default"] = ({
    // Options.jsx
    items_per_page: '/ page',
    jump_to: 'Goto',
    jump_to_confirm: 'confirm',
    page: '',
  
    // Pagination.jsx
    prev_page: 'Previous Page',
    next_page: 'Next Page',
    prev_5: 'Previous 5 Pages',
    next_5: 'Next 5 Pages',
    prev_3: 'Previous 3 Pages',
    next_3: 'Next 3 Pages'
  });
  
  /***/ }),
  
  /***/ "../../node_modules/rc-progress/es/Circle.js":
  /*!***********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-progress/es/Circle.js ***!
    \***********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ "../../node_modules/babel-runtime/helpers/objectWithoutProperties.js");
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var _enhancer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./enhancer */ "../../node_modules/rc-progress/es/enhancer.js");
  /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./types */ "../../node_modules/rc-progress/es/types.js");
  
  
  
  
  
  /* eslint react/prop-types: 0 */
  
  
  
  
  
  var Circle = function (_Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Circle, _Component);
  
    function Circle() {
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, Circle);
  
      return babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _Component.apply(this, arguments));
    }
  
    Circle.prototype.getPathStyles = function getPathStyles() {
      var _props = this.props,
          percent = _props.percent,
          strokeWidth = _props.strokeWidth,
          _props$gapDegree = _props.gapDegree,
          gapDegree = _props$gapDegree === undefined ? 0 : _props$gapDegree,
          gapPosition = _props.gapPosition;
  
      var radius = 50 - strokeWidth / 2;
      var beginPositionX = 0;
      var beginPositionY = -radius;
      var endPositionX = 0;
      var endPositionY = -2 * radius;
      switch (gapPosition) {
        case 'left':
          beginPositionX = -radius;
          beginPositionY = 0;
          endPositionX = 2 * radius;
          endPositionY = 0;
          break;
        case 'right':
          beginPositionX = radius;
          beginPositionY = 0;
          endPositionX = -2 * radius;
          endPositionY = 0;
          break;
        case 'bottom':
          beginPositionY = radius;
          endPositionY = 2 * radius;
          break;
        default:
      }
      var pathString = 'M 50,50 m ' + beginPositionX + ',' + beginPositionY + '\n     a ' + radius + ',' + radius + ' 0 1 1 ' + endPositionX + ',' + -endPositionY + '\n     a ' + radius + ',' + radius + ' 0 1 1 ' + -endPositionX + ',' + endPositionY;
      var len = Math.PI * 2 * radius;
      var trailPathStyle = {
        strokeDasharray: len - gapDegree + 'px ' + len + 'px',
        strokeDashoffset: '-' + gapDegree / 2 + 'px',
        transition: 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s'
      };
      var strokePathStyle = {
        strokeDasharray: percent / 100 * (len - gapDegree) + 'px ' + len + 'px',
        strokeDashoffset: '-' + gapDegree / 2 + 'px',
        transition: 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s' // eslint-disable-line
      };
      return { pathString: pathString, trailPathStyle: trailPathStyle, strokePathStyle: strokePathStyle };
    };
  
    Circle.prototype.render = function render() {
      var _this2 = this;
  
      var _props2 = this.props,
          prefixCls = _props2.prefixCls,
          strokeWidth = _props2.strokeWidth,
          trailWidth = _props2.trailWidth,
          strokeColor = _props2.strokeColor,
          percent = _props2.percent,
          trailColor = _props2.trailColor,
          strokeLinecap = _props2.strokeLinecap,
          style = _props2.style,
          className = _props2.className,
          restProps = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_props2, ['prefixCls', 'strokeWidth', 'trailWidth', 'strokeColor', 'percent', 'trailColor', 'strokeLinecap', 'style', 'className']);
  
      var _getPathStyles = this.getPathStyles(),
          pathString = _getPathStyles.pathString,
          trailPathStyle = _getPathStyles.trailPathStyle,
          strokePathStyle = _getPathStyles.strokePathStyle;
  
      delete restProps.percent;
      delete restProps.gapDegree;
      delete restProps.gapPosition;
      return react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(
        'svg',
        babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
          className: prefixCls + '-circle ' + className,
          viewBox: '0 0 100 100',
          style: style
        }, restProps),
        react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement('path', {
          className: prefixCls + '-circle-trail',
          d: pathString,
          stroke: trailColor,
          strokeWidth: trailWidth || strokeWidth,
          fillOpacity: '0',
          style: trailPathStyle
        }),
        react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement('path', {
          className: prefixCls + '-circle-path',
          d: pathString,
          strokeLinecap: strokeLinecap,
          stroke: strokeColor,
          strokeWidth: this.props.percent === 0 ? 0 : strokeWidth,
          fillOpacity: '0',
          ref: function ref(path) {
            _this2.path = path;
          },
          style: strokePathStyle
        })
      );
    };
  
    return Circle;
  }(react__WEBPACK_IMPORTED_MODULE_5__["Component"]);
  
  Circle.propTypes = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, _types__WEBPACK_IMPORTED_MODULE_8__["propTypes"], {
    gapPosition: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOf(['top', 'bottom', 'left', 'right'])
  });
  
  Circle.defaultProps = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, _types__WEBPACK_IMPORTED_MODULE_8__["defaultProps"], {
    gapPosition: 'top'
  });
  
  /* harmony default export */ __webpack_exports__["default"] = (Object(_enhancer__WEBPACK_IMPORTED_MODULE_7__["default"])(Circle));
  
  /***/ }),
  
  /***/ "../../node_modules/rc-progress/es/Line.js":
  /*!*********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-progress/es/Line.js ***!
    \*********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ "../../node_modules/babel-runtime/helpers/objectWithoutProperties.js");
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var _enhancer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./enhancer */ "../../node_modules/rc-progress/es/enhancer.js");
  /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./types */ "../../node_modules/rc-progress/es/types.js");
  
  
  
  
  
  
  
  
  
  var Line = function (_Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Line, _Component);
  
    function Line() {
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, Line);
  
      return babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _Component.apply(this, arguments));
    }
  
    Line.prototype.render = function render() {
      var _this2 = this;
  
      var _props = this.props,
          className = _props.className,
          percent = _props.percent,
          prefixCls = _props.prefixCls,
          strokeColor = _props.strokeColor,
          strokeLinecap = _props.strokeLinecap,
          strokeWidth = _props.strokeWidth,
          style = _props.style,
          trailColor = _props.trailColor,
          trailWidth = _props.trailWidth,
          restProps = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_props, ['className', 'percent', 'prefixCls', 'strokeColor', 'strokeLinecap', 'strokeWidth', 'style', 'trailColor', 'trailWidth']);
  
      delete restProps.gapPosition;
  
      var pathStyle = {
        strokeDasharray: '100px, 100px',
        strokeDashoffset: 100 - percent + 'px',
        transition: 'stroke-dashoffset 0.3s ease 0s, stroke 0.3s linear'
      };
  
      var center = strokeWidth / 2;
      var right = 100 - strokeWidth / 2;
      var pathString = 'M ' + (strokeLinecap === 'round' ? center : 0) + ',' + center + '\n           L ' + (strokeLinecap === 'round' ? right : 100) + ',' + center;
      var viewBoxString = '0 0 100 ' + strokeWidth;
  
      return react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(
        'svg',
        babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
          className: prefixCls + '-line ' + className,
          viewBox: viewBoxString,
          preserveAspectRatio: 'none',
          style: style
        }, restProps),
        react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement('path', {
          className: prefixCls + '-line-trail',
          d: pathString,
          strokeLinecap: strokeLinecap,
          stroke: trailColor,
          strokeWidth: trailWidth || strokeWidth,
          fillOpacity: '0'
        }),
        react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement('path', {
          className: prefixCls + '-line-path',
          d: pathString,
          strokeLinecap: strokeLinecap,
          stroke: strokeColor,
          strokeWidth: strokeWidth,
          fillOpacity: '0',
          ref: function ref(path) {
            _this2.path = path;
          },
          style: pathStyle
        })
      );
    };
  
    return Line;
  }(react__WEBPACK_IMPORTED_MODULE_5__["Component"]);
  
  Line.propTypes = _types__WEBPACK_IMPORTED_MODULE_7__["propTypes"];
  
  Line.defaultProps = _types__WEBPACK_IMPORTED_MODULE_7__["defaultProps"];
  
  /* harmony default export */ __webpack_exports__["default"] = (Object(_enhancer__WEBPACK_IMPORTED_MODULE_6__["default"])(Line));
  
  /***/ }),
  
  /***/ "../../node_modules/rc-progress/es/enhancer.js":
  /*!*************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-progress/es/enhancer.js ***!
    \*************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2__);
  
  
  
  var enhancer = function enhancer(WrappedComponent) {
    return function (_WrappedComponent) {
      babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2___default()(Progress, _WrappedComponent);
  
      function Progress() {
        babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Progress);
  
        return babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default()(this, _WrappedComponent.apply(this, arguments));
      }
  
      Progress.prototype.componentDidUpdate = function componentDidUpdate() {
        if (!this.path) {
          return;
        }
        var pathStyle = this.path.style;
        pathStyle.transitionDuration = '.3s, .3s, .3s, .06s';
        var now = Date.now();
        if (this.prevTimeStamp && now - this.prevTimeStamp < 100) {
          pathStyle.transitionDuration = '0s, 0s';
        }
        this.prevTimeStamp = Date.now();
      };
  
      Progress.prototype.render = function render() {
        return _WrappedComponent.prototype.render.call(this);
      };
  
      return Progress;
    }(WrappedComponent);
  };
  
  /* harmony default export */ __webpack_exports__["default"] = (enhancer);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-progress/es/index.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-progress/es/index.js ***!
    \**********************************************************************************/
  /*! exports provided: Line, Circle, default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _Line__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Line */ "../../node_modules/rc-progress/es/Line.js");
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Line", function() { return _Line__WEBPACK_IMPORTED_MODULE_0__["default"]; });
  
  /* harmony import */ var _Circle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Circle */ "../../node_modules/rc-progress/es/Circle.js");
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Circle", function() { return _Circle__WEBPACK_IMPORTED_MODULE_1__["default"]; });
  
  
  
  
  
  
  /* harmony default export */ __webpack_exports__["default"] = ({
    Line: _Line__WEBPACK_IMPORTED_MODULE_0__["default"],
    Circle: _Circle__WEBPACK_IMPORTED_MODULE_1__["default"]
  });
  
  /***/ }),
  
  /***/ "../../node_modules/rc-progress/es/types.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-progress/es/types.js ***!
    \**********************************************************************************/
  /*! exports provided: defaultProps, propTypes */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultProps", function() { return defaultProps; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "propTypes", function() { return propTypes; });
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);
  
  
  var defaultProps = {
    className: '',
    percent: 0,
    prefixCls: 'rc-progress',
    strokeColor: '#2db7f5',
    strokeLinecap: 'round',
    strokeWidth: 1,
    style: {},
    trailColor: '#D9D9D9',
    trailWidth: 1
  };
  
  var propTypes = {
    className: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,
    percent: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number, prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string]),
    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,
    strokeColor: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,
    strokeLinecap: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOf(['butt', 'round', 'square']),
    strokeWidth: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number, prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string]),
    style: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.object,
    trailColor: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string,
    trailWidth: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.number, prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.string])
  };
  
  /***/ }),
  
  /***/ "../../node_modules/rc-switch/es/Switch.js":
  /*!*********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-switch/es/Switch.js ***!
    \*********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "../../node_modules/babel-runtime/helpers/defineProperty.js");
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ "../../node_modules/babel-runtime/helpers/objectWithoutProperties.js");
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);
  
  
  
  
  
  
  
  
  
  var classNames = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  
  function noop() {}
  
  var Switch = function (_Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_6___default()(Switch, _Component);
  
    function Switch(props) {
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, Switch);
  
      var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, (Switch.__proto__ || Object.getPrototypeOf(Switch)).call(this, props));
  
      _initialiseProps.call(_this);
  
      var checked = false;
      if ('checked' in props) {
        checked = !!props.checked;
      } else {
        checked = !!props.defaultChecked;
      }
      _this.state = { checked: checked };
      return _this;
    }
  
    babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(Switch, [{
      key: 'componentDidMount',
      value: function componentDidMount() {
        var _props = this.props,
            autoFocus = _props.autoFocus,
            disabled = _props.disabled;
  
        if (autoFocus && !disabled) {
          this.focus();
        }
      }
    }, {
      key: 'componentWillReceiveProps',
      value: function componentWillReceiveProps(nextProps) {
        if ('checked' in nextProps) {
          this.setState({
            checked: !!nextProps.checked
          });
        }
      }
    }, {
      key: 'setChecked',
      value: function setChecked(checked) {
        if (this.props.disabled) {
          return;
        }
        if (!('checked' in this.props)) {
          this.setState({
            checked: checked
          });
        }
        this.props.onChange(checked);
      }
  
      // Handle auto focus when click switch in Chrome
  
    }, {
      key: 'focus',
      value: function focus() {
        this.node.focus();
      }
    }, {
      key: 'blur',
      value: function blur() {
        this.node.blur();
      }
    }, {
      key: 'render',
      value: function render() {
        var _classNames;
  
        var _props2 = this.props,
            className = _props2.className,
            prefixCls = _props2.prefixCls,
            disabled = _props2.disabled,
            loadingIcon = _props2.loadingIcon,
            checkedChildren = _props2.checkedChildren,
            tabIndex = _props2.tabIndex,
            unCheckedChildren = _props2.unCheckedChildren,
            restProps = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2___default()(_props2, ['className', 'prefixCls', 'disabled', 'loadingIcon', 'checkedChildren', 'tabIndex', 'unCheckedChildren']);
  
        var checked = this.state.checked;
        var switchTabIndex = disabled ? -1 : tabIndex || 0;
        var switchClassName = classNames((_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, className, !!className), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls, true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-checked', checked), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-disabled', disabled), _classNames));
        return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(
          'span',
          babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, restProps, {
            className: switchClassName,
            tabIndex: switchTabIndex,
            ref: this.saveNode,
            onKeyDown: this.handleKeyDown,
            onClick: this.toggle,
            onMouseUp: this.handleMouseUp
          }),
          loadingIcon,
          react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(
            'span',
            { className: prefixCls + '-inner' },
            checked ? checkedChildren : unCheckedChildren
          )
        );
      }
    }]);
  
    return Switch;
  }(react__WEBPACK_IMPORTED_MODULE_7__["Component"]);
  
  var _initialiseProps = function _initialiseProps() {
    var _this2 = this;
  
    this.toggle = function () {
      var onClick = _this2.props.onClick;
  
      var checked = !_this2.state.checked;
      _this2.setChecked(checked);
      onClick(checked);
    };
  
    this.handleKeyDown = function (e) {
      if (e.keyCode === 37) {
        // Left
        _this2.setChecked(false);
      } else if (e.keyCode === 39) {
        // Right
        _this2.setChecked(true);
      } else if (e.keyCode === 32 || e.keyCode === 13) {
        // Space, Enter
        _this2.toggle();
      }
    };
  
    this.handleMouseUp = function (e) {
      if (_this2.node) {
        _this2.node.blur();
      }
      if (_this2.props.onMouseUp) {
        _this2.props.onMouseUp(e);
      }
    };
  
    this.saveNode = function (node) {
      _this2.node = node;
    };
  };
  
  Switch.propTypes = {
    className: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,
    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.string,
    disabled: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,
    checkedChildren: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.any,
    unCheckedChildren: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.any,
    onChange: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func,
    onMouseUp: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func,
    onClick: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.func,
    tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.number,
    checked: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,
    defaultChecked: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,
    autoFocus: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.bool,
    loadingIcon: prop_types__WEBPACK_IMPORTED_MODULE_8___default.a.node
  };
  
  Switch.defaultProps = {
    prefixCls: 'rc-switch',
    checkedChildren: null,
    unCheckedChildren: null,
    className: '',
    defaultChecked: false,
    onChange: noop,
    onClick: noop
  };
  
  /* harmony default export */ __webpack_exports__["default"] = (Switch);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-switch/es/index.js":
  /*!********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-switch/es/index.js ***!
    \********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__(/*! ./Switch */ "../../node_modules/rc-switch/es/Switch.js");
  
  /***/ }),
  
  /***/ "../../node_modules/rc-tooltip/es/Content.js":
  /*!***********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-tooltip/es/Content.js ***!
    \***********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);
  
  
  
  
  
  
  var Content = function (_React$Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2___default()(Content, _React$Component);
  
    function Content() {
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Content);
  
      return babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default()(this, _React$Component.apply(this, arguments));
    }
  
    Content.prototype.componentDidUpdate = function componentDidUpdate() {
      var trigger = this.props.trigger;
  
      if (trigger) {
        trigger.forcePopupAlign();
      }
    };
  
    Content.prototype.render = function render() {
      var _props = this.props,
          overlay = _props.overlay,
          prefixCls = _props.prefixCls,
          id = _props.id;
  
      return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(
        'div',
        { className: prefixCls + '-inner', id: id, role: 'tooltip' },
        typeof overlay === 'function' ? overlay() : overlay
      );
    };
  
    return Content;
  }(react__WEBPACK_IMPORTED_MODULE_3___default.a.Component);
  
  Content.propTypes = {
    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string,
    overlay: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.func]).isRequired,
    id: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string,
    trigger: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.any
  };
  /* harmony default export */ __webpack_exports__["default"] = (Content);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-tooltip/es/Tooltip.js":
  /*!***********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-tooltip/es/Tooltip.js ***!
    \***********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ "../../node_modules/babel-runtime/helpers/objectWithoutProperties.js");
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var rc_trigger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rc-trigger */ "../../node_modules/rc-trigger/es/index.js");
  /* harmony import */ var _placements__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./placements */ "../../node_modules/rc-tooltip/es/placements.js");
  /* harmony import */ var _Content__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Content */ "../../node_modules/rc-tooltip/es/Content.js");
  
  
  
  
  
  
  
  
  
  
  
  var Tooltip = function (_Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Tooltip, _Component);
  
    function Tooltip() {
      var _temp, _this, _ret;
  
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, Tooltip);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.getPopupElement = function () {
        var _this$props = _this.props,
            arrowContent = _this$props.arrowContent,
            overlay = _this$props.overlay,
            prefixCls = _this$props.prefixCls,
            id = _this$props.id;
  
        return [react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(
          'div',
          { className: prefixCls + '-arrow', key: 'arrow' },
          arrowContent
        ), react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(_Content__WEBPACK_IMPORTED_MODULE_9__["default"], {
          key: 'content',
          trigger: _this.trigger,
          prefixCls: prefixCls,
          id: id,
          overlay: overlay
        })];
      }, _this.saveTrigger = function (node) {
        _this.trigger = node;
      }, _temp), babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(_this, _ret);
    }
  
    Tooltip.prototype.getPopupDomNode = function getPopupDomNode() {
      return this.trigger.getPopupDomNode();
    };
  
    Tooltip.prototype.render = function render() {
      var _props = this.props,
          overlayClassName = _props.overlayClassName,
          trigger = _props.trigger,
          mouseEnterDelay = _props.mouseEnterDelay,
          mouseLeaveDelay = _props.mouseLeaveDelay,
          overlayStyle = _props.overlayStyle,
          prefixCls = _props.prefixCls,
          children = _props.children,
          onVisibleChange = _props.onVisibleChange,
          afterVisibleChange = _props.afterVisibleChange,
          transitionName = _props.transitionName,
          animation = _props.animation,
          placement = _props.placement,
          align = _props.align,
          destroyTooltipOnHide = _props.destroyTooltipOnHide,
          defaultVisible = _props.defaultVisible,
          getTooltipContainer = _props.getTooltipContainer,
          restProps = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1___default()(_props, ['overlayClassName', 'trigger', 'mouseEnterDelay', 'mouseLeaveDelay', 'overlayStyle', 'prefixCls', 'children', 'onVisibleChange', 'afterVisibleChange', 'transitionName', 'animation', 'placement', 'align', 'destroyTooltipOnHide', 'defaultVisible', 'getTooltipContainer']);
  
      var extraProps = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, restProps);
      if ('visible' in this.props) {
        extraProps.popupVisible = this.props.visible;
      }
      return react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(
        rc_trigger__WEBPACK_IMPORTED_MODULE_7__["default"],
        babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
          popupClassName: overlayClassName,
          ref: this.saveTrigger,
          prefixCls: prefixCls,
          popup: this.getPopupElement,
          action: trigger,
          builtinPlacements: _placements__WEBPACK_IMPORTED_MODULE_8__["placements"],
          popupPlacement: placement,
          popupAlign: align,
          getPopupContainer: getTooltipContainer,
          onPopupVisibleChange: onVisibleChange,
          afterPopupVisibleChange: afterVisibleChange,
          popupTransitionName: transitionName,
          popupAnimation: animation,
          defaultPopupVisible: defaultVisible,
          destroyPopupOnHide: destroyTooltipOnHide,
          mouseLeaveDelay: mouseLeaveDelay,
          popupStyle: overlayStyle,
          mouseEnterDelay: mouseEnterDelay
        }, extraProps),
        children
      );
    };
  
    return Tooltip;
  }(react__WEBPACK_IMPORTED_MODULE_5__["Component"]);
  
  Tooltip.propTypes = {
    trigger: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.any,
    children: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.any,
    defaultVisible: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    visible: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    placement: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    transitionName: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object]),
    animation: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.any,
    onVisibleChange: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    afterVisibleChange: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    overlay: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func]).isRequired,
    overlayStyle: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object,
    overlayClassName: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    mouseEnterDelay: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,
    mouseLeaveDelay: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.number,
    getTooltipContainer: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    destroyTooltipOnHide: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    align: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object,
    arrowContent: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.any,
    id: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string
  };
  Tooltip.defaultProps = {
    prefixCls: 'rc-tooltip',
    mouseEnterDelay: 0,
    destroyTooltipOnHide: false,
    mouseLeaveDelay: 0.1,
    align: {},
    placement: 'right',
    trigger: ['hover'],
    arrowContent: null
  };
  
  
  /* harmony default export */ __webpack_exports__["default"] = (Tooltip);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-tooltip/es/index.js":
  /*!*********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-tooltip/es/index.js ***!
    \*********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _Tooltip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tooltip */ "../../node_modules/rc-tooltip/es/Tooltip.js");
  
  
  /* harmony default export */ __webpack_exports__["default"] = (_Tooltip__WEBPACK_IMPORTED_MODULE_0__["default"]);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-tooltip/es/placements.js":
  /*!**************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-tooltip/es/placements.js ***!
    \**************************************************************************************/
  /*! exports provided: placements, default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "placements", function() { return placements; });
  var autoAdjustOverflow = {
    adjustX: 1,
    adjustY: 1
  };
  
  var targetOffset = [0, 0];
  
  var placements = {
    left: {
      points: ['cr', 'cl'],
      overflow: autoAdjustOverflow,
      offset: [-4, 0],
      targetOffset: targetOffset
    },
    right: {
      points: ['cl', 'cr'],
      overflow: autoAdjustOverflow,
      offset: [4, 0],
      targetOffset: targetOffset
    },
    top: {
      points: ['bc', 'tc'],
      overflow: autoAdjustOverflow,
      offset: [0, -4],
      targetOffset: targetOffset
    },
    bottom: {
      points: ['tc', 'bc'],
      overflow: autoAdjustOverflow,
      offset: [0, 4],
      targetOffset: targetOffset
    },
    topLeft: {
      points: ['bl', 'tl'],
      overflow: autoAdjustOverflow,
      offset: [0, -4],
      targetOffset: targetOffset
    },
    leftTop: {
      points: ['tr', 'tl'],
      overflow: autoAdjustOverflow,
      offset: [-4, 0],
      targetOffset: targetOffset
    },
    topRight: {
      points: ['br', 'tr'],
      overflow: autoAdjustOverflow,
      offset: [0, -4],
      targetOffset: targetOffset
    },
    rightTop: {
      points: ['tl', 'tr'],
      overflow: autoAdjustOverflow,
      offset: [4, 0],
      targetOffset: targetOffset
    },
    bottomRight: {
      points: ['tr', 'br'],
      overflow: autoAdjustOverflow,
      offset: [0, 4],
      targetOffset: targetOffset
    },
    rightBottom: {
      points: ['bl', 'br'],
      overflow: autoAdjustOverflow,
      offset: [4, 0],
      targetOffset: targetOffset
    },
    bottomLeft: {
      points: ['tl', 'bl'],
      overflow: autoAdjustOverflow,
      offset: [0, 4],
      targetOffset: targetOffset
    },
    leftBottom: {
      points: ['br', 'bl'],
      overflow: autoAdjustOverflow,
      offset: [-4, 0],
      targetOffset: targetOffset
    }
  };
  
  /* harmony default export */ __webpack_exports__["default"] = (placements);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-trigger/es/LazyRenderBox.js":
  /*!*****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-trigger/es/LazyRenderBox.js ***!
    \*****************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/objectWithoutProperties */ "../../node_modules/babel-runtime/helpers/objectWithoutProperties.js");
  /* harmony import */ var babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__);
  
  
  
  
  
  
  
  var LazyRenderBox = function (_Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(LazyRenderBox, _Component);
  
    function LazyRenderBox() {
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, LazyRenderBox);
  
      return babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _Component.apply(this, arguments));
    }
  
    LazyRenderBox.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
      return nextProps.hiddenClassName || nextProps.visible;
    };
  
    LazyRenderBox.prototype.render = function render() {
      var _props = this.props,
          hiddenClassName = _props.hiddenClassName,
          visible = _props.visible,
          props = babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0___default()(_props, ['hiddenClassName', 'visible']);
  
      if (hiddenClassName || react__WEBPACK_IMPORTED_MODULE_4___default.a.Children.count(props.children) > 1) {
        if (!visible && hiddenClassName) {
          props.className += ' ' + hiddenClassName;
        }
        return react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement('div', props);
      }
  
      return react__WEBPACK_IMPORTED_MODULE_4___default.a.Children.only(props.children);
    };
  
    return LazyRenderBox;
  }(react__WEBPACK_IMPORTED_MODULE_4__["Component"]);
  
  LazyRenderBox.propTypes = {
    children: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.any,
    className: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string,
    visible: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.bool,
    hiddenClassName: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string
  };
  
  
  /* harmony default export */ __webpack_exports__["default"] = (LazyRenderBox);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-trigger/es/Popup.js":
  /*!*********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-trigger/es/Popup.js ***!
    \*********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-dom */ "../../node_modules/react-dom/index.js");
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var rc_align__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rc-align */ "../../node_modules/rc-align/es/index.js");
  /* harmony import */ var rc_animate__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! rc-animate */ "../../node_modules/rc-animate/es/Animate.js");
  /* harmony import */ var _PopupInner__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PopupInner */ "../../node_modules/rc-trigger/es/PopupInner.js");
  /* harmony import */ var _LazyRenderBox__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./LazyRenderBox */ "../../node_modules/rc-trigger/es/LazyRenderBox.js");
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils */ "../../node_modules/rc-trigger/es/utils.js");
  
  
  
  
  
  
  
  
  
  
  
  
  
  var Popup = function (_Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(Popup, _Component);
  
    function Popup(props) {
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, Popup);
  
      var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _Component.call(this, props));
  
      _initialiseProps.call(_this);
  
      _this.state = {
        // Used for stretch
        stretchChecked: false,
        targetWidth: undefined,
        targetHeight: undefined
      };
  
      _this.savePopupRef = _utils__WEBPACK_IMPORTED_MODULE_11__["saveRef"].bind(_this, 'popupInstance');
      _this.saveAlignRef = _utils__WEBPACK_IMPORTED_MODULE_11__["saveRef"].bind(_this, 'alignInstance');
      return _this;
    }
  
    Popup.prototype.componentDidMount = function componentDidMount() {
      this.rootNode = this.getPopupDomNode();
      this.setStretchSize();
    };
  
    Popup.prototype.componentDidUpdate = function componentDidUpdate() {
      this.setStretchSize();
    };
  
    // Record size if stretch needed
  
  
    Popup.prototype.getPopupDomNode = function getPopupDomNode() {
      return react_dom__WEBPACK_IMPORTED_MODULE_6___default.a.findDOMNode(this.popupInstance);
    };
  
    // `target` on `rc-align` can accept as a function to get the bind element or a point.
    // ref: https://www.npmjs.com/package/rc-align
  
  
    Popup.prototype.getMaskTransitionName = function getMaskTransitionName() {
      var props = this.props;
      var transitionName = props.maskTransitionName;
      var animation = props.maskAnimation;
      if (!transitionName && animation) {
        transitionName = props.prefixCls + '-' + animation;
      }
      return transitionName;
    };
  
    Popup.prototype.getTransitionName = function getTransitionName() {
      var props = this.props;
      var transitionName = props.transitionName;
      if (!transitionName && props.animation) {
        transitionName = props.prefixCls + '-' + props.animation;
      }
      return transitionName;
    };
  
    Popup.prototype.getClassName = function getClassName(currentAlignClassName) {
      return this.props.prefixCls + ' ' + this.props.className + ' ' + currentAlignClassName;
    };
  
    Popup.prototype.getPopupElement = function getPopupElement() {
      var _this2 = this;
  
      var savePopupRef = this.savePopupRef;
      var _state = this.state,
          stretchChecked = _state.stretchChecked,
          targetHeight = _state.targetHeight,
          targetWidth = _state.targetWidth;
      var _props = this.props,
          align = _props.align,
          visible = _props.visible,
          prefixCls = _props.prefixCls,
          style = _props.style,
          getClassNameFromAlign = _props.getClassNameFromAlign,
          destroyPopupOnHide = _props.destroyPopupOnHide,
          stretch = _props.stretch,
          children = _props.children,
          onMouseEnter = _props.onMouseEnter,
          onMouseLeave = _props.onMouseLeave,
          onMouseDown = _props.onMouseDown;
  
      var className = this.getClassName(this.currentAlignClassName || getClassNameFromAlign(align));
      var hiddenClassName = prefixCls + '-hidden';
  
      if (!visible) {
        this.currentAlignClassName = null;
      }
  
      var sizeStyle = {};
      if (stretch) {
        // Stretch with target
        if (stretch.indexOf('height') !== -1) {
          sizeStyle.height = targetHeight;
        } else if (stretch.indexOf('minHeight') !== -1) {
          sizeStyle.minHeight = targetHeight;
        }
        if (stretch.indexOf('width') !== -1) {
          sizeStyle.width = targetWidth;
        } else if (stretch.indexOf('minWidth') !== -1) {
          sizeStyle.minWidth = targetWidth;
        }
  
        // Delay force align to makes ui smooth
        if (!stretchChecked) {
          sizeStyle.visibility = 'hidden';
          setTimeout(function () {
            if (_this2.alignInstance) {
              _this2.alignInstance.forceAlign();
            }
          }, 0);
        }
      }
  
      var newStyle = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, sizeStyle, style, this.getZIndexStyle());
  
      var popupInnerProps = {
        className: className,
        prefixCls: prefixCls,
        ref: savePopupRef,
        onMouseEnter: onMouseEnter,
        onMouseLeave: onMouseLeave,
        onMouseDown: onMouseDown,
        style: newStyle
      };
      if (destroyPopupOnHide) {
        return react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
          rc_animate__WEBPACK_IMPORTED_MODULE_8__["default"],
          {
            component: '',
            exclusive: true,
            transitionAppear: true,
            transitionName: this.getTransitionName()
          },
          visible ? react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
            rc_align__WEBPACK_IMPORTED_MODULE_7__["default"],
            {
              target: this.getAlignTarget(),
              key: 'popup',
              ref: this.saveAlignRef,
              monitorWindowResize: true,
              align: align,
              onAlign: this.onAlign
            },
            react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
              _PopupInner__WEBPACK_IMPORTED_MODULE_9__["default"],
              babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
                visible: true
              }, popupInnerProps),
              children
            )
          ) : null
        );
      }
  
      return react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
        rc_animate__WEBPACK_IMPORTED_MODULE_8__["default"],
        {
          component: '',
          exclusive: true,
          transitionAppear: true,
          transitionName: this.getTransitionName(),
          showProp: 'xVisible'
        },
        react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
          rc_align__WEBPACK_IMPORTED_MODULE_7__["default"],
          {
            target: this.getAlignTarget(),
            key: 'popup',
            ref: this.saveAlignRef,
            monitorWindowResize: true,
            xVisible: visible,
            childrenProps: { visible: 'xVisible' },
            disabled: !visible,
            align: align,
            onAlign: this.onAlign
          },
          react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
            _PopupInner__WEBPACK_IMPORTED_MODULE_9__["default"],
            babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
              hiddenClassName: hiddenClassName
            }, popupInnerProps),
            children
          )
        )
      );
    };
  
    Popup.prototype.getZIndexStyle = function getZIndexStyle() {
      var style = {};
      var props = this.props;
      if (props.zIndex !== undefined) {
        style.zIndex = props.zIndex;
      }
      return style;
    };
  
    Popup.prototype.getMaskElement = function getMaskElement() {
      var props = this.props;
      var maskElement = void 0;
      if (props.mask) {
        var maskTransition = this.getMaskTransitionName();
        maskElement = react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(_LazyRenderBox__WEBPACK_IMPORTED_MODULE_10__["default"], {
          style: this.getZIndexStyle(),
          key: 'mask',
          className: props.prefixCls + '-mask',
          hiddenClassName: props.prefixCls + '-mask-hidden',
          visible: props.visible
        });
        if (maskTransition) {
          maskElement = react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
            rc_animate__WEBPACK_IMPORTED_MODULE_8__["default"],
            {
              key: 'mask',
              showProp: 'visible',
              transitionAppear: true,
              component: '',
              transitionName: maskTransition
            },
            maskElement
          );
        }
      }
      return maskElement;
    };
  
    Popup.prototype.render = function render() {
      return react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
        'div',
        null,
        this.getMaskElement(),
        this.getPopupElement()
      );
    };
  
    return Popup;
  }(react__WEBPACK_IMPORTED_MODULE_4__["Component"]);
  
  Popup.propTypes = {
    visible: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.bool,
    style: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.object,
    getClassNameFromAlign: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.func,
    onAlign: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.func,
    getRootDomNode: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.func,
    align: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.any,
    destroyPopupOnHide: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.bool,
    className: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string,
    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string,
    onMouseEnter: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.func,
    onMouseLeave: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.func,
    onMouseDown: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.func,
    stretch: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string,
    children: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.node,
    point: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.shape({
      pageX: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.number,
      pageY: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.number
    })
  };
  
  var _initialiseProps = function _initialiseProps() {
    var _this3 = this;
  
    this.onAlign = function (popupDomNode, align) {
      var props = _this3.props;
      var currentAlignClassName = props.getClassNameFromAlign(align);
      // FIX: https://github.com/react-component/trigger/issues/56
      // FIX: https://github.com/react-component/tooltip/issues/79
      if (_this3.currentAlignClassName !== currentAlignClassName) {
        _this3.currentAlignClassName = currentAlignClassName;
        popupDomNode.className = _this3.getClassName(currentAlignClassName);
      }
      props.onAlign(popupDomNode, align);
    };
  
    this.setStretchSize = function () {
      var _props2 = _this3.props,
          stretch = _props2.stretch,
          getRootDomNode = _props2.getRootDomNode,
          visible = _props2.visible;
      var _state2 = _this3.state,
          stretchChecked = _state2.stretchChecked,
          targetHeight = _state2.targetHeight,
          targetWidth = _state2.targetWidth;
  
  
      if (!stretch || !visible) {
        if (stretchChecked) {
          _this3.setState({ stretchChecked: false });
        }
        return;
      }
  
      var $ele = getRootDomNode();
      if (!$ele) return;
  
      var height = $ele.offsetHeight;
      var width = $ele.offsetWidth;
  
      if (targetHeight !== height || targetWidth !== width || !stretchChecked) {
        _this3.setState({
          stretchChecked: true,
          targetHeight: height,
          targetWidth: width
        });
      }
    };
  
    this.getTargetElement = function () {
      return _this3.props.getRootDomNode();
    };
  
    this.getAlignTarget = function () {
      var point = _this3.props.point;
  
      if (point) {
        return point;
      }
      return _this3.getTargetElement;
    };
  };
  
  /* harmony default export */ __webpack_exports__["default"] = (Popup);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-trigger/es/PopupInner.js":
  /*!**************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-trigger/es/PopupInner.js ***!
    \**************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var _LazyRenderBox__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./LazyRenderBox */ "../../node_modules/rc-trigger/es/LazyRenderBox.js");
  
  
  
  
  
  
  
  var PopupInner = function (_Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_2___default()(PopupInner, _Component);
  
    function PopupInner() {
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, PopupInner);
  
      return babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1___default()(this, _Component.apply(this, arguments));
    }
  
    PopupInner.prototype.render = function render() {
      var props = this.props;
      var className = props.className;
      if (!props.visible) {
        className += ' ' + props.hiddenClassName;
      }
      return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(
        'div',
        {
          className: className,
          onMouseEnter: props.onMouseEnter,
          onMouseLeave: props.onMouseLeave,
          onMouseDown: props.onMouseDown,
          style: props.style
        },
        react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(
          _LazyRenderBox__WEBPACK_IMPORTED_MODULE_5__["default"],
          { className: props.prefixCls + '-content', visible: props.visible },
          props.children
        )
      );
    };
  
    return PopupInner;
  }(react__WEBPACK_IMPORTED_MODULE_3__["Component"]);
  
  PopupInner.propTypes = {
    hiddenClassName: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string,
    className: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string,
    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string,
    onMouseEnter: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.func,
    onMouseLeave: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.func,
    onMouseDown: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.func,
    children: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.any
  };
  
  
  /* harmony default export */ __webpack_exports__["default"] = (PopupInner);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-trigger/es/index.js":
  /*!*********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-trigger/es/index.js ***!
    \*********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-dom */ "../../node_modules/react-dom/index.js");
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! rc-util/es/Dom/contains */ "../../node_modules/rc-util/es/Dom/contains.js");
  /* harmony import */ var rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! rc-util/es/Dom/addEventListener */ "../../node_modules/rc-util/es/Dom/addEventListener.js");
  /* harmony import */ var rc_util_es_ContainerRender__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! rc-util/es/ContainerRender */ "../../node_modules/rc-util/es/ContainerRender.js");
  /* harmony import */ var rc_util_es_Portal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! rc-util/es/Portal */ "../../node_modules/rc-util/es/Portal.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_11__);
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./utils */ "../../node_modules/rc-trigger/es/utils.js");
  /* harmony import */ var _Popup__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Popup */ "../../node_modules/rc-trigger/es/Popup.js");
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  function noop() {}
  
  function returnEmptyString() {
    return '';
  }
  
  function returnDocument() {
    return window.document;
  }
  
  var ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];
  
  var IS_REACT_16 = !!react_dom__WEBPACK_IMPORTED_MODULE_6__["createPortal"];
  
  var contextTypes = {
    rcTrigger: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.shape({
      onPopupMouseDown: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.func
    })
  };
  
  var Trigger = function (_React$Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(Trigger, _React$Component);
  
    function Trigger(props) {
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, Trigger);
  
      var _this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, _React$Component.call(this, props));
  
      _initialiseProps.call(_this);
  
      var popupVisible = void 0;
      if ('popupVisible' in props) {
        popupVisible = !!props.popupVisible;
      } else {
        popupVisible = !!props.defaultPopupVisible;
      }
  
      _this.prevPopupVisible = popupVisible;
  
      _this.state = {
        popupVisible: popupVisible
      };
      return _this;
    }
  
    Trigger.prototype.getChildContext = function getChildContext() {
      return {
        rcTrigger: {
          onPopupMouseDown: this.onPopupMouseDown
        }
      };
    };
  
    Trigger.prototype.componentWillMount = function componentWillMount() {
      var _this2 = this;
  
      ALL_HANDLERS.forEach(function (h) {
        _this2['fire' + h] = function (e) {
          _this2.fireEvents(h, e);
        };
      });
    };
  
    Trigger.prototype.componentDidMount = function componentDidMount() {
      this.componentDidUpdate({}, {
        popupVisible: this.state.popupVisible
      });
    };
  
    Trigger.prototype.componentWillReceiveProps = function componentWillReceiveProps(_ref) {
      var popupVisible = _ref.popupVisible;
  
      if (popupVisible !== undefined) {
        this.setState({
          popupVisible: popupVisible
        });
      }
    };
  
    Trigger.prototype.componentDidUpdate = function componentDidUpdate(_, prevState) {
      var props = this.props;
      var state = this.state;
      var triggerAfterPopupVisibleChange = function triggerAfterPopupVisibleChange() {
        if (prevState.popupVisible !== state.popupVisible) {
          props.afterPopupVisibleChange(state.popupVisible);
        }
      };
      if (!IS_REACT_16) {
        this.renderComponent(null, triggerAfterPopupVisibleChange);
      }
  
      this.prevPopupVisible = prevState.popupVisible;
  
      // We must listen to `mousedown` or `touchstart`, edge case:
      // https://github.com/ant-design/ant-design/issues/5804
      // https://github.com/react-component/calendar/issues/250
      // https://github.com/react-component/trigger/issues/50
      if (state.popupVisible) {
        var currentDocument = void 0;
        if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {
          currentDocument = props.getDocument();
          this.clickOutsideHandler = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_8__["default"])(currentDocument, 'mousedown', this.onDocumentClick);
        }
        // always hide on mobile
        if (!this.touchOutsideHandler) {
          currentDocument = currentDocument || props.getDocument();
          this.touchOutsideHandler = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_8__["default"])(currentDocument, 'touchstart', this.onDocumentClick);
        }
        // close popup when trigger type contains 'onContextMenu' and document is scrolling.
        if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {
          currentDocument = currentDocument || props.getDocument();
          this.contextMenuOutsideHandler1 = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_8__["default"])(currentDocument, 'scroll', this.onContextMenuClose);
        }
        // close popup when trigger type contains 'onContextMenu' and window is blur.
        if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {
          this.contextMenuOutsideHandler2 = Object(rc_util_es_Dom_addEventListener__WEBPACK_IMPORTED_MODULE_8__["default"])(window, 'blur', this.onContextMenuClose);
        }
        return;
      }
  
      this.clearOutsideHandler();
    };
  
    Trigger.prototype.componentWillUnmount = function componentWillUnmount() {
      this.clearDelayTimer();
      this.clearOutsideHandler();
      clearTimeout(this.mouseDownTimeout);
    };
  
    Trigger.prototype.getPopupDomNode = function getPopupDomNode() {
      // for test
      if (this._component && this._component.getPopupDomNode) {
        return this._component.getPopupDomNode();
      }
      return null;
    };
  
    Trigger.prototype.getPopupAlign = function getPopupAlign() {
      var props = this.props;
      var popupPlacement = props.popupPlacement,
          popupAlign = props.popupAlign,
          builtinPlacements = props.builtinPlacements;
  
      if (popupPlacement && builtinPlacements) {
        return Object(_utils__WEBPACK_IMPORTED_MODULE_12__["getAlignFromPlacement"])(builtinPlacements, popupPlacement, popupAlign);
      }
      return popupAlign;
    };
  
    /**
     * @param popupVisible    Show or not the popup element
     * @param event           SyntheticEvent, used for `pointAlign`
     */
    Trigger.prototype.setPopupVisible = function setPopupVisible(popupVisible, event) {
      var alignPoint = this.props.alignPoint;
  
  
      this.clearDelayTimer();
  
      if (this.state.popupVisible !== popupVisible) {
        if (!('popupVisible' in this.props)) {
          this.setState({ popupVisible: popupVisible });
        }
        this.props.onPopupVisibleChange(popupVisible);
      }
  
      // Always record the point position since mouseEnterDelay will delay the show
      if (alignPoint && event) {
        this.setPoint(event);
      }
    };
  
    Trigger.prototype.delaySetPopupVisible = function delaySetPopupVisible(visible, delayS, event) {
      var _this3 = this;
  
      var delay = delayS * 1000;
      this.clearDelayTimer();
      if (delay) {
        var point = event ? { pageX: event.pageX, pageY: event.pageY } : null;
        this.delayTimer = setTimeout(function () {
          _this3.setPopupVisible(visible, point);
          _this3.clearDelayTimer();
        }, delay);
      } else {
        this.setPopupVisible(visible, event);
      }
    };
  
    Trigger.prototype.clearDelayTimer = function clearDelayTimer() {
      if (this.delayTimer) {
        clearTimeout(this.delayTimer);
        this.delayTimer = null;
      }
    };
  
    Trigger.prototype.clearOutsideHandler = function clearOutsideHandler() {
      if (this.clickOutsideHandler) {
        this.clickOutsideHandler.remove();
        this.clickOutsideHandler = null;
      }
  
      if (this.contextMenuOutsideHandler1) {
        this.contextMenuOutsideHandler1.remove();
        this.contextMenuOutsideHandler1 = null;
      }
  
      if (this.contextMenuOutsideHandler2) {
        this.contextMenuOutsideHandler2.remove();
        this.contextMenuOutsideHandler2 = null;
      }
  
      if (this.touchOutsideHandler) {
        this.touchOutsideHandler.remove();
        this.touchOutsideHandler = null;
      }
    };
  
    Trigger.prototype.createTwoChains = function createTwoChains(event) {
      var childPros = this.props.children.props;
      var props = this.props;
      if (childPros[event] && props[event]) {
        return this['fire' + event];
      }
      return childPros[event] || props[event];
    };
  
    Trigger.prototype.isClickToShow = function isClickToShow() {
      var _props = this.props,
          action = _props.action,
          showAction = _props.showAction;
  
      return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;
    };
  
    Trigger.prototype.isContextMenuToShow = function isContextMenuToShow() {
      var _props2 = this.props,
          action = _props2.action,
          showAction = _props2.showAction;
  
      return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;
    };
  
    Trigger.prototype.isClickToHide = function isClickToHide() {
      var _props3 = this.props,
          action = _props3.action,
          hideAction = _props3.hideAction;
  
      return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;
    };
  
    Trigger.prototype.isMouseEnterToShow = function isMouseEnterToShow() {
      var _props4 = this.props,
          action = _props4.action,
          showAction = _props4.showAction;
  
      return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;
    };
  
    Trigger.prototype.isMouseLeaveToHide = function isMouseLeaveToHide() {
      var _props5 = this.props,
          action = _props5.action,
          hideAction = _props5.hideAction;
  
      return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;
    };
  
    Trigger.prototype.isFocusToShow = function isFocusToShow() {
      var _props6 = this.props,
          action = _props6.action,
          showAction = _props6.showAction;
  
      return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;
    };
  
    Trigger.prototype.isBlurToHide = function isBlurToHide() {
      var _props7 = this.props,
          action = _props7.action,
          hideAction = _props7.hideAction;
  
      return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;
    };
  
    Trigger.prototype.forcePopupAlign = function forcePopupAlign() {
      if (this.state.popupVisible && this._component && this._component.alignInstance) {
        this._component.alignInstance.forceAlign();
      }
    };
  
    Trigger.prototype.fireEvents = function fireEvents(type, e) {
      var childCallback = this.props.children.props[type];
      if (childCallback) {
        childCallback(e);
      }
      var callback = this.props[type];
      if (callback) {
        callback(e);
      }
    };
  
    Trigger.prototype.close = function close() {
      this.setPopupVisible(false);
    };
  
    Trigger.prototype.render = function render() {
      var _this4 = this;
  
      var popupVisible = this.state.popupVisible;
      var _props8 = this.props,
          children = _props8.children,
          forceRender = _props8.forceRender,
          alignPoint = _props8.alignPoint,
          className = _props8.className;
  
      var child = react__WEBPACK_IMPORTED_MODULE_4___default.a.Children.only(children);
      var newChildProps = { key: 'trigger' };
  
      if (this.isContextMenuToShow()) {
        newChildProps.onContextMenu = this.onContextMenu;
      } else {
        newChildProps.onContextMenu = this.createTwoChains('onContextMenu');
      }
  
      if (this.isClickToHide() || this.isClickToShow()) {
        newChildProps.onClick = this.onClick;
        newChildProps.onMouseDown = this.onMouseDown;
        newChildProps.onTouchStart = this.onTouchStart;
      } else {
        newChildProps.onClick = this.createTwoChains('onClick');
        newChildProps.onMouseDown = this.createTwoChains('onMouseDown');
        newChildProps.onTouchStart = this.createTwoChains('onTouchStart');
      }
      if (this.isMouseEnterToShow()) {
        newChildProps.onMouseEnter = this.onMouseEnter;
        if (alignPoint) {
          newChildProps.onMouseMove = this.onMouseMove;
        }
      } else {
        newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');
      }
      if (this.isMouseLeaveToHide()) {
        newChildProps.onMouseLeave = this.onMouseLeave;
      } else {
        newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');
      }
      if (this.isFocusToShow() || this.isBlurToHide()) {
        newChildProps.onFocus = this.onFocus;
        newChildProps.onBlur = this.onBlur;
      } else {
        newChildProps.onFocus = this.createTwoChains('onFocus');
        newChildProps.onBlur = this.createTwoChains('onBlur');
      }
  
      var childrenClassName = classnames__WEBPACK_IMPORTED_MODULE_11___default()(child && child.props && child.props.className, className);
      if (childrenClassName) {
        newChildProps.className = childrenClassName;
      }
      var trigger = react__WEBPACK_IMPORTED_MODULE_4___default.a.cloneElement(child, newChildProps);
  
      if (!IS_REACT_16) {
        return react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
          rc_util_es_ContainerRender__WEBPACK_IMPORTED_MODULE_9__["default"],
          {
            parent: this,
            visible: popupVisible,
            autoMount: false,
            forceRender: forceRender,
            getComponent: this.getComponent,
            getContainer: this.getContainer
          },
          function (_ref2) {
            var renderComponent = _ref2.renderComponent;
  
            _this4.renderComponent = renderComponent;
            return trigger;
          }
        );
      }
  
      var portal = void 0;
      // prevent unmounting after it's rendered
      if (popupVisible || this._component || forceRender) {
        portal = react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
          rc_util_es_Portal__WEBPACK_IMPORTED_MODULE_10__["default"],
          {
            key: 'portal',
            getContainer: this.getContainer,
            didUpdate: this.handlePortalUpdate
          },
          this.getComponent()
        );
      }
  
      return [trigger, portal];
    };
  
    return Trigger;
  }(react__WEBPACK_IMPORTED_MODULE_4___default.a.Component);
  
  Trigger.propTypes = {
    children: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.any,
    action: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string)]),
    showAction: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.any,
    hideAction: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.any,
    getPopupClassNameFromAlign: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.any,
    onPopupVisibleChange: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.func,
    afterPopupVisibleChange: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.func,
    popup: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.func]).isRequired,
    popupStyle: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.object,
    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string,
    popupClassName: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string,
    className: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string,
    popupPlacement: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string,
    builtinPlacements: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.object,
    popupTransitionName: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.object]),
    popupAnimation: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.any,
    mouseEnterDelay: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.number,
    mouseLeaveDelay: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.number,
    zIndex: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.number,
    focusDelay: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.number,
    blurDelay: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.number,
    getPopupContainer: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.func,
    getDocument: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.func,
    forceRender: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.bool,
    destroyPopupOnHide: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.bool,
    mask: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.bool,
    maskClosable: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.bool,
    onPopupAlign: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.func,
    popupAlign: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.object,
    popupVisible: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.bool,
    defaultPopupVisible: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.bool,
    maskTransitionName: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.object]),
    maskAnimation: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string,
    stretch: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.string,
    alignPoint: prop_types__WEBPACK_IMPORTED_MODULE_5___default.a.bool // Maybe we can support user pass position in the future
  };
  Trigger.contextTypes = contextTypes;
  Trigger.childContextTypes = contextTypes;
  Trigger.defaultProps = {
    prefixCls: 'rc-trigger-popup',
    getPopupClassNameFromAlign: returnEmptyString,
    getDocument: returnDocument,
    onPopupVisibleChange: noop,
    afterPopupVisibleChange: noop,
    onPopupAlign: noop,
    popupClassName: '',
    mouseEnterDelay: 0,
    mouseLeaveDelay: 0.1,
    focusDelay: 0,
    blurDelay: 0.15,
    popupStyle: {},
    destroyPopupOnHide: false,
    popupAlign: {},
    defaultPopupVisible: false,
    mask: false,
    maskClosable: true,
    action: [],
    showAction: [],
    hideAction: []
  };
  
  var _initialiseProps = function _initialiseProps() {
    var _this5 = this;
  
    this.onMouseEnter = function (e) {
      var mouseEnterDelay = _this5.props.mouseEnterDelay;
  
      _this5.fireEvents('onMouseEnter', e);
      _this5.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);
    };
  
    this.onMouseMove = function (e) {
      _this5.fireEvents('onMouseMove', e);
      _this5.setPoint(e);
    };
  
    this.onMouseLeave = function (e) {
      _this5.fireEvents('onMouseLeave', e);
      _this5.delaySetPopupVisible(false, _this5.props.mouseLeaveDelay);
    };
  
    this.onPopupMouseEnter = function () {
      _this5.clearDelayTimer();
    };
  
    this.onPopupMouseLeave = function (e) {
      // https://github.com/react-component/trigger/pull/13
      // react bug?
      if (e.relatedTarget && !e.relatedTarget.setTimeout && _this5._component && _this5._component.getPopupDomNode && Object(rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_7__["default"])(_this5._component.getPopupDomNode(), e.relatedTarget)) {
        return;
      }
      _this5.delaySetPopupVisible(false, _this5.props.mouseLeaveDelay);
    };
  
    this.onFocus = function (e) {
      _this5.fireEvents('onFocus', e);
      // incase focusin and focusout
      _this5.clearDelayTimer();
      if (_this5.isFocusToShow()) {
        _this5.focusTime = Date.now();
        _this5.delaySetPopupVisible(true, _this5.props.focusDelay);
      }
    };
  
    this.onMouseDown = function (e) {
      _this5.fireEvents('onMouseDown', e);
      _this5.preClickTime = Date.now();
    };
  
    this.onTouchStart = function (e) {
      _this5.fireEvents('onTouchStart', e);
      _this5.preTouchTime = Date.now();
    };
  
    this.onBlur = function (e) {
      _this5.fireEvents('onBlur', e);
      _this5.clearDelayTimer();
      if (_this5.isBlurToHide()) {
        _this5.delaySetPopupVisible(false, _this5.props.blurDelay);
      }
    };
  
    this.onContextMenu = function (e) {
      e.preventDefault();
      _this5.fireEvents('onContextMenu', e);
      _this5.setPopupVisible(true, e);
    };
  
    this.onContextMenuClose = function () {
      if (_this5.isContextMenuToShow()) {
        _this5.close();
      }
    };
  
    this.onClick = function (event) {
      _this5.fireEvents('onClick', event);
      // focus will trigger click
      if (_this5.focusTime) {
        var preTime = void 0;
        if (_this5.preClickTime && _this5.preTouchTime) {
          preTime = Math.min(_this5.preClickTime, _this5.preTouchTime);
        } else if (_this5.preClickTime) {
          preTime = _this5.preClickTime;
        } else if (_this5.preTouchTime) {
          preTime = _this5.preTouchTime;
        }
        if (Math.abs(preTime - _this5.focusTime) < 20) {
          return;
        }
        _this5.focusTime = 0;
      }
      _this5.preClickTime = 0;
      _this5.preTouchTime = 0;
      if (event && event.preventDefault) {
        event.preventDefault();
      }
      var nextVisible = !_this5.state.popupVisible;
      if (_this5.isClickToHide() && !nextVisible || nextVisible && _this5.isClickToShow()) {
        _this5.setPopupVisible(!_this5.state.popupVisible, event);
      }
    };
  
    this.onPopupMouseDown = function () {
      var _context$rcTrigger = _this5.context.rcTrigger,
          rcTrigger = _context$rcTrigger === undefined ? {} : _context$rcTrigger;
  
      _this5.hasPopupMouseDown = true;
  
      clearTimeout(_this5.mouseDownTimeout);
      _this5.mouseDownTimeout = setTimeout(function () {
        _this5.hasPopupMouseDown = false;
      }, 0);
  
      if (rcTrigger.onPopupMouseDown) {
        rcTrigger.onPopupMouseDown.apply(rcTrigger, arguments);
      }
    };
  
    this.onDocumentClick = function (event) {
      if (_this5.props.mask && !_this5.props.maskClosable) {
        return;
      }
  
      var target = event.target;
      var root = Object(react_dom__WEBPACK_IMPORTED_MODULE_6__["findDOMNode"])(_this5);
      if (!Object(rc_util_es_Dom_contains__WEBPACK_IMPORTED_MODULE_7__["default"])(root, target) && !_this5.hasPopupMouseDown) {
        _this5.close();
      }
    };
  
    this.getRootDomNode = function () {
      return Object(react_dom__WEBPACK_IMPORTED_MODULE_6__["findDOMNode"])(_this5);
    };
  
    this.getPopupClassNameFromAlign = function (align) {
      var className = [];
      var _props9 = _this5.props,
          popupPlacement = _props9.popupPlacement,
          builtinPlacements = _props9.builtinPlacements,
          prefixCls = _props9.prefixCls,
          alignPoint = _props9.alignPoint,
          getPopupClassNameFromAlign = _props9.getPopupClassNameFromAlign;
  
      if (popupPlacement && builtinPlacements) {
        className.push(Object(_utils__WEBPACK_IMPORTED_MODULE_12__["getAlignPopupClassName"])(builtinPlacements, prefixCls, align, alignPoint));
      }
      if (getPopupClassNameFromAlign) {
        className.push(getPopupClassNameFromAlign(align));
      }
      return className.join(' ');
    };
  
    this.getComponent = function () {
      var _props10 = _this5.props,
          prefixCls = _props10.prefixCls,
          destroyPopupOnHide = _props10.destroyPopupOnHide,
          popupClassName = _props10.popupClassName,
          action = _props10.action,
          onPopupAlign = _props10.onPopupAlign,
          popupAnimation = _props10.popupAnimation,
          popupTransitionName = _props10.popupTransitionName,
          popupStyle = _props10.popupStyle,
          mask = _props10.mask,
          maskAnimation = _props10.maskAnimation,
          maskTransitionName = _props10.maskTransitionName,
          zIndex = _props10.zIndex,
          popup = _props10.popup,
          stretch = _props10.stretch,
          alignPoint = _props10.alignPoint;
      var _state = _this5.state,
          popupVisible = _state.popupVisible,
          point = _state.point;
  
  
      var align = _this5.getPopupAlign();
  
      var mouseProps = {};
      if (_this5.isMouseEnterToShow()) {
        mouseProps.onMouseEnter = _this5.onPopupMouseEnter;
      }
      if (_this5.isMouseLeaveToHide()) {
        mouseProps.onMouseLeave = _this5.onPopupMouseLeave;
      }
  
      mouseProps.onMouseDown = _this5.onPopupMouseDown;
  
      return react__WEBPACK_IMPORTED_MODULE_4___default.a.createElement(
        _Popup__WEBPACK_IMPORTED_MODULE_13__["default"],
        babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({
          prefixCls: prefixCls,
          destroyPopupOnHide: destroyPopupOnHide,
          visible: popupVisible,
          point: alignPoint && point,
          className: popupClassName,
          action: action,
          align: align,
          onAlign: onPopupAlign,
          animation: popupAnimation,
          getClassNameFromAlign: _this5.getPopupClassNameFromAlign
        }, mouseProps, {
          stretch: stretch,
          getRootDomNode: _this5.getRootDomNode,
          style: popupStyle,
          mask: mask,
          zIndex: zIndex,
          transitionName: popupTransitionName,
          maskAnimation: maskAnimation,
          maskTransitionName: maskTransitionName,
          ref: _this5.savePopup
        }),
        typeof popup === 'function' ? popup() : popup
      );
    };
  
    this.getContainer = function () {
      var props = _this5.props;
  
      var popupContainer = document.createElement('div');
      // Make sure default popup container will never cause scrollbar appearing
      // https://github.com/react-component/trigger/issues/41
      popupContainer.style.position = 'absolute';
      popupContainer.style.top = '0';
      popupContainer.style.left = '0';
      popupContainer.style.width = '100%';
      var mountNode = props.getPopupContainer ? props.getPopupContainer(Object(react_dom__WEBPACK_IMPORTED_MODULE_6__["findDOMNode"])(_this5)) : props.getDocument().body;
      mountNode.appendChild(popupContainer);
      return popupContainer;
    };
  
    this.setPoint = function (point) {
      var alignPoint = _this5.props.alignPoint;
  
      if (!alignPoint || !point) return;
  
      _this5.setState({
        point: {
          pageX: point.pageX,
          pageY: point.pageY
        }
      });
    };
  
    this.handlePortalUpdate = function () {
      if (_this5.prevPopupVisible !== _this5.state.popupVisible) {
        _this5.props.afterPopupVisibleChange(_this5.state.popupVisible);
      }
    };
  
    this.savePopup = function (node) {
      _this5._component = node;
    };
  };
  
  /* harmony default export */ __webpack_exports__["default"] = (Trigger);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-trigger/es/utils.js":
  /*!*********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-trigger/es/utils.js ***!
    \*********************************************************************************/
  /*! exports provided: getAlignFromPlacement, getAlignPopupClassName, saveRef */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAlignFromPlacement", function() { return getAlignFromPlacement; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAlignPopupClassName", function() { return getAlignPopupClassName; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "saveRef", function() { return saveRef; });
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  
  function isPointsEq(a1, a2, isAlignPoint) {
    if (isAlignPoint) {
      return a1[0] === a2[0];
    }
    return a1[0] === a2[0] && a1[1] === a2[1];
  }
  
  function getAlignFromPlacement(builtinPlacements, placementStr, align) {
    var baseAlign = builtinPlacements[placementStr] || {};
    return babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, baseAlign, align);
  }
  
  function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {
    var points = align.points;
    for (var placement in builtinPlacements) {
      if (builtinPlacements.hasOwnProperty(placement)) {
        if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {
          return prefixCls + '-placement-' + placement;
        }
      }
    }
    return '';
  }
  
  function saveRef(name, component) {
    this[name] = component;
  }
  
  /***/ }),
  
  /***/ "../../node_modules/rc-upload/es/AjaxUploader.js":
  /*!***************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-upload/es/AjaxUploader.js ***!
    \***************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "../../node_modules/babel-runtime/helpers/defineProperty.js");
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_8__);
  /* harmony import */ var _request__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./request */ "../../node_modules/rc-upload/es/request.js");
  /* harmony import */ var _uid__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./uid */ "../../node_modules/rc-upload/es/uid.js");
  /* harmony import */ var _attr_accept__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./attr-accept */ "../../node_modules/rc-upload/es/attr-accept.js");
  /* harmony import */ var _traverseFileTree__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./traverseFileTree */ "../../node_modules/rc-upload/es/traverseFileTree.js");
  
  
  
  
  
  
  /* eslint react/no-is-mounted:0 react/sort-comp:0 */
  
  
  
  
  
  
  
  
  
  var AjaxUploader = function (_Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(AjaxUploader, _Component);
  
    function AjaxUploader() {
      var _ref;
  
      var _temp, _this, _ret;
  
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, AjaxUploader);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (_ref = AjaxUploader.__proto__ || Object.getPrototypeOf(AjaxUploader)).call.apply(_ref, [this].concat(args))), _this), _this.state = { uid: Object(_uid__WEBPACK_IMPORTED_MODULE_10__["default"])() }, _this.reqs = {}, _this.onChange = function (e) {
        var files = e.target.files;
        _this.uploadFiles(files);
        _this.reset();
      }, _this.onClick = function () {
        var el = _this.fileInput;
        if (!el) {
          return;
        }
        el.click();
      }, _this.onKeyDown = function (e) {
        if (e.key === 'Enter') {
          _this.onClick();
        }
      }, _this.onFileDrop = function (e) {
        e.preventDefault();
  
        if (e.type === 'dragover') {
          return;
        }
  
        if (_this.props.directory) {
          Object(_traverseFileTree__WEBPACK_IMPORTED_MODULE_12__["default"])(e.dataTransfer.items, _this.uploadFiles, function (_file) {
            return Object(_attr_accept__WEBPACK_IMPORTED_MODULE_11__["default"])(_file, _this.props.accept);
          });
        } else {
          var files = Array.prototype.slice.call(e.dataTransfer.files).filter(function (file) {
            return Object(_attr_accept__WEBPACK_IMPORTED_MODULE_11__["default"])(file, _this.props.accept);
          });
          _this.uploadFiles(files);
        }
      }, _this.uploadFiles = function (files) {
        var postFiles = Array.prototype.slice.call(files);
        postFiles.forEach(function (file) {
          file.uid = Object(_uid__WEBPACK_IMPORTED_MODULE_10__["default"])();
          _this.upload(file, postFiles);
        });
      }, _this.saveFileInput = function (node) {
        _this.fileInput = node;
      }, _temp), babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(_this, _ret);
    }
  
    babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(AjaxUploader, [{
      key: 'componentDidMount',
      value: function componentDidMount() {
        this._isMounted = true;
      }
    }, {
      key: 'componentWillUnmount',
      value: function componentWillUnmount() {
        this._isMounted = false;
        this.abort();
      }
    }, {
      key: 'upload',
      value: function upload(file, fileList) {
        var _this2 = this;
  
        var props = this.props;
  
        if (!props.beforeUpload) {
          // always async in case use react state to keep fileList
          return setTimeout(function () {
            return _this2.post(file);
          }, 0);
        }
  
        var before = props.beforeUpload(file, fileList);
        if (before && before.then) {
          before.then(function (processedFile) {
            var processedFileType = Object.prototype.toString.call(processedFile);
            if (processedFileType === '[object File]' || processedFileType === '[object Blob]') {
              return _this2.post(processedFile);
            }
            return _this2.post(file);
          })['catch'](function (e) {
            console && console.log(e); // eslint-disable-line
          });
        } else if (before !== false) {
          setTimeout(function () {
            return _this2.post(file);
          }, 0);
        }
      }
    }, {
      key: 'post',
      value: function post(file) {
        var _this3 = this;
  
        if (!this._isMounted) {
          return;
        }
        var props = this.props;
        var data = props.data;
        var onStart = props.onStart,
            onProgress = props.onProgress;
  
        if (typeof data === 'function') {
          data = data(file);
        }
        new Promise(function (resolve) {
          var action = props.action;
  
          if (typeof action === 'function') {
            return resolve(action(file));
          }
          resolve(action);
        }).then(function (action) {
          var uid = file.uid;
  
          var request = props.customRequest || _request__WEBPACK_IMPORTED_MODULE_9__["default"];
          _this3.reqs[uid] = request({
            action: action,
            filename: props.name,
            file: file,
            data: data,
            headers: props.headers,
            withCredentials: props.withCredentials,
            onProgress: onProgress ? function (e) {
              onProgress(e, file);
            } : null,
            onSuccess: function onSuccess(ret, xhr) {
              delete _this3.reqs[uid];
              props.onSuccess(ret, file, xhr);
            },
            onError: function onError(err, ret) {
              delete _this3.reqs[uid];
              props.onError(err, ret, file);
            }
          });
          onStart(file);
        });
      }
    }, {
      key: 'reset',
      value: function reset() {
        this.setState({
          uid: Object(_uid__WEBPACK_IMPORTED_MODULE_10__["default"])()
        });
      }
    }, {
      key: 'abort',
      value: function abort(file) {
        var reqs = this.reqs;
  
        if (file) {
          var uid = file;
          if (file && file.uid) {
            uid = file.uid;
          }
          if (reqs[uid]) {
            reqs[uid].abort();
            delete reqs[uid];
          }
        } else {
          Object.keys(reqs).forEach(function (uid) {
            if (reqs[uid]) {
              reqs[uid].abort();
            }
  
            delete reqs[uid];
          });
        }
      }
    }, {
      key: 'render',
      value: function render() {
        var _classNames;
  
        var _props = this.props,
            Tag = _props.component,
            prefixCls = _props.prefixCls,
            className = _props.className,
            disabled = _props.disabled,
            style = _props.style,
            multiple = _props.multiple,
            accept = _props.accept,
            children = _props.children,
            directory = _props.directory;
  
        var cls = classnames__WEBPACK_IMPORTED_MODULE_8___default()((_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls, true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, prefixCls + '-disabled', disabled), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(_classNames, className, className), _classNames));
        var events = disabled ? {} : {
          onClick: this.onClick,
          onKeyDown: this.onKeyDown,
          onDrop: this.onFileDrop,
          onDragOver: this.onFileDrop,
          tabIndex: '0'
        };
        return react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(
          Tag,
          babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, events, {
            className: cls,
            role: 'button',
            style: style
          }),
          react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement('input', {
            type: 'file',
            ref: this.saveFileInput,
            key: this.state.uid,
            style: { display: 'none' },
            accept: accept,
            directory: directory ? 'directory' : null,
            webkitdirectory: directory ? 'webkitdirectory' : null,
            multiple: multiple,
            onChange: this.onChange
          }),
          children
        );
      }
    }]);
  
    return AjaxUploader;
  }(react__WEBPACK_IMPORTED_MODULE_6__["Component"]);
  
  AjaxUploader.propTypes = {
    component: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
    style: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object,
    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
    className: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
    multiple: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,
    directory: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,
    disabled: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,
    accept: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
    children: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.any,
    onStart: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,
    data: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func]),
    action: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func]),
    headers: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object,
    beforeUpload: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,
    customRequest: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,
    onProgress: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,
    withCredentials: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool
  };
  
  
  /* harmony default export */ __webpack_exports__["default"] = (AjaxUploader);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-upload/es/IframeUploader.js":
  /*!*****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-upload/es/IframeUploader.js ***!
    \*****************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/defineProperty */ "../../node_modules/babel-runtime/helpers/defineProperty.js");
  /* harmony import */ var babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-dom */ "../../node_modules/react-dom/index.js");
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_8__);
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! classnames */ "../../node_modules/classnames/index.js");
  /* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_9__);
  /* harmony import */ var _uid__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./uid */ "../../node_modules/rc-upload/es/uid.js");
  /* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! warning */ "../../node_modules/warning/browser.js");
  /* harmony import */ var warning__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(warning__WEBPACK_IMPORTED_MODULE_11__);
  
  
  
  
  
  
  /* eslint react/sort-comp:0 */
  
  
  
  
  
  
  
  var IFRAME_STYLE = {
    position: 'absolute',
    top: 0,
    opacity: 0,
    filter: 'alpha(opacity=0)',
    left: 0,
    zIndex: 9999
  };
  
  // diferent from AjaxUpload, can only upload on at one time, serial seriously
  
  var IframeUploader = function (_Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(IframeUploader, _Component);
  
    function IframeUploader() {
      var _ref;
  
      var _temp, _this, _ret;
  
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, IframeUploader);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (_ref = IframeUploader.__proto__ || Object.getPrototypeOf(IframeUploader)).call.apply(_ref, [this].concat(args))), _this), _this.state = { uploading: false }, _this.file = {}, _this.onLoad = function () {
        if (!_this.state.uploading) {
          return;
        }
        var _this2 = _this,
            props = _this2.props,
            file = _this2.file;
  
        var response = void 0;
        try {
          var doc = _this.getIframeDocument();
          var script = doc.getElementsByTagName('script')[0];
          if (script && script.parentNode === doc.body) {
            doc.body.removeChild(script);
          }
          response = doc.body.innerHTML;
          props.onSuccess(response, file);
        } catch (err) {
          warning__WEBPACK_IMPORTED_MODULE_11___default()(false, 'cross domain error for Upload. Maybe server should return document.domain script. see Note from https://github.com/react-component/upload');
          response = 'cross-domain';
          props.onError(err, null, file);
        }
        _this.endUpload();
      }, _this.onChange = function () {
        var target = _this.getFormInputNode();
        // ie8/9 don't support FileList Object
        // http://stackoverflow.com/questions/12830058/ie8-input-type-file-get-files
        var file = _this.file = {
          uid: Object(_uid__WEBPACK_IMPORTED_MODULE_10__["default"])(),
          name: target.value
        };
        _this.startUpload();
        var _this3 = _this,
            props = _this3.props;
  
        if (!props.beforeUpload) {
          return _this.post(file);
        }
        var before = props.beforeUpload(file);
        if (before && before.then) {
          before.then(function () {
            _this.post(file);
          }, function () {
            _this.endUpload();
          });
        } else if (before !== false) {
          _this.post(file);
        } else {
          _this.endUpload();
        }
      }, _this.saveIframe = function (node) {
        _this.iframe = node;
      }, _temp), babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(_this, _ret);
    }
  
    babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(IframeUploader, [{
      key: 'componentDidMount',
      value: function componentDidMount() {
        this.updateIframeWH();
        this.initIframe();
      }
    }, {
      key: 'componentDidUpdate',
      value: function componentDidUpdate() {
        this.updateIframeWH();
      }
    }, {
      key: 'getIframeNode',
      value: function getIframeNode() {
        return this.iframe;
      }
    }, {
      key: 'getIframeDocument',
      value: function getIframeDocument() {
        return this.getIframeNode().contentDocument;
      }
    }, {
      key: 'getFormNode',
      value: function getFormNode() {
        return this.getIframeDocument().getElementById('form');
      }
    }, {
      key: 'getFormInputNode',
      value: function getFormInputNode() {
        return this.getIframeDocument().getElementById('input');
      }
    }, {
      key: 'getFormDataNode',
      value: function getFormDataNode() {
        return this.getIframeDocument().getElementById('data');
      }
    }, {
      key: 'getFileForMultiple',
      value: function getFileForMultiple(file) {
        return this.props.multiple ? [file] : file;
      }
    }, {
      key: 'getIframeHTML',
      value: function getIframeHTML(domain) {
        var domainScript = '';
        var domainInput = '';
        if (domain) {
          var script = 'script';
          domainScript = '<' + script + '>document.domain="' + domain + '";</' + script + '>';
          domainInput = '<input name="_documentDomain" value="' + domain + '" />';
        }
        return '\n    <!DOCTYPE html>\n    <html>\n    <head>\n    <meta http-equiv="X-UA-Compatible" content="IE=edge" />\n    <style>\n    body,html {padding:0;margin:0;border:0;overflow:hidden;}\n    </style>\n    ' + domainScript + '\n    </head>\n    <body>\n    <form method="post"\n    encType="multipart/form-data"\n    action="" id="form"\n    style="display:block;height:9999px;position:relative;overflow:hidden;">\n    <input id="input" type="file"\n     name="' + this.props.name + '"\n     style="position:absolute;top:0;right:0;height:9999px;font-size:9999px;cursor:pointer;"/>\n    ' + domainInput + '\n    <span id="data"></span>\n    </form>\n    </body>\n    </html>\n    ';
      }
    }, {
      key: 'initIframeSrc',
      value: function initIframeSrc() {
        if (this.domain) {
          this.getIframeNode().src = 'javascript:void((function(){\n        var d = document;\n        d.open();\n        d.domain=\'' + this.domain + '\';\n        d.write(\'\');\n        d.close();\n      })())';
        }
      }
    }, {
      key: 'initIframe',
      value: function initIframe() {
        var iframeNode = this.getIframeNode();
        var win = iframeNode.contentWindow;
        var doc = void 0;
        this.domain = this.domain || '';
        this.initIframeSrc();
        try {
          doc = win.document;
        } catch (e) {
          this.domain = document.domain;
          this.initIframeSrc();
          win = iframeNode.contentWindow;
          doc = win.document;
        }
        doc.open('text/html', 'replace');
        doc.write(this.getIframeHTML(this.domain));
        doc.close();
        this.getFormInputNode().onchange = this.onChange;
      }
    }, {
      key: 'endUpload',
      value: function endUpload() {
        if (this.state.uploading) {
          this.file = {};
          // hack avoid batch
          this.state.uploading = false;
          this.setState({
            uploading: false
          });
          this.initIframe();
        }
      }
    }, {
      key: 'startUpload',
      value: function startUpload() {
        if (!this.state.uploading) {
          this.state.uploading = true;
          this.setState({
            uploading: true
          });
        }
      }
    }, {
      key: 'updateIframeWH',
      value: function updateIframeWH() {
        var rootNode = react_dom__WEBPACK_IMPORTED_MODULE_8___default.a.findDOMNode(this);
        var iframeNode = this.getIframeNode();
        iframeNode.style.height = rootNode.offsetHeight + 'px';
        iframeNode.style.width = rootNode.offsetWidth + 'px';
      }
    }, {
      key: 'abort',
      value: function abort(file) {
        if (file) {
          var uid = file;
          if (file && file.uid) {
            uid = file.uid;
          }
          if (uid === this.file.uid) {
            this.endUpload();
          }
        } else {
          this.endUpload();
        }
      }
    }, {
      key: 'post',
      value: function post(file) {
        var _this4 = this;
  
        var formNode = this.getFormNode();
        var dataSpan = this.getFormDataNode();
        var data = this.props.data;
        var onStart = this.props.onStart;
  
        if (typeof data === 'function') {
          data = data(file);
        }
        var inputs = document.createDocumentFragment();
        for (var key in data) {
          if (data.hasOwnProperty(key)) {
            var input = document.createElement('input');
            input.setAttribute('name', key);
            input.value = data[key];
            inputs.appendChild(input);
          }
        }
        dataSpan.appendChild(inputs);
        new Promise(function (resolve) {
          var action = _this4.props.action;
  
          if (typeof action === 'function') {
            return resolve(action(file));
          }
          resolve(action);
        }).then(function (action) {
          formNode.setAttribute('action', action);
          formNode.submit();
          dataSpan.innerHTML = '';
          onStart(file);
        });
      }
    }, {
      key: 'render',
      value: function render() {
        var _classNames;
  
        var _props = this.props,
            Tag = _props.component,
            disabled = _props.disabled,
            className = _props.className,
            prefixCls = _props.prefixCls,
            children = _props.children,
            style = _props.style;
  
        var iframeStyle = babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({}, IFRAME_STYLE, {
          display: this.state.uploading || disabled ? 'none' : ''
        });
        var cls = classnames__WEBPACK_IMPORTED_MODULE_9___default()((_classNames = {}, babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls, true), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, prefixCls + '-disabled', disabled), babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_classNames, className, className), _classNames));
        return react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(
          Tag,
          {
            className: cls,
            style: babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_1___default()({ position: 'relative', zIndex: 0 }, style)
          },
          react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement('iframe', {
            ref: this.saveIframe,
            onLoad: this.onLoad,
            style: iframeStyle
          }),
          children
        );
      }
    }]);
  
    return IframeUploader;
  }(react__WEBPACK_IMPORTED_MODULE_6__["Component"]);
  
  IframeUploader.propTypes = {
    component: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
    style: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object,
    disabled: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,
    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
    className: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
    accept: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string,
    onStart: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func,
    multiple: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.bool,
    children: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.any,
    data: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func]),
    action: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.func]),
    name: prop_types__WEBPACK_IMPORTED_MODULE_7___default.a.string
  };
  
  
  /* harmony default export */ __webpack_exports__["default"] = (IframeUploader);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-upload/es/Upload.js":
  /*!*********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-upload/es/Upload.js ***!
    \*********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/extends */ "../../node_modules/babel-runtime/helpers/extends.js");
  /* harmony import */ var babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  /* harmony import */ var _AjaxUploader__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./AjaxUploader */ "../../node_modules/rc-upload/es/AjaxUploader.js");
  /* harmony import */ var _IframeUploader__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./IframeUploader */ "../../node_modules/rc-upload/es/IframeUploader.js");
  
  
  
  
  
  
  
  
  
  
  function empty() {}
  
  var Upload = function (_Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_4___default()(Upload, _Component);
  
    function Upload() {
      var _ref;
  
      var _temp, _this, _ret;
  
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_1___default()(this, Upload);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(this, (_ref = Upload.__proto__ || Object.getPrototypeOf(Upload)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
        Component: null
      }, _this.saveUploader = function (node) {
        _this.uploader = node;
      }, _temp), babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3___default()(_this, _ret);
    }
  
    babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_2___default()(Upload, [{
      key: 'componentDidMount',
      value: function componentDidMount() {
        if (this.props.supportServerRender) {
          /* eslint react/no-did-mount-set-state:0 */
          this.setState({
            Component: this.getComponent()
          }, this.props.onReady);
        }
      }
    }, {
      key: 'getComponent',
      value: function getComponent() {
        return typeof File !== 'undefined' ? _AjaxUploader__WEBPACK_IMPORTED_MODULE_7__["default"] : _IframeUploader__WEBPACK_IMPORTED_MODULE_8__["default"];
      }
    }, {
      key: 'abort',
      value: function abort(file) {
        this.uploader.abort(file);
      }
    }, {
      key: 'render',
      value: function render() {
        if (this.props.supportServerRender) {
          var _ComponentUploader = this.state.Component;
          if (_ComponentUploader) {
            return react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(_ComponentUploader, babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, this.props, { ref: this.saveUploader }));
          }
          return null;
        }
        var ComponentUploader = this.getComponent();
        return react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(ComponentUploader, babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, this.props, { ref: this.saveUploader }));
      }
    }]);
  
    return Upload;
  }(react__WEBPACK_IMPORTED_MODULE_5__["Component"]);
  
  Upload.propTypes = {
    component: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    style: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object,
    prefixCls: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    action: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func]),
    name: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    multipart: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    directory: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    onError: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onSuccess: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onProgress: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onStart: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    data: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func]),
    headers: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.object,
    accept: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.string,
    multiple: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    disabled: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    beforeUpload: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    customRequest: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    onReady: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func,
    withCredentials: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    supportServerRender: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool
  };
  Upload.defaultProps = {
    component: 'span',
    prefixCls: 'rc-upload',
    data: {},
    headers: {},
    name: 'file',
    multipart: false,
    onReady: empty,
    onStart: empty,
    onError: empty,
    onSuccess: empty,
    supportServerRender: false,
    multiple: false,
    beforeUpload: null,
    customRequest: null,
    withCredentials: false
  };
  
  
  /* harmony default export */ __webpack_exports__["default"] = (Upload);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-upload/es/attr-accept.js":
  /*!**************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-upload/es/attr-accept.js ***!
    \**************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  function endsWith(str, suffix) {
    return str.indexOf(suffix, str.length - suffix.length) !== -1;
  }
  
  /* harmony default export */ __webpack_exports__["default"] = (function (file, acceptedFiles) {
    if (file && acceptedFiles) {
      var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');
      var fileName = file.name || '';
      var mimeType = file.type || '';
      var baseMimeType = mimeType.replace(/\/.*$/, '');
  
      return acceptedFilesArray.some(function (type) {
        var validType = type.trim();
        if (validType.charAt(0) === '.') {
          return endsWith(fileName.toLowerCase(), validType.toLowerCase());
        } else if (/\/\*$/.test(validType)) {
          // This is something like a image/* mime type
          return baseMimeType === validType.replace(/\/.*$/, '');
        }
        return mimeType === validType;
      });
    }
    return true;
  });
  
  /***/ }),
  
  /***/ "../../node_modules/rc-upload/es/index.js":
  /*!********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-upload/es/index.js ***!
    \********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _Upload__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Upload */ "../../node_modules/rc-upload/es/Upload.js");
  // export this package's api
  
  
  /* harmony default export */ __webpack_exports__["default"] = (_Upload__WEBPACK_IMPORTED_MODULE_0__["default"]);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-upload/es/request.js":
  /*!**********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-upload/es/request.js ***!
    \**********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return upload; });
  function getError(option, xhr) {
    var msg = 'cannot post ' + option.action + ' ' + xhr.status + '\'';
    var err = new Error(msg);
    err.status = xhr.status;
    err.method = 'post';
    err.url = option.action;
    return err;
  }
  
  function getBody(xhr) {
    var text = xhr.responseText || xhr.response;
    if (!text) {
      return text;
    }
  
    try {
      return JSON.parse(text);
    } catch (e) {
      return text;
    }
  }
  
  // option {
  //  onProgress: (event: { percent: number }): void,
  //  onError: (event: Error, body?: Object): void,
  //  onSuccess: (body: Object): void,
  //  data: Object,
  //  filename: String,
  //  file: File,
  //  withCredentials: Boolean,
  //  action: String,
  //  headers: Object,
  // }
  function upload(option) {
    var xhr = new XMLHttpRequest();
  
    if (option.onProgress && xhr.upload) {
      xhr.upload.onprogress = function progress(e) {
        if (e.total > 0) {
          e.percent = e.loaded / e.total * 100;
        }
        option.onProgress(e);
      };
    }
  
    var formData = new FormData();
  
    if (option.data) {
      Object.keys(option.data).map(function (key) {
        formData.append(key, option.data[key]);
      });
    }
  
    formData.append(option.filename, option.file);
  
    xhr.onerror = function error(e) {
      option.onError(e);
    };
  
    xhr.onload = function onload() {
      // allow success when 2xx status
      // see https://github.com/react-component/upload/issues/34
      if (xhr.status < 200 || xhr.status >= 300) {
        return option.onError(getError(option, xhr), getBody(xhr));
      }
  
      option.onSuccess(getBody(xhr), xhr);
    };
  
    xhr.open('post', option.action, true);
  
    // Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179
    if (option.withCredentials && 'withCredentials' in xhr) {
      xhr.withCredentials = true;
    }
  
    var headers = option.headers || {};
  
    // when set headers['X-Requested-With'] = null , can close default XHR header
    // see https://github.com/react-component/upload/issues/33
    if (headers['X-Requested-With'] !== null) {
      xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
    }
  
    for (var h in headers) {
      if (headers.hasOwnProperty(h) && headers[h] !== null) {
        xhr.setRequestHeader(h, headers[h]);
      }
    }
    xhr.send(formData);
  
    return {
      abort: function abort() {
        xhr.abort();
      }
    };
  }
  
  /***/ }),
  
  /***/ "../../node_modules/rc-upload/es/traverseFileTree.js":
  /*!*******************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-upload/es/traverseFileTree.js ***!
    \*******************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  var traverseFileTree = function traverseFileTree(files, callback, isAccepted) {
    var _traverseFileTree = function _traverseFileTree(item, path) {
      path = path || '';
      if (item.isFile) {
        item.file(function (file) {
          if (isAccepted(file)) {
            callback([file]);
          }
        });
      } else if (item.isDirectory) {
        var dirReader = item.createReader();
  
        dirReader.readEntries(function (entries) {
          var _iteratorNormalCompletion = true;
          var _didIteratorError = false;
          var _iteratorError = undefined;
  
          try {
            for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
              var entrieItem = _step.value;
  
              _traverseFileTree(entrieItem, '' + path + item.name + '/');
            }
          } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
          } finally {
            try {
              if (!_iteratorNormalCompletion && _iterator['return']) {
                _iterator['return']();
              }
            } finally {
              if (_didIteratorError) {
                throw _iteratorError;
              }
            }
          }
        });
      }
    };
    var _iteratorNormalCompletion2 = true;
    var _didIteratorError2 = false;
    var _iteratorError2 = undefined;
  
    try {
      for (var _iterator2 = files[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
        var file = _step2.value;
  
        _traverseFileTree(file.webkitGetAsEntry());
      }
    } catch (err) {
      _didIteratorError2 = true;
      _iteratorError2 = err;
    } finally {
      try {
        if (!_iteratorNormalCompletion2 && _iterator2['return']) {
          _iterator2['return']();
        }
      } finally {
        if (_didIteratorError2) {
          throw _iteratorError2;
        }
      }
    }
  };
  
  /* harmony default export */ __webpack_exports__["default"] = (traverseFileTree);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-upload/es/uid.js":
  /*!******************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-upload/es/uid.js ***!
    \******************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return uid; });
  var now = +new Date();
  var index = 0;
  
  function uid() {
    return "rc-upload-" + now + "-" + ++index;
  }
  
  /***/ }),
  
  /***/ "../../node_modules/rc-util/es/ContainerRender.js":
  /*!****************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-util/es/ContainerRender.js ***!
    \****************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ "../../node_modules/react-dom/index.js");
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  
  
  
  
  
  
  
  
  var ContainerRender = function (_React$Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(ContainerRender, _React$Component);
  
    function ContainerRender() {
      var _ref;
  
      var _temp, _this, _ret;
  
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, ContainerRender);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, (_ref = ContainerRender.__proto__ || Object.getPrototypeOf(ContainerRender)).call.apply(_ref, [this].concat(args))), _this), _this.removeContainer = function () {
        if (_this.container) {
          react_dom__WEBPACK_IMPORTED_MODULE_5___default.a.unmountComponentAtNode(_this.container);
          _this.container.parentNode.removeChild(_this.container);
          _this.container = null;
        }
      }, _this.renderComponent = function (props, ready) {
        var _this$props = _this.props,
            visible = _this$props.visible,
            getComponent = _this$props.getComponent,
            forceRender = _this$props.forceRender,
            getContainer = _this$props.getContainer,
            parent = _this$props.parent;
  
        if (visible || parent._component || forceRender) {
          if (!_this.container) {
            _this.container = getContainer();
          }
          react_dom__WEBPACK_IMPORTED_MODULE_5___default.a.unstable_renderSubtreeIntoContainer(parent, getComponent(props), _this.container, function callback() {
            if (ready) {
              ready.call(this);
            }
          });
        }
      }, _temp), babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(_this, _ret);
    }
  
    babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(ContainerRender, [{
      key: 'componentDidMount',
      value: function componentDidMount() {
        if (this.props.autoMount) {
          this.renderComponent();
        }
      }
    }, {
      key: 'componentDidUpdate',
      value: function componentDidUpdate() {
        if (this.props.autoMount) {
          this.renderComponent();
        }
      }
    }, {
      key: 'componentWillUnmount',
      value: function componentWillUnmount() {
        if (this.props.autoDestroy) {
          this.removeContainer();
        }
      }
    }, {
      key: 'render',
      value: function render() {
        return this.props.children({
          renderComponent: this.renderComponent,
          removeContainer: this.removeContainer
        });
      }
    }]);
  
    return ContainerRender;
  }(react__WEBPACK_IMPORTED_MODULE_4___default.a.Component);
  
  ContainerRender.propTypes = {
    autoMount: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    autoDestroy: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    visible: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    forceRender: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.bool,
    parent: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.any,
    getComponent: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func.isRequired,
    getContainer: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func.isRequired,
    children: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func.isRequired
  };
  ContainerRender.defaultProps = {
    autoMount: true,
    autoDestroy: true,
    forceRender: false
  };
  /* harmony default export */ __webpack_exports__["default"] = (ContainerRender);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-util/es/Dom/contains.js":
  /*!*************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-util/es/Dom/contains.js ***!
    \*************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return contains; });
  function contains(root, n) {
    var node = n;
    while (node) {
      if (node === root) {
        return true;
      }
      node = node.parentNode;
    }
  
    return false;
  }
  
  /***/ }),
  
  /***/ "../../node_modules/rc-util/es/KeyCode.js":
  /*!********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-util/es/KeyCode.js ***!
    \********************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /**
   * @ignore
   * some key-codes definition and utils from closure-library
   * @author yiminghe@gmail.com
   */
  
  var KeyCode = {
    /**
     * MAC_ENTER
     */
    MAC_ENTER: 3,
    /**
     * BACKSPACE
     */
    BACKSPACE: 8,
    /**
     * TAB
     */
    TAB: 9,
    /**
     * NUMLOCK on FF/Safari Mac
     */
    NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac
    /**
     * ENTER
     */
    ENTER: 13,
    /**
     * SHIFT
     */
    SHIFT: 16,
    /**
     * CTRL
     */
    CTRL: 17,
    /**
     * ALT
     */
    ALT: 18,
    /**
     * PAUSE
     */
    PAUSE: 19,
    /**
     * CAPS_LOCK
     */
    CAPS_LOCK: 20,
    /**
     * ESC
     */
    ESC: 27,
    /**
     * SPACE
     */
    SPACE: 32,
    /**
     * PAGE_UP
     */
    PAGE_UP: 33, // also NUM_NORTH_EAST
    /**
     * PAGE_DOWN
     */
    PAGE_DOWN: 34, // also NUM_SOUTH_EAST
    /**
     * END
     */
    END: 35, // also NUM_SOUTH_WEST
    /**
     * HOME
     */
    HOME: 36, // also NUM_NORTH_WEST
    /**
     * LEFT
     */
    LEFT: 37, // also NUM_WEST
    /**
     * UP
     */
    UP: 38, // also NUM_NORTH
    /**
     * RIGHT
     */
    RIGHT: 39, // also NUM_EAST
    /**
     * DOWN
     */
    DOWN: 40, // also NUM_SOUTH
    /**
     * PRINT_SCREEN
     */
    PRINT_SCREEN: 44,
    /**
     * INSERT
     */
    INSERT: 45, // also NUM_INSERT
    /**
     * DELETE
     */
    DELETE: 46, // also NUM_DELETE
    /**
     * ZERO
     */
    ZERO: 48,
    /**
     * ONE
     */
    ONE: 49,
    /**
     * TWO
     */
    TWO: 50,
    /**
     * THREE
     */
    THREE: 51,
    /**
     * FOUR
     */
    FOUR: 52,
    /**
     * FIVE
     */
    FIVE: 53,
    /**
     * SIX
     */
    SIX: 54,
    /**
     * SEVEN
     */
    SEVEN: 55,
    /**
     * EIGHT
     */
    EIGHT: 56,
    /**
     * NINE
     */
    NINE: 57,
    /**
     * QUESTION_MARK
     */
    QUESTION_MARK: 63, // needs localization
    /**
     * A
     */
    A: 65,
    /**
     * B
     */
    B: 66,
    /**
     * C
     */
    C: 67,
    /**
     * D
     */
    D: 68,
    /**
     * E
     */
    E: 69,
    /**
     * F
     */
    F: 70,
    /**
     * G
     */
    G: 71,
    /**
     * H
     */
    H: 72,
    /**
     * I
     */
    I: 73,
    /**
     * J
     */
    J: 74,
    /**
     * K
     */
    K: 75,
    /**
     * L
     */
    L: 76,
    /**
     * M
     */
    M: 77,
    /**
     * N
     */
    N: 78,
    /**
     * O
     */
    O: 79,
    /**
     * P
     */
    P: 80,
    /**
     * Q
     */
    Q: 81,
    /**
     * R
     */
    R: 82,
    /**
     * S
     */
    S: 83,
    /**
     * T
     */
    T: 84,
    /**
     * U
     */
    U: 85,
    /**
     * V
     */
    V: 86,
    /**
     * W
     */
    W: 87,
    /**
     * X
     */
    X: 88,
    /**
     * Y
     */
    Y: 89,
    /**
     * Z
     */
    Z: 90,
    /**
     * META
     */
    META: 91, // WIN_KEY_LEFT
    /**
     * WIN_KEY_RIGHT
     */
    WIN_KEY_RIGHT: 92,
    /**
     * CONTEXT_MENU
     */
    CONTEXT_MENU: 93,
    /**
     * NUM_ZERO
     */
    NUM_ZERO: 96,
    /**
     * NUM_ONE
     */
    NUM_ONE: 97,
    /**
     * NUM_TWO
     */
    NUM_TWO: 98,
    /**
     * NUM_THREE
     */
    NUM_THREE: 99,
    /**
     * NUM_FOUR
     */
    NUM_FOUR: 100,
    /**
     * NUM_FIVE
     */
    NUM_FIVE: 101,
    /**
     * NUM_SIX
     */
    NUM_SIX: 102,
    /**
     * NUM_SEVEN
     */
    NUM_SEVEN: 103,
    /**
     * NUM_EIGHT
     */
    NUM_EIGHT: 104,
    /**
     * NUM_NINE
     */
    NUM_NINE: 105,
    /**
     * NUM_MULTIPLY
     */
    NUM_MULTIPLY: 106,
    /**
     * NUM_PLUS
     */
    NUM_PLUS: 107,
    /**
     * NUM_MINUS
     */
    NUM_MINUS: 109,
    /**
     * NUM_PERIOD
     */
    NUM_PERIOD: 110,
    /**
     * NUM_DIVISION
     */
    NUM_DIVISION: 111,
    /**
     * F1
     */
    F1: 112,
    /**
     * F2
     */
    F2: 113,
    /**
     * F3
     */
    F3: 114,
    /**
     * F4
     */
    F4: 115,
    /**
     * F5
     */
    F5: 116,
    /**
     * F6
     */
    F6: 117,
    /**
     * F7
     */
    F7: 118,
    /**
     * F8
     */
    F8: 119,
    /**
     * F9
     */
    F9: 120,
    /**
     * F10
     */
    F10: 121,
    /**
     * F11
     */
    F11: 122,
    /**
     * F12
     */
    F12: 123,
    /**
     * NUMLOCK
     */
    NUMLOCK: 144,
    /**
     * SEMICOLON
     */
    SEMICOLON: 186, // needs localization
    /**
     * DASH
     */
    DASH: 189, // needs localization
    /**
     * EQUALS
     */
    EQUALS: 187, // needs localization
    /**
     * COMMA
     */
    COMMA: 188, // needs localization
    /**
     * PERIOD
     */
    PERIOD: 190, // needs localization
    /**
     * SLASH
     */
    SLASH: 191, // needs localization
    /**
     * APOSTROPHE
     */
    APOSTROPHE: 192, // needs localization
    /**
     * SINGLE_QUOTE
     */
    SINGLE_QUOTE: 222, // needs localization
    /**
     * OPEN_SQUARE_BRACKET
     */
    OPEN_SQUARE_BRACKET: 219, // needs localization
    /**
     * BACKSLASH
     */
    BACKSLASH: 220, // needs localization
    /**
     * CLOSE_SQUARE_BRACKET
     */
    CLOSE_SQUARE_BRACKET: 221, // needs localization
    /**
     * WIN_KEY
     */
    WIN_KEY: 224,
    /**
     * MAC_FF_META
     */
    MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91
    /**
     * WIN_IME
     */
    WIN_IME: 229
  };
  
  /*
   whether text and modified key is entered at the same time.
   */
  KeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {
    var keyCode = e.keyCode;
    if (e.altKey && !e.ctrlKey || e.metaKey ||
    // Function keys don't generate text
    keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {
      return false;
    }
  
    // The following keys are quite harmless, even in combination with
    // CTRL, ALT or SHIFT.
    switch (keyCode) {
      case KeyCode.ALT:
      case KeyCode.CAPS_LOCK:
      case KeyCode.CONTEXT_MENU:
      case KeyCode.CTRL:
      case KeyCode.DOWN:
      case KeyCode.END:
      case KeyCode.ESC:
      case KeyCode.HOME:
      case KeyCode.INSERT:
      case KeyCode.LEFT:
      case KeyCode.MAC_FF_META:
      case KeyCode.META:
      case KeyCode.NUMLOCK:
      case KeyCode.NUM_CENTER:
      case KeyCode.PAGE_DOWN:
      case KeyCode.PAGE_UP:
      case KeyCode.PAUSE:
      case KeyCode.PRINT_SCREEN:
      case KeyCode.RIGHT:
      case KeyCode.SHIFT:
      case KeyCode.UP:
      case KeyCode.WIN_KEY:
      case KeyCode.WIN_KEY_RIGHT:
        return false;
      default:
        return true;
    }
  };
  
  /*
   whether character is entered.
   */
  KeyCode.isCharacterKey = function isCharacterKey(keyCode) {
    if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
      return true;
    }
  
    if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
      return true;
    }
  
    if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
      return true;
    }
  
    // Safari sends zero key code for non-latin characters.
    if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
      return true;
    }
  
    switch (keyCode) {
      case KeyCode.SPACE:
      case KeyCode.QUESTION_MARK:
      case KeyCode.NUM_PLUS:
      case KeyCode.NUM_MINUS:
      case KeyCode.NUM_PERIOD:
      case KeyCode.NUM_DIVISION:
      case KeyCode.SEMICOLON:
      case KeyCode.DASH:
      case KeyCode.EQUALS:
      case KeyCode.COMMA:
      case KeyCode.PERIOD:
      case KeyCode.SLASH:
      case KeyCode.APOSTROPHE:
      case KeyCode.SINGLE_QUOTE:
      case KeyCode.OPEN_SQUARE_BRACKET:
      case KeyCode.BACKSLASH:
      case KeyCode.CLOSE_SQUARE_BRACKET:
        return true;
      default:
        return false;
    }
  };
  
  /* harmony default export */ __webpack_exports__["default"] = (KeyCode);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-util/es/Portal.js":
  /*!*******************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-util/es/Portal.js ***!
    \*******************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! babel-runtime/helpers/classCallCheck */ "../../node_modules/babel-runtime/helpers/classCallCheck.js");
  /* harmony import */ var babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babel-runtime/helpers/createClass */ "../../node_modules/babel-runtime/helpers/createClass.js");
  /* harmony import */ var babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! babel-runtime/helpers/possibleConstructorReturn */ "../../node_modules/babel-runtime/helpers/possibleConstructorReturn.js");
  /* harmony import */ var babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! babel-runtime/helpers/inherits */ "../../node_modules/babel-runtime/helpers/inherits.js");
  /* harmony import */ var babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3__);
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../node_modules/react/index.js");
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ "../../node_modules/react-dom/index.js");
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_5__);
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../node_modules/prop-types/index.js");
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
  
  
  
  
  
  
  
  
  var Portal = function (_React$Component) {
    babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_3___default()(Portal, _React$Component);
  
    function Portal() {
      babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, Portal);
  
      return babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));
    }
  
    babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(Portal, [{
      key: 'componentDidMount',
      value: function componentDidMount() {
        this.createContainer();
      }
    }, {
      key: 'componentDidUpdate',
      value: function componentDidUpdate(prevProps) {
        var didUpdate = this.props.didUpdate;
  
        if (didUpdate) {
          didUpdate(prevProps);
        }
      }
    }, {
      key: 'componentWillUnmount',
      value: function componentWillUnmount() {
        this.removeContainer();
      }
    }, {
      key: 'createContainer',
      value: function createContainer() {
        this._container = this.props.getContainer();
        this.forceUpdate();
      }
    }, {
      key: 'removeContainer',
      value: function removeContainer() {
        if (this._container) {
          this._container.parentNode.removeChild(this._container);
        }
      }
    }, {
      key: 'render',
      value: function render() {
        if (this._container) {
          return react_dom__WEBPACK_IMPORTED_MODULE_5___default.a.createPortal(this.props.children, this._container);
        }
        return null;
      }
    }]);
  
    return Portal;
  }(react__WEBPACK_IMPORTED_MODULE_4___default.a.Component);
  
  Portal.propTypes = {
    getContainer: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func.isRequired,
    children: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.node.isRequired,
    didUpdate: prop_types__WEBPACK_IMPORTED_MODULE_6___default.a.func
  };
  /* harmony default export */ __webpack_exports__["default"] = (Portal);
  
  /***/ }),
  
  /***/ "../../node_modules/rc-util/es/createChainedFunction.js":
  /*!**********************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/rc-util/es/createChainedFunction.js ***!
    \**********************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return createChainedFunction; });
  /**
   * Safe chained function
   *
   * Will only create a new function if needed,
   * otherwise will pass back existing functions or null.
   *
   * @returns {function|null}
   */
  function createChainedFunction() {
    var args = [].slice.call(arguments, 0);
    if (args.length === 1) {
      return args[0];
    }
  
    return function chainedFunction() {
      for (var i = 0; i < args.length; i++) {
        if (args[i] && args[i].apply) {
          args[i].apply(this, arguments);
        }
      }
    };
  }
  
  /***/ }),
  
  /***/ "../../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js":
  /*!*************************************************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js ***!
    \*************************************************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* WEBPACK VAR INJECTION */(function(global) {/**
   * A collection of shims that provide minimal functionality of the ES6 collections.
   *
   * These implementations are not meant to be used outside of the ResizeObserver
   * modules as they cover only a limited range of use cases.
   */
  /* eslint-disable require-jsdoc, valid-jsdoc */
  var MapShim = (function () {
      if (typeof Map !== 'undefined') {
          return Map;
      }
  
      /**
       * Returns index in provided array that matches the specified key.
       *
       * @param {Array<Array>} arr
       * @param {*} key
       * @returns {number}
       */
      function getIndex(arr, key) {
          var result = -1;
  
          arr.some(function (entry, index) {
              if (entry[0] === key) {
                  result = index;
  
                  return true;
              }
  
              return false;
          });
  
          return result;
      }
  
      return (function () {
          function anonymous() {
              this.__entries__ = [];
          }
  
          var prototypeAccessors = { size: { configurable: true } };
  
          /**
           * @returns {boolean}
           */
          prototypeAccessors.size.get = function () {
              return this.__entries__.length;
          };
  
          /**
           * @param {*} key
           * @returns {*}
           */
          anonymous.prototype.get = function (key) {
              var index = getIndex(this.__entries__, key);
              var entry = this.__entries__[index];
  
              return entry && entry[1];
          };
  
          /**
           * @param {*} key
           * @param {*} value
           * @returns {void}
           */
          anonymous.prototype.set = function (key, value) {
              var index = getIndex(this.__entries__, key);
  
              if (~index) {
                  this.__entries__[index][1] = value;
              } else {
                  this.__entries__.push([key, value]);
              }
          };
  
          /**
           * @param {*} key
           * @returns {void}
           */
          anonymous.prototype.delete = function (key) {
              var entries = this.__entries__;
              var index = getIndex(entries, key);
  
              if (~index) {
                  entries.splice(index, 1);
              }
          };
  
          /**
           * @param {*} key
           * @returns {void}
           */
          anonymous.prototype.has = function (key) {
              return !!~getIndex(this.__entries__, key);
          };
  
          /**
           * @returns {void}
           */
          anonymous.prototype.clear = function () {
              this.__entries__.splice(0);
          };
  
          /**
           * @param {Function} callback
           * @param {*} [ctx=null]
           * @returns {void}
           */
          anonymous.prototype.forEach = function (callback, ctx) {
              var this$1 = this;
              if ( ctx === void 0 ) ctx = null;
  
              for (var i = 0, list = this$1.__entries__; i < list.length; i += 1) {
                  var entry = list[i];
  
                  callback.call(ctx, entry[1], entry[0]);
              }
          };
  
          Object.defineProperties( anonymous.prototype, prototypeAccessors );
  
          return anonymous;
      }());
  })();
  
  /**
   * Detects whether window and document objects are available in current environment.
   */
  var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;
  
  // Returns global object of a current environment.
  var global$1 = (function () {
      if (typeof global !== 'undefined' && global.Math === Math) {
          return global;
      }
  
      if (typeof self !== 'undefined' && self.Math === Math) {
          return self;
      }
  
      if (typeof window !== 'undefined' && window.Math === Math) {
          return window;
      }
  
      // eslint-disable-next-line no-new-func
      return Function('return this')();
  })();
  
  /**
   * A shim for the requestAnimationFrame which falls back to the setTimeout if
   * first one is not supported.
   *
   * @returns {number} Requests' identifier.
   */
  var requestAnimationFrame$1 = (function () {
      if (typeof requestAnimationFrame === 'function') {
          // It's required to use a bounded function because IE sometimes throws
          // an "Invalid calling object" error if rAF is invoked without the global
          // object on the left hand side.
          return requestAnimationFrame.bind(global$1);
      }
  
      return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };
  })();
  
  // Defines minimum timeout before adding a trailing call.
  var trailingTimeout = 2;
  
  /**
   * Creates a wrapper function which ensures that provided callback will be
   * invoked only once during the specified delay period.
   *
   * @param {Function} callback - Function to be invoked after the delay period.
   * @param {number} delay - Delay after which to invoke callback.
   * @returns {Function}
   */
  var throttle = function (callback, delay) {
      var leadingCall = false,
          trailingCall = false,
          lastCallTime = 0;
  
      /**
       * Invokes the original callback function and schedules new invocation if
       * the "proxy" was called during current request.
       *
       * @returns {void}
       */
      function resolvePending() {
          if (leadingCall) {
              leadingCall = false;
  
              callback();
          }
  
          if (trailingCall) {
              proxy();
          }
      }
  
      /**
       * Callback invoked after the specified delay. It will further postpone
       * invocation of the original function delegating it to the
       * requestAnimationFrame.
       *
       * @returns {void}
       */
      function timeoutCallback() {
          requestAnimationFrame$1(resolvePending);
      }
  
      /**
       * Schedules invocation of the original function.
       *
       * @returns {void}
       */
      function proxy() {
          var timeStamp = Date.now();
  
          if (leadingCall) {
              // Reject immediately following calls.
              if (timeStamp - lastCallTime < trailingTimeout) {
                  return;
              }
  
              // Schedule new call to be in invoked when the pending one is resolved.
              // This is important for "transitions" which never actually start
              // immediately so there is a chance that we might miss one if change
              // happens amids the pending invocation.
              trailingCall = true;
          } else {
              leadingCall = true;
              trailingCall = false;
  
              setTimeout(timeoutCallback, delay);
          }
  
          lastCallTime = timeStamp;
      }
  
      return proxy;
  };
  
  // Minimum delay before invoking the update of observers.
  var REFRESH_DELAY = 20;
  
  // A list of substrings of CSS properties used to find transition events that
  // might affect dimensions of observed elements.
  var transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];
  
  // Check if MutationObserver is available.
  var mutationObserverSupported = typeof MutationObserver !== 'undefined';
  
  /**
   * Singleton controller class which handles updates of ResizeObserver instances.
   */
  var ResizeObserverController = function() {
      this.connected_ = false;
      this.mutationEventsAdded_ = false;
      this.mutationsObserver_ = null;
      this.observers_ = [];
  
      this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);
      this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);
  };
  
  /**
   * Adds observer to observers list.
   *
   * @param {ResizeObserverSPI} observer - Observer to be added.
   * @returns {void}
   */
  
  
  /**
   * Holds reference to the controller's instance.
   *
   * @private {ResizeObserverController}
   */
  
  
  /**
   * Keeps reference to the instance of MutationObserver.
   *
   * @private {MutationObserver}
   */
  
  /**
   * Indicates whether DOM listeners have been added.
   *
   * @private {boolean}
   */
  ResizeObserverController.prototype.addObserver = function (observer) {
      if (!~this.observers_.indexOf(observer)) {
          this.observers_.push(observer);
      }
  
      // Add listeners if they haven't been added yet.
      if (!this.connected_) {
          this.connect_();
      }
  };
  
  /**
   * Removes observer from observers list.
   *
   * @param {ResizeObserverSPI} observer - Observer to be removed.
   * @returns {void}
   */
  ResizeObserverController.prototype.removeObserver = function (observer) {
      var observers = this.observers_;
      var index = observers.indexOf(observer);
  
      // Remove observer if it's present in registry.
      if (~index) {
          observers.splice(index, 1);
      }
  
      // Remove listeners if controller has no connected observers.
      if (!observers.length && this.connected_) {
          this.disconnect_();
      }
  };
  
  /**
   * Invokes the update of observers. It will continue running updates insofar
   * it detects changes.
   *
   * @returns {void}
   */
  ResizeObserverController.prototype.refresh = function () {
      var changesDetected = this.updateObservers_();
  
      // Continue running updates if changes have been detected as there might
      // be future ones caused by CSS transitions.
      if (changesDetected) {
          this.refresh();
      }
  };
  
  /**
   * Updates every observer from observers list and notifies them of queued
   * entries.
   *
   * @private
   * @returns {boolean} Returns "true" if any observer has detected changes in
   *  dimensions of it's elements.
   */
  ResizeObserverController.prototype.updateObservers_ = function () {
      // Collect observers that have active observations.
      var activeObservers = this.observers_.filter(function (observer) {
          return observer.gatherActive(), observer.hasActive();
      });
  
      // Deliver notifications in a separate cycle in order to avoid any
      // collisions between observers, e.g. when multiple instances of
      // ResizeObserver are tracking the same element and the callback of one
      // of them changes content dimensions of the observed target. Sometimes
      // this may result in notifications being blocked for the rest of observers.
      activeObservers.forEach(function (observer) { return observer.broadcastActive(); });
  
      return activeObservers.length > 0;
  };
  
  /**
   * Initializes DOM listeners.
   *
   * @private
   * @returns {void}
   */
  ResizeObserverController.prototype.connect_ = function () {
      // Do nothing if running in a non-browser environment or if listeners
      // have been already added.
      if (!isBrowser || this.connected_) {
          return;
      }
  
      // Subscription to the "Transitionend" event is used as a workaround for
      // delayed transitions. This way it's possible to capture at least the
      // final state of an element.
      document.addEventListener('transitionend', this.onTransitionEnd_);
  
      window.addEventListener('resize', this.refresh);
  
      if (mutationObserverSupported) {
          this.mutationsObserver_ = new MutationObserver(this.refresh);
  
          this.mutationsObserver_.observe(document, {
              attributes: true,
              childList: true,
              characterData: true,
              subtree: true
          });
      } else {
          document.addEventListener('DOMSubtreeModified', this.refresh);
  
          this.mutationEventsAdded_ = true;
      }
  
      this.connected_ = true;
  };
  
  /**
   * Removes DOM listeners.
   *
   * @private
   * @returns {void}
   */
  ResizeObserverController.prototype.disconnect_ = function () {
      // Do nothing if running in a non-browser environment or if listeners
      // have been already removed.
      if (!isBrowser || !this.connected_) {
          return;
      }
  
      document.removeEventListener('transitionend', this.onTransitionEnd_);
      window.removeEventListener('resize', this.refresh);
  
      if (this.mutationsObserver_) {
          this.mutationsObserver_.disconnect();
      }
  
      if (this.mutationEventsAdded_) {
          document.removeEventListener('DOMSubtreeModified', this.refresh);
      }
  
      this.mutationsObserver_ = null;
      this.mutationEventsAdded_ = false;
      this.connected_ = false;
  };
  
  /**
   * "Transitionend" event handler.
   *
   * @private
   * @param {TransitionEvent} event
   * @returns {void}
   */
  ResizeObserverController.prototype.onTransitionEnd_ = function (ref) {
          var propertyName = ref.propertyName; if ( propertyName === void 0 ) propertyName = '';
  
      // Detect whether transition may affect dimensions of an element.
      var isReflowProperty = transitionKeys.some(function (key) {
          return !!~propertyName.indexOf(key);
      });
  
      if (isReflowProperty) {
          this.refresh();
      }
  };
  
  /**
   * Returns instance of the ResizeObserverController.
   *
   * @returns {ResizeObserverController}
   */
  ResizeObserverController.getInstance = function () {
      if (!this.instance_) {
          this.instance_ = new ResizeObserverController();
      }
  
      return this.instance_;
  };
  
  ResizeObserverController.instance_ = null;
  
  /**
   * Defines non-writable/enumerable properties of the provided target object.
   *
   * @param {Object} target - Object for which to define properties.
   * @param {Object} props - Properties to be defined.
   * @returns {Object} Target object.
   */
  var defineConfigurable = (function (target, props) {
      for (var i = 0, list = Object.keys(props); i < list.length; i += 1) {
          var key = list[i];
  
          Object.defineProperty(target, key, {
              value: props[key],
              enumerable: false,
              writable: false,
              configurable: true
          });
      }
  
      return target;
  });
  
  /**
   * Returns the global object associated with provided element.
   *
   * @param {Object} target
   * @returns {Object}
   */
  var getWindowOf = (function (target) {
      // Assume that the element is an instance of Node, which means that it
      // has the "ownerDocument" property from which we can retrieve a
      // corresponding global object.
      var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;
  
      // Return the local global object if it's not possible extract one from
      // provided element.
      return ownerGlobal || global$1;
  });
  
  // Placeholder of an empty content rectangle.
  var emptyRect = createRectInit(0, 0, 0, 0);
  
  /**
   * Converts provided string to a number.
   *
   * @param {number|string} value
   * @returns {number}
   */
  function toFloat(value) {
      return parseFloat(value) || 0;
  }
  
  /**
   * Extracts borders size from provided styles.
   *
   * @param {CSSStyleDeclaration} styles
   * @param {...string} positions - Borders positions (top, right, ...)
   * @returns {number}
   */
  function getBordersSize(styles) {
      var positions = [], len = arguments.length - 1;
      while ( len-- > 0 ) positions[ len ] = arguments[ len + 1 ];
  
      return positions.reduce(function (size, position) {
          var value = styles['border-' + position + '-width'];
  
          return size + toFloat(value);
      }, 0);
  }
  
  /**
   * Extracts paddings sizes from provided styles.
   *
   * @param {CSSStyleDeclaration} styles
   * @returns {Object} Paddings box.
   */
  function getPaddings(styles) {
      var positions = ['top', 'right', 'bottom', 'left'];
      var paddings = {};
  
      for (var i = 0, list = positions; i < list.length; i += 1) {
          var position = list[i];
  
          var value = styles['padding-' + position];
  
          paddings[position] = toFloat(value);
      }
  
      return paddings;
  }
  
  /**
   * Calculates content rectangle of provided SVG element.
   *
   * @param {SVGGraphicsElement} target - Element content rectangle of which needs
   *      to be calculated.
   * @returns {DOMRectInit}
   */
  function getSVGContentRect(target) {
      var bbox = target.getBBox();
  
      return createRectInit(0, 0, bbox.width, bbox.height);
  }
  
  /**
   * Calculates content rectangle of provided HTMLElement.
   *
   * @param {HTMLElement} target - Element for which to calculate the content rectangle.
   * @returns {DOMRectInit}
   */
  function getHTMLElementContentRect(target) {
      // Client width & height properties can't be
      // used exclusively as they provide rounded values.
      var clientWidth = target.clientWidth;
      var clientHeight = target.clientHeight;
  
      // By this condition we can catch all non-replaced inline, hidden and
      // detached elements. Though elements with width & height properties less
      // than 0.5 will be discarded as well.
      //
      // Without it we would need to implement separate methods for each of
      // those cases and it's not possible to perform a precise and performance
      // effective test for hidden elements. E.g. even jQuery's ':visible' filter
      // gives wrong results for elements with width & height less than 0.5.
      if (!clientWidth && !clientHeight) {
          return emptyRect;
      }
  
      var styles = getWindowOf(target).getComputedStyle(target);
      var paddings = getPaddings(styles);
      var horizPad = paddings.left + paddings.right;
      var vertPad = paddings.top + paddings.bottom;
  
      // Computed styles of width & height are being used because they are the
      // only dimensions available to JS that contain non-rounded values. It could
      // be possible to utilize the getBoundingClientRect if only it's data wasn't
      // affected by CSS transformations let alone paddings, borders and scroll bars.
      var width = toFloat(styles.width),
          height = toFloat(styles.height);
  
      // Width & height include paddings and borders when the 'border-box' box
      // model is applied (except for IE).
      if (styles.boxSizing === 'border-box') {
          // Following conditions are required to handle Internet Explorer which
          // doesn't include paddings and borders to computed CSS dimensions.
          //
          // We can say that if CSS dimensions + paddings are equal to the "client"
          // properties then it's either IE, and thus we don't need to subtract
          // anything, or an element merely doesn't have paddings/borders styles.
          if (Math.round(width + horizPad) !== clientWidth) {
              width -= getBordersSize(styles, 'left', 'right') + horizPad;
          }
  
          if (Math.round(height + vertPad) !== clientHeight) {
              height -= getBordersSize(styles, 'top', 'bottom') + vertPad;
          }
      }
  
      // Following steps can't be applied to the document's root element as its
      // client[Width/Height] properties represent viewport area of the window.
      // Besides, it's as well not necessary as the <html> itself neither has
      // rendered scroll bars nor it can be clipped.
      if (!isDocumentElement(target)) {
          // In some browsers (only in Firefox, actually) CSS width & height
          // include scroll bars size which can be removed at this step as scroll
          // bars are the only difference between rounded dimensions + paddings
          // and "client" properties, though that is not always true in Chrome.
          var vertScrollbar = Math.round(width + horizPad) - clientWidth;
          var horizScrollbar = Math.round(height + vertPad) - clientHeight;
  
          // Chrome has a rather weird rounding of "client" properties.
          // E.g. for an element with content width of 314.2px it sometimes gives
          // the client width of 315px and for the width of 314.7px it may give
          // 314px. And it doesn't happen all the time. So just ignore this delta
          // as a non-relevant.
          if (Math.abs(vertScrollbar) !== 1) {
              width -= vertScrollbar;
          }
  
          if (Math.abs(horizScrollbar) !== 1) {
              height -= horizScrollbar;
          }
      }
  
      return createRectInit(paddings.left, paddings.top, width, height);
  }
  
  /**
   * Checks whether provided element is an instance of the SVGGraphicsElement.
   *
   * @param {Element} target - Element to be checked.
   * @returns {boolean}
   */
  var isSVGGraphicsElement = (function () {
      // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement
      // interface.
      if (typeof SVGGraphicsElement !== 'undefined') {
          return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };
      }
  
      // If it's so, then check that element is at least an instance of the
      // SVGElement and that it has the "getBBox" method.
      // eslint-disable-next-line no-extra-parens
      return function (target) { return target instanceof getWindowOf(target).SVGElement && typeof target.getBBox === 'function'; };
  })();
  
  /**
   * Checks whether provided element is a document element (<html>).
   *
   * @param {Element} target - Element to be checked.
   * @returns {boolean}
   */
  function isDocumentElement(target) {
      return target === getWindowOf(target).document.documentElement;
  }
  
  /**
   * Calculates an appropriate content rectangle for provided html or svg element.
   *
   * @param {Element} target - Element content rectangle of which needs to be calculated.
   * @returns {DOMRectInit}
   */
  function getContentRect(target) {
      if (!isBrowser) {
          return emptyRect;
      }
  
      if (isSVGGraphicsElement(target)) {
          return getSVGContentRect(target);
      }
  
      return getHTMLElementContentRect(target);
  }
  
  /**
   * Creates rectangle with an interface of the DOMRectReadOnly.
   * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly
   *
   * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.
   * @returns {DOMRectReadOnly}
   */
  function createReadOnlyRect(ref) {
      var x = ref.x;
      var y = ref.y;
      var width = ref.width;
      var height = ref.height;
  
      // If DOMRectReadOnly is available use it as a prototype for the rectangle.
      var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;
      var rect = Object.create(Constr.prototype);
  
      // Rectangle's properties are not writable and non-enumerable.
      defineConfigurable(rect, {
          x: x, y: y, width: width, height: height,
          top: y,
          right: x + width,
          bottom: height + y,
          left: x
      });
  
      return rect;
  }
  
  /**
   * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.
   * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit
   *
   * @param {number} x - X coordinate.
   * @param {number} y - Y coordinate.
   * @param {number} width - Rectangle's width.
   * @param {number} height - Rectangle's height.
   * @returns {DOMRectInit}
   */
  function createRectInit(x, y, width, height) {
      return { x: x, y: y, width: width, height: height };
  }
  
  /**
   * Class that is responsible for computations of the content rectangle of
   * provided DOM element and for keeping track of it's changes.
   */
  var ResizeObservation = function(target) {
      this.broadcastWidth = 0;
      this.broadcastHeight = 0;
      this.contentRect_ = createRectInit(0, 0, 0, 0);
  
      this.target = target;
  };
  
  /**
   * Updates content rectangle and tells whether it's width or height properties
   * have changed since the last broadcast.
   *
   * @returns {boolean}
   */
  
  
  /**
   * Reference to the last observed content rectangle.
   *
   * @private {DOMRectInit}
   */
  
  
  /**
   * Broadcasted width of content rectangle.
   *
   * @type {number}
   */
  ResizeObservation.prototype.isActive = function () {
      var rect = getContentRect(this.target);
  
      this.contentRect_ = rect;
  
      return rect.width !== this.broadcastWidth || rect.height !== this.broadcastHeight;
  };
  
  /**
   * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data
   * from the corresponding properties of the last observed content rectangle.
   *
   * @returns {DOMRectInit} Last observed content rectangle.
   */
  ResizeObservation.prototype.broadcastRect = function () {
      var rect = this.contentRect_;
  
      this.broadcastWidth = rect.width;
      this.broadcastHeight = rect.height;
  
      return rect;
  };
  
  var ResizeObserverEntry = function(target, rectInit) {
      var contentRect = createReadOnlyRect(rectInit);
  
      // According to the specification following properties are not writable
      // and are also not enumerable in the native implementation.
      //
      // Property accessors are not being used as they'd require to define a
      // private WeakMap storage which may cause memory leaks in browsers that
      // don't support this type of collections.
      defineConfigurable(this, { target: target, contentRect: contentRect });
  };
  
  var ResizeObserverSPI = function(callback, controller, callbackCtx) {
      this.activeObservations_ = [];
      this.observations_ = new MapShim();
  
      if (typeof callback !== 'function') {
          throw new TypeError('The callback provided as parameter 1 is not a function.');
      }
  
      this.callback_ = callback;
      this.controller_ = controller;
      this.callbackCtx_ = callbackCtx;
  };
  
  /**
   * Starts observing provided element.
   *
   * @param {Element} target - Element to be observed.
   * @returns {void}
   */
  
  
  /**
   * Registry of the ResizeObservation instances.
   *
   * @private {Map<Element, ResizeObservation>}
   */
  
  
  /**
   * Public ResizeObserver instance which will be passed to the callback
   * function and used as a value of it's "this" binding.
   *
   * @private {ResizeObserver}
   */
  
  /**
   * Collection of resize observations that have detected changes in dimensions
   * of elements.
   *
   * @private {Array<ResizeObservation>}
   */
  ResizeObserverSPI.prototype.observe = function (target) {
      if (!arguments.length) {
          throw new TypeError('1 argument required, but only 0 present.');
      }
  
      // Do nothing if current environment doesn't have the Element interface.
      if (typeof Element === 'undefined' || !(Element instanceof Object)) {
          return;
      }
  
      if (!(target instanceof getWindowOf(target).Element)) {
          throw new TypeError('parameter 1 is not of type "Element".');
      }
  
      var observations = this.observations_;
  
      // Do nothing if element is already being observed.
      if (observations.has(target)) {
          return;
      }
  
      observations.set(target, new ResizeObservation(target));
  
      this.controller_.addObserver(this);
  
      // Force the update of observations.
      this.controller_.refresh();
  };
  
  /**
   * Stops observing provided element.
   *
   * @param {Element} target - Element to stop observing.
   * @returns {void}
   */
  ResizeObserverSPI.prototype.unobserve = function (target) {
      if (!arguments.length) {
          throw new TypeError('1 argument required, but only 0 present.');
      }
  
      // Do nothing if current environment doesn't have the Element interface.
      if (typeof Element === 'undefined' || !(Element instanceof Object)) {
          return;
      }
  
      if (!(target instanceof getWindowOf(target).Element)) {
          throw new TypeError('parameter 1 is not of type "Element".');
      }
  
      var observations = this.observations_;
  
      // Do nothing if element is not being observed.
      if (!observations.has(target)) {
          return;
      }
  
      observations.delete(target);
  
      if (!observations.size) {
          this.controller_.removeObserver(this);
      }
  };
  
  /**
   * Stops observing all elements.
   *
   * @returns {void}
   */
  ResizeObserverSPI.prototype.disconnect = function () {
      this.clearActive();
      this.observations_.clear();
      this.controller_.removeObserver(this);
  };
  
  /**
   * Collects observation instances the associated element of which has changed
   * it's content rectangle.
   *
   * @returns {void}
   */
  ResizeObserverSPI.prototype.gatherActive = function () {
          var this$1 = this;
  
      this.clearActive();
  
      this.observations_.forEach(function (observation) {
          if (observation.isActive()) {
              this$1.activeObservations_.push(observation);
          }
      });
  };
  
  /**
   * Invokes initial callback function with a list of ResizeObserverEntry
   * instances collected from active resize observations.
   *
   * @returns {void}
   */
  ResizeObserverSPI.prototype.broadcastActive = function () {
      // Do nothing if observer doesn't have active observations.
      if (!this.hasActive()) {
          return;
      }
  
      var ctx = this.callbackCtx_;
  
      // Create ResizeObserverEntry instance for every active observation.
      var entries = this.activeObservations_.map(function (observation) {
          return new ResizeObserverEntry(observation.target, observation.broadcastRect());
      });
  
      this.callback_.call(ctx, entries, ctx);
      this.clearActive();
  };
  
  /**
   * Clears the collection of active observations.
   *
   * @returns {void}
   */
  ResizeObserverSPI.prototype.clearActive = function () {
      this.activeObservations_.splice(0);
  };
  
  /**
   * Tells whether observer has active observations.
   *
   * @returns {boolean}
   */
  ResizeObserverSPI.prototype.hasActive = function () {
      return this.activeObservations_.length > 0;
  };
  
  // Registry of internal observers. If WeakMap is not available use current shim
  // for the Map collection as it has all required methods and because WeakMap
  // can't be fully polyfilled anyway.
  var observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();
  
  /**
   * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation
   * exposing only those methods and properties that are defined in the spec.
   */
  var ResizeObserver = function(callback) {
      if (!(this instanceof ResizeObserver)) {
          throw new TypeError('Cannot call a class as a function.');
      }
      if (!arguments.length) {
          throw new TypeError('1 argument required, but only 0 present.');
      }
  
      var controller = ResizeObserverController.getInstance();
      var observer = new ResizeObserverSPI(callback, controller, this);
  
      observers.set(this, observer);
  };
  
  // Expose public methods of ResizeObserver.
  ['observe', 'unobserve', 'disconnect'].forEach(function (method) {
      ResizeObserver.prototype[method] = function () {
          return (ref = observers.get(this))[method].apply(ref, arguments);
          var ref;
      };
  });
  
  var index = (function () {
      // Export existing implementation if available.
      if (typeof global$1.ResizeObserver !== 'undefined') {
          return global$1.ResizeObserver;
      }
  
      return ResizeObserver;
  })();
  
  /* harmony default export */ __webpack_exports__["default"] = (index);
  
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "../../node_modules/webpack/buildin/global.js")))
  
  /***/ }),
  
  /***/ "../../node_modules/shallowequal/index.js":
  /*!********************************************************************************!*\
    !*** /Users/bliashenko/Learning/codecrumbs/node_modules/shallowequal/index.js ***!
    \********************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports) {
  
  //
  
  module.exports = function shallowEqual(objA, objB, compare, compareContext) {
    var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
  
    if (ret !== void 0) {
      return !!ret;
    }
  
    if (objA === objB) {
      return true;
    }
  
    if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {
      return false;
    }
  
    var keysA = Object.keys(objA);
    var keysB = Object.keys(objB);
  
    if (keysA.length !== keysB.length) {
      return false;
    }
  
    var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
  
    // Test for A's keys different from B.
    for (var idx = 0; idx < keysA.length; idx++) {
      var key = keysA[idx];
  
      if (!bHasOwnProperty(key)) {
        return false;
      }
  
      var valueA = objA[key];
      var valueB = objB[key];
  
      ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
  
      if (ret === false || (ret === void 0 && valueA !== valueB)) {
        return false;
      }
    }
  
    return true;
  };
  
  
  /***/ })
  
  }]);
  //# sourceMappingURL=vendors~view-switches.bundle.js.map