Version Description
*Removed media page buttons
=
Download this release
Release Info
Developer | turcuciprian |
Plugin | reGenerate Thumbnails Advanced |
Version | 1.6.1.1 |
Comparing to | |
See all releases |
Code changes from version 1.6 to 1.6.1.1
- bundle.js +34 -124
- inc/rest.php +49 -27
- mediaRows.php +0 -12
- readme.txt +32 -6
- regenerate-thumbnails-advanced.php +1 -1
- screenshot-2.png +0 -0
- trunk/README.md +2 -0
- trunk/bundle.js +21116 -0
bundle.js
CHANGED
@@ -10629,7 +10629,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
10629 |
value: true
|
10630 |
});
|
10631 |
var setLoaderInfo = exports.setLoaderInfo = function setLoaderInfo(data) {
|
10632 |
-
|
10633 |
return {
|
10634 |
type: "CHANGE_LOADER_DATA",
|
10635 |
payload: data
|
@@ -77864,7 +77863,7 @@ exports = module.exports = __webpack_require__(147)(false);
|
|
77864 |
|
77865 |
|
77866 |
// module
|
77867 |
-
exports.push([module.i, "html {\n height: 100%;\n width: 100%;\n margin: 0px;\n padding: 0px; }\n html body {\n margin: 0px;\n padding: 0px;\n height: 100%;\n width: 100%;\n background-color: #dedede; }\n html body .btnStart {\n margin-top: 30px;\n margin-left: 30px; }\n html body .listContainer {\n margin-top: 30px;\n width: 100%; }\n html body .listContainer .statuslist {\n width: 50%;\n float: left; }\n html body .listContainer .statuslist ul {\n width: 100%;\n padding: 0;\n position: relative;\n float: left;\n margin-top: 2px;\n margin-bottom: 3px;\n overflow: hidden;\n border-radius: 10px;\n -moz-border-radius: 10px;\n -webkit-border-radius: 10px;\n border: 0px solid #dedede;\n -webkit-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.75);\n -moz-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.75);\n box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.75); }\n html body .listContainer .statuslist ul li {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 50%;\n margin: 0px;\n overflow: hidden;\n float: left;\n text-decoration: none;\n border-left: 1px solid #c3c3c3; }\n html body .listContainer .statuslist ul li.headLi {\n padding-right: 10px; }\n html body .listContainer .statuslist ul li.headLi:nth-child(n) {\n background-color: #e5f2fd; }\n html body .listContainer .statuslist ul li.headLi:nth-child(2n) {\n background-color: #b3d9fd; }\n html body .listContainer .statuslist ul li.headLi:nth-child(3n) {\n background-color: #85c4ff; }\n html body .listContainer .statuslist ul li:first-child {\n border-left: 0px; }\n html body .listContainer .statuslist ul li.contentLi {\n padding: 10px;\n min-height: 130px; }\n html body .listContainer .statuslist ul li.contentLi img {\n max-height: 100px;\n max-width: 150px; }\n html body .listContainer .statuslist .listTitle {\n font-weight: 900;\n color: black;\n margin-bottom: 10px; }\n html body #rtaContent .timeDropdown {\n padding: 10px; }\n", ""]);
|
77868 |
|
77869 |
// exports
|
77870 |
|
@@ -80205,8 +80204,6 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
|
80205 |
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__containers_loaderInfo_jsx__ = __webpack_require__(725);
|
80206 |
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__containers_progressTable_jsx__ = __webpack_require__(726);
|
80207 |
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__containers_timePeriod_jsx__ = __webpack_require__(727);
|
80208 |
-
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__containers_datePicker_jsx__ = __webpack_require__(728);
|
80209 |
-
|
80210 |
|
80211 |
|
80212 |
|
@@ -80220,16 +80217,19 @@ class FrontPage extends __WEBPACK_IMPORTED_MODULE_0_react__["Component"] {
|
|
80220 |
return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
80221 |
__WEBPACK_IMPORTED_MODULE_3_material_ui_styles_MuiThemeProvider___default.a,
|
80222 |
null,
|
80223 |
-
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__containers_progressBar_jsx__["a" /* default */], null),
|
80224 |
-
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__containers_loaderInfo_jsx__["a" /* default */], null),
|
80225 |
-
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6__containers_timePeriod_jsx__["a" /* default */], null),
|
80226 |
-
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__containers_datePicker_jsx__["a" /* default */], null),
|
80227 |
-
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__buttons_jsx__["a" /* default */], null),
|
80228 |
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
80229 |
"div",
|
80230 |
-
|
80231 |
-
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
80232 |
-
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80233 |
)
|
80234 |
);
|
80235 |
}
|
@@ -82409,9 +82409,6 @@ class RegenerateButton extends __WEBPACK_IMPORTED_MODULE_0_react__["Component"]
|
|
82409 |
}
|
82410 |
increaseOffset(tThis, dataSubmit, count) {
|
82411 |
var tThis = this;
|
82412 |
-
var dateStart;
|
82413 |
-
var dateFinish;
|
82414 |
-
dateStart = new Date().getTime();
|
82415 |
|
82416 |
__WEBPACK_IMPORTED_MODULE_5_axios___default.a.post(RTArestUrl, dataSubmit).then(function (response) {
|
82417 |
const _data = response.data;
|
@@ -82426,7 +82423,6 @@ class RegenerateButton extends __WEBPACK_IMPORTED_MODULE_0_react__["Component"]
|
|
82426 |
let newStoreData = [];
|
82427 |
if (tThis.props.statusInfo) {
|
82428 |
newStoreData = tThis.props.statusInfo;
|
82429 |
-
dateFinish = new Date().getTime();
|
82430 |
}
|
82431 |
|
82432 |
var actionInsert = {
|
@@ -82440,7 +82436,6 @@ class RegenerateButton extends __WEBPACK_IMPORTED_MODULE_0_react__["Component"]
|
|
82440 |
let newStoreDataErrors = [];
|
82441 |
if (tThis.props.errorInfo) {
|
82442 |
newStoreDataErrors = tThis.props.errorInfo;
|
82443 |
-
dateFinish = new Date().getTime();
|
82444 |
}
|
82445 |
|
82446 |
var actionInsert = {
|
@@ -82479,11 +82474,10 @@ class RegenerateButton extends __WEBPACK_IMPORTED_MODULE_0_react__["Component"]
|
|
82479 |
"period": tThis.props.loaderStatus.period ? tThis.props.loaderStatus.period : 0
|
82480 |
|
82481 |
};
|
82482 |
-
|
82483 |
var offset;
|
82484 |
__WEBPACK_IMPORTED_MODULE_5_axios___default.a.post(RTArestUrl, dataGeneral).then(function (response) {
|
82485 |
const _data = response.data;
|
82486 |
-
|
82487 |
if (_data) {
|
82488 |
count = _data.pCount;
|
82489 |
}
|
@@ -82493,8 +82487,11 @@ class RegenerateButton extends __WEBPACK_IMPORTED_MODULE_0_react__["Component"]
|
|
82493 |
period: tThis.props.loaderStatus.period
|
82494 |
|
82495 |
});
|
82496 |
-
if (count != 0) {
|
82497 |
tThis.increaseOffset(tThis, dataSubmit, count);
|
|
|
|
|
|
|
82498 |
}
|
82499 |
}).catch(function (error) {
|
82500 |
console.log(error);
|
@@ -82505,8 +82502,7 @@ class RegenerateButton extends __WEBPACK_IMPORTED_MODULE_0_react__["Component"]
|
|
82505 |
margin: 12
|
82506 |
};
|
82507 |
var buttonRegenerate = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("span", null);
|
82508 |
-
|
82509 |
-
if (this.props.loaderStatus.length == 0 || this.props.loaderStatus.total == this.props.loaderStatus.offset || typeof this.props.loaderStatus.total == 'undefined') {
|
82510 |
buttonRegenerate = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
82511 |
"span",
|
82512 |
null,
|
@@ -83563,6 +83559,7 @@ class TimePeriod extends __WEBPACK_IMPORTED_MODULE_0_react__["Component"] {
|
|
83563 |
offset: this.props.loaderStatus.offset,
|
83564 |
period: optionSelected
|
83565 |
};
|
|
|
83566 |
this.props.setLoaderInfo(newLoaderInfo);
|
83567 |
}
|
83568 |
render() {
|
@@ -83594,6 +83591,21 @@ class TimePeriod extends __WEBPACK_IMPORTED_MODULE_0_react__["Component"] {
|
|
83594 |
"option",
|
83595 |
{ value: "3" },
|
83596 |
"Past Month"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83597 |
)
|
83598 |
)
|
83599 |
);
|
@@ -83622,107 +83634,5 @@ function matchDispatchToProps(dispatch) {
|
|
83622 |
}
|
83623 |
/* harmony default export */ __webpack_exports__["a"] = (Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__["connect"])(mapStateToProps, matchDispatchToProps)(TimePeriod));
|
83624 |
|
83625 |
-
/***/ }),
|
83626 |
-
/* 728 */
|
83627 |
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
83628 |
-
|
83629 |
-
"use strict";
|
83630 |
-
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
|
83631 |
-
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
|
83632 |
-
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_material_ui_DatePicker__ = __webpack_require__(379);
|
83633 |
-
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_material_ui_DatePicker___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_material_ui_DatePicker__);
|
83634 |
-
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Toggle__ = __webpack_require__(488);
|
83635 |
-
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Toggle___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_Toggle__);
|
83636 |
-
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_redux__ = __webpack_require__(59);
|
83637 |
-
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_redux__ = __webpack_require__(71);
|
83638 |
-
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react_redux__);
|
83639 |
-
|
83640 |
-
|
83641 |
-
|
83642 |
-
|
83643 |
-
|
83644 |
-
|
83645 |
-
const optionsStyle = {
|
83646 |
-
maxWidth: 255,
|
83647 |
-
marginRight: 'auto'
|
83648 |
-
};
|
83649 |
-
|
83650 |
-
/**
|
83651 |
-
* This example allows you to set a date range, and to toggle `autoOk`, and `disableYearSelection`.
|
83652 |
-
*/
|
83653 |
-
class DatePickerCont extends __WEBPACK_IMPORTED_MODULE_0_react___default.a.Component {
|
83654 |
-
constructor(props) {
|
83655 |
-
super(props);
|
83656 |
-
|
83657 |
-
const minDate = new Date();
|
83658 |
-
const maxDate = new Date();
|
83659 |
-
minDate.setFullYear(minDate.getFullYear() - 1);
|
83660 |
-
minDate.setHours(0, 0, 0, 0);
|
83661 |
-
maxDate.setFullYear(maxDate.getFullYear() + 1);
|
83662 |
-
maxDate.setHours(0, 0, 0, 0);
|
83663 |
-
|
83664 |
-
this.state = {
|
83665 |
-
minDate: minDate,
|
83666 |
-
maxDate: maxDate,
|
83667 |
-
autoOk: false,
|
83668 |
-
disableYearSelection: false
|
83669 |
-
};
|
83670 |
-
}
|
83671 |
-
|
83672 |
-
handleChangeMinDate(event, date) {
|
83673 |
-
this.setState({
|
83674 |
-
minDate: date
|
83675 |
-
});
|
83676 |
-
}
|
83677 |
-
|
83678 |
-
handleChangeMaxDate(event, date) {
|
83679 |
-
this.setState({
|
83680 |
-
maxDate: date
|
83681 |
-
});
|
83682 |
-
}
|
83683 |
-
|
83684 |
-
handleToggle(event, toggled) {
|
83685 |
-
this.setState({
|
83686 |
-
[event.target.name]: toggled
|
83687 |
-
});
|
83688 |
-
}
|
83689 |
-
|
83690 |
-
render() {
|
83691 |
-
if (this.props.loaderStatus.period == "4") {
|
83692 |
-
return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
83693 |
-
'div',
|
83694 |
-
null,
|
83695 |
-
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
83696 |
-
'div',
|
83697 |
-
{ style: optionsStyle },
|
83698 |
-
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_DatePicker___default.a, {
|
83699 |
-
onChange: this.handleChangeMinDate,
|
83700 |
-
autoOk: this.state.autoOk,
|
83701 |
-
floatingLabelText: 'Min Date',
|
83702 |
-
defaultDate: this.state.minDate,
|
83703 |
-
disableYearSelection: this.state.disableYearSelection
|
83704 |
-
}),
|
83705 |
-
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_DatePicker___default.a, {
|
83706 |
-
onChange: this.handleChangeMaxDate,
|
83707 |
-
autoOk: this.state.autoOk,
|
83708 |
-
floatingLabelText: 'Max Date',
|
83709 |
-
defaultDate: this.state.maxDate,
|
83710 |
-
disableYearSelection: this.state.disableYearSelection
|
83711 |
-
})
|
83712 |
-
)
|
83713 |
-
);
|
83714 |
-
} else {
|
83715 |
-
return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span', null);
|
83716 |
-
}
|
83717 |
-
}
|
83718 |
-
}
|
83719 |
-
function mapStateToProps(state) {
|
83720 |
-
return {
|
83721 |
-
loaderStatus: state.loaderStatus
|
83722 |
-
};
|
83723 |
-
}
|
83724 |
-
|
83725 |
-
/* harmony default export */ __webpack_exports__["a"] = (Object(__WEBPACK_IMPORTED_MODULE_4_react_redux__["connect"])(mapStateToProps)(DatePickerCont));
|
83726 |
-
|
83727 |
/***/ })
|
83728 |
/******/ ]);
|
10629 |
value: true
|
10630 |
});
|
10631 |
var setLoaderInfo = exports.setLoaderInfo = function setLoaderInfo(data) {
|
|
|
10632 |
return {
|
10633 |
type: "CHANGE_LOADER_DATA",
|
10634 |
payload: data
|
77863 |
|
77864 |
|
77865 |
// module
|
77866 |
+
exports.push([module.i, "html {\n height: 100%;\n width: 100%;\n margin: 0px;\n padding: 0px; }\n html body {\n margin: 0px;\n padding: 0px;\n height: 100%;\n width: 100%;\n background-color: #dedede; }\n html body .btnStart {\n margin-top: 30px;\n margin-left: 30px; }\n html body .listContainer {\n margin-top: 30px;\n width: 100%; }\n html body .listContainer .statuslist {\n width: 50%;\n float: left; }\n html body .listContainer .statuslist ul {\n width: 100%;\n padding: 0;\n position: relative;\n float: left;\n margin-top: 2px;\n margin-bottom: 3px;\n overflow: hidden;\n border-radius: 10px;\n -moz-border-radius: 10px;\n -webkit-border-radius: 10px;\n border: 0px solid #dedede;\n -webkit-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.75);\n -moz-box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.75);\n box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.75); }\n html body .listContainer .statuslist ul li {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 50%;\n margin: 0px;\n overflow: hidden;\n float: left;\n text-decoration: none;\n border-left: 1px solid #c3c3c3; }\n html body .listContainer .statuslist ul li.headLi {\n padding-right: 10px; }\n html body .listContainer .statuslist ul li.headLi:nth-child(n) {\n background-color: #e5f2fd; }\n html body .listContainer .statuslist ul li.headLi:nth-child(2n) {\n background-color: #b3d9fd; }\n html body .listContainer .statuslist ul li.headLi:nth-child(3n) {\n background-color: #85c4ff; }\n html body .listContainer .statuslist ul li:first-child {\n border-left: 0px; }\n html body .listContainer .statuslist ul li.contentLi {\n padding: 10px;\n min-height: 130px; }\n html body .listContainer .statuslist ul li.contentLi img {\n max-height: 100px;\n max-width: 150px; }\n html body .listContainer .statuslist .listTitle {\n font-weight: 900;\n color: black;\n margin-bottom: 10px; }\n html body #rtaContent .timeDropdown {\n padding: 10px; }\n html body #rtaContent .pickDate {\n padding: 10px;\n display: inline-block; }\n", ""]);
|
77867 |
|
77868 |
// exports
|
77869 |
|
80204 |
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__containers_loaderInfo_jsx__ = __webpack_require__(725);
|
80205 |
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__containers_progressTable_jsx__ = __webpack_require__(726);
|
80206 |
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__containers_timePeriod_jsx__ = __webpack_require__(727);
|
|
|
|
|
80207 |
|
80208 |
|
80209 |
|
80217 |
return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
80218 |
__WEBPACK_IMPORTED_MODULE_3_material_ui_styles_MuiThemeProvider___default.a,
|
80219 |
null,
|
|
|
|
|
|
|
|
|
|
|
80220 |
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
80221 |
"div",
|
80222 |
+
null,
|
80223 |
+
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__containers_progressBar_jsx__["a" /* default */], null),
|
80224 |
+
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__containers_loaderInfo_jsx__["a" /* default */], null),
|
80225 |
+
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6__containers_timePeriod_jsx__["a" /* default */], null),
|
80226 |
+
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__buttons_jsx__["a" /* default */], null),
|
80227 |
+
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
80228 |
+
"div",
|
80229 |
+
{ className: "listContainer row" },
|
80230 |
+
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__containers_progressTable_jsx__["a" /* default */], { type: "status" }),
|
80231 |
+
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__containers_progressTable_jsx__["a" /* default */], { type: "error" })
|
80232 |
+
)
|
80233 |
)
|
80234 |
);
|
80235 |
}
|
82409 |
}
|
82410 |
increaseOffset(tThis, dataSubmit, count) {
|
82411 |
var tThis = this;
|
|
|
|
|
|
|
82412 |
|
82413 |
__WEBPACK_IMPORTED_MODULE_5_axios___default.a.post(RTArestUrl, dataSubmit).then(function (response) {
|
82414 |
const _data = response.data;
|
82423 |
let newStoreData = [];
|
82424 |
if (tThis.props.statusInfo) {
|
82425 |
newStoreData = tThis.props.statusInfo;
|
|
|
82426 |
}
|
82427 |
|
82428 |
var actionInsert = {
|
82436 |
let newStoreDataErrors = [];
|
82437 |
if (tThis.props.errorInfo) {
|
82438 |
newStoreDataErrors = tThis.props.errorInfo;
|
|
|
82439 |
}
|
82440 |
|
82441 |
var actionInsert = {
|
82474 |
"period": tThis.props.loaderStatus.period ? tThis.props.loaderStatus.period : 0
|
82475 |
|
82476 |
};
|
82477 |
+
let count = 0;
|
82478 |
var offset;
|
82479 |
__WEBPACK_IMPORTED_MODULE_5_axios___default.a.post(RTArestUrl, dataGeneral).then(function (response) {
|
82480 |
const _data = response.data;
|
|
|
82481 |
if (_data) {
|
82482 |
count = _data.pCount;
|
82483 |
}
|
82487 |
period: tThis.props.loaderStatus.period
|
82488 |
|
82489 |
});
|
82490 |
+
if (count != 0 && count) {
|
82491 |
tThis.increaseOffset(tThis, dataSubmit, count);
|
82492 |
+
} else {
|
82493 |
+
tThis.props.setErrorInfo([{ imgUrl: 'ERROR', status: 'no Images to process' }]);
|
82494 |
+
tThis.props.setLoaderInfo([]);
|
82495 |
}
|
82496 |
}).catch(function (error) {
|
82497 |
console.log(error);
|
82502 |
margin: 12
|
82503 |
};
|
82504 |
var buttonRegenerate = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("span", null);
|
82505 |
+
if (this.props.loaderStatus.length == 0 || this.props.loaderStatus.total == this.props.loaderStatus.offset || typeof this.props.loaderStatus.total == 'NaN') {
|
|
|
82506 |
buttonRegenerate = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
82507 |
"span",
|
82508 |
null,
|
83559 |
offset: this.props.loaderStatus.offset,
|
83560 |
period: optionSelected
|
83561 |
};
|
83562 |
+
|
83563 |
this.props.setLoaderInfo(newLoaderInfo);
|
83564 |
}
|
83565 |
render() {
|
83591 |
"option",
|
83592 |
{ value: "3" },
|
83593 |
"Past Month"
|
83594 |
+
),
|
83595 |
+
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
83596 |
+
"option",
|
83597 |
+
{ value: "4" },
|
83598 |
+
"Past 3 Months"
|
83599 |
+
),
|
83600 |
+
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
83601 |
+
"option",
|
83602 |
+
{ value: "5" },
|
83603 |
+
"Past 6 Months"
|
83604 |
+
),
|
83605 |
+
__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
|
83606 |
+
"option",
|
83607 |
+
{ value: "6" },
|
83608 |
+
"Past Year"
|
83609 |
)
|
83610 |
)
|
83611 |
);
|
83634 |
}
|
83635 |
/* harmony default export */ __webpack_exports__["a"] = (Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__["connect"])(mapStateToProps, matchDispatchToProps)(TimePeriod));
|
83636 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83637 |
/***/ })
|
83638 |
/******/ ]);
|
inc/rest.php
CHANGED
@@ -1,13 +1,5 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
4 |
-
function xmy_customize_rest_cors() {
|
5 |
-
remove_filter( 'rest_pre_serve_request', 'rest_send_cors_headers' );
|
6 |
-
header( 'Access-Control-Allow-Origin: *' );
|
7 |
-
header( 'Access-Control-Allow-Methods: POST, GET, OPTIONS' );
|
8 |
-
header( 'Access-Control-Allow-Credentials: true' );
|
9 |
-
header( 'Access-Control-Expose-Headers: Link', false );
|
10 |
-
}
|
11 |
|
12 |
$rtaRESTObj = new rtaREST();
|
13 |
class rtaREST
|
@@ -66,9 +58,24 @@ class rtaREST
|
|
66 |
$endDate = date("d/m/Y",strtotime('-'.$date));
|
67 |
$args['date_query'] = array('after' => '1 month ago', 'before' => 'tomorrow');
|
68 |
break;
|
69 |
-
|
70 |
-
$date =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
}
|
73 |
}
|
74 |
$the_query = new WP_Query($args);
|
@@ -120,26 +127,41 @@ class rtaREST
|
|
120 |
case '0':
|
121 |
break;
|
122 |
case '1':
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
break;
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
break;
|
140 |
case '4':
|
141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
}
|
144 |
}
|
145 |
|
1 |
<?php
|
2 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
$rtaRESTObj = new rtaREST();
|
5 |
class rtaREST
|
58 |
$endDate = date("d/m/Y",strtotime('-'.$date));
|
59 |
$args['date_query'] = array('after' => '1 month ago', 'before' => 'tomorrow');
|
60 |
break;
|
61 |
+
case '4':
|
62 |
+
$date = '-3 month';
|
63 |
+
$startDate = date("d/m/Y",strtotime($date));
|
64 |
+
$endDate = date("d/m/Y",strtotime('-'.$date));
|
65 |
+
$args['date_query'] = array('after' => '3 months ago', 'before' => 'tomorrow');
|
66 |
+
break;
|
67 |
+
case '5':
|
68 |
+
$date = '-6 month';
|
69 |
+
$startDate = date("d/m/Y",strtotime($date));
|
70 |
+
$endDate = date("d/m/Y",strtotime('-'.$date));
|
71 |
+
$args['date_query'] = array('after' => '6 months ago', 'before' => 'tomorrow');
|
72 |
break;
|
73 |
+
case '6':
|
74 |
+
$date = '-1 year';
|
75 |
+
$startDate = date("d/m/Y",strtotime($date));
|
76 |
+
$endDate = date("d/m/Y",strtotime('-'.$date));
|
77 |
+
$args['date_query'] = array('after' => '1 year ago', 'before' => 'tomorrow');
|
78 |
+
break;
|
79 |
}
|
80 |
}
|
81 |
$the_query = new WP_Query($args);
|
127 |
case '0':
|
128 |
break;
|
129 |
case '1':
|
130 |
+
$date = '-1 day';
|
131 |
+
$startDate = date("d/m/Y",strtotime($date));
|
132 |
+
$endDate = date("d/m/Y",strtotime('-'.$date));
|
133 |
+
$args['date_query'] = array('after' => '1 day ago', 'before' => 'tomorrow');
|
134 |
+
break;
|
135 |
+
case '2':
|
136 |
+
$date = '-1 week';
|
137 |
+
$startDate = date("d/m/Y",strtotime($date));
|
138 |
+
$endDate = date("d/m/Y",strtotime('-'.$date));
|
139 |
+
$args['date_query'] = array('after' => '1 week ago', 'before' => 'tomorrow');
|
140 |
break;
|
141 |
+
case '3':
|
142 |
+
$date = '-1 month';
|
143 |
+
$startDate = date("d/m/Y",strtotime($date));
|
144 |
+
$endDate = date("d/m/Y",strtotime('-'.$date));
|
145 |
+
$args['date_query'] = array('after' => '1 month ago', 'before' => 'tomorrow');
|
146 |
break;
|
147 |
case '4':
|
148 |
+
$date = '-3 month';
|
149 |
+
$startDate = date("d/m/Y",strtotime($date));
|
150 |
+
$endDate = date("d/m/Y",strtotime('-'.$date));
|
151 |
+
$args['date_query'] = array('after' => '3 months ago', 'before' => 'tomorrow');
|
152 |
+
break;
|
153 |
+
case '5':
|
154 |
+
$date = '-6 month';
|
155 |
+
$startDate = date("d/m/Y",strtotime($date));
|
156 |
+
$endDate = date("d/m/Y",strtotime('-'.$date));
|
157 |
+
$args['date_query'] = array('after' => '6 months ago', 'before' => 'tomorrow');
|
158 |
break;
|
159 |
+
case '6':
|
160 |
+
$date = '-1 year';
|
161 |
+
$startDate = date("d/m/Y",strtotime($date));
|
162 |
+
$endDate = date("d/m/Y",strtotime('-'.$date));
|
163 |
+
$args['date_query'] = array('after' => '1 year ago', 'before' => 'tomorrow');
|
164 |
+
break;
|
165 |
}
|
166 |
}
|
167 |
|
mediaRows.php
CHANGED
@@ -9,23 +9,11 @@ class mediaPageRTA
|
|
9 |
$this->capability = apply_filters('regenerate_thumbs_cap', 'manage_options');
|
10 |
|
11 |
//hook to the rows of the media page
|
12 |
-
add_filter('media_row_actions', array($this, 'addToMediaRow'), 10, 2);
|
13 |
add_action('admin_footer', array($this, 'admin_footer'), 10, 2);
|
14 |
}
|
15 |
//
|
16 |
//add an extra element to the media rows
|
17 |
//
|
18 |
-
|
19 |
-
//if the media type is not an image, don't add the element
|
20 |
-
public function addToMediaRow($actions, $post)
|
21 |
-
{
|
22 |
-
if ('image/' != substr($post->post_mime_type, 0, 6) || !current_user_can($this->capability)) {
|
23 |
-
return $actions;
|
24 |
-
}
|
25 |
-
$actions['regenerate_thumbnails'] = '<button type="button" class="rtaMediaRow" imgID="'.$post->ID.'">'.__('Regenerate Thumbnails', 'rta').'</button>';
|
26 |
-
|
27 |
-
return $actions;
|
28 |
-
}
|
29 |
public function admin_footer()
|
30 |
{
|
31 |
?>
|
9 |
$this->capability = apply_filters('regenerate_thumbs_cap', 'manage_options');
|
10 |
|
11 |
//hook to the rows of the media page
|
|
|
12 |
add_action('admin_footer', array($this, 'admin_footer'), 10, 2);
|
13 |
}
|
14 |
//
|
15 |
//add an extra element to the media rows
|
16 |
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
public function admin_footer()
|
18 |
{
|
19 |
?>
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== reGenerate Thumbnails Advanced ===
|
2 |
-
Contributors: turcuciprian
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MU4RJNNF74QKY
|
4 |
Tags: thumbnail, thumbnails, regenerate , easy, day, week, month, advanced, easy, intuitive, media, oneclick, singleclick, image, images, pdf
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 4.9.5
|
7 |
-
Stable tag: 1.6
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -53,8 +53,6 @@ The script stops, it does not run in the background
|
|
53 |
|
54 |
1. The plugin page where it all happens
|
55 |
2. View of the dropdown options
|
56 |
-
3. Where you find everything
|
57 |
-
4. From - To (between dates) Option
|
58 |
|
59 |
== Changelog ==
|
60 |
|
@@ -171,12 +169,27 @@ Fixed a javascript bug, made it work again, as it wasn't before. Removed the "pl
|
|
171 |
= 1.5.2.3 =
|
172 |
Fixed a php version incompatibility bug
|
173 |
|
174 |
-
= 1.6 =
|
175 |
-
|
176 |
* brand new interface built entirely on React with redux
|
177 |
* You can view miniature versions of the images in the regenerated visible results
|
178 |
* Removed donate button
|
179 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
== Upgrade Notice ==
|
181 |
|
182 |
= 1.4.2.1 =
|
@@ -302,3 +315,16 @@ nothing effected in db
|
|
302 |
|
303 |
= 1.6 =
|
304 |
nothing effected in db. It's safe to update
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
=== reGenerate Thumbnails Advanced ===
|
2 |
+
Contributors: ioanachichernea, turcuciprian
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MU4RJNNF74QKY
|
4 |
Tags: thumbnail, thumbnails, regenerate , easy, day, week, month, advanced, easy, intuitive, media, oneclick, singleclick, image, images, pdf
|
5 |
Requires at least: 4.0
|
6 |
Tested up to: 4.9.5
|
7 |
+
Stable tag: 1.6.1.1
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
53 |
|
54 |
1. The plugin page where it all happens
|
55 |
2. View of the dropdown options
|
|
|
|
|
56 |
|
57 |
== Changelog ==
|
58 |
|
169 |
= 1.5.2.3 =
|
170 |
Fixed a php version incompatibility bug
|
171 |
|
172 |
+
= 1.6 =
|
|
|
173 |
* brand new interface built entirely on React with redux
|
174 |
* You can view miniature versions of the images in the regenerated visible results
|
175 |
* Removed donate button
|
176 |
|
177 |
+
= 1.6.0.1 =
|
178 |
+
Important CORS dev mode removal fix
|
179 |
+
|
180 |
+
= 1.6.0.2 =
|
181 |
+
Console error fix
|
182 |
+
|
183 |
+
= 1.6.1 =
|
184 |
+
* Past day fix
|
185 |
+
* Added past 3 months
|
186 |
+
* Added past 6 months
|
187 |
+
* Added past 1 year
|
188 |
+
|
189 |
+
= 1.6.1.1 =
|
190 |
+
*Removed media page buttons
|
191 |
+
|
192 |
+
|
193 |
== Upgrade Notice ==
|
194 |
|
195 |
= 1.4.2.1 =
|
315 |
|
316 |
= 1.6 =
|
317 |
nothing effected in db. It's safe to update
|
318 |
+
|
319 |
+
= 1.6.0.1 =
|
320 |
+
nothing effected in db. It's safe to update
|
321 |
+
|
322 |
+
= 1.6.0.2 =
|
323 |
+
nothing effected in db. It's safe to update
|
324 |
+
|
325 |
+
= 1.6.1 =
|
326 |
+
nothing effected in db. It's safe to update
|
327 |
+
|
328 |
+
= 1.6.1.1 =
|
329 |
+
nothing effected in db. It's safe to update
|
330 |
+
|
regenerate-thumbnails-advanced.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: reGenerate Thumbnails - advanced
|
4 |
Plugin URI: http://ciprianturcu.com
|
5 |
Description: A plugin that makes regenerating thumbnails even easier than before and more flexible.
|
6 |
-
Version: 1.6
|
7 |
Author: turcuciprian
|
8 |
Author URI: http://ciprianturcu.com
|
9 |
License: GPLv2 or later
|
3 |
Plugin Name: reGenerate Thumbnails - advanced
|
4 |
Plugin URI: http://ciprianturcu.com
|
5 |
Description: A plugin that makes regenerating thumbnails even easier than before and more flexible.
|
6 |
+
Version: 1.6.1
|
7 |
Author: turcuciprian
|
8 |
Author URI: http://ciprianturcu.com
|
9 |
License: GPLv2 or later
|
screenshot-2.png
ADDED
Binary file
|
trunk/README.md
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
# regenerate-thumbnails-advanced
|
2 |
+
Generates Thumbnails for the old uploaded images according to the theme required image sizes - advanced functionality
|
trunk/bundle.js
ADDED
@@ -0,0 +1,83638 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/******/ (function(modules) { // webpackBootstrap
|
2 |
+
/******/ // The module cache
|
3 |
+
/******/ var installedModules = {};
|
4 |
+
/******/
|
5 |
+
/******/ // The require function
|
6 |
+
/******/ function __webpack_require__(moduleId) {
|
7 |
+
/******/
|
8 |
+
/******/ // Check if module is in cache
|
9 |
+
/******/ if(installedModules[moduleId]) {
|
10 |
+
/******/ return installedModules[moduleId].exports;
|
11 |
+
/******/ }
|
12 |
+
/******/ // Create a new module (and put it into the cache)
|
13 |
+
/******/ var module = installedModules[moduleId] = {
|
14 |
+
/******/ i: moduleId,
|
15 |
+
/******/ l: false,
|
16 |
+
/******/ exports: {}
|
17 |
+
/******/ };
|
18 |
+
/******/
|
19 |
+
/******/ // Execute the module function
|
20 |
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
21 |
+
/******/
|
22 |
+
/******/ // Flag the module as loaded
|
23 |
+
/******/ module.l = true;
|
24 |
+
/******/
|
25 |
+
/******/ // Return the exports of the module
|
26 |
+
/******/ return module.exports;
|
27 |
+
/******/ }
|
28 |
+
/******/
|
29 |
+
/******/
|
30 |
+
/******/ // expose the modules object (__webpack_modules__)
|
31 |
+
/******/ __webpack_require__.m = modules;
|
32 |
+
/******/
|
33 |
+
/******/ // expose the module cache
|
34 |
+
/******/ __webpack_require__.c = installedModules;
|
35 |
+
/******/
|
36 |
+
/******/ // define getter function for harmony exports
|
37 |
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
38 |
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
39 |
+
/******/ Object.defineProperty(exports, name, {
|
40 |
+
/******/ configurable: false,
|
41 |
+
/******/ enumerable: true,
|
42 |
+
/******/ get: getter
|
43 |
+
/******/ });
|
44 |
+
/******/ }
|
45 |
+
/******/ };
|
46 |
+
/******/
|
47 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
48 |
+
/******/ __webpack_require__.n = function(module) {
|
49 |
+
/******/ var getter = module && module.__esModule ?
|
50 |
+
/******/ function getDefault() { return module['default']; } :
|
51 |
+
/******/ function getModuleExports() { return module; };
|
52 |
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
53 |
+
/******/ return getter;
|
54 |
+
/******/ };
|
55 |
+
/******/
|
56 |
+
/******/ // Object.prototype.hasOwnProperty.call
|
57 |
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
58 |
+
/******/
|
59 |
+
/******/ // __webpack_public_path__
|
60 |
+
/******/ __webpack_require__.p = "";
|
61 |
+
/******/
|
62 |
+
/******/ // Load entry module and return exports
|
63 |
+
/******/ return __webpack_require__(__webpack_require__.s = 263);
|
64 |
+
/******/ })
|
65 |
+
/************************************************************************/
|
66 |
+
/******/ ([
|
67 |
+
/* 0 */
|
68 |
+
/***/ (function(module, exports, __webpack_require__) {
|
69 |
+
|
70 |
+
"use strict";
|
71 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
72 |
+
|
73 |
+
if (process.env.NODE_ENV === 'production') {
|
74 |
+
module.exports = __webpack_require__(315);
|
75 |
+
} else {
|
76 |
+
module.exports = __webpack_require__(316);
|
77 |
+
}
|
78 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
79 |
+
|
80 |
+
/***/ }),
|
81 |
+
/* 1 */
|
82 |
+
/***/ (function(module, exports) {
|
83 |
+
|
84 |
+
// shim for using process in browser
|
85 |
+
var process = module.exports = {};
|
86 |
+
|
87 |
+
// cached from whatever global is present so that test runners that stub it
|
88 |
+
// don't break things. But we need to wrap it in a try catch in case it is
|
89 |
+
// wrapped in strict mode code which doesn't define any globals. It's inside a
|
90 |
+
// function because try/catches deoptimize in certain engines.
|
91 |
+
|
92 |
+
var cachedSetTimeout;
|
93 |
+
var cachedClearTimeout;
|
94 |
+
|
95 |
+
function defaultSetTimout() {
|
96 |
+
throw new Error('setTimeout has not been defined');
|
97 |
+
}
|
98 |
+
function defaultClearTimeout() {
|
99 |
+
throw new Error('clearTimeout has not been defined');
|
100 |
+
}
|
101 |
+
(function () {
|
102 |
+
try {
|
103 |
+
if (typeof setTimeout === 'function') {
|
104 |
+
cachedSetTimeout = setTimeout;
|
105 |
+
} else {
|
106 |
+
cachedSetTimeout = defaultSetTimout;
|
107 |
+
}
|
108 |
+
} catch (e) {
|
109 |
+
cachedSetTimeout = defaultSetTimout;
|
110 |
+
}
|
111 |
+
try {
|
112 |
+
if (typeof clearTimeout === 'function') {
|
113 |
+
cachedClearTimeout = clearTimeout;
|
114 |
+
} else {
|
115 |
+
cachedClearTimeout = defaultClearTimeout;
|
116 |
+
}
|
117 |
+
} catch (e) {
|
118 |
+
cachedClearTimeout = defaultClearTimeout;
|
119 |
+
}
|
120 |
+
})();
|
121 |
+
function runTimeout(fun) {
|
122 |
+
if (cachedSetTimeout === setTimeout) {
|
123 |
+
//normal enviroments in sane situations
|
124 |
+
return setTimeout(fun, 0);
|
125 |
+
}
|
126 |
+
// if setTimeout wasn't available but was latter defined
|
127 |
+
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
|
128 |
+
cachedSetTimeout = setTimeout;
|
129 |
+
return setTimeout(fun, 0);
|
130 |
+
}
|
131 |
+
try {
|
132 |
+
// when when somebody has screwed with setTimeout but no I.E. maddness
|
133 |
+
return cachedSetTimeout(fun, 0);
|
134 |
+
} catch (e) {
|
135 |
+
try {
|
136 |
+
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
137 |
+
return cachedSetTimeout.call(null, fun, 0);
|
138 |
+
} catch (e) {
|
139 |
+
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
|
140 |
+
return cachedSetTimeout.call(this, fun, 0);
|
141 |
+
}
|
142 |
+
}
|
143 |
+
}
|
144 |
+
function runClearTimeout(marker) {
|
145 |
+
if (cachedClearTimeout === clearTimeout) {
|
146 |
+
//normal enviroments in sane situations
|
147 |
+
return clearTimeout(marker);
|
148 |
+
}
|
149 |
+
// if clearTimeout wasn't available but was latter defined
|
150 |
+
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
|
151 |
+
cachedClearTimeout = clearTimeout;
|
152 |
+
return clearTimeout(marker);
|
153 |
+
}
|
154 |
+
try {
|
155 |
+
// when when somebody has screwed with setTimeout but no I.E. maddness
|
156 |
+
return cachedClearTimeout(marker);
|
157 |
+
} catch (e) {
|
158 |
+
try {
|
159 |
+
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
160 |
+
return cachedClearTimeout.call(null, marker);
|
161 |
+
} catch (e) {
|
162 |
+
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
|
163 |
+
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
|
164 |
+
return cachedClearTimeout.call(this, marker);
|
165 |
+
}
|
166 |
+
}
|
167 |
+
}
|
168 |
+
var queue = [];
|
169 |
+
var draining = false;
|
170 |
+
var currentQueue;
|
171 |
+
var queueIndex = -1;
|
172 |
+
|
173 |
+
function cleanUpNextTick() {
|
174 |
+
if (!draining || !currentQueue) {
|
175 |
+
return;
|
176 |
+
}
|
177 |
+
draining = false;
|
178 |
+
if (currentQueue.length) {
|
179 |
+
queue = currentQueue.concat(queue);
|
180 |
+
} else {
|
181 |
+
queueIndex = -1;
|
182 |
+
}
|
183 |
+
if (queue.length) {
|
184 |
+
drainQueue();
|
185 |
+
}
|
186 |
+
}
|
187 |
+
|
188 |
+
function drainQueue() {
|
189 |
+
if (draining) {
|
190 |
+
return;
|
191 |
+
}
|
192 |
+
var timeout = runTimeout(cleanUpNextTick);
|
193 |
+
draining = true;
|
194 |
+
|
195 |
+
var len = queue.length;
|
196 |
+
while (len) {
|
197 |
+
currentQueue = queue;
|
198 |
+
queue = [];
|
199 |
+
while (++queueIndex < len) {
|
200 |
+
if (currentQueue) {
|
201 |
+
currentQueue[queueIndex].run();
|
202 |
+
}
|
203 |
+
}
|
204 |
+
queueIndex = -1;
|
205 |
+
len = queue.length;
|
206 |
+
}
|
207 |
+
currentQueue = null;
|
208 |
+
draining = false;
|
209 |
+
runClearTimeout(timeout);
|
210 |
+
}
|
211 |
+
|
212 |
+
process.nextTick = function (fun) {
|
213 |
+
var args = new Array(arguments.length - 1);
|
214 |
+
if (arguments.length > 1) {
|
215 |
+
for (var i = 1; i < arguments.length; i++) {
|
216 |
+
args[i - 1] = arguments[i];
|
217 |
+
}
|
218 |
+
}
|
219 |
+
queue.push(new Item(fun, args));
|
220 |
+
if (queue.length === 1 && !draining) {
|
221 |
+
runTimeout(drainQueue);
|
222 |
+
}
|
223 |
+
};
|
224 |
+
|
225 |
+
// v8 likes predictible objects
|
226 |
+
function Item(fun, array) {
|
227 |
+
this.fun = fun;
|
228 |
+
this.array = array;
|
229 |
+
}
|
230 |
+
Item.prototype.run = function () {
|
231 |
+
this.fun.apply(null, this.array);
|
232 |
+
};
|
233 |
+
process.title = 'browser';
|
234 |
+
process.browser = true;
|
235 |
+
process.env = {};
|
236 |
+
process.argv = [];
|
237 |
+
process.version = ''; // empty string to avoid regexp issues
|
238 |
+
process.versions = {};
|
239 |
+
|
240 |
+
function noop() {}
|
241 |
+
|
242 |
+
process.on = noop;
|
243 |
+
process.addListener = noop;
|
244 |
+
process.once = noop;
|
245 |
+
process.off = noop;
|
246 |
+
process.removeListener = noop;
|
247 |
+
process.removeAllListeners = noop;
|
248 |
+
process.emit = noop;
|
249 |
+
process.prependListener = noop;
|
250 |
+
process.prependOnceListener = noop;
|
251 |
+
|
252 |
+
process.listeners = function (name) {
|
253 |
+
return [];
|
254 |
+
};
|
255 |
+
|
256 |
+
process.binding = function (name) {
|
257 |
+
throw new Error('process.binding is not supported');
|
258 |
+
};
|
259 |
+
|
260 |
+
process.cwd = function () {
|
261 |
+
return '/';
|
262 |
+
};
|
263 |
+
process.chdir = function (dir) {
|
264 |
+
throw new Error('process.chdir is not supported');
|
265 |
+
};
|
266 |
+
process.umask = function () {
|
267 |
+
return 0;
|
268 |
+
};
|
269 |
+
|
270 |
+
/***/ }),
|
271 |
+
/* 2 */
|
272 |
+
/***/ (function(module, exports, __webpack_require__) {
|
273 |
+
|
274 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
275 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
276 |
+
*
|
277 |
+
* This source code is licensed under the MIT license found in the
|
278 |
+
* LICENSE file in the root directory of this source tree.
|
279 |
+
*/
|
280 |
+
|
281 |
+
if (process.env.NODE_ENV !== 'production') {
|
282 |
+
var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol.for && Symbol.for('react.element') || 0xeac7;
|
283 |
+
|
284 |
+
var isValidElement = function (object) {
|
285 |
+
return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
286 |
+
};
|
287 |
+
|
288 |
+
// By explicitly using `prop-types` you are opting into new development behavior.
|
289 |
+
// http://fb.me/prop-types-in-prod
|
290 |
+
var throwOnDirectAccess = true;
|
291 |
+
module.exports = __webpack_require__(162)(isValidElement, throwOnDirectAccess);
|
292 |
+
} else {
|
293 |
+
// By explicitly using `prop-types` you are opting into new production behavior.
|
294 |
+
// http://fb.me/prop-types-in-prod
|
295 |
+
module.exports = __webpack_require__(317)();
|
296 |
+
}
|
297 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
298 |
+
|
299 |
+
/***/ }),
|
300 |
+
/* 3 */
|
301 |
+
/***/ (function(module, exports, __webpack_require__) {
|
302 |
+
|
303 |
+
"use strict";
|
304 |
+
|
305 |
+
|
306 |
+
exports.__esModule = true;
|
307 |
+
|
308 |
+
exports.default = function (instance, Constructor) {
|
309 |
+
if (!(instance instanceof Constructor)) {
|
310 |
+
throw new TypeError("Cannot call a class as a function");
|
311 |
+
}
|
312 |
+
};
|
313 |
+
|
314 |
+
/***/ }),
|
315 |
+
/* 4 */
|
316 |
+
/***/ (function(module, exports, __webpack_require__) {
|
317 |
+
|
318 |
+
"use strict";
|
319 |
+
|
320 |
+
|
321 |
+
exports.__esModule = true;
|
322 |
+
|
323 |
+
var _defineProperty = __webpack_require__(102);
|
324 |
+
|
325 |
+
var _defineProperty2 = _interopRequireDefault(_defineProperty);
|
326 |
+
|
327 |
+
function _interopRequireDefault(obj) {
|
328 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
329 |
+
}
|
330 |
+
|
331 |
+
exports.default = function () {
|
332 |
+
function defineProperties(target, props) {
|
333 |
+
for (var i = 0; i < props.length; i++) {
|
334 |
+
var descriptor = props[i];
|
335 |
+
descriptor.enumerable = descriptor.enumerable || false;
|
336 |
+
descriptor.configurable = true;
|
337 |
+
if ("value" in descriptor) descriptor.writable = true;
|
338 |
+
(0, _defineProperty2.default)(target, descriptor.key, descriptor);
|
339 |
+
}
|
340 |
+
}
|
341 |
+
|
342 |
+
return function (Constructor, protoProps, staticProps) {
|
343 |
+
if (protoProps) defineProperties(Constructor.prototype, protoProps);
|
344 |
+
if (staticProps) defineProperties(Constructor, staticProps);
|
345 |
+
return Constructor;
|
346 |
+
};
|
347 |
+
}();
|
348 |
+
|
349 |
+
/***/ }),
|
350 |
+
/* 5 */
|
351 |
+
/***/ (function(module, exports, __webpack_require__) {
|
352 |
+
|
353 |
+
module.exports = { "default": __webpack_require__(285), __esModule: true };
|
354 |
+
|
355 |
+
/***/ }),
|
356 |
+
/* 6 */
|
357 |
+
/***/ (function(module, exports, __webpack_require__) {
|
358 |
+
|
359 |
+
"use strict";
|
360 |
+
|
361 |
+
|
362 |
+
exports.__esModule = true;
|
363 |
+
|
364 |
+
var _typeof2 = __webpack_require__(52);
|
365 |
+
|
366 |
+
var _typeof3 = _interopRequireDefault(_typeof2);
|
367 |
+
|
368 |
+
function _interopRequireDefault(obj) {
|
369 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
370 |
+
}
|
371 |
+
|
372 |
+
exports.default = function (self, call) {
|
373 |
+
if (!self) {
|
374 |
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
375 |
+
}
|
376 |
+
|
377 |
+
return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;
|
378 |
+
};
|
379 |
+
|
380 |
+
/***/ }),
|
381 |
+
/* 7 */
|
382 |
+
/***/ (function(module, exports, __webpack_require__) {
|
383 |
+
|
384 |
+
"use strict";
|
385 |
+
|
386 |
+
|
387 |
+
exports.__esModule = true;
|
388 |
+
|
389 |
+
var _setPrototypeOf = __webpack_require__(308);
|
390 |
+
|
391 |
+
var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);
|
392 |
+
|
393 |
+
var _create = __webpack_require__(312);
|
394 |
+
|
395 |
+
var _create2 = _interopRequireDefault(_create);
|
396 |
+
|
397 |
+
var _typeof2 = __webpack_require__(52);
|
398 |
+
|
399 |
+
var _typeof3 = _interopRequireDefault(_typeof2);
|
400 |
+
|
401 |
+
function _interopRequireDefault(obj) {
|
402 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
403 |
+
}
|
404 |
+
|
405 |
+
exports.default = function (subClass, superClass) {
|
406 |
+
if (typeof superClass !== "function" && superClass !== null) {
|
407 |
+
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass)));
|
408 |
+
}
|
409 |
+
|
410 |
+
subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {
|
411 |
+
constructor: {
|
412 |
+
value: subClass,
|
413 |
+
enumerable: false,
|
414 |
+
writable: true,
|
415 |
+
configurable: true
|
416 |
+
}
|
417 |
+
});
|
418 |
+
if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;
|
419 |
+
};
|
420 |
+
|
421 |
+
/***/ }),
|
422 |
+
/* 8 */
|
423 |
+
/***/ (function(module, exports) {
|
424 |
+
|
425 |
+
module.exports = function (target) {
|
426 |
+
for (var i = 1; i < arguments.length; i++) {
|
427 |
+
var source = arguments[i];
|
428 |
+
for (var key in source) {
|
429 |
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
430 |
+
target[key] = source[key];
|
431 |
+
}
|
432 |
+
}
|
433 |
+
}
|
434 |
+
return target;
|
435 |
+
};
|
436 |
+
|
437 |
+
/***/ }),
|
438 |
+
/* 9 */
|
439 |
+
/***/ (function(module, exports, __webpack_require__) {
|
440 |
+
|
441 |
+
"use strict";
|
442 |
+
|
443 |
+
|
444 |
+
exports.__esModule = true;
|
445 |
+
|
446 |
+
var _assign = __webpack_require__(150);
|
447 |
+
|
448 |
+
var _assign2 = _interopRequireDefault(_assign);
|
449 |
+
|
450 |
+
function _interopRequireDefault(obj) {
|
451 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
452 |
+
}
|
453 |
+
|
454 |
+
exports.default = _assign2.default || function (target) {
|
455 |
+
for (var i = 1; i < arguments.length; i++) {
|
456 |
+
var source = arguments[i];
|
457 |
+
|
458 |
+
for (var key in source) {
|
459 |
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
460 |
+
target[key] = source[key];
|
461 |
+
}
|
462 |
+
}
|
463 |
+
}
|
464 |
+
|
465 |
+
return target;
|
466 |
+
};
|
467 |
+
|
468 |
+
/***/ }),
|
469 |
+
/* 10 */
|
470 |
+
/***/ (function(module, exports, __webpack_require__) {
|
471 |
+
|
472 |
+
"use strict";
|
473 |
+
|
474 |
+
|
475 |
+
exports.__esModule = true;
|
476 |
+
|
477 |
+
exports.default = function (obj, keys) {
|
478 |
+
var target = {};
|
479 |
+
|
480 |
+
for (var i in obj) {
|
481 |
+
if (keys.indexOf(i) >= 0) continue;
|
482 |
+
if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;
|
483 |
+
target[i] = obj[i];
|
484 |
+
}
|
485 |
+
|
486 |
+
return target;
|
487 |
+
};
|
488 |
+
|
489 |
+
/***/ }),
|
490 |
+
/* 11 */
|
491 |
+
/***/ (function(module, exports, __webpack_require__) {
|
492 |
+
|
493 |
+
"use strict";
|
494 |
+
|
495 |
+
|
496 |
+
Object.defineProperty(exports, "__esModule", {
|
497 |
+
value: true
|
498 |
+
});
|
499 |
+
exports.ReactCSS = exports.loop = exports.handleActive = exports.handleHover = exports.hover = undefined;
|
500 |
+
|
501 |
+
var _flattenNames = __webpack_require__(494);
|
502 |
+
|
503 |
+
var _flattenNames2 = _interopRequireDefault(_flattenNames);
|
504 |
+
|
505 |
+
var _mergeClasses = __webpack_require__(566);
|
506 |
+
|
507 |
+
var _mergeClasses2 = _interopRequireDefault(_mergeClasses);
|
508 |
+
|
509 |
+
var _autoprefix = __webpack_require__(591);
|
510 |
+
|
511 |
+
var _autoprefix2 = _interopRequireDefault(_autoprefix);
|
512 |
+
|
513 |
+
var _hover2 = __webpack_require__(592);
|
514 |
+
|
515 |
+
var _hover3 = _interopRequireDefault(_hover2);
|
516 |
+
|
517 |
+
var _active = __webpack_require__(593);
|
518 |
+
|
519 |
+
var _active2 = _interopRequireDefault(_active);
|
520 |
+
|
521 |
+
var _loop2 = __webpack_require__(594);
|
522 |
+
|
523 |
+
var _loop3 = _interopRequireDefault(_loop2);
|
524 |
+
|
525 |
+
function _interopRequireDefault(obj) {
|
526 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
527 |
+
}
|
528 |
+
|
529 |
+
exports.hover = _hover3.default;
|
530 |
+
exports.handleHover = _hover3.default;
|
531 |
+
exports.handleActive = _active2.default;
|
532 |
+
exports.loop = _loop3.default;
|
533 |
+
var ReactCSS = exports.ReactCSS = function ReactCSS(classes) {
|
534 |
+
for (var _len = arguments.length, activations = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
535 |
+
activations[_key - 1] = arguments[_key];
|
536 |
+
}
|
537 |
+
|
538 |
+
var activeNames = (0, _flattenNames2.default)(activations);
|
539 |
+
var merged = (0, _mergeClasses2.default)(classes, activeNames);
|
540 |
+
return (0, _autoprefix2.default)(merged);
|
541 |
+
};
|
542 |
+
|
543 |
+
exports.default = ReactCSS;
|
544 |
+
|
545 |
+
/***/ }),
|
546 |
+
/* 12 */
|
547 |
+
/***/ (function(module, exports, __webpack_require__) {
|
548 |
+
|
549 |
+
"use strict";
|
550 |
+
|
551 |
+
|
552 |
+
Object.defineProperty(exports, "__esModule", {
|
553 |
+
value: true
|
554 |
+
});
|
555 |
+
exports.default = {
|
556 |
+
|
557 |
+
easeOutFunction: 'cubic-bezier(0.23, 1, 0.32, 1)',
|
558 |
+
easeInOutFunction: 'cubic-bezier(0.445, 0.05, 0.55, 0.95)',
|
559 |
+
|
560 |
+
easeOut: function easeOut(duration, property, delay, easeFunction) {
|
561 |
+
easeFunction = easeFunction || this.easeOutFunction;
|
562 |
+
|
563 |
+
if (property && Object.prototype.toString.call(property) === '[object Array]') {
|
564 |
+
var transitions = '';
|
565 |
+
for (var i = 0; i < property.length; i++) {
|
566 |
+
if (transitions) transitions += ',';
|
567 |
+
transitions += this.create(duration, property[i], delay, easeFunction);
|
568 |
+
}
|
569 |
+
|
570 |
+
return transitions;
|
571 |
+
} else {
|
572 |
+
return this.create(duration, property, delay, easeFunction);
|
573 |
+
}
|
574 |
+
},
|
575 |
+
create: function create(duration, property, delay, easeFunction) {
|
576 |
+
duration = duration || '450ms';
|
577 |
+
property = property || 'all';
|
578 |
+
delay = delay || '0ms';
|
579 |
+
easeFunction = easeFunction || 'linear';
|
580 |
+
|
581 |
+
return property + ' ' + duration + ' ' + easeFunction + ' ' + delay;
|
582 |
+
}
|
583 |
+
};
|
584 |
+
|
585 |
+
/***/ }),
|
586 |
+
/* 13 */
|
587 |
+
/***/ (function(module, exports, __webpack_require__) {
|
588 |
+
|
589 |
+
"use strict";
|
590 |
+
|
591 |
+
|
592 |
+
Object.defineProperty(exports, "__esModule", {
|
593 |
+
value: true
|
594 |
+
});
|
595 |
+
|
596 |
+
var _Alpha = __webpack_require__(595);
|
597 |
+
|
598 |
+
Object.defineProperty(exports, 'Alpha', {
|
599 |
+
enumerable: true,
|
600 |
+
get: function get() {
|
601 |
+
return _interopRequireDefault(_Alpha).default;
|
602 |
+
}
|
603 |
+
});
|
604 |
+
|
605 |
+
var _Checkboard = __webpack_require__(241);
|
606 |
+
|
607 |
+
Object.defineProperty(exports, 'Checkboard', {
|
608 |
+
enumerable: true,
|
609 |
+
get: function get() {
|
610 |
+
return _interopRequireDefault(_Checkboard).default;
|
611 |
+
}
|
612 |
+
});
|
613 |
+
|
614 |
+
var _EditableInput = __webpack_require__(598);
|
615 |
+
|
616 |
+
Object.defineProperty(exports, 'EditableInput', {
|
617 |
+
enumerable: true,
|
618 |
+
get: function get() {
|
619 |
+
return _interopRequireDefault(_EditableInput).default;
|
620 |
+
}
|
621 |
+
});
|
622 |
+
|
623 |
+
var _Hue = __webpack_require__(599);
|
624 |
+
|
625 |
+
Object.defineProperty(exports, 'Hue', {
|
626 |
+
enumerable: true,
|
627 |
+
get: function get() {
|
628 |
+
return _interopRequireDefault(_Hue).default;
|
629 |
+
}
|
630 |
+
});
|
631 |
+
|
632 |
+
var _Raised = __webpack_require__(601);
|
633 |
+
|
634 |
+
Object.defineProperty(exports, 'Raised', {
|
635 |
+
enumerable: true,
|
636 |
+
get: function get() {
|
637 |
+
return _interopRequireDefault(_Raised).default;
|
638 |
+
}
|
639 |
+
});
|
640 |
+
|
641 |
+
var _Saturation = __webpack_require__(602);
|
642 |
+
|
643 |
+
Object.defineProperty(exports, 'Saturation', {
|
644 |
+
enumerable: true,
|
645 |
+
get: function get() {
|
646 |
+
return _interopRequireDefault(_Saturation).default;
|
647 |
+
}
|
648 |
+
});
|
649 |
+
|
650 |
+
var _ColorWrap = __webpack_require__(243);
|
651 |
+
|
652 |
+
Object.defineProperty(exports, 'ColorWrap', {
|
653 |
+
enumerable: true,
|
654 |
+
get: function get() {
|
655 |
+
return _interopRequireDefault(_ColorWrap).default;
|
656 |
+
}
|
657 |
+
});
|
658 |
+
|
659 |
+
var _Swatch = __webpack_require__(610);
|
660 |
+
|
661 |
+
Object.defineProperty(exports, 'Swatch', {
|
662 |
+
enumerable: true,
|
663 |
+
get: function get() {
|
664 |
+
return _interopRequireDefault(_Swatch).default;
|
665 |
+
}
|
666 |
+
});
|
667 |
+
|
668 |
+
function _interopRequireDefault(obj) {
|
669 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
670 |
+
}
|
671 |
+
|
672 |
+
/***/ }),
|
673 |
+
/* 14 */
|
674 |
+
/***/ (function(module, exports, __webpack_require__) {
|
675 |
+
|
676 |
+
"use strict";
|
677 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
678 |
+
|
679 |
+
function checkDCE() {
|
680 |
+
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
|
681 |
+
if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function') {
|
682 |
+
return;
|
683 |
+
}
|
684 |
+
if (process.env.NODE_ENV !== 'production') {
|
685 |
+
// This branch is unreachable because this function is only called
|
686 |
+
// in production, but the condition is true only in development.
|
687 |
+
// Therefore if the branch is still here, dead code elimination wasn't
|
688 |
+
// properly applied.
|
689 |
+
// Don't change the message. React DevTools relies on it. Also make sure
|
690 |
+
// this message doesn't occur elsewhere in this function, or it will cause
|
691 |
+
// a false positive.
|
692 |
+
throw new Error('^_^');
|
693 |
+
}
|
694 |
+
try {
|
695 |
+
// Verify that the code above has been dead code eliminated (DCE'd).
|
696 |
+
__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);
|
697 |
+
} catch (err) {
|
698 |
+
// DevTools shouldn't crash React, no matter what.
|
699 |
+
// We should still report in case we break this code.
|
700 |
+
console.error(err);
|
701 |
+
}
|
702 |
+
}
|
703 |
+
|
704 |
+
if (process.env.NODE_ENV === 'production') {
|
705 |
+
// DCE check should happen before ReactDOM bundle executes so that
|
706 |
+
// DevTools can report bad minification during injection.
|
707 |
+
checkDCE();
|
708 |
+
module.exports = __webpack_require__(319);
|
709 |
+
} else {
|
710 |
+
module.exports = __webpack_require__(322);
|
711 |
+
}
|
712 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
713 |
+
|
714 |
+
/***/ }),
|
715 |
+
/* 15 */
|
716 |
+
/***/ (function(module, exports, __webpack_require__) {
|
717 |
+
|
718 |
+
"use strict";
|
719 |
+
|
720 |
+
|
721 |
+
Object.defineProperty(exports, "__esModule", {
|
722 |
+
value: true
|
723 |
+
});
|
724 |
+
exports.default = undefined;
|
725 |
+
|
726 |
+
var _SvgIcon = __webpack_require__(343);
|
727 |
+
|
728 |
+
var _SvgIcon2 = _interopRequireDefault(_SvgIcon);
|
729 |
+
|
730 |
+
function _interopRequireDefault(obj) {
|
731 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
732 |
+
}
|
733 |
+
|
734 |
+
exports.default = _SvgIcon2.default;
|
735 |
+
|
736 |
+
/***/ }),
|
737 |
+
/* 16 */
|
738 |
+
/***/ (function(module, exports, __webpack_require__) {
|
739 |
+
|
740 |
+
"use strict";
|
741 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
742 |
+
* Copyright 2014-2015, Facebook, Inc.
|
743 |
+
* All rights reserved.
|
744 |
+
*
|
745 |
+
* This source code is licensed under the BSD-style license found in the
|
746 |
+
* LICENSE file in the root directory of this source tree. An additional grant
|
747 |
+
* of patent rights can be found in the PATENTS file in the same directory.
|
748 |
+
*/
|
749 |
+
|
750 |
+
|
751 |
+
|
752 |
+
/**
|
753 |
+
* Similar to invariant but only logs a warning if the condition is not met.
|
754 |
+
* This can be used to log issues in development environments in critical
|
755 |
+
* paths. Removing the logging code for production environments will keep the
|
756 |
+
* same logic and follow the same code paths.
|
757 |
+
*/
|
758 |
+
|
759 |
+
var warning = function () {};
|
760 |
+
|
761 |
+
if (process.env.NODE_ENV !== 'production') {
|
762 |
+
warning = function (condition, format, args) {
|
763 |
+
var len = arguments.length;
|
764 |
+
args = new Array(len > 2 ? len - 2 : 0);
|
765 |
+
for (var key = 2; key < len; key++) {
|
766 |
+
args[key - 2] = arguments[key];
|
767 |
+
}
|
768 |
+
if (format === undefined) {
|
769 |
+
throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
|
770 |
+
}
|
771 |
+
|
772 |
+
if (format.length < 10 || /^[s\W]*$/.test(format)) {
|
773 |
+
throw new Error('The warning format should be able to uniquely identify this ' + 'warning. Please, use a more descriptive format than: ' + format);
|
774 |
+
}
|
775 |
+
|
776 |
+
if (!condition) {
|
777 |
+
var argIndex = 0;
|
778 |
+
var message = 'Warning: ' + format.replace(/%s/g, function () {
|
779 |
+
return args[argIndex++];
|
780 |
+
});
|
781 |
+
if (typeof console !== 'undefined') {
|
782 |
+
console.error(message);
|
783 |
+
}
|
784 |
+
try {
|
785 |
+
// This error was thrown as a convenience so that you can use this stack
|
786 |
+
// to find the callsite that caused this warning to fire.
|
787 |
+
throw new Error(message);
|
788 |
+
} catch (x) {}
|
789 |
+
}
|
790 |
+
};
|
791 |
+
}
|
792 |
+
|
793 |
+
module.exports = warning;
|
794 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
795 |
+
|
796 |
+
/***/ }),
|
797 |
+
/* 17 */
|
798 |
+
/***/ (function(module, exports, __webpack_require__) {
|
799 |
+
|
800 |
+
"use strict";
|
801 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
802 |
+
|
803 |
+
exports.__esModule = true;
|
804 |
+
|
805 |
+
var _shouldUpdate = __webpack_require__(340);
|
806 |
+
|
807 |
+
var _shouldUpdate2 = _interopRequireDefault(_shouldUpdate);
|
808 |
+
|
809 |
+
var _shallowEqual = __webpack_require__(43);
|
810 |
+
|
811 |
+
var _shallowEqual2 = _interopRequireDefault(_shallowEqual);
|
812 |
+
|
813 |
+
var _setDisplayName = __webpack_require__(174);
|
814 |
+
|
815 |
+
var _setDisplayName2 = _interopRequireDefault(_setDisplayName);
|
816 |
+
|
817 |
+
var _wrapDisplayName = __webpack_require__(175);
|
818 |
+
|
819 |
+
var _wrapDisplayName2 = _interopRequireDefault(_wrapDisplayName);
|
820 |
+
|
821 |
+
function _interopRequireDefault(obj) {
|
822 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
823 |
+
}
|
824 |
+
|
825 |
+
var pure = function pure(BaseComponent) {
|
826 |
+
var hoc = (0, _shouldUpdate2.default)(function (props, nextProps) {
|
827 |
+
return !(0, _shallowEqual2.default)(props, nextProps);
|
828 |
+
});
|
829 |
+
|
830 |
+
if (process.env.NODE_ENV !== 'production') {
|
831 |
+
return (0, _setDisplayName2.default)((0, _wrapDisplayName2.default)(BaseComponent, 'pure'))(hoc(BaseComponent));
|
832 |
+
}
|
833 |
+
|
834 |
+
return hoc(BaseComponent);
|
835 |
+
};
|
836 |
+
|
837 |
+
exports.default = pure;
|
838 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
839 |
+
|
840 |
+
/***/ }),
|
841 |
+
/* 18 */
|
842 |
+
/***/ (function(module, exports) {
|
843 |
+
|
844 |
+
var core = module.exports = { version: '2.5.4' };
|
845 |
+
if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
|
846 |
+
|
847 |
+
/***/ }),
|
848 |
+
/* 19 */
|
849 |
+
/***/ (function(module, exports, __webpack_require__) {
|
850 |
+
|
851 |
+
"use strict";
|
852 |
+
|
853 |
+
|
854 |
+
Object.defineProperty(exports, "__esModule", {
|
855 |
+
value: true
|
856 |
+
});
|
857 |
+
|
858 |
+
var _propTypes = __webpack_require__(2);
|
859 |
+
|
860 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
861 |
+
|
862 |
+
function _interopRequireDefault(obj) {
|
863 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
864 |
+
}
|
865 |
+
|
866 |
+
var horizontal = _propTypes2.default.oneOf(['left', 'middle', 'right']);
|
867 |
+
var vertical = _propTypes2.default.oneOf(['top', 'center', 'bottom']);
|
868 |
+
|
869 |
+
exports.default = {
|
870 |
+
|
871 |
+
corners: _propTypes2.default.oneOf(['bottom-left', 'bottom-right', 'top-left', 'top-right']),
|
872 |
+
|
873 |
+
horizontal: horizontal,
|
874 |
+
|
875 |
+
vertical: vertical,
|
876 |
+
|
877 |
+
origin: _propTypes2.default.shape({
|
878 |
+
horizontal: horizontal,
|
879 |
+
vertical: vertical
|
880 |
+
}),
|
881 |
+
|
882 |
+
cornersAndCenter: _propTypes2.default.oneOf(['bottom-center', 'bottom-left', 'bottom-right', 'top-center', 'top-left', 'top-right']),
|
883 |
+
|
884 |
+
stringOrNumber: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
|
885 |
+
|
886 |
+
zDepth: _propTypes2.default.oneOf([0, 1, 2, 3, 4, 5])
|
887 |
+
|
888 |
+
};
|
889 |
+
|
890 |
+
/***/ }),
|
891 |
+
/* 20 */
|
892 |
+
/***/ (function(module, exports, __webpack_require__) {
|
893 |
+
|
894 |
+
"use strict";
|
895 |
+
|
896 |
+
|
897 |
+
Object.defineProperty(exports, "__esModule", {
|
898 |
+
value: true
|
899 |
+
});
|
900 |
+
exports.default = undefined;
|
901 |
+
|
902 |
+
var _Paper = __webpack_require__(344);
|
903 |
+
|
904 |
+
var _Paper2 = _interopRequireDefault(_Paper);
|
905 |
+
|
906 |
+
function _interopRequireDefault(obj) {
|
907 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
908 |
+
}
|
909 |
+
|
910 |
+
exports.default = _Paper2.default;
|
911 |
+
|
912 |
+
/***/ }),
|
913 |
+
/* 21 */
|
914 |
+
/***/ (function(module, exports, __webpack_require__) {
|
915 |
+
|
916 |
+
"use strict";
|
917 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
918 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
919 |
+
*
|
920 |
+
* This source code is licensed under the MIT license found in the
|
921 |
+
* LICENSE file in the root directory of this source tree.
|
922 |
+
*
|
923 |
+
*/
|
924 |
+
|
925 |
+
|
926 |
+
|
927 |
+
/**
|
928 |
+
* Use invariant() to assert state which your program assumes to be true.
|
929 |
+
*
|
930 |
+
* Provide sprintf-style format (only %s is supported) and arguments
|
931 |
+
* to provide information about what broke and what you were
|
932 |
+
* expecting.
|
933 |
+
*
|
934 |
+
* The invariant message will be stripped in production, but the invariant
|
935 |
+
* will remain to ensure logic does not differ in production.
|
936 |
+
*/
|
937 |
+
|
938 |
+
var validateFormat = function validateFormat(format) {};
|
939 |
+
|
940 |
+
if (process.env.NODE_ENV !== 'production') {
|
941 |
+
validateFormat = function validateFormat(format) {
|
942 |
+
if (format === undefined) {
|
943 |
+
throw new Error('invariant requires an error message argument');
|
944 |
+
}
|
945 |
+
};
|
946 |
+
}
|
947 |
+
|
948 |
+
function invariant(condition, format, a, b, c, d, e, f) {
|
949 |
+
validateFormat(format);
|
950 |
+
|
951 |
+
if (!condition) {
|
952 |
+
var error;
|
953 |
+
if (format === undefined) {
|
954 |
+
error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
|
955 |
+
} else {
|
956 |
+
var args = [a, b, c, d, e, f];
|
957 |
+
var argIndex = 0;
|
958 |
+
error = new Error(format.replace(/%s/g, function () {
|
959 |
+
return args[argIndex++];
|
960 |
+
}));
|
961 |
+
error.name = 'Invariant Violation';
|
962 |
+
}
|
963 |
+
|
964 |
+
error.framesToPop = 1; // we don't care about invariant's own frame
|
965 |
+
throw error;
|
966 |
+
}
|
967 |
+
}
|
968 |
+
|
969 |
+
module.exports = invariant;
|
970 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
971 |
+
|
972 |
+
/***/ }),
|
973 |
+
/* 22 */
|
974 |
+
/***/ (function(module, exports) {
|
975 |
+
|
976 |
+
// Source: http://jsfiddle.net/vWx8V/
|
977 |
+
// http://stackoverflow.com/questions/5603195/full-list-of-javascript-keycodes
|
978 |
+
|
979 |
+
/**
|
980 |
+
* Conenience method returns corresponding value for given keyName or keyCode.
|
981 |
+
*
|
982 |
+
* @param {Mixed} keyCode {Number} or keyName {String}
|
983 |
+
* @return {Mixed}
|
984 |
+
* @api public
|
985 |
+
*/
|
986 |
+
|
987 |
+
function keyCode(searchInput) {
|
988 |
+
// Keyboard Events
|
989 |
+
if (searchInput && 'object' === typeof searchInput) {
|
990 |
+
var hasKeyCode = searchInput.which || searchInput.keyCode || searchInput.charCode;
|
991 |
+
if (hasKeyCode) searchInput = hasKeyCode;
|
992 |
+
}
|
993 |
+
|
994 |
+
// Numbers
|
995 |
+
if ('number' === typeof searchInput) return names[searchInput];
|
996 |
+
|
997 |
+
// Everything else (cast to string)
|
998 |
+
var search = String(searchInput);
|
999 |
+
|
1000 |
+
// check codes
|
1001 |
+
var foundNamedKey = codes[search.toLowerCase()];
|
1002 |
+
if (foundNamedKey) return foundNamedKey;
|
1003 |
+
|
1004 |
+
// check aliases
|
1005 |
+
var foundNamedKey = aliases[search.toLowerCase()];
|
1006 |
+
if (foundNamedKey) return foundNamedKey;
|
1007 |
+
|
1008 |
+
// weird character?
|
1009 |
+
if (search.length === 1) return search.charCodeAt(0);
|
1010 |
+
|
1011 |
+
return undefined;
|
1012 |
+
}
|
1013 |
+
|
1014 |
+
/**
|
1015 |
+
* Compares a keyboard event with a given keyCode or keyName.
|
1016 |
+
*
|
1017 |
+
* @param {Event} event Keyboard event that should be tested
|
1018 |
+
* @param {Mixed} keyCode {Number} or keyName {String}
|
1019 |
+
* @return {Boolean}
|
1020 |
+
* @api public
|
1021 |
+
*/
|
1022 |
+
keyCode.isEventKey = function isEventKey(event, nameOrCode) {
|
1023 |
+
if (event && 'object' === typeof event) {
|
1024 |
+
var keyCode = event.which || event.keyCode || event.charCode;
|
1025 |
+
if (keyCode === null || keyCode === undefined) {
|
1026 |
+
return false;
|
1027 |
+
}
|
1028 |
+
if (typeof nameOrCode === 'string') {
|
1029 |
+
// check codes
|
1030 |
+
var foundNamedKey = codes[nameOrCode.toLowerCase()];
|
1031 |
+
if (foundNamedKey) {
|
1032 |
+
return foundNamedKey === keyCode;
|
1033 |
+
}
|
1034 |
+
|
1035 |
+
// check aliases
|
1036 |
+
var foundNamedKey = aliases[nameOrCode.toLowerCase()];
|
1037 |
+
if (foundNamedKey) {
|
1038 |
+
return foundNamedKey === keyCode;
|
1039 |
+
}
|
1040 |
+
} else if (typeof nameOrCode === 'number') {
|
1041 |
+
return nameOrCode === keyCode;
|
1042 |
+
}
|
1043 |
+
return false;
|
1044 |
+
}
|
1045 |
+
};
|
1046 |
+
|
1047 |
+
exports = module.exports = keyCode;
|
1048 |
+
|
1049 |
+
/**
|
1050 |
+
* Get by name
|
1051 |
+
*
|
1052 |
+
* exports.code['enter'] // => 13
|
1053 |
+
*/
|
1054 |
+
|
1055 |
+
var codes = exports.code = exports.codes = {
|
1056 |
+
'backspace': 8,
|
1057 |
+
'tab': 9,
|
1058 |
+
'enter': 13,
|
1059 |
+
'shift': 16,
|
1060 |
+
'ctrl': 17,
|
1061 |
+
'alt': 18,
|
1062 |
+
'pause/break': 19,
|
1063 |
+
'caps lock': 20,
|
1064 |
+
'esc': 27,
|
1065 |
+
'space': 32,
|
1066 |
+
'page up': 33,
|
1067 |
+
'page down': 34,
|
1068 |
+
'end': 35,
|
1069 |
+
'home': 36,
|
1070 |
+
'left': 37,
|
1071 |
+
'up': 38,
|
1072 |
+
'right': 39,
|
1073 |
+
'down': 40,
|
1074 |
+
'insert': 45,
|
1075 |
+
'delete': 46,
|
1076 |
+
'command': 91,
|
1077 |
+
'left command': 91,
|
1078 |
+
'right command': 93,
|
1079 |
+
'numpad *': 106,
|
1080 |
+
'numpad +': 107,
|
1081 |
+
'numpad -': 109,
|
1082 |
+
'numpad .': 110,
|
1083 |
+
'numpad /': 111,
|
1084 |
+
'num lock': 144,
|
1085 |
+
'scroll lock': 145,
|
1086 |
+
'my computer': 182,
|
1087 |
+
'my calculator': 183,
|
1088 |
+
';': 186,
|
1089 |
+
'=': 187,
|
1090 |
+
',': 188,
|
1091 |
+
'-': 189,
|
1092 |
+
'.': 190,
|
1093 |
+
'/': 191,
|
1094 |
+
'`': 192,
|
1095 |
+
'[': 219,
|
1096 |
+
'\\': 220,
|
1097 |
+
']': 221,
|
1098 |
+
"'": 222
|
1099 |
+
|
1100 |
+
// Helper aliases
|
1101 |
+
|
1102 |
+
};var aliases = exports.aliases = {
|
1103 |
+
'windows': 91,
|
1104 |
+
'⇧': 16,
|
1105 |
+
'⌥': 18,
|
1106 |
+
'⌃': 17,
|
1107 |
+
'⌘': 91,
|
1108 |
+
'ctl': 17,
|
1109 |
+
'control': 17,
|
1110 |
+
'option': 18,
|
1111 |
+
'pause': 19,
|
1112 |
+
'break': 19,
|
1113 |
+
'caps': 20,
|
1114 |
+
'return': 13,
|
1115 |
+
'escape': 27,
|
1116 |
+
'spc': 32,
|
1117 |
+
'spacebar': 32,
|
1118 |
+
'pgup': 33,
|
1119 |
+
'pgdn': 34,
|
1120 |
+
'ins': 45,
|
1121 |
+
'del': 46,
|
1122 |
+
'cmd': 91
|
1123 |
+
|
1124 |
+
/*!
|
1125 |
+
* Programatically add the following
|
1126 |
+
*/
|
1127 |
+
|
1128 |
+
// lower case chars
|
1129 |
+
};for (i = 97; i < 123; i++) codes[String.fromCharCode(i)] = i - 32;
|
1130 |
+
|
1131 |
+
// numbers
|
1132 |
+
for (var i = 48; i < 58; i++) codes[i - 48] = i;
|
1133 |
+
|
1134 |
+
// function keys
|
1135 |
+
for (i = 1; i < 13; i++) codes['f' + i] = i + 111;
|
1136 |
+
|
1137 |
+
// numpad keys
|
1138 |
+
for (i = 0; i < 10; i++) codes['numpad ' + i] = i + 96;
|
1139 |
+
|
1140 |
+
/**
|
1141 |
+
* Get by code
|
1142 |
+
*
|
1143 |
+
* exports.name[13] // => 'Enter'
|
1144 |
+
*/
|
1145 |
+
|
1146 |
+
var names = exports.names = exports.title = {}; // title for backward compat
|
1147 |
+
|
1148 |
+
// Create reverse mapping
|
1149 |
+
for (i in codes) names[codes[i]] = i;
|
1150 |
+
|
1151 |
+
// Add aliases
|
1152 |
+
for (var alias in aliases) {
|
1153 |
+
codes[alias] = aliases[alias];
|
1154 |
+
}
|
1155 |
+
|
1156 |
+
/***/ }),
|
1157 |
+
/* 23 */
|
1158 |
+
/***/ (function(module, exports) {
|
1159 |
+
|
1160 |
+
/**
|
1161 |
+
* Checks if `value` is classified as an `Array` object.
|
1162 |
+
*
|
1163 |
+
* @static
|
1164 |
+
* @memberOf _
|
1165 |
+
* @since 0.1.0
|
1166 |
+
* @category Lang
|
1167 |
+
* @param {*} value The value to check.
|
1168 |
+
* @returns {boolean} Returns `true` if `value` is an array, else `false`.
|
1169 |
+
* @example
|
1170 |
+
*
|
1171 |
+
* _.isArray([1, 2, 3]);
|
1172 |
+
* // => true
|
1173 |
+
*
|
1174 |
+
* _.isArray(document.body.children);
|
1175 |
+
* // => false
|
1176 |
+
*
|
1177 |
+
* _.isArray('abc');
|
1178 |
+
* // => false
|
1179 |
+
*
|
1180 |
+
* _.isArray(_.noop);
|
1181 |
+
* // => false
|
1182 |
+
*/
|
1183 |
+
var isArray = Array.isArray;
|
1184 |
+
|
1185 |
+
module.exports = isArray;
|
1186 |
+
|
1187 |
+
/***/ }),
|
1188 |
+
/* 24 */
|
1189 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1190 |
+
|
1191 |
+
"use strict";
|
1192 |
+
|
1193 |
+
|
1194 |
+
var bind = __webpack_require__(258);
|
1195 |
+
var isBuffer = __webpack_require__(708);
|
1196 |
+
|
1197 |
+
/*global toString:true*/
|
1198 |
+
|
1199 |
+
// utils is a library of generic helper functions non-specific to axios
|
1200 |
+
|
1201 |
+
var toString = Object.prototype.toString;
|
1202 |
+
|
1203 |
+
/**
|
1204 |
+
* Determine if a value is an Array
|
1205 |
+
*
|
1206 |
+
* @param {Object} val The value to test
|
1207 |
+
* @returns {boolean} True if value is an Array, otherwise false
|
1208 |
+
*/
|
1209 |
+
function isArray(val) {
|
1210 |
+
return toString.call(val) === '[object Array]';
|
1211 |
+
}
|
1212 |
+
|
1213 |
+
/**
|
1214 |
+
* Determine if a value is an ArrayBuffer
|
1215 |
+
*
|
1216 |
+
* @param {Object} val The value to test
|
1217 |
+
* @returns {boolean} True if value is an ArrayBuffer, otherwise false
|
1218 |
+
*/
|
1219 |
+
function isArrayBuffer(val) {
|
1220 |
+
return toString.call(val) === '[object ArrayBuffer]';
|
1221 |
+
}
|
1222 |
+
|
1223 |
+
/**
|
1224 |
+
* Determine if a value is a FormData
|
1225 |
+
*
|
1226 |
+
* @param {Object} val The value to test
|
1227 |
+
* @returns {boolean} True if value is an FormData, otherwise false
|
1228 |
+
*/
|
1229 |
+
function isFormData(val) {
|
1230 |
+
return typeof FormData !== 'undefined' && val instanceof FormData;
|
1231 |
+
}
|
1232 |
+
|
1233 |
+
/**
|
1234 |
+
* Determine if a value is a view on an ArrayBuffer
|
1235 |
+
*
|
1236 |
+
* @param {Object} val The value to test
|
1237 |
+
* @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
|
1238 |
+
*/
|
1239 |
+
function isArrayBufferView(val) {
|
1240 |
+
var result;
|
1241 |
+
if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {
|
1242 |
+
result = ArrayBuffer.isView(val);
|
1243 |
+
} else {
|
1244 |
+
result = val && val.buffer && val.buffer instanceof ArrayBuffer;
|
1245 |
+
}
|
1246 |
+
return result;
|
1247 |
+
}
|
1248 |
+
|
1249 |
+
/**
|
1250 |
+
* Determine if a value is a String
|
1251 |
+
*
|
1252 |
+
* @param {Object} val The value to test
|
1253 |
+
* @returns {boolean} True if value is a String, otherwise false
|
1254 |
+
*/
|
1255 |
+
function isString(val) {
|
1256 |
+
return typeof val === 'string';
|
1257 |
+
}
|
1258 |
+
|
1259 |
+
/**
|
1260 |
+
* Determine if a value is a Number
|
1261 |
+
*
|
1262 |
+
* @param {Object} val The value to test
|
1263 |
+
* @returns {boolean} True if value is a Number, otherwise false
|
1264 |
+
*/
|
1265 |
+
function isNumber(val) {
|
1266 |
+
return typeof val === 'number';
|
1267 |
+
}
|
1268 |
+
|
1269 |
+
/**
|
1270 |
+
* Determine if a value is undefined
|
1271 |
+
*
|
1272 |
+
* @param {Object} val The value to test
|
1273 |
+
* @returns {boolean} True if the value is undefined, otherwise false
|
1274 |
+
*/
|
1275 |
+
function isUndefined(val) {
|
1276 |
+
return typeof val === 'undefined';
|
1277 |
+
}
|
1278 |
+
|
1279 |
+
/**
|
1280 |
+
* Determine if a value is an Object
|
1281 |
+
*
|
1282 |
+
* @param {Object} val The value to test
|
1283 |
+
* @returns {boolean} True if value is an Object, otherwise false
|
1284 |
+
*/
|
1285 |
+
function isObject(val) {
|
1286 |
+
return val !== null && typeof val === 'object';
|
1287 |
+
}
|
1288 |
+
|
1289 |
+
/**
|
1290 |
+
* Determine if a value is a Date
|
1291 |
+
*
|
1292 |
+
* @param {Object} val The value to test
|
1293 |
+
* @returns {boolean} True if value is a Date, otherwise false
|
1294 |
+
*/
|
1295 |
+
function isDate(val) {
|
1296 |
+
return toString.call(val) === '[object Date]';
|
1297 |
+
}
|
1298 |
+
|
1299 |
+
/**
|
1300 |
+
* Determine if a value is a File
|
1301 |
+
*
|
1302 |
+
* @param {Object} val The value to test
|
1303 |
+
* @returns {boolean} True if value is a File, otherwise false
|
1304 |
+
*/
|
1305 |
+
function isFile(val) {
|
1306 |
+
return toString.call(val) === '[object File]';
|
1307 |
+
}
|
1308 |
+
|
1309 |
+
/**
|
1310 |
+
* Determine if a value is a Blob
|
1311 |
+
*
|
1312 |
+
* @param {Object} val The value to test
|
1313 |
+
* @returns {boolean} True if value is a Blob, otherwise false
|
1314 |
+
*/
|
1315 |
+
function isBlob(val) {
|
1316 |
+
return toString.call(val) === '[object Blob]';
|
1317 |
+
}
|
1318 |
+
|
1319 |
+
/**
|
1320 |
+
* Determine if a value is a Function
|
1321 |
+
*
|
1322 |
+
* @param {Object} val The value to test
|
1323 |
+
* @returns {boolean} True if value is a Function, otherwise false
|
1324 |
+
*/
|
1325 |
+
function isFunction(val) {
|
1326 |
+
return toString.call(val) === '[object Function]';
|
1327 |
+
}
|
1328 |
+
|
1329 |
+
/**
|
1330 |
+
* Determine if a value is a Stream
|
1331 |
+
*
|
1332 |
+
* @param {Object} val The value to test
|
1333 |
+
* @returns {boolean} True if value is a Stream, otherwise false
|
1334 |
+
*/
|
1335 |
+
function isStream(val) {
|
1336 |
+
return isObject(val) && isFunction(val.pipe);
|
1337 |
+
}
|
1338 |
+
|
1339 |
+
/**
|
1340 |
+
* Determine if a value is a URLSearchParams object
|
1341 |
+
*
|
1342 |
+
* @param {Object} val The value to test
|
1343 |
+
* @returns {boolean} True if value is a URLSearchParams object, otherwise false
|
1344 |
+
*/
|
1345 |
+
function isURLSearchParams(val) {
|
1346 |
+
return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
|
1347 |
+
}
|
1348 |
+
|
1349 |
+
/**
|
1350 |
+
* Trim excess whitespace off the beginning and end of a string
|
1351 |
+
*
|
1352 |
+
* @param {String} str The String to trim
|
1353 |
+
* @returns {String} The String freed of excess whitespace
|
1354 |
+
*/
|
1355 |
+
function trim(str) {
|
1356 |
+
return str.replace(/^\s*/, '').replace(/\s*$/, '');
|
1357 |
+
}
|
1358 |
+
|
1359 |
+
/**
|
1360 |
+
* Determine if we're running in a standard browser environment
|
1361 |
+
*
|
1362 |
+
* This allows axios to run in a web worker, and react-native.
|
1363 |
+
* Both environments support XMLHttpRequest, but not fully standard globals.
|
1364 |
+
*
|
1365 |
+
* web workers:
|
1366 |
+
* typeof window -> undefined
|
1367 |
+
* typeof document -> undefined
|
1368 |
+
*
|
1369 |
+
* react-native:
|
1370 |
+
* navigator.product -> 'ReactNative'
|
1371 |
+
*/
|
1372 |
+
function isStandardBrowserEnv() {
|
1373 |
+
if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
|
1374 |
+
return false;
|
1375 |
+
}
|
1376 |
+
return typeof window !== 'undefined' && typeof document !== 'undefined';
|
1377 |
+
}
|
1378 |
+
|
1379 |
+
/**
|
1380 |
+
* Iterate over an Array or an Object invoking a function for each item.
|
1381 |
+
*
|
1382 |
+
* If `obj` is an Array callback will be called passing
|
1383 |
+
* the value, index, and complete array for each item.
|
1384 |
+
*
|
1385 |
+
* If 'obj' is an Object callback will be called passing
|
1386 |
+
* the value, key, and complete object for each property.
|
1387 |
+
*
|
1388 |
+
* @param {Object|Array} obj The object to iterate
|
1389 |
+
* @param {Function} fn The callback to invoke for each item
|
1390 |
+
*/
|
1391 |
+
function forEach(obj, fn) {
|
1392 |
+
// Don't bother if no value provided
|
1393 |
+
if (obj === null || typeof obj === 'undefined') {
|
1394 |
+
return;
|
1395 |
+
}
|
1396 |
+
|
1397 |
+
// Force an array if not already something iterable
|
1398 |
+
if (typeof obj !== 'object') {
|
1399 |
+
/*eslint no-param-reassign:0*/
|
1400 |
+
obj = [obj];
|
1401 |
+
}
|
1402 |
+
|
1403 |
+
if (isArray(obj)) {
|
1404 |
+
// Iterate over array values
|
1405 |
+
for (var i = 0, l = obj.length; i < l; i++) {
|
1406 |
+
fn.call(null, obj[i], i, obj);
|
1407 |
+
}
|
1408 |
+
} else {
|
1409 |
+
// Iterate over object keys
|
1410 |
+
for (var key in obj) {
|
1411 |
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
1412 |
+
fn.call(null, obj[key], key, obj);
|
1413 |
+
}
|
1414 |
+
}
|
1415 |
+
}
|
1416 |
+
}
|
1417 |
+
|
1418 |
+
/**
|
1419 |
+
* Accepts varargs expecting each argument to be an object, then
|
1420 |
+
* immutably merges the properties of each object and returns result.
|
1421 |
+
*
|
1422 |
+
* When multiple objects contain the same key the later object in
|
1423 |
+
* the arguments list will take precedence.
|
1424 |
+
*
|
1425 |
+
* Example:
|
1426 |
+
*
|
1427 |
+
* ```js
|
1428 |
+
* var result = merge({foo: 123}, {foo: 456});
|
1429 |
+
* console.log(result.foo); // outputs 456
|
1430 |
+
* ```
|
1431 |
+
*
|
1432 |
+
* @param {Object} obj1 Object to merge
|
1433 |
+
* @returns {Object} Result of all merge properties
|
1434 |
+
*/
|
1435 |
+
function merge() /* obj1, obj2, obj3, ... */{
|
1436 |
+
var result = {};
|
1437 |
+
function assignValue(val, key) {
|
1438 |
+
if (typeof result[key] === 'object' && typeof val === 'object') {
|
1439 |
+
result[key] = merge(result[key], val);
|
1440 |
+
} else {
|
1441 |
+
result[key] = val;
|
1442 |
+
}
|
1443 |
+
}
|
1444 |
+
|
1445 |
+
for (var i = 0, l = arguments.length; i < l; i++) {
|
1446 |
+
forEach(arguments[i], assignValue);
|
1447 |
+
}
|
1448 |
+
return result;
|
1449 |
+
}
|
1450 |
+
|
1451 |
+
/**
|
1452 |
+
* Extends object a by mutably adding to it the properties of object b.
|
1453 |
+
*
|
1454 |
+
* @param {Object} a The object to be extended
|
1455 |
+
* @param {Object} b The object to copy properties from
|
1456 |
+
* @param {Object} thisArg The object to bind function to
|
1457 |
+
* @return {Object} The resulting value of object a
|
1458 |
+
*/
|
1459 |
+
function extend(a, b, thisArg) {
|
1460 |
+
forEach(b, function assignValue(val, key) {
|
1461 |
+
if (thisArg && typeof val === 'function') {
|
1462 |
+
a[key] = bind(val, thisArg);
|
1463 |
+
} else {
|
1464 |
+
a[key] = val;
|
1465 |
+
}
|
1466 |
+
});
|
1467 |
+
return a;
|
1468 |
+
}
|
1469 |
+
|
1470 |
+
module.exports = {
|
1471 |
+
isArray: isArray,
|
1472 |
+
isArrayBuffer: isArrayBuffer,
|
1473 |
+
isBuffer: isBuffer,
|
1474 |
+
isFormData: isFormData,
|
1475 |
+
isArrayBufferView: isArrayBufferView,
|
1476 |
+
isString: isString,
|
1477 |
+
isNumber: isNumber,
|
1478 |
+
isObject: isObject,
|
1479 |
+
isUndefined: isUndefined,
|
1480 |
+
isDate: isDate,
|
1481 |
+
isFile: isFile,
|
1482 |
+
isBlob: isBlob,
|
1483 |
+
isFunction: isFunction,
|
1484 |
+
isStream: isStream,
|
1485 |
+
isURLSearchParams: isURLSearchParams,
|
1486 |
+
isStandardBrowserEnv: isStandardBrowserEnv,
|
1487 |
+
forEach: forEach,
|
1488 |
+
merge: merge,
|
1489 |
+
extend: extend,
|
1490 |
+
trim: trim
|
1491 |
+
};
|
1492 |
+
|
1493 |
+
/***/ }),
|
1494 |
+
/* 25 */
|
1495 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1496 |
+
|
1497 |
+
var store = __webpack_require__(98)('wks');
|
1498 |
+
var uid = __webpack_require__(72);
|
1499 |
+
var Symbol = __webpack_require__(35).Symbol;
|
1500 |
+
var USE_SYMBOL = typeof Symbol == 'function';
|
1501 |
+
|
1502 |
+
var $exports = module.exports = function (name) {
|
1503 |
+
return store[name] || (store[name] = USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
|
1504 |
+
};
|
1505 |
+
|
1506 |
+
$exports.store = store;
|
1507 |
+
|
1508 |
+
/***/ }),
|
1509 |
+
/* 26 */
|
1510 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1511 |
+
|
1512 |
+
"use strict";
|
1513 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
1514 |
+
* Copyright (c) 2014-present, Facebook, Inc.
|
1515 |
+
*
|
1516 |
+
* This source code is licensed under the MIT license found in the
|
1517 |
+
* LICENSE file in the root directory of this source tree.
|
1518 |
+
*
|
1519 |
+
*/
|
1520 |
+
|
1521 |
+
|
1522 |
+
|
1523 |
+
var emptyFunction = __webpack_require__(37);
|
1524 |
+
|
1525 |
+
/**
|
1526 |
+
* Similar to invariant but only logs a warning if the condition is not met.
|
1527 |
+
* This can be used to log issues in development environments in critical
|
1528 |
+
* paths. Removing the logging code for production environments will keep the
|
1529 |
+
* same logic and follow the same code paths.
|
1530 |
+
*/
|
1531 |
+
|
1532 |
+
var warning = emptyFunction;
|
1533 |
+
|
1534 |
+
if (process.env.NODE_ENV !== 'production') {
|
1535 |
+
var printWarning = function printWarning(format) {
|
1536 |
+
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
1537 |
+
args[_key - 1] = arguments[_key];
|
1538 |
+
}
|
1539 |
+
|
1540 |
+
var argIndex = 0;
|
1541 |
+
var message = 'Warning: ' + format.replace(/%s/g, function () {
|
1542 |
+
return args[argIndex++];
|
1543 |
+
});
|
1544 |
+
if (typeof console !== 'undefined') {
|
1545 |
+
console.error(message);
|
1546 |
+
}
|
1547 |
+
try {
|
1548 |
+
// --- Welcome to debugging React ---
|
1549 |
+
// This error was thrown as a convenience so that you can use this stack
|
1550 |
+
// to find the callsite that caused this warning to fire.
|
1551 |
+
throw new Error(message);
|
1552 |
+
} catch (x) {}
|
1553 |
+
};
|
1554 |
+
|
1555 |
+
warning = function warning(condition, format) {
|
1556 |
+
if (format === undefined) {
|
1557 |
+
throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
|
1558 |
+
}
|
1559 |
+
|
1560 |
+
if (format.indexOf('Failed Composite propType: ') === 0) {
|
1561 |
+
return; // Ignore CompositeComponent proptype check.
|
1562 |
+
}
|
1563 |
+
|
1564 |
+
if (!condition) {
|
1565 |
+
for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
1566 |
+
args[_key2 - 2] = arguments[_key2];
|
1567 |
+
}
|
1568 |
+
|
1569 |
+
printWarning.apply(undefined, [format].concat(args));
|
1570 |
+
}
|
1571 |
+
};
|
1572 |
+
}
|
1573 |
+
|
1574 |
+
module.exports = warning;
|
1575 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
1576 |
+
|
1577 |
+
/***/ }),
|
1578 |
+
/* 27 */
|
1579 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1580 |
+
|
1581 |
+
"use strict";
|
1582 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
1583 |
+
|
1584 |
+
Object.defineProperty(exports, "__esModule", {
|
1585 |
+
value: true
|
1586 |
+
});
|
1587 |
+
|
1588 |
+
var _extends2 = __webpack_require__(9);
|
1589 |
+
|
1590 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
1591 |
+
|
1592 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
1593 |
+
|
1594 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
1595 |
+
|
1596 |
+
var _getPrototypeOf = __webpack_require__(5);
|
1597 |
+
|
1598 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
1599 |
+
|
1600 |
+
var _classCallCheck2 = __webpack_require__(3);
|
1601 |
+
|
1602 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
1603 |
+
|
1604 |
+
var _createClass2 = __webpack_require__(4);
|
1605 |
+
|
1606 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
1607 |
+
|
1608 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
1609 |
+
|
1610 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
1611 |
+
|
1612 |
+
var _inherits2 = __webpack_require__(7);
|
1613 |
+
|
1614 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
1615 |
+
|
1616 |
+
var _simpleAssign = __webpack_require__(8);
|
1617 |
+
|
1618 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
1619 |
+
|
1620 |
+
var _react = __webpack_require__(0);
|
1621 |
+
|
1622 |
+
var _react2 = _interopRequireDefault(_react);
|
1623 |
+
|
1624 |
+
var _propTypes = __webpack_require__(2);
|
1625 |
+
|
1626 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
1627 |
+
|
1628 |
+
var _events = __webpack_require__(75);
|
1629 |
+
|
1630 |
+
var _events2 = _interopRequireDefault(_events);
|
1631 |
+
|
1632 |
+
var _keycode = __webpack_require__(22);
|
1633 |
+
|
1634 |
+
var _keycode2 = _interopRequireDefault(_keycode);
|
1635 |
+
|
1636 |
+
var _FocusRipple = __webpack_require__(111);
|
1637 |
+
|
1638 |
+
var _FocusRipple2 = _interopRequireDefault(_FocusRipple);
|
1639 |
+
|
1640 |
+
var _TouchRipple = __webpack_require__(166);
|
1641 |
+
|
1642 |
+
var _TouchRipple2 = _interopRequireDefault(_TouchRipple);
|
1643 |
+
|
1644 |
+
function _interopRequireDefault(obj) {
|
1645 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
1646 |
+
}
|
1647 |
+
|
1648 |
+
var styleInjected = false;
|
1649 |
+
var listening = false;
|
1650 |
+
var tabPressed = false;
|
1651 |
+
|
1652 |
+
function injectStyle() {
|
1653 |
+
if (!styleInjected) {
|
1654 |
+
// Remove inner padding and border in Firefox 4+.
|
1655 |
+
var style = document.createElement('style');
|
1656 |
+
style.innerHTML = '\n button::-moz-focus-inner,\n input::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n ';
|
1657 |
+
|
1658 |
+
document.body.appendChild(style);
|
1659 |
+
styleInjected = true;
|
1660 |
+
}
|
1661 |
+
}
|
1662 |
+
|
1663 |
+
function listenForTabPresses() {
|
1664 |
+
if (!listening) {
|
1665 |
+
_events2.default.on(window, 'keydown', function (event) {
|
1666 |
+
tabPressed = (0, _keycode2.default)(event) === 'tab';
|
1667 |
+
});
|
1668 |
+
listening = true;
|
1669 |
+
}
|
1670 |
+
}
|
1671 |
+
|
1672 |
+
var EnhancedButton = function (_Component) {
|
1673 |
+
(0, _inherits3.default)(EnhancedButton, _Component);
|
1674 |
+
|
1675 |
+
function EnhancedButton() {
|
1676 |
+
var _ref;
|
1677 |
+
|
1678 |
+
var _temp, _this, _ret;
|
1679 |
+
|
1680 |
+
(0, _classCallCheck3.default)(this, EnhancedButton);
|
1681 |
+
|
1682 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
1683 |
+
args[_key] = arguments[_key];
|
1684 |
+
}
|
1685 |
+
|
1686 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = EnhancedButton.__proto__ || (0, _getPrototypeOf2.default)(EnhancedButton)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
|
1687 |
+
isKeyboardFocused: false
|
1688 |
+
}, _this.handleKeyDown = function (event) {
|
1689 |
+
if (!_this.props.disabled && !_this.props.disableKeyboardFocus) {
|
1690 |
+
if ((0, _keycode2.default)(event) === 'enter' && _this.state.isKeyboardFocused) {
|
1691 |
+
_this.handleClick(event);
|
1692 |
+
}
|
1693 |
+
if ((0, _keycode2.default)(event) === 'esc' && _this.state.isKeyboardFocused) {
|
1694 |
+
_this.removeKeyboardFocus(event);
|
1695 |
+
}
|
1696 |
+
}
|
1697 |
+
_this.props.onKeyDown(event);
|
1698 |
+
}, _this.handleKeyUp = function (event) {
|
1699 |
+
if (!_this.props.disabled && !_this.props.disableKeyboardFocus) {
|
1700 |
+
if ((0, _keycode2.default)(event) === 'space' && _this.state.isKeyboardFocused) {
|
1701 |
+
_this.handleClick(event);
|
1702 |
+
}
|
1703 |
+
}
|
1704 |
+
_this.props.onKeyUp(event);
|
1705 |
+
}, _this.handleBlur = function (event) {
|
1706 |
+
_this.cancelFocusTimeout();
|
1707 |
+
_this.removeKeyboardFocus(event);
|
1708 |
+
_this.props.onBlur(event);
|
1709 |
+
}, _this.handleFocus = function (event) {
|
1710 |
+
if (event) event.persist();
|
1711 |
+
if (!_this.props.disabled && !_this.props.disableKeyboardFocus) {
|
1712 |
+
// setTimeout is needed because the focus event fires first
|
1713 |
+
// Wait so that we can capture if this was a keyboard focus
|
1714 |
+
// or touch focus
|
1715 |
+
_this.focusTimeout = setTimeout(function () {
|
1716 |
+
if (tabPressed) {
|
1717 |
+
_this.setKeyboardFocus(event);
|
1718 |
+
tabPressed = false;
|
1719 |
+
}
|
1720 |
+
}, 150);
|
1721 |
+
|
1722 |
+
_this.props.onFocus(event);
|
1723 |
+
}
|
1724 |
+
}, _this.handleClick = function (event) {
|
1725 |
+
_this.cancelFocusTimeout();
|
1726 |
+
if (!_this.props.disabled) {
|
1727 |
+
tabPressed = false;
|
1728 |
+
_this.removeKeyboardFocus(event);
|
1729 |
+
_this.props.onClick(event);
|
1730 |
+
}
|
1731 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
1732 |
+
}
|
1733 |
+
|
1734 |
+
(0, _createClass3.default)(EnhancedButton, [{
|
1735 |
+
key: 'componentWillMount',
|
1736 |
+
value: function componentWillMount() {
|
1737 |
+
var _props = this.props,
|
1738 |
+
disabled = _props.disabled,
|
1739 |
+
disableKeyboardFocus = _props.disableKeyboardFocus,
|
1740 |
+
keyboardFocused = _props.keyboardFocused;
|
1741 |
+
|
1742 |
+
if (!disabled && keyboardFocused && !disableKeyboardFocus) {
|
1743 |
+
this.setState({ isKeyboardFocused: true });
|
1744 |
+
}
|
1745 |
+
}
|
1746 |
+
}, {
|
1747 |
+
key: 'componentDidMount',
|
1748 |
+
value: function componentDidMount() {
|
1749 |
+
injectStyle();
|
1750 |
+
listenForTabPresses();
|
1751 |
+
if (this.state.isKeyboardFocused) {
|
1752 |
+
this.button.focus();
|
1753 |
+
this.props.onKeyboardFocus(null, true);
|
1754 |
+
}
|
1755 |
+
}
|
1756 |
+
}, {
|
1757 |
+
key: 'componentWillReceiveProps',
|
1758 |
+
value: function componentWillReceiveProps(nextProps) {
|
1759 |
+
if ((nextProps.disabled || nextProps.disableKeyboardFocus) && this.state.isKeyboardFocused) {
|
1760 |
+
this.setState({ isKeyboardFocused: false });
|
1761 |
+
if (nextProps.onKeyboardFocus) {
|
1762 |
+
nextProps.onKeyboardFocus(null, false);
|
1763 |
+
}
|
1764 |
+
}
|
1765 |
+
}
|
1766 |
+
}, {
|
1767 |
+
key: 'componentWillUnmount',
|
1768 |
+
value: function componentWillUnmount() {
|
1769 |
+
if (this.focusTimeout) {
|
1770 |
+
clearTimeout(this.focusTimeout);
|
1771 |
+
}
|
1772 |
+
}
|
1773 |
+
}, {
|
1774 |
+
key: 'isKeyboardFocused',
|
1775 |
+
value: function isKeyboardFocused() {
|
1776 |
+
return this.state.isKeyboardFocused;
|
1777 |
+
}
|
1778 |
+
}, {
|
1779 |
+
key: 'removeKeyboardFocus',
|
1780 |
+
value: function removeKeyboardFocus(event) {
|
1781 |
+
if (this.state.isKeyboardFocused) {
|
1782 |
+
this.setState({ isKeyboardFocused: false });
|
1783 |
+
this.props.onKeyboardFocus(event, false);
|
1784 |
+
}
|
1785 |
+
}
|
1786 |
+
}, {
|
1787 |
+
key: 'setKeyboardFocus',
|
1788 |
+
value: function setKeyboardFocus(event) {
|
1789 |
+
if (!this.state.isKeyboardFocused) {
|
1790 |
+
this.setState({ isKeyboardFocused: true });
|
1791 |
+
this.props.onKeyboardFocus(event, true);
|
1792 |
+
}
|
1793 |
+
}
|
1794 |
+
}, {
|
1795 |
+
key: 'cancelFocusTimeout',
|
1796 |
+
value: function cancelFocusTimeout() {
|
1797 |
+
if (this.focusTimeout) {
|
1798 |
+
clearTimeout(this.focusTimeout);
|
1799 |
+
this.focusTimeout = null;
|
1800 |
+
}
|
1801 |
+
}
|
1802 |
+
}, {
|
1803 |
+
key: 'createButtonChildren',
|
1804 |
+
value: function createButtonChildren() {
|
1805 |
+
var _props2 = this.props,
|
1806 |
+
centerRipple = _props2.centerRipple,
|
1807 |
+
children = _props2.children,
|
1808 |
+
disabled = _props2.disabled,
|
1809 |
+
disableFocusRipple = _props2.disableFocusRipple,
|
1810 |
+
disableKeyboardFocus = _props2.disableKeyboardFocus,
|
1811 |
+
disableTouchRipple = _props2.disableTouchRipple,
|
1812 |
+
focusRippleColor = _props2.focusRippleColor,
|
1813 |
+
focusRippleOpacity = _props2.focusRippleOpacity,
|
1814 |
+
touchRippleColor = _props2.touchRippleColor,
|
1815 |
+
touchRippleOpacity = _props2.touchRippleOpacity;
|
1816 |
+
var isKeyboardFocused = this.state.isKeyboardFocused;
|
1817 |
+
|
1818 |
+
// Focus Ripple
|
1819 |
+
|
1820 |
+
var focusRipple = isKeyboardFocused && !disabled && !disableFocusRipple && !disableKeyboardFocus ? _react2.default.createElement(_FocusRipple2.default, {
|
1821 |
+
color: focusRippleColor,
|
1822 |
+
opacity: focusRippleOpacity,
|
1823 |
+
show: isKeyboardFocused,
|
1824 |
+
style: {
|
1825 |
+
overflow: 'hidden'
|
1826 |
+
},
|
1827 |
+
key: 'focusRipple'
|
1828 |
+
}) : undefined;
|
1829 |
+
|
1830 |
+
// Touch Ripple
|
1831 |
+
var touchRipple = !disabled && !disableTouchRipple ? _react2.default.createElement(_TouchRipple2.default, {
|
1832 |
+
centerRipple: centerRipple,
|
1833 |
+
color: touchRippleColor,
|
1834 |
+
opacity: touchRippleOpacity,
|
1835 |
+
key: 'touchRipple'
|
1836 |
+
}, children) : undefined;
|
1837 |
+
|
1838 |
+
return [focusRipple, touchRipple, touchRipple ? undefined : children];
|
1839 |
+
}
|
1840 |
+
}, {
|
1841 |
+
key: 'render',
|
1842 |
+
value: function render() {
|
1843 |
+
var _this2 = this;
|
1844 |
+
|
1845 |
+
var _props3 = this.props,
|
1846 |
+
centerRipple = _props3.centerRipple,
|
1847 |
+
children = _props3.children,
|
1848 |
+
containerElement = _props3.containerElement,
|
1849 |
+
disabled = _props3.disabled,
|
1850 |
+
disableFocusRipple = _props3.disableFocusRipple,
|
1851 |
+
disableKeyboardFocus = _props3.disableKeyboardFocus,
|
1852 |
+
disableTouchRipple = _props3.disableTouchRipple,
|
1853 |
+
focusRippleColor = _props3.focusRippleColor,
|
1854 |
+
focusRippleOpacity = _props3.focusRippleOpacity,
|
1855 |
+
href = _props3.href,
|
1856 |
+
keyboardFocused = _props3.keyboardFocused,
|
1857 |
+
touchRippleColor = _props3.touchRippleColor,
|
1858 |
+
touchRippleOpacity = _props3.touchRippleOpacity,
|
1859 |
+
onBlur = _props3.onBlur,
|
1860 |
+
onClick = _props3.onClick,
|
1861 |
+
onFocus = _props3.onFocus,
|
1862 |
+
onKeyUp = _props3.onKeyUp,
|
1863 |
+
onKeyDown = _props3.onKeyDown,
|
1864 |
+
onKeyboardFocus = _props3.onKeyboardFocus,
|
1865 |
+
style = _props3.style,
|
1866 |
+
tabIndex = _props3.tabIndex,
|
1867 |
+
type = _props3.type,
|
1868 |
+
other = (0, _objectWithoutProperties3.default)(_props3, ['centerRipple', 'children', 'containerElement', 'disabled', 'disableFocusRipple', 'disableKeyboardFocus', 'disableTouchRipple', 'focusRippleColor', 'focusRippleOpacity', 'href', 'keyboardFocused', 'touchRippleColor', 'touchRippleOpacity', 'onBlur', 'onClick', 'onFocus', 'onKeyUp', 'onKeyDown', 'onKeyboardFocus', 'style', 'tabIndex', 'type']);
|
1869 |
+
var _context$muiTheme = this.context.muiTheme,
|
1870 |
+
prepareStyles = _context$muiTheme.prepareStyles,
|
1871 |
+
enhancedButton = _context$muiTheme.enhancedButton;
|
1872 |
+
|
1873 |
+
var mergedStyles = (0, _simpleAssign2.default)({
|
1874 |
+
border: 10,
|
1875 |
+
boxSizing: 'border-box',
|
1876 |
+
display: 'inline-block',
|
1877 |
+
fontFamily: this.context.muiTheme.baseTheme.fontFamily,
|
1878 |
+
WebkitTapHighlightColor: enhancedButton.tapHighlightColor, // Remove mobile color flashing (deprecated)
|
1879 |
+
cursor: disabled ? 'default' : 'pointer',
|
1880 |
+
textDecoration: 'none',
|
1881 |
+
margin: 0,
|
1882 |
+
padding: 0,
|
1883 |
+
outline: 'none',
|
1884 |
+
fontSize: 'inherit',
|
1885 |
+
fontWeight: 'inherit',
|
1886 |
+
position: 'relative', // This is needed so that ripples do not bleed past border radius.
|
1887 |
+
verticalAlign: href ? 'middle' : null
|
1888 |
+
}, style);
|
1889 |
+
|
1890 |
+
// Passing both background:none & backgroundColor can break due to object iteration order
|
1891 |
+
if (!mergedStyles.backgroundColor && !mergedStyles.background) {
|
1892 |
+
mergedStyles.background = 'none';
|
1893 |
+
}
|
1894 |
+
|
1895 |
+
if (disabled && href) {
|
1896 |
+
return _react2.default.createElement('span', (0, _extends3.default)({}, other, {
|
1897 |
+
style: mergedStyles
|
1898 |
+
}), children);
|
1899 |
+
}
|
1900 |
+
|
1901 |
+
var buttonProps = (0, _extends3.default)({}, other, {
|
1902 |
+
style: prepareStyles(mergedStyles),
|
1903 |
+
ref: function ref(node) {
|
1904 |
+
return _this2.button = node;
|
1905 |
+
},
|
1906 |
+
disabled: disabled,
|
1907 |
+
onBlur: this.handleBlur,
|
1908 |
+
onFocus: this.handleFocus,
|
1909 |
+
onKeyUp: this.handleKeyUp,
|
1910 |
+
onKeyDown: this.handleKeyDown,
|
1911 |
+
onClick: this.handleClick,
|
1912 |
+
tabIndex: disabled || disableKeyboardFocus ? -1 : tabIndex
|
1913 |
+
});
|
1914 |
+
|
1915 |
+
if (href) buttonProps.href = href;
|
1916 |
+
|
1917 |
+
var buttonChildren = this.createButtonChildren();
|
1918 |
+
|
1919 |
+
if (_react2.default.isValidElement(containerElement)) {
|
1920 |
+
return _react2.default.cloneElement(containerElement, buttonProps, buttonChildren);
|
1921 |
+
}
|
1922 |
+
|
1923 |
+
if (!href && containerElement === 'button') {
|
1924 |
+
buttonProps.type = type;
|
1925 |
+
}
|
1926 |
+
|
1927 |
+
return _react2.default.createElement(href ? 'a' : containerElement, buttonProps, buttonChildren);
|
1928 |
+
}
|
1929 |
+
}]);
|
1930 |
+
return EnhancedButton;
|
1931 |
+
}(_react.Component);
|
1932 |
+
|
1933 |
+
EnhancedButton.defaultProps = {
|
1934 |
+
containerElement: 'button',
|
1935 |
+
onBlur: function onBlur() {},
|
1936 |
+
onClick: function onClick() {},
|
1937 |
+
onFocus: function onFocus() {},
|
1938 |
+
onKeyDown: function onKeyDown() {},
|
1939 |
+
onKeyUp: function onKeyUp() {},
|
1940 |
+
onKeyboardFocus: function onKeyboardFocus() {},
|
1941 |
+
tabIndex: 0,
|
1942 |
+
type: 'button'
|
1943 |
+
};
|
1944 |
+
EnhancedButton.contextTypes = {
|
1945 |
+
muiTheme: _propTypes2.default.object.isRequired
|
1946 |
+
};
|
1947 |
+
EnhancedButton.propTypes = process.env.NODE_ENV !== "production" ? {
|
1948 |
+
centerRipple: _propTypes2.default.bool,
|
1949 |
+
children: _propTypes2.default.node,
|
1950 |
+
containerElement: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
1951 |
+
disableFocusRipple: _propTypes2.default.bool,
|
1952 |
+
disableKeyboardFocus: _propTypes2.default.bool,
|
1953 |
+
disableTouchRipple: _propTypes2.default.bool,
|
1954 |
+
disabled: _propTypes2.default.bool,
|
1955 |
+
focusRippleColor: _propTypes2.default.string,
|
1956 |
+
focusRippleOpacity: _propTypes2.default.number,
|
1957 |
+
href: _propTypes2.default.string,
|
1958 |
+
keyboardFocused: _propTypes2.default.bool,
|
1959 |
+
onBlur: _propTypes2.default.func,
|
1960 |
+
onClick: _propTypes2.default.func,
|
1961 |
+
onFocus: _propTypes2.default.func,
|
1962 |
+
onKeyDown: _propTypes2.default.func,
|
1963 |
+
onKeyUp: _propTypes2.default.func,
|
1964 |
+
onKeyboardFocus: _propTypes2.default.func,
|
1965 |
+
style: _propTypes2.default.object,
|
1966 |
+
tabIndex: _propTypes2.default.number,
|
1967 |
+
touchRippleColor: _propTypes2.default.string,
|
1968 |
+
touchRippleOpacity: _propTypes2.default.number,
|
1969 |
+
type: _propTypes2.default.string
|
1970 |
+
} : {};
|
1971 |
+
exports.default = EnhancedButton;
|
1972 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
1973 |
+
|
1974 |
+
/***/ }),
|
1975 |
+
/* 28 */
|
1976 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1977 |
+
|
1978 |
+
var freeGlobal = __webpack_require__(211);
|
1979 |
+
|
1980 |
+
/** Detect free variable `self`. */
|
1981 |
+
var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
|
1982 |
+
|
1983 |
+
/** Used as a reference to the global object. */
|
1984 |
+
var root = freeGlobal || freeSelf || Function('return this')();
|
1985 |
+
|
1986 |
+
module.exports = root;
|
1987 |
+
|
1988 |
+
/***/ }),
|
1989 |
+
/* 29 */
|
1990 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1991 |
+
|
1992 |
+
"use strict";
|
1993 |
+
|
1994 |
+
|
1995 |
+
Object.defineProperty(exports, "__esModule", {
|
1996 |
+
value: true
|
1997 |
+
});
|
1998 |
+
exports.red = undefined;
|
1999 |
+
|
2000 |
+
var _each = __webpack_require__(607);
|
2001 |
+
|
2002 |
+
var _each2 = _interopRequireDefault(_each);
|
2003 |
+
|
2004 |
+
var _tinycolor = __webpack_require__(609);
|
2005 |
+
|
2006 |
+
var _tinycolor2 = _interopRequireDefault(_tinycolor);
|
2007 |
+
|
2008 |
+
function _interopRequireDefault(obj) {
|
2009 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
2010 |
+
}
|
2011 |
+
|
2012 |
+
exports.default = {
|
2013 |
+
simpleCheckForValidColor: function simpleCheckForValidColor(data) {
|
2014 |
+
var keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];
|
2015 |
+
var checked = 0;
|
2016 |
+
var passed = 0;
|
2017 |
+
(0, _each2.default)(keysToCheck, function (letter) {
|
2018 |
+
if (data[letter]) {
|
2019 |
+
checked += 1;
|
2020 |
+
if (!isNaN(data[letter])) {
|
2021 |
+
passed += 1;
|
2022 |
+
}
|
2023 |
+
if (letter === 's' || letter === 'l') {
|
2024 |
+
var percentPatt = /^\d+%$/;
|
2025 |
+
if (percentPatt.test(data[letter])) {
|
2026 |
+
passed += 1;
|
2027 |
+
}
|
2028 |
+
}
|
2029 |
+
}
|
2030 |
+
});
|
2031 |
+
return checked === passed ? data : false;
|
2032 |
+
},
|
2033 |
+
toState: function toState(data, oldHue) {
|
2034 |
+
var color = data.hex ? (0, _tinycolor2.default)(data.hex) : (0, _tinycolor2.default)(data);
|
2035 |
+
var hsl = color.toHsl();
|
2036 |
+
var hsv = color.toHsv();
|
2037 |
+
var rgb = color.toRgb();
|
2038 |
+
var hex = color.toHex();
|
2039 |
+
if (hsl.s === 0) {
|
2040 |
+
hsl.h = oldHue || 0;
|
2041 |
+
hsv.h = oldHue || 0;
|
2042 |
+
}
|
2043 |
+
var transparent = hex === '000000' && rgb.a === 0;
|
2044 |
+
|
2045 |
+
return {
|
2046 |
+
hsl: hsl,
|
2047 |
+
hex: transparent ? 'transparent' : '#' + hex,
|
2048 |
+
rgb: rgb,
|
2049 |
+
hsv: hsv,
|
2050 |
+
oldHue: data.h || oldHue || hsl.h,
|
2051 |
+
source: data.source
|
2052 |
+
};
|
2053 |
+
},
|
2054 |
+
isValidHex: function isValidHex(hex) {
|
2055 |
+
// disable hex4 and hex8
|
2056 |
+
var lh = String(hex).charAt(0) === '#' ? 1 : 0;
|
2057 |
+
return hex.length !== 4 + lh && hex.length < 7 + lh && (0, _tinycolor2.default)(hex).isValid();
|
2058 |
+
},
|
2059 |
+
getContrastingColor: function getContrastingColor(data) {
|
2060 |
+
if (!data) {
|
2061 |
+
return '#fff';
|
2062 |
+
}
|
2063 |
+
var col = this.toState(data);
|
2064 |
+
if (col.hex === 'transparent') {
|
2065 |
+
return 'rgba(0,0,0,0.4)';
|
2066 |
+
}
|
2067 |
+
var yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000;
|
2068 |
+
return yiq >= 128 ? '#000' : '#fff';
|
2069 |
+
}
|
2070 |
+
};
|
2071 |
+
var red = exports.red = {
|
2072 |
+
hsl: { a: 1, h: 0, l: 0.5, s: 1 },
|
2073 |
+
hex: '#ff0000',
|
2074 |
+
rgb: { r: 255, g: 0, b: 0, a: 1 },
|
2075 |
+
hsv: { h: 0, s: 1, v: 1, a: 1 }
|
2076 |
+
};
|
2077 |
+
|
2078 |
+
/***/ }),
|
2079 |
+
/* 30 */
|
2080 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2081 |
+
|
2082 |
+
"use strict";
|
2083 |
+
/*
|
2084 |
+
object-assign
|
2085 |
+
(c) Sindre Sorhus
|
2086 |
+
@license MIT
|
2087 |
+
*/
|
2088 |
+
|
2089 |
+
|
2090 |
+
/* eslint-disable no-unused-vars */
|
2091 |
+
|
2092 |
+
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
2093 |
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
2094 |
+
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
2095 |
+
|
2096 |
+
function toObject(val) {
|
2097 |
+
if (val === null || val === undefined) {
|
2098 |
+
throw new TypeError('Object.assign cannot be called with null or undefined');
|
2099 |
+
}
|
2100 |
+
|
2101 |
+
return Object(val);
|
2102 |
+
}
|
2103 |
+
|
2104 |
+
function shouldUseNative() {
|
2105 |
+
try {
|
2106 |
+
if (!Object.assign) {
|
2107 |
+
return false;
|
2108 |
+
}
|
2109 |
+
|
2110 |
+
// Detect buggy property enumeration order in older V8 versions.
|
2111 |
+
|
2112 |
+
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
|
2113 |
+
var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
|
2114 |
+
test1[5] = 'de';
|
2115 |
+
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
2116 |
+
return false;
|
2117 |
+
}
|
2118 |
+
|
2119 |
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
2120 |
+
var test2 = {};
|
2121 |
+
for (var i = 0; i < 10; i++) {
|
2122 |
+
test2['_' + String.fromCharCode(i)] = i;
|
2123 |
+
}
|
2124 |
+
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
2125 |
+
return test2[n];
|
2126 |
+
});
|
2127 |
+
if (order2.join('') !== '0123456789') {
|
2128 |
+
return false;
|
2129 |
+
}
|
2130 |
+
|
2131 |
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
2132 |
+
var test3 = {};
|
2133 |
+
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
|
2134 |
+
test3[letter] = letter;
|
2135 |
+
});
|
2136 |
+
if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {
|
2137 |
+
return false;
|
2138 |
+
}
|
2139 |
+
|
2140 |
+
return true;
|
2141 |
+
} catch (err) {
|
2142 |
+
// We don't expect any of the above to throw, but better to be safe.
|
2143 |
+
return false;
|
2144 |
+
}
|
2145 |
+
}
|
2146 |
+
|
2147 |
+
module.exports = shouldUseNative() ? Object.assign : function (target, source) {
|
2148 |
+
var from;
|
2149 |
+
var to = toObject(target);
|
2150 |
+
var symbols;
|
2151 |
+
|
2152 |
+
for (var s = 1; s < arguments.length; s++) {
|
2153 |
+
from = Object(arguments[s]);
|
2154 |
+
|
2155 |
+
for (var key in from) {
|
2156 |
+
if (hasOwnProperty.call(from, key)) {
|
2157 |
+
to[key] = from[key];
|
2158 |
+
}
|
2159 |
+
}
|
2160 |
+
|
2161 |
+
if (getOwnPropertySymbols) {
|
2162 |
+
symbols = getOwnPropertySymbols(from);
|
2163 |
+
for (var i = 0; i < symbols.length; i++) {
|
2164 |
+
if (propIsEnumerable.call(from, symbols[i])) {
|
2165 |
+
to[symbols[i]] = from[symbols[i]];
|
2166 |
+
}
|
2167 |
+
}
|
2168 |
+
}
|
2169 |
+
}
|
2170 |
+
|
2171 |
+
return to;
|
2172 |
+
};
|
2173 |
+
|
2174 |
+
/***/ }),
|
2175 |
+
/* 31 */
|
2176 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2177 |
+
|
2178 |
+
"use strict";
|
2179 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
2180 |
+
|
2181 |
+
Object.defineProperty(exports, "__esModule", {
|
2182 |
+
value: true
|
2183 |
+
});
|
2184 |
+
|
2185 |
+
var _getPrototypeOf = __webpack_require__(5);
|
2186 |
+
|
2187 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
2188 |
+
|
2189 |
+
var _classCallCheck2 = __webpack_require__(3);
|
2190 |
+
|
2191 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
2192 |
+
|
2193 |
+
var _createClass2 = __webpack_require__(4);
|
2194 |
+
|
2195 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
2196 |
+
|
2197 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
2198 |
+
|
2199 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
2200 |
+
|
2201 |
+
var _inherits2 = __webpack_require__(7);
|
2202 |
+
|
2203 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
2204 |
+
|
2205 |
+
var _typeof2 = __webpack_require__(52);
|
2206 |
+
|
2207 |
+
var _typeof3 = _interopRequireDefault(_typeof2);
|
2208 |
+
|
2209 |
+
var _keys = __webpack_require__(101);
|
2210 |
+
|
2211 |
+
var _keys2 = _interopRequireDefault(_keys);
|
2212 |
+
|
2213 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
2214 |
+
|
2215 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
2216 |
+
|
2217 |
+
var _assign = __webpack_require__(150);
|
2218 |
+
|
2219 |
+
var _assign2 = _interopRequireDefault(_assign);
|
2220 |
+
|
2221 |
+
exports.withOptions = withOptions;
|
2222 |
+
|
2223 |
+
var _react = __webpack_require__(0);
|
2224 |
+
|
2225 |
+
var _react2 = _interopRequireDefault(_react);
|
2226 |
+
|
2227 |
+
var _propTypes = __webpack_require__(2);
|
2228 |
+
|
2229 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
2230 |
+
|
2231 |
+
var _shallowEqual = __webpack_require__(76);
|
2232 |
+
|
2233 |
+
var _shallowEqual2 = _interopRequireDefault(_shallowEqual);
|
2234 |
+
|
2235 |
+
var _warning = __webpack_require__(16);
|
2236 |
+
|
2237 |
+
var _warning2 = _interopRequireDefault(_warning);
|
2238 |
+
|
2239 |
+
var _supports = __webpack_require__(349);
|
2240 |
+
|
2241 |
+
function _interopRequireDefault(obj) {
|
2242 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
2243 |
+
}
|
2244 |
+
|
2245 |
+
var defaultEventOptions = {
|
2246 |
+
capture: false,
|
2247 |
+
passive: false
|
2248 |
+
};
|
2249 |
+
|
2250 |
+
function mergeDefaultEventOptions(options) {
|
2251 |
+
return (0, _assign2.default)({}, defaultEventOptions, options);
|
2252 |
+
}
|
2253 |
+
|
2254 |
+
function getEventListenerArgs(eventName, callback, options) {
|
2255 |
+
var args = [eventName, callback];
|
2256 |
+
args.push(_supports.passiveOption ? options : options.capture);
|
2257 |
+
return args;
|
2258 |
+
}
|
2259 |
+
|
2260 |
+
function on(target, eventName, callback, options) {
|
2261 |
+
// eslint-disable-next-line prefer-spread
|
2262 |
+
target.addEventListener.apply(target, getEventListenerArgs(eventName, callback, options));
|
2263 |
+
}
|
2264 |
+
|
2265 |
+
function off(target, eventName, callback, options) {
|
2266 |
+
// eslint-disable-next-line prefer-spread
|
2267 |
+
target.removeEventListener.apply(target, getEventListenerArgs(eventName, callback, options));
|
2268 |
+
}
|
2269 |
+
|
2270 |
+
function forEachListener(props, iteratee) {
|
2271 |
+
var children = props.children,
|
2272 |
+
target = props.target,
|
2273 |
+
eventProps = (0, _objectWithoutProperties3.default)(props, ['children', 'target']);
|
2274 |
+
|
2275 |
+
(0, _keys2.default)(eventProps).forEach(function (name) {
|
2276 |
+
if (name.substring(0, 2) !== 'on') {
|
2277 |
+
return;
|
2278 |
+
}
|
2279 |
+
|
2280 |
+
var prop = eventProps[name];
|
2281 |
+
var type = typeof prop === 'undefined' ? 'undefined' : (0, _typeof3.default)(prop);
|
2282 |
+
var isObject = type === 'object';
|
2283 |
+
var isFunction = type === 'function';
|
2284 |
+
|
2285 |
+
if (!isObject && !isFunction) {
|
2286 |
+
return;
|
2287 |
+
}
|
2288 |
+
|
2289 |
+
var capture = name.substr(-7).toLowerCase() === 'capture';
|
2290 |
+
var eventName = name.substring(2).toLowerCase();
|
2291 |
+
eventName = capture ? eventName.substring(0, eventName.length - 7) : eventName;
|
2292 |
+
|
2293 |
+
if (isObject) {
|
2294 |
+
iteratee(eventName, prop.handler, prop.options);
|
2295 |
+
} else {
|
2296 |
+
iteratee(eventName, prop, mergeDefaultEventOptions({ capture: capture }));
|
2297 |
+
}
|
2298 |
+
});
|
2299 |
+
}
|
2300 |
+
|
2301 |
+
function withOptions(handler, options) {
|
2302 |
+
process.env.NODE_ENV !== "production" ? (0, _warning2.default)(options, 'react-event-listener: should be specified options in withOptions.') : void 0;
|
2303 |
+
|
2304 |
+
return {
|
2305 |
+
handler: handler,
|
2306 |
+
options: mergeDefaultEventOptions(options)
|
2307 |
+
};
|
2308 |
+
}
|
2309 |
+
|
2310 |
+
var EventListener = function (_React$Component) {
|
2311 |
+
(0, _inherits3.default)(EventListener, _React$Component);
|
2312 |
+
|
2313 |
+
function EventListener() {
|
2314 |
+
(0, _classCallCheck3.default)(this, EventListener);
|
2315 |
+
return (0, _possibleConstructorReturn3.default)(this, (EventListener.__proto__ || (0, _getPrototypeOf2.default)(EventListener)).apply(this, arguments));
|
2316 |
+
}
|
2317 |
+
|
2318 |
+
(0, _createClass3.default)(EventListener, [{
|
2319 |
+
key: 'componentDidMount',
|
2320 |
+
value: function componentDidMount() {
|
2321 |
+
this.addListeners();
|
2322 |
+
}
|
2323 |
+
}, {
|
2324 |
+
key: 'shouldComponentUpdate',
|
2325 |
+
value: function shouldComponentUpdate(nextProps) {
|
2326 |
+
return !(0, _shallowEqual2.default)(this.props, nextProps);
|
2327 |
+
}
|
2328 |
+
}, {
|
2329 |
+
key: 'componentWillUpdate',
|
2330 |
+
value: function componentWillUpdate() {
|
2331 |
+
this.removeListeners();
|
2332 |
+
}
|
2333 |
+
}, {
|
2334 |
+
key: 'componentDidUpdate',
|
2335 |
+
value: function componentDidUpdate() {
|
2336 |
+
this.addListeners();
|
2337 |
+
}
|
2338 |
+
}, {
|
2339 |
+
key: 'componentWillUnmount',
|
2340 |
+
value: function componentWillUnmount() {
|
2341 |
+
this.removeListeners();
|
2342 |
+
}
|
2343 |
+
}, {
|
2344 |
+
key: 'addListeners',
|
2345 |
+
value: function addListeners() {
|
2346 |
+
this.applyListeners(on);
|
2347 |
+
}
|
2348 |
+
}, {
|
2349 |
+
key: 'removeListeners',
|
2350 |
+
value: function removeListeners() {
|
2351 |
+
this.applyListeners(off);
|
2352 |
+
}
|
2353 |
+
}, {
|
2354 |
+
key: 'applyListeners',
|
2355 |
+
value: function applyListeners(onOrOff) {
|
2356 |
+
var target = this.props.target;
|
2357 |
+
|
2358 |
+
if (target) {
|
2359 |
+
var element = target;
|
2360 |
+
|
2361 |
+
if (typeof target === 'string') {
|
2362 |
+
element = window[target];
|
2363 |
+
}
|
2364 |
+
|
2365 |
+
forEachListener(this.props, onOrOff.bind(null, element));
|
2366 |
+
}
|
2367 |
+
}
|
2368 |
+
}, {
|
2369 |
+
key: 'render',
|
2370 |
+
value: function render() {
|
2371 |
+
return this.props.children || null;
|
2372 |
+
}
|
2373 |
+
}]);
|
2374 |
+
return EventListener;
|
2375 |
+
}(_react2.default.Component);
|
2376 |
+
|
2377 |
+
EventListener.propTypes = process.env.NODE_ENV !== "production" ? {
|
2378 |
+
/**
|
2379 |
+
* You can provide a single child too.
|
2380 |
+
*/
|
2381 |
+
children: _propTypes2.default.node,
|
2382 |
+
/**
|
2383 |
+
* The DOM target to listen to.
|
2384 |
+
*/
|
2385 |
+
target: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]).isRequired
|
2386 |
+
} : {};
|
2387 |
+
|
2388 |
+
exports.default = EventListener;
|
2389 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
2390 |
+
|
2391 |
+
/***/ }),
|
2392 |
+
/* 32 */
|
2393 |
+
/***/ (function(module, exports) {
|
2394 |
+
|
2395 |
+
/**
|
2396 |
+
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
2397 |
+
* and has a `typeof` result of "object".
|
2398 |
+
*
|
2399 |
+
* @static
|
2400 |
+
* @memberOf _
|
2401 |
+
* @since 4.0.0
|
2402 |
+
* @category Lang
|
2403 |
+
* @param {*} value The value to check.
|
2404 |
+
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
2405 |
+
* @example
|
2406 |
+
*
|
2407 |
+
* _.isObjectLike({});
|
2408 |
+
* // => true
|
2409 |
+
*
|
2410 |
+
* _.isObjectLike([1, 2, 3]);
|
2411 |
+
* // => true
|
2412 |
+
*
|
2413 |
+
* _.isObjectLike(_.noop);
|
2414 |
+
* // => false
|
2415 |
+
*
|
2416 |
+
* _.isObjectLike(null);
|
2417 |
+
* // => false
|
2418 |
+
*/
|
2419 |
+
function isObjectLike(value) {
|
2420 |
+
return value != null && typeof value == 'object';
|
2421 |
+
}
|
2422 |
+
|
2423 |
+
module.exports = isObjectLike;
|
2424 |
+
|
2425 |
+
/***/ }),
|
2426 |
+
/* 33 */
|
2427 |
+
/***/ (function(module, exports) {
|
2428 |
+
|
2429 |
+
/**
|
2430 |
+
* Checks if `value` is the
|
2431 |
+
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
|
2432 |
+
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
2433 |
+
*
|
2434 |
+
* @static
|
2435 |
+
* @memberOf _
|
2436 |
+
* @since 0.1.0
|
2437 |
+
* @category Lang
|
2438 |
+
* @param {*} value The value to check.
|
2439 |
+
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
|
2440 |
+
* @example
|
2441 |
+
*
|
2442 |
+
* _.isObject({});
|
2443 |
+
* // => true
|
2444 |
+
*
|
2445 |
+
* _.isObject([1, 2, 3]);
|
2446 |
+
* // => true
|
2447 |
+
*
|
2448 |
+
* _.isObject(_.noop);
|
2449 |
+
* // => true
|
2450 |
+
*
|
2451 |
+
* _.isObject(null);
|
2452 |
+
* // => false
|
2453 |
+
*/
|
2454 |
+
function isObject(value) {
|
2455 |
+
var type = typeof value;
|
2456 |
+
return value != null && (type == 'object' || type == 'function');
|
2457 |
+
}
|
2458 |
+
|
2459 |
+
module.exports = isObject;
|
2460 |
+
|
2461 |
+
/***/ }),
|
2462 |
+
/* 34 */
|
2463 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2464 |
+
|
2465 |
+
var global = __webpack_require__(35);
|
2466 |
+
var core = __webpack_require__(18);
|
2467 |
+
var ctx = __webpack_require__(92);
|
2468 |
+
var hide = __webpack_require__(48);
|
2469 |
+
var has = __webpack_require__(42);
|
2470 |
+
var PROTOTYPE = 'prototype';
|
2471 |
+
|
2472 |
+
var $export = function (type, name, source) {
|
2473 |
+
var IS_FORCED = type & $export.F;
|
2474 |
+
var IS_GLOBAL = type & $export.G;
|
2475 |
+
var IS_STATIC = type & $export.S;
|
2476 |
+
var IS_PROTO = type & $export.P;
|
2477 |
+
var IS_BIND = type & $export.B;
|
2478 |
+
var IS_WRAP = type & $export.W;
|
2479 |
+
var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
|
2480 |
+
var expProto = exports[PROTOTYPE];
|
2481 |
+
var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
|
2482 |
+
var key, own, out;
|
2483 |
+
if (IS_GLOBAL) source = name;
|
2484 |
+
for (key in source) {
|
2485 |
+
// contains in native
|
2486 |
+
own = !IS_FORCED && target && target[key] !== undefined;
|
2487 |
+
if (own && has(exports, key)) continue;
|
2488 |
+
// export native or passed
|
2489 |
+
out = own ? target[key] : source[key];
|
2490 |
+
// prevent global pollution for namespaces
|
2491 |
+
exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
|
2492 |
+
// bind timers to global for call from export context
|
2493 |
+
: IS_BIND && own ? ctx(out, global)
|
2494 |
+
// wrap global constructors for prevent change them in library
|
2495 |
+
: IS_WRAP && target[key] == out ? function (C) {
|
2496 |
+
var F = function (a, b, c) {
|
2497 |
+
if (this instanceof C) {
|
2498 |
+
switch (arguments.length) {
|
2499 |
+
case 0:
|
2500 |
+
return new C();
|
2501 |
+
case 1:
|
2502 |
+
return new C(a);
|
2503 |
+
case 2:
|
2504 |
+
return new C(a, b);
|
2505 |
+
}return new C(a, b, c);
|
2506 |
+
}return C.apply(this, arguments);
|
2507 |
+
};
|
2508 |
+
F[PROTOTYPE] = C[PROTOTYPE];
|
2509 |
+
return F;
|
2510 |
+
// make static versions for prototype methods
|
2511 |
+
}(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
|
2512 |
+
// export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
|
2513 |
+
if (IS_PROTO) {
|
2514 |
+
(exports.virtual || (exports.virtual = {}))[key] = out;
|
2515 |
+
// export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
|
2516 |
+
if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
|
2517 |
+
}
|
2518 |
+
}
|
2519 |
+
};
|
2520 |
+
// type bitmap
|
2521 |
+
$export.F = 1; // forced
|
2522 |
+
$export.G = 2; // global
|
2523 |
+
$export.S = 4; // static
|
2524 |
+
$export.P = 8; // proto
|
2525 |
+
$export.B = 16; // bind
|
2526 |
+
$export.W = 32; // wrap
|
2527 |
+
$export.U = 64; // safe
|
2528 |
+
$export.R = 128; // real proto method for `library`
|
2529 |
+
module.exports = $export;
|
2530 |
+
|
2531 |
+
/***/ }),
|
2532 |
+
/* 35 */
|
2533 |
+
/***/ (function(module, exports) {
|
2534 |
+
|
2535 |
+
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
2536 |
+
var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self
|
2537 |
+
// eslint-disable-next-line no-new-func
|
2538 |
+
: Function('return this')();
|
2539 |
+
if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
|
2540 |
+
|
2541 |
+
/***/ }),
|
2542 |
+
/* 36 */
|
2543 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2544 |
+
|
2545 |
+
var anObject = __webpack_require__(40);
|
2546 |
+
var IE8_DOM_DEFINE = __webpack_require__(151);
|
2547 |
+
var toPrimitive = __webpack_require__(93);
|
2548 |
+
var dP = Object.defineProperty;
|
2549 |
+
|
2550 |
+
exports.f = __webpack_require__(41) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
|
2551 |
+
anObject(O);
|
2552 |
+
P = toPrimitive(P, true);
|
2553 |
+
anObject(Attributes);
|
2554 |
+
if (IE8_DOM_DEFINE) try {
|
2555 |
+
return dP(O, P, Attributes);
|
2556 |
+
} catch (e) {/* empty */}
|
2557 |
+
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
|
2558 |
+
if ('value' in Attributes) O[P] = Attributes.value;
|
2559 |
+
return O;
|
2560 |
+
};
|
2561 |
+
|
2562 |
+
/***/ }),
|
2563 |
+
/* 37 */
|
2564 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2565 |
+
|
2566 |
+
"use strict";
|
2567 |
+
|
2568 |
+
|
2569 |
+
/**
|
2570 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
2571 |
+
*
|
2572 |
+
* This source code is licensed under the MIT license found in the
|
2573 |
+
* LICENSE file in the root directory of this source tree.
|
2574 |
+
*
|
2575 |
+
*
|
2576 |
+
*/
|
2577 |
+
|
2578 |
+
function makeEmptyFunction(arg) {
|
2579 |
+
return function () {
|
2580 |
+
return arg;
|
2581 |
+
};
|
2582 |
+
}
|
2583 |
+
|
2584 |
+
/**
|
2585 |
+
* This function accepts and discards inputs; it has no side effects. This is
|
2586 |
+
* primarily useful idiomatically for overridable function endpoints which
|
2587 |
+
* always need to be callable, since JS lacks a null-call idiom ala Cocoa.
|
2588 |
+
*/
|
2589 |
+
var emptyFunction = function emptyFunction() {};
|
2590 |
+
|
2591 |
+
emptyFunction.thatReturns = makeEmptyFunction;
|
2592 |
+
emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
|
2593 |
+
emptyFunction.thatReturnsTrue = makeEmptyFunction(true);
|
2594 |
+
emptyFunction.thatReturnsNull = makeEmptyFunction(null);
|
2595 |
+
emptyFunction.thatReturnsThis = function () {
|
2596 |
+
return this;
|
2597 |
+
};
|
2598 |
+
emptyFunction.thatReturnsArgument = function (arg) {
|
2599 |
+
return arg;
|
2600 |
+
};
|
2601 |
+
|
2602 |
+
module.exports = emptyFunction;
|
2603 |
+
|
2604 |
+
/***/ }),
|
2605 |
+
/* 38 */
|
2606 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2607 |
+
|
2608 |
+
"use strict";
|
2609 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
2610 |
+
|
2611 |
+
Object.defineProperty(exports, "__esModule", {
|
2612 |
+
value: true
|
2613 |
+
});
|
2614 |
+
exports.convertColorToString = convertColorToString;
|
2615 |
+
exports.convertHexToRGB = convertHexToRGB;
|
2616 |
+
exports.decomposeColor = decomposeColor;
|
2617 |
+
exports.getContrastRatio = getContrastRatio;
|
2618 |
+
exports.getLuminance = getLuminance;
|
2619 |
+
exports.emphasize = emphasize;
|
2620 |
+
exports.fade = fade;
|
2621 |
+
exports.darken = darken;
|
2622 |
+
exports.lighten = lighten;
|
2623 |
+
|
2624 |
+
var _warning = __webpack_require__(16);
|
2625 |
+
|
2626 |
+
var _warning2 = _interopRequireDefault(_warning);
|
2627 |
+
|
2628 |
+
function _interopRequireDefault(obj) {
|
2629 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
2630 |
+
}
|
2631 |
+
|
2632 |
+
/**
|
2633 |
+
* Returns a number whose value is limited to the given range.
|
2634 |
+
*
|
2635 |
+
* @param {number} value The value to be clamped
|
2636 |
+
* @param {number} min The lower boundary of the output range
|
2637 |
+
* @param {number} max The upper boundary of the output range
|
2638 |
+
* @returns {number} A number in the range [min, max]
|
2639 |
+
*/
|
2640 |
+
function clamp(value, min, max) {
|
2641 |
+
if (value < min) {
|
2642 |
+
return min;
|
2643 |
+
}
|
2644 |
+
if (value > max) {
|
2645 |
+
return max;
|
2646 |
+
}
|
2647 |
+
return value;
|
2648 |
+
}
|
2649 |
+
|
2650 |
+
/**
|
2651 |
+
* Converts a color object with type and values to a string.
|
2652 |
+
*
|
2653 |
+
* @param {object} color - Decomposed color
|
2654 |
+
* @param {string} color.type - One of, 'rgb', 'rgba', 'hsl', 'hsla'
|
2655 |
+
* @param {array} color.values - [n,n,n] or [n,n,n,n]
|
2656 |
+
* @returns {string} A CSS color string
|
2657 |
+
*/
|
2658 |
+
function convertColorToString(color) {
|
2659 |
+
var type = color.type,
|
2660 |
+
values = color.values;
|
2661 |
+
|
2662 |
+
if (type.indexOf('rgb') > -1) {
|
2663 |
+
// Only convert the first 3 values to int (i.e. not alpha)
|
2664 |
+
for (var i = 0; i < 3; i++) {
|
2665 |
+
values[i] = parseInt(values[i]);
|
2666 |
+
}
|
2667 |
+
}
|
2668 |
+
|
2669 |
+
var colorString = void 0;
|
2670 |
+
|
2671 |
+
if (type.indexOf('hsl') > -1) {
|
2672 |
+
colorString = color.type + '(' + values[0] + ', ' + values[1] + '%, ' + values[2] + '%';
|
2673 |
+
} else {
|
2674 |
+
colorString = color.type + '(' + values[0] + ', ' + values[1] + ', ' + values[2];
|
2675 |
+
}
|
2676 |
+
|
2677 |
+
if (values.length === 4) {
|
2678 |
+
colorString += ', ' + color.values[3] + ')';
|
2679 |
+
} else {
|
2680 |
+
colorString += ')';
|
2681 |
+
}
|
2682 |
+
|
2683 |
+
return colorString;
|
2684 |
+
}
|
2685 |
+
|
2686 |
+
/**
|
2687 |
+
* Converts a color from CSS hex format to CSS rgb format.
|
2688 |
+
*
|
2689 |
+
* @param {string} color - Hex color, i.e. #nnn or #nnnnnn
|
2690 |
+
* @returns {string} A CSS rgb color string
|
2691 |
+
*/
|
2692 |
+
function convertHexToRGB(color) {
|
2693 |
+
if (color.length === 4) {
|
2694 |
+
var extendedColor = '#';
|
2695 |
+
for (var i = 1; i < color.length; i++) {
|
2696 |
+
extendedColor += color.charAt(i) + color.charAt(i);
|
2697 |
+
}
|
2698 |
+
color = extendedColor;
|
2699 |
+
}
|
2700 |
+
|
2701 |
+
var values = {
|
2702 |
+
r: parseInt(color.substr(1, 2), 16),
|
2703 |
+
g: parseInt(color.substr(3, 2), 16),
|
2704 |
+
b: parseInt(color.substr(5, 2), 16)
|
2705 |
+
};
|
2706 |
+
|
2707 |
+
return 'rgb(' + values.r + ', ' + values.g + ', ' + values.b + ')';
|
2708 |
+
}
|
2709 |
+
|
2710 |
+
/**
|
2711 |
+
* Returns an object with the type and values of a color.
|
2712 |
+
*
|
2713 |
+
* Note: Does not support rgb % values and color names.
|
2714 |
+
*
|
2715 |
+
* @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
2716 |
+
* @returns {{type: string, values: number[]}} A MUI color object
|
2717 |
+
*/
|
2718 |
+
function decomposeColor(color) {
|
2719 |
+
if (color.charAt(0) === '#') {
|
2720 |
+
return decomposeColor(convertHexToRGB(color));
|
2721 |
+
}
|
2722 |
+
|
2723 |
+
var marker = color.indexOf('(');
|
2724 |
+
|
2725 |
+
process.env.NODE_ENV !== "production" ? (0, _warning2.default)(marker !== -1, 'Material-UI: The ' + color + ' color was not parsed correctly,\n because it has an unsupported format (color name or RGB %). This may cause issues in component rendering.') : void 0;
|
2726 |
+
|
2727 |
+
var type = color.substring(0, marker);
|
2728 |
+
var values = color.substring(marker + 1, color.length - 1).split(',');
|
2729 |
+
values = values.map(function (value) {
|
2730 |
+
return parseFloat(value);
|
2731 |
+
});
|
2732 |
+
|
2733 |
+
return { type: type, values: values };
|
2734 |
+
}
|
2735 |
+
|
2736 |
+
/**
|
2737 |
+
* Calculates the contrast ratio between two colors.
|
2738 |
+
*
|
2739 |
+
* Formula: http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef
|
2740 |
+
*
|
2741 |
+
* @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
2742 |
+
* @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
2743 |
+
* @returns {number} A contrast ratio value in the range 0 - 21 with 2 digit precision.
|
2744 |
+
*/
|
2745 |
+
function getContrastRatio(foreground, background) {
|
2746 |
+
var lumA = getLuminance(foreground);
|
2747 |
+
var lumB = getLuminance(background);
|
2748 |
+
var contrastRatio = (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);
|
2749 |
+
|
2750 |
+
return Number(contrastRatio.toFixed(2)); // Truncate at two digits
|
2751 |
+
}
|
2752 |
+
|
2753 |
+
/**
|
2754 |
+
* The relative brightness of any point in a color space,
|
2755 |
+
* normalized to 0 for darkest black and 1 for lightest white.
|
2756 |
+
*
|
2757 |
+
* Formula: https://www.w3.org/WAI/GL/wiki/Relative_luminance
|
2758 |
+
*
|
2759 |
+
* @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
2760 |
+
* @returns {number} The relative brightness of the color in the range 0 - 1
|
2761 |
+
*/
|
2762 |
+
function getLuminance(color) {
|
2763 |
+
color = decomposeColor(color);
|
2764 |
+
|
2765 |
+
if (color.type.indexOf('rgb') > -1) {
|
2766 |
+
var rgb = color.values.map(function (val) {
|
2767 |
+
val /= 255; // normalized
|
2768 |
+
return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);
|
2769 |
+
});
|
2770 |
+
return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3)); // Truncate at 3 digits
|
2771 |
+
} else if (color.type.indexOf('hsl') > -1) {
|
2772 |
+
return color.values[2] / 100;
|
2773 |
+
}
|
2774 |
+
}
|
2775 |
+
|
2776 |
+
/**
|
2777 |
+
* Darken or lighten a colour, depending on its luminance.
|
2778 |
+
* Light colors are darkened, dark colors are lightened.
|
2779 |
+
*
|
2780 |
+
* @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
2781 |
+
* @param {number} coefficient=0.15 - multiplier in the range 0 - 1
|
2782 |
+
* @returns {string} A CSS color string. Hex input values are returned as rgb
|
2783 |
+
*/
|
2784 |
+
function emphasize(color) {
|
2785 |
+
var coefficient = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.15;
|
2786 |
+
|
2787 |
+
return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);
|
2788 |
+
}
|
2789 |
+
|
2790 |
+
/**
|
2791 |
+
* Set the absolute transparency of a color.
|
2792 |
+
* Any existing alpha values are overwritten.
|
2793 |
+
*
|
2794 |
+
* @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
2795 |
+
* @param {number} value - value to set the alpha channel to in the range 0 -1
|
2796 |
+
* @returns {string} A CSS color string. Hex input values are returned as rgb
|
2797 |
+
*/
|
2798 |
+
function fade(color, value) {
|
2799 |
+
color = decomposeColor(color);
|
2800 |
+
value = clamp(value, 0, 1);
|
2801 |
+
|
2802 |
+
if (color.type === 'rgb' || color.type === 'hsl') {
|
2803 |
+
color.type += 'a';
|
2804 |
+
}
|
2805 |
+
color.values[3] = value;
|
2806 |
+
|
2807 |
+
return convertColorToString(color);
|
2808 |
+
}
|
2809 |
+
|
2810 |
+
/**
|
2811 |
+
* Darkens a color.
|
2812 |
+
*
|
2813 |
+
* @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
2814 |
+
* @param {number} coefficient - multiplier in the range 0 - 1
|
2815 |
+
* @returns {string} A CSS color string. Hex input values are returned as rgb
|
2816 |
+
*/
|
2817 |
+
function darken(color, coefficient) {
|
2818 |
+
color = decomposeColor(color);
|
2819 |
+
coefficient = clamp(coefficient, 0, 1);
|
2820 |
+
|
2821 |
+
if (color.type.indexOf('hsl') > -1) {
|
2822 |
+
color.values[2] *= 1 - coefficient;
|
2823 |
+
} else if (color.type.indexOf('rgb') > -1) {
|
2824 |
+
for (var i = 0; i < 3; i++) {
|
2825 |
+
color.values[i] *= 1 - coefficient;
|
2826 |
+
}
|
2827 |
+
}
|
2828 |
+
return convertColorToString(color);
|
2829 |
+
}
|
2830 |
+
|
2831 |
+
/**
|
2832 |
+
* Lightens a color.
|
2833 |
+
*
|
2834 |
+
* @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
2835 |
+
* @param {number} coefficient - multiplier in the range 0 - 1
|
2836 |
+
* @returns {string} A CSS color string. Hex input values are returned as rgb
|
2837 |
+
*/
|
2838 |
+
function lighten(color, coefficient) {
|
2839 |
+
color = decomposeColor(color);
|
2840 |
+
coefficient = clamp(coefficient, 0, 1);
|
2841 |
+
|
2842 |
+
if (color.type.indexOf('hsl') > -1) {
|
2843 |
+
color.values[2] += (100 - color.values[2]) * coefficient;
|
2844 |
+
} else if (color.type.indexOf('rgb') > -1) {
|
2845 |
+
for (var i = 0; i < 3; i++) {
|
2846 |
+
color.values[i] += (255 - color.values[i]) * coefficient;
|
2847 |
+
}
|
2848 |
+
}
|
2849 |
+
|
2850 |
+
return convertColorToString(color);
|
2851 |
+
}
|
2852 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
2853 |
+
|
2854 |
+
/***/ }),
|
2855 |
+
/* 39 */
|
2856 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2857 |
+
|
2858 |
+
var arrayMap = __webpack_require__(222),
|
2859 |
+
baseIteratee = __webpack_require__(506),
|
2860 |
+
baseMap = __webpack_require__(564),
|
2861 |
+
isArray = __webpack_require__(23);
|
2862 |
+
|
2863 |
+
/**
|
2864 |
+
* Creates an array of values by running each element in `collection` thru
|
2865 |
+
* `iteratee`. The iteratee is invoked with three arguments:
|
2866 |
+
* (value, index|key, collection).
|
2867 |
+
*
|
2868 |
+
* Many lodash methods are guarded to work as iteratees for methods like
|
2869 |
+
* `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
|
2870 |
+
*
|
2871 |
+
* The guarded methods are:
|
2872 |
+
* `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
|
2873 |
+
* `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
|
2874 |
+
* `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
|
2875 |
+
* `template`, `trim`, `trimEnd`, `trimStart`, and `words`
|
2876 |
+
*
|
2877 |
+
* @static
|
2878 |
+
* @memberOf _
|
2879 |
+
* @since 0.1.0
|
2880 |
+
* @category Collection
|
2881 |
+
* @param {Array|Object} collection The collection to iterate over.
|
2882 |
+
* @param {Function} [iteratee=_.identity] The function invoked per iteration.
|
2883 |
+
* @returns {Array} Returns the new mapped array.
|
2884 |
+
* @example
|
2885 |
+
*
|
2886 |
+
* function square(n) {
|
2887 |
+
* return n * n;
|
2888 |
+
* }
|
2889 |
+
*
|
2890 |
+
* _.map([4, 8], square);
|
2891 |
+
* // => [16, 64]
|
2892 |
+
*
|
2893 |
+
* _.map({ 'a': 4, 'b': 8 }, square);
|
2894 |
+
* // => [16, 64] (iteration order is not guaranteed)
|
2895 |
+
*
|
2896 |
+
* var users = [
|
2897 |
+
* { 'user': 'barney' },
|
2898 |
+
* { 'user': 'fred' }
|
2899 |
+
* ];
|
2900 |
+
*
|
2901 |
+
* // The `_.property` iteratee shorthand.
|
2902 |
+
* _.map(users, 'user');
|
2903 |
+
* // => ['barney', 'fred']
|
2904 |
+
*/
|
2905 |
+
function map(collection, iteratee) {
|
2906 |
+
var func = isArray(collection) ? arrayMap : baseMap;
|
2907 |
+
return func(collection, baseIteratee(iteratee, 3));
|
2908 |
+
}
|
2909 |
+
|
2910 |
+
module.exports = map;
|
2911 |
+
|
2912 |
+
/***/ }),
|
2913 |
+
/* 40 */
|
2914 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2915 |
+
|
2916 |
+
var isObject = __webpack_require__(49);
|
2917 |
+
module.exports = function (it) {
|
2918 |
+
if (!isObject(it)) throw TypeError(it + ' is not an object!');
|
2919 |
+
return it;
|
2920 |
+
};
|
2921 |
+
|
2922 |
+
/***/ }),
|
2923 |
+
/* 41 */
|
2924 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2925 |
+
|
2926 |
+
// Thank's IE8 for his funny defineProperty
|
2927 |
+
module.exports = !__webpack_require__(50)(function () {
|
2928 |
+
return Object.defineProperty({}, 'a', { get: function () {
|
2929 |
+
return 7;
|
2930 |
+
} }).a != 7;
|
2931 |
+
});
|
2932 |
+
|
2933 |
+
/***/ }),
|
2934 |
+
/* 42 */
|
2935 |
+
/***/ (function(module, exports) {
|
2936 |
+
|
2937 |
+
var hasOwnProperty = {}.hasOwnProperty;
|
2938 |
+
module.exports = function (it, key) {
|
2939 |
+
return hasOwnProperty.call(it, key);
|
2940 |
+
};
|
2941 |
+
|
2942 |
+
/***/ }),
|
2943 |
+
/* 43 */
|
2944 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2945 |
+
|
2946 |
+
"use strict";
|
2947 |
+
|
2948 |
+
|
2949 |
+
exports.__esModule = true;
|
2950 |
+
|
2951 |
+
var _shallowEqual = __webpack_require__(76);
|
2952 |
+
|
2953 |
+
var _shallowEqual2 = _interopRequireDefault(_shallowEqual);
|
2954 |
+
|
2955 |
+
function _interopRequireDefault(obj) {
|
2956 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
2957 |
+
}
|
2958 |
+
|
2959 |
+
exports.default = _shallowEqual2.default;
|
2960 |
+
|
2961 |
+
/***/ }),
|
2962 |
+
/* 44 */
|
2963 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2964 |
+
|
2965 |
+
"use strict";
|
2966 |
+
|
2967 |
+
|
2968 |
+
Object.defineProperty(exports, "__esModule", {
|
2969 |
+
value: true
|
2970 |
+
});
|
2971 |
+
exports.default = {
|
2972 |
+
set: function set(style, key, value) {
|
2973 |
+
style[key] = value;
|
2974 |
+
}
|
2975 |
+
};
|
2976 |
+
|
2977 |
+
/***/ }),
|
2978 |
+
/* 45 */
|
2979 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2980 |
+
|
2981 |
+
var Symbol = __webpack_require__(69),
|
2982 |
+
getRawTag = __webpack_require__(496),
|
2983 |
+
objectToString = __webpack_require__(497);
|
2984 |
+
|
2985 |
+
/** `Object#toString` result references. */
|
2986 |
+
var nullTag = '[object Null]',
|
2987 |
+
undefinedTag = '[object Undefined]';
|
2988 |
+
|
2989 |
+
/** Built-in value references. */
|
2990 |
+
var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
|
2991 |
+
|
2992 |
+
/**
|
2993 |
+
* The base implementation of `getTag` without fallbacks for buggy environments.
|
2994 |
+
*
|
2995 |
+
* @private
|
2996 |
+
* @param {*} value The value to query.
|
2997 |
+
* @returns {string} Returns the `toStringTag`.
|
2998 |
+
*/
|
2999 |
+
function baseGetTag(value) {
|
3000 |
+
if (value == null) {
|
3001 |
+
return value === undefined ? undefinedTag : nullTag;
|
3002 |
+
}
|
3003 |
+
return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
|
3004 |
+
}
|
3005 |
+
|
3006 |
+
module.exports = baseGetTag;
|
3007 |
+
|
3008 |
+
/***/ }),
|
3009 |
+
/* 46 */
|
3010 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3011 |
+
|
3012 |
+
var baseIsNative = __webpack_require__(519),
|
3013 |
+
getValue = __webpack_require__(522);
|
3014 |
+
|
3015 |
+
/**
|
3016 |
+
* Gets the native function at `key` of `object`.
|
3017 |
+
*
|
3018 |
+
* @private
|
3019 |
+
* @param {Object} object The object to query.
|
3020 |
+
* @param {string} key The key of the method to get.
|
3021 |
+
* @returns {*} Returns the function if it's native, else `undefined`.
|
3022 |
+
*/
|
3023 |
+
function getNative(object, key) {
|
3024 |
+
var value = getValue(object, key);
|
3025 |
+
return baseIsNative(value) ? value : undefined;
|
3026 |
+
}
|
3027 |
+
|
3028 |
+
module.exports = getNative;
|
3029 |
+
|
3030 |
+
/***/ }),
|
3031 |
+
/* 47 */
|
3032 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3033 |
+
|
3034 |
+
"use strict";
|
3035 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
3036 |
+
* Copyright (c) 2014-present, Facebook, Inc.
|
3037 |
+
*
|
3038 |
+
* This source code is licensed under the MIT license found in the
|
3039 |
+
* LICENSE file in the root directory of this source tree.
|
3040 |
+
*
|
3041 |
+
*/
|
3042 |
+
|
3043 |
+
|
3044 |
+
|
3045 |
+
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; };
|
3046 |
+
|
3047 |
+
var _assign = __webpack_require__(30);
|
3048 |
+
|
3049 |
+
var ReactCurrentOwner = __webpack_require__(91);
|
3050 |
+
|
3051 |
+
var warning = __webpack_require__(26);
|
3052 |
+
var canDefineProperty = __webpack_require__(90);
|
3053 |
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
3054 |
+
|
3055 |
+
var REACT_ELEMENT_TYPE = __webpack_require__(255);
|
3056 |
+
|
3057 |
+
var RESERVED_PROPS = {
|
3058 |
+
key: true,
|
3059 |
+
ref: true,
|
3060 |
+
__self: true,
|
3061 |
+
__source: true
|
3062 |
+
};
|
3063 |
+
|
3064 |
+
var specialPropKeyWarningShown, specialPropRefWarningShown;
|
3065 |
+
|
3066 |
+
function hasValidRef(config) {
|
3067 |
+
if (process.env.NODE_ENV !== 'production') {
|
3068 |
+
if (hasOwnProperty.call(config, 'ref')) {
|
3069 |
+
var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;
|
3070 |
+
if (getter && getter.isReactWarning) {
|
3071 |
+
return false;
|
3072 |
+
}
|
3073 |
+
}
|
3074 |
+
}
|
3075 |
+
return config.ref !== undefined;
|
3076 |
+
}
|
3077 |
+
|
3078 |
+
function hasValidKey(config) {
|
3079 |
+
if (process.env.NODE_ENV !== 'production') {
|
3080 |
+
if (hasOwnProperty.call(config, 'key')) {
|
3081 |
+
var getter = Object.getOwnPropertyDescriptor(config, 'key').get;
|
3082 |
+
if (getter && getter.isReactWarning) {
|
3083 |
+
return false;
|
3084 |
+
}
|
3085 |
+
}
|
3086 |
+
}
|
3087 |
+
return config.key !== undefined;
|
3088 |
+
}
|
3089 |
+
|
3090 |
+
function defineKeyPropWarningGetter(props, displayName) {
|
3091 |
+
var warnAboutAccessingKey = function warnAboutAccessingKey() {
|
3092 |
+
if (!specialPropKeyWarningShown) {
|
3093 |
+
specialPropKeyWarningShown = true;
|
3094 |
+
process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;
|
3095 |
+
}
|
3096 |
+
};
|
3097 |
+
warnAboutAccessingKey.isReactWarning = true;
|
3098 |
+
Object.defineProperty(props, 'key', {
|
3099 |
+
get: warnAboutAccessingKey,
|
3100 |
+
configurable: true
|
3101 |
+
});
|
3102 |
+
}
|
3103 |
+
|
3104 |
+
function defineRefPropWarningGetter(props, displayName) {
|
3105 |
+
var warnAboutAccessingRef = function warnAboutAccessingRef() {
|
3106 |
+
if (!specialPropRefWarningShown) {
|
3107 |
+
specialPropRefWarningShown = true;
|
3108 |
+
process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;
|
3109 |
+
}
|
3110 |
+
};
|
3111 |
+
warnAboutAccessingRef.isReactWarning = true;
|
3112 |
+
Object.defineProperty(props, 'ref', {
|
3113 |
+
get: warnAboutAccessingRef,
|
3114 |
+
configurable: true
|
3115 |
+
});
|
3116 |
+
}
|
3117 |
+
|
3118 |
+
/**
|
3119 |
+
* Factory method to create a new React element. This no longer adheres to
|
3120 |
+
* the class pattern, so do not use new to call it. Also, no instanceof check
|
3121 |
+
* will work. Instead test $$typeof field against Symbol.for('react.element') to check
|
3122 |
+
* if something is a React Element.
|
3123 |
+
*
|
3124 |
+
* @param {*} type
|
3125 |
+
* @param {*} key
|
3126 |
+
* @param {string|object} ref
|
3127 |
+
* @param {*} self A *temporary* helper to detect places where `this` is
|
3128 |
+
* different from the `owner` when React.createElement is called, so that we
|
3129 |
+
* can warn. We want to get rid of owner and replace string `ref`s with arrow
|
3130 |
+
* functions, and as long as `this` and owner are the same, there will be no
|
3131 |
+
* change in behavior.
|
3132 |
+
* @param {*} source An annotation object (added by a transpiler or otherwise)
|
3133 |
+
* indicating filename, line number, and/or other information.
|
3134 |
+
* @param {*} owner
|
3135 |
+
* @param {*} props
|
3136 |
+
* @internal
|
3137 |
+
*/
|
3138 |
+
var ReactElement = function ReactElement(type, key, ref, self, source, owner, props) {
|
3139 |
+
var element = {
|
3140 |
+
// This tag allow us to uniquely identify this as a React Element
|
3141 |
+
$$typeof: REACT_ELEMENT_TYPE,
|
3142 |
+
|
3143 |
+
// Built-in properties that belong on the element
|
3144 |
+
type: type,
|
3145 |
+
key: key,
|
3146 |
+
ref: ref,
|
3147 |
+
props: props,
|
3148 |
+
|
3149 |
+
// Record the component responsible for creating this element.
|
3150 |
+
_owner: owner
|
3151 |
+
};
|
3152 |
+
|
3153 |
+
if (process.env.NODE_ENV !== 'production') {
|
3154 |
+
// The validation flag is currently mutative. We put it on
|
3155 |
+
// an external backing store so that we can freeze the whole object.
|
3156 |
+
// This can be replaced with a WeakMap once they are implemented in
|
3157 |
+
// commonly used development environments.
|
3158 |
+
element._store = {};
|
3159 |
+
|
3160 |
+
// To make comparing ReactElements easier for testing purposes, we make
|
3161 |
+
// the validation flag non-enumerable (where possible, which should
|
3162 |
+
// include every environment we run tests in), so the test framework
|
3163 |
+
// ignores it.
|
3164 |
+
if (canDefineProperty) {
|
3165 |
+
Object.defineProperty(element._store, 'validated', {
|
3166 |
+
configurable: false,
|
3167 |
+
enumerable: false,
|
3168 |
+
writable: true,
|
3169 |
+
value: false
|
3170 |
+
});
|
3171 |
+
// self and source are DEV only properties.
|
3172 |
+
Object.defineProperty(element, '_self', {
|
3173 |
+
configurable: false,
|
3174 |
+
enumerable: false,
|
3175 |
+
writable: false,
|
3176 |
+
value: self
|
3177 |
+
});
|
3178 |
+
// Two elements created in two different places should be considered
|
3179 |
+
// equal for testing purposes and therefore we hide it from enumeration.
|
3180 |
+
Object.defineProperty(element, '_source', {
|
3181 |
+
configurable: false,
|
3182 |
+
enumerable: false,
|
3183 |
+
writable: false,
|
3184 |
+
value: source
|
3185 |
+
});
|
3186 |
+
} else {
|
3187 |
+
element._store.validated = false;
|
3188 |
+
element._self = self;
|
3189 |
+
element._source = source;
|
3190 |
+
}
|
3191 |
+
if (Object.freeze) {
|
3192 |
+
Object.freeze(element.props);
|
3193 |
+
Object.freeze(element);
|
3194 |
+
}
|
3195 |
+
}
|
3196 |
+
|
3197 |
+
return element;
|
3198 |
+
};
|
3199 |
+
|
3200 |
+
/**
|
3201 |
+
* Create and return a new ReactElement of the given type.
|
3202 |
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.createelement
|
3203 |
+
*/
|
3204 |
+
ReactElement.createElement = function (type, config, children) {
|
3205 |
+
var propName;
|
3206 |
+
|
3207 |
+
// Reserved names are extracted
|
3208 |
+
var props = {};
|
3209 |
+
|
3210 |
+
var key = null;
|
3211 |
+
var ref = null;
|
3212 |
+
var self = null;
|
3213 |
+
var source = null;
|
3214 |
+
|
3215 |
+
if (config != null) {
|
3216 |
+
if (hasValidRef(config)) {
|
3217 |
+
ref = config.ref;
|
3218 |
+
}
|
3219 |
+
if (hasValidKey(config)) {
|
3220 |
+
key = '' + config.key;
|
3221 |
+
}
|
3222 |
+
|
3223 |
+
self = config.__self === undefined ? null : config.__self;
|
3224 |
+
source = config.__source === undefined ? null : config.__source;
|
3225 |
+
// Remaining properties are added to a new props object
|
3226 |
+
for (propName in config) {
|
3227 |
+
if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
|
3228 |
+
props[propName] = config[propName];
|
3229 |
+
}
|
3230 |
+
}
|
3231 |
+
}
|
3232 |
+
|
3233 |
+
// Children can be more than one argument, and those are transferred onto
|
3234 |
+
// the newly allocated props object.
|
3235 |
+
var childrenLength = arguments.length - 2;
|
3236 |
+
if (childrenLength === 1) {
|
3237 |
+
props.children = children;
|
3238 |
+
} else if (childrenLength > 1) {
|
3239 |
+
var childArray = Array(childrenLength);
|
3240 |
+
for (var i = 0; i < childrenLength; i++) {
|
3241 |
+
childArray[i] = arguments[i + 2];
|
3242 |
+
}
|
3243 |
+
if (process.env.NODE_ENV !== 'production') {
|
3244 |
+
if (Object.freeze) {
|
3245 |
+
Object.freeze(childArray);
|
3246 |
+
}
|
3247 |
+
}
|
3248 |
+
props.children = childArray;
|
3249 |
+
}
|
3250 |
+
|
3251 |
+
// Resolve default props
|
3252 |
+
if (type && type.defaultProps) {
|
3253 |
+
var defaultProps = type.defaultProps;
|
3254 |
+
for (propName in defaultProps) {
|
3255 |
+
if (props[propName] === undefined) {
|
3256 |
+
props[propName] = defaultProps[propName];
|
3257 |
+
}
|
3258 |
+
}
|
3259 |
+
}
|
3260 |
+
if (process.env.NODE_ENV !== 'production') {
|
3261 |
+
if (key || ref) {
|
3262 |
+
if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) {
|
3263 |
+
var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;
|
3264 |
+
if (key) {
|
3265 |
+
defineKeyPropWarningGetter(props, displayName);
|
3266 |
+
}
|
3267 |
+
if (ref) {
|
3268 |
+
defineRefPropWarningGetter(props, displayName);
|
3269 |
+
}
|
3270 |
+
}
|
3271 |
+
}
|
3272 |
+
}
|
3273 |
+
return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
|
3274 |
+
};
|
3275 |
+
|
3276 |
+
/**
|
3277 |
+
* Return a function that produces ReactElements of a given type.
|
3278 |
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.createfactory
|
3279 |
+
*/
|
3280 |
+
ReactElement.createFactory = function (type) {
|
3281 |
+
var factory = ReactElement.createElement.bind(null, type);
|
3282 |
+
// Expose the type on the factory and the prototype so that it can be
|
3283 |
+
// easily accessed on elements. E.g. `<Foo />.type === Foo`.
|
3284 |
+
// This should not be named `constructor` since this may not be the function
|
3285 |
+
// that created the element, and it may not even be a constructor.
|
3286 |
+
// Legacy hook TODO: Warn if this is accessed
|
3287 |
+
factory.type = type;
|
3288 |
+
return factory;
|
3289 |
+
};
|
3290 |
+
|
3291 |
+
ReactElement.cloneAndReplaceKey = function (oldElement, newKey) {
|
3292 |
+
var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);
|
3293 |
+
|
3294 |
+
return newElement;
|
3295 |
+
};
|
3296 |
+
|
3297 |
+
/**
|
3298 |
+
* Clone and return a new ReactElement using element as the starting point.
|
3299 |
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement
|
3300 |
+
*/
|
3301 |
+
ReactElement.cloneElement = function (element, config, children) {
|
3302 |
+
var propName;
|
3303 |
+
|
3304 |
+
// Original props are copied
|
3305 |
+
var props = _assign({}, element.props);
|
3306 |
+
|
3307 |
+
// Reserved names are extracted
|
3308 |
+
var key = element.key;
|
3309 |
+
var ref = element.ref;
|
3310 |
+
// Self is preserved since the owner is preserved.
|
3311 |
+
var self = element._self;
|
3312 |
+
// Source is preserved since cloneElement is unlikely to be targeted by a
|
3313 |
+
// transpiler, and the original source is probably a better indicator of the
|
3314 |
+
// true owner.
|
3315 |
+
var source = element._source;
|
3316 |
+
|
3317 |
+
// Owner will be preserved, unless ref is overridden
|
3318 |
+
var owner = element._owner;
|
3319 |
+
|
3320 |
+
if (config != null) {
|
3321 |
+
if (hasValidRef(config)) {
|
3322 |
+
// Silently steal the ref from the parent.
|
3323 |
+
ref = config.ref;
|
3324 |
+
owner = ReactCurrentOwner.current;
|
3325 |
+
}
|
3326 |
+
if (hasValidKey(config)) {
|
3327 |
+
key = '' + config.key;
|
3328 |
+
}
|
3329 |
+
|
3330 |
+
// Remaining properties override existing props
|
3331 |
+
var defaultProps;
|
3332 |
+
if (element.type && element.type.defaultProps) {
|
3333 |
+
defaultProps = element.type.defaultProps;
|
3334 |
+
}
|
3335 |
+
for (propName in config) {
|
3336 |
+
if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
|
3337 |
+
if (config[propName] === undefined && defaultProps !== undefined) {
|
3338 |
+
// Resolve default props
|
3339 |
+
props[propName] = defaultProps[propName];
|
3340 |
+
} else {
|
3341 |
+
props[propName] = config[propName];
|
3342 |
+
}
|
3343 |
+
}
|
3344 |
+
}
|
3345 |
+
}
|
3346 |
+
|
3347 |
+
// Children can be more than one argument, and those are transferred onto
|
3348 |
+
// the newly allocated props object.
|
3349 |
+
var childrenLength = arguments.length - 2;
|
3350 |
+
if (childrenLength === 1) {
|
3351 |
+
props.children = children;
|
3352 |
+
} else if (childrenLength > 1) {
|
3353 |
+
var childArray = Array(childrenLength);
|
3354 |
+
for (var i = 0; i < childrenLength; i++) {
|
3355 |
+
childArray[i] = arguments[i + 2];
|
3356 |
+
}
|
3357 |
+
props.children = childArray;
|
3358 |
+
}
|
3359 |
+
|
3360 |
+
return ReactElement(element.type, key, ref, self, source, owner, props);
|
3361 |
+
};
|
3362 |
+
|
3363 |
+
/**
|
3364 |
+
* Verifies the object is a ReactElement.
|
3365 |
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.isvalidelement
|
3366 |
+
* @param {?object} object
|
3367 |
+
* @return {boolean} True if `object` is a valid component.
|
3368 |
+
* @final
|
3369 |
+
*/
|
3370 |
+
ReactElement.isValidElement = function (object) {
|
3371 |
+
return (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
3372 |
+
};
|
3373 |
+
|
3374 |
+
module.exports = ReactElement;
|
3375 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
3376 |
+
|
3377 |
+
/***/ }),
|
3378 |
+
/* 48 */
|
3379 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3380 |
+
|
3381 |
+
var dP = __webpack_require__(36);
|
3382 |
+
var createDesc = __webpack_require__(61);
|
3383 |
+
module.exports = __webpack_require__(41) ? function (object, key, value) {
|
3384 |
+
return dP.f(object, key, createDesc(1, value));
|
3385 |
+
} : function (object, key, value) {
|
3386 |
+
object[key] = value;
|
3387 |
+
return object;
|
3388 |
+
};
|
3389 |
+
|
3390 |
+
/***/ }),
|
3391 |
+
/* 49 */
|
3392 |
+
/***/ (function(module, exports) {
|
3393 |
+
|
3394 |
+
module.exports = function (it) {
|
3395 |
+
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
3396 |
+
};
|
3397 |
+
|
3398 |
+
/***/ }),
|
3399 |
+
/* 50 */
|
3400 |
+
/***/ (function(module, exports) {
|
3401 |
+
|
3402 |
+
module.exports = function (exec) {
|
3403 |
+
try {
|
3404 |
+
return !!exec();
|
3405 |
+
} catch (e) {
|
3406 |
+
return true;
|
3407 |
+
}
|
3408 |
+
};
|
3409 |
+
|
3410 |
+
/***/ }),
|
3411 |
+
/* 51 */
|
3412 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3413 |
+
|
3414 |
+
// to indexed object, toObject with fallback for non-array-like ES3 strings
|
3415 |
+
var IObject = __webpack_require__(154);
|
3416 |
+
var defined = __webpack_require__(95);
|
3417 |
+
module.exports = function (it) {
|
3418 |
+
return IObject(defined(it));
|
3419 |
+
};
|
3420 |
+
|
3421 |
+
/***/ }),
|
3422 |
+
/* 52 */
|
3423 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3424 |
+
|
3425 |
+
"use strict";
|
3426 |
+
|
3427 |
+
|
3428 |
+
exports.__esModule = true;
|
3429 |
+
|
3430 |
+
var _iterator = __webpack_require__(289);
|
3431 |
+
|
3432 |
+
var _iterator2 = _interopRequireDefault(_iterator);
|
3433 |
+
|
3434 |
+
var _symbol = __webpack_require__(298);
|
3435 |
+
|
3436 |
+
var _symbol2 = _interopRequireDefault(_symbol);
|
3437 |
+
|
3438 |
+
var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) {
|
3439 |
+
return typeof obj;
|
3440 |
+
} : function (obj) {
|
3441 |
+
return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj;
|
3442 |
+
};
|
3443 |
+
|
3444 |
+
function _interopRequireDefault(obj) {
|
3445 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
3446 |
+
}
|
3447 |
+
|
3448 |
+
exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
|
3449 |
+
return typeof obj === "undefined" ? "undefined" : _typeof(obj);
|
3450 |
+
} : function (obj) {
|
3451 |
+
return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
|
3452 |
+
};
|
3453 |
+
|
3454 |
+
/***/ }),
|
3455 |
+
/* 53 */
|
3456 |
+
/***/ (function(module, exports) {
|
3457 |
+
|
3458 |
+
module.exports = {};
|
3459 |
+
|
3460 |
+
/***/ }),
|
3461 |
+
/* 54 */
|
3462 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3463 |
+
|
3464 |
+
"use strict";
|
3465 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
3466 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
3467 |
+
*
|
3468 |
+
* This source code is licensed under the MIT license found in the
|
3469 |
+
* LICENSE file in the root directory of this source tree.
|
3470 |
+
*
|
3471 |
+
*/
|
3472 |
+
|
3473 |
+
|
3474 |
+
|
3475 |
+
var emptyObject = {};
|
3476 |
+
|
3477 |
+
if (process.env.NODE_ENV !== 'production') {
|
3478 |
+
Object.freeze(emptyObject);
|
3479 |
+
}
|
3480 |
+
|
3481 |
+
module.exports = emptyObject;
|
3482 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
3483 |
+
|
3484 |
+
/***/ }),
|
3485 |
+
/* 55 */
|
3486 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3487 |
+
|
3488 |
+
"use strict";
|
3489 |
+
|
3490 |
+
|
3491 |
+
Object.defineProperty(exports, "__esModule", {
|
3492 |
+
value: true
|
3493 |
+
});
|
3494 |
+
exports.default = undefined;
|
3495 |
+
|
3496 |
+
var _IconButton = __webpack_require__(318);
|
3497 |
+
|
3498 |
+
var _IconButton2 = _interopRequireDefault(_IconButton);
|
3499 |
+
|
3500 |
+
function _interopRequireDefault(obj) {
|
3501 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
3502 |
+
}
|
3503 |
+
|
3504 |
+
exports.default = _IconButton2.default;
|
3505 |
+
|
3506 |
+
/***/ }),
|
3507 |
+
/* 56 */
|
3508 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3509 |
+
|
3510 |
+
"use strict";
|
3511 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
3512 |
+
|
3513 |
+
Object.defineProperty(exports, "__esModule", {
|
3514 |
+
value: true
|
3515 |
+
});
|
3516 |
+
|
3517 |
+
var _extends2 = __webpack_require__(9);
|
3518 |
+
|
3519 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
3520 |
+
|
3521 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
3522 |
+
|
3523 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
3524 |
+
|
3525 |
+
var _getPrototypeOf = __webpack_require__(5);
|
3526 |
+
|
3527 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
3528 |
+
|
3529 |
+
var _classCallCheck2 = __webpack_require__(3);
|
3530 |
+
|
3531 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
3532 |
+
|
3533 |
+
var _createClass2 = __webpack_require__(4);
|
3534 |
+
|
3535 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
3536 |
+
|
3537 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
3538 |
+
|
3539 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
3540 |
+
|
3541 |
+
var _inherits2 = __webpack_require__(7);
|
3542 |
+
|
3543 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
3544 |
+
|
3545 |
+
var _simpleAssign = __webpack_require__(8);
|
3546 |
+
|
3547 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
3548 |
+
|
3549 |
+
var _react = __webpack_require__(0);
|
3550 |
+
|
3551 |
+
var _react2 = _interopRequireDefault(_react);
|
3552 |
+
|
3553 |
+
var _propTypes = __webpack_require__(2);
|
3554 |
+
|
3555 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
3556 |
+
|
3557 |
+
var _reactDom = __webpack_require__(14);
|
3558 |
+
|
3559 |
+
var _reactDom2 = _interopRequireDefault(_reactDom);
|
3560 |
+
|
3561 |
+
var _reactEventListener = __webpack_require__(31);
|
3562 |
+
|
3563 |
+
var _reactEventListener2 = _interopRequireDefault(_reactEventListener);
|
3564 |
+
|
3565 |
+
var _RenderToLayer = __webpack_require__(178);
|
3566 |
+
|
3567 |
+
var _RenderToLayer2 = _interopRequireDefault(_RenderToLayer);
|
3568 |
+
|
3569 |
+
var _propTypes3 = __webpack_require__(19);
|
3570 |
+
|
3571 |
+
var _propTypes4 = _interopRequireDefault(_propTypes3);
|
3572 |
+
|
3573 |
+
var _Paper = __webpack_require__(20);
|
3574 |
+
|
3575 |
+
var _Paper2 = _interopRequireDefault(_Paper);
|
3576 |
+
|
3577 |
+
var _lodash = __webpack_require__(355);
|
3578 |
+
|
3579 |
+
var _lodash2 = _interopRequireDefault(_lodash);
|
3580 |
+
|
3581 |
+
var _PopoverAnimationDefault = __webpack_require__(356);
|
3582 |
+
|
3583 |
+
var _PopoverAnimationDefault2 = _interopRequireDefault(_PopoverAnimationDefault);
|
3584 |
+
|
3585 |
+
function _interopRequireDefault(obj) {
|
3586 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
3587 |
+
}
|
3588 |
+
|
3589 |
+
var styles = {
|
3590 |
+
root: {
|
3591 |
+
display: 'none'
|
3592 |
+
}
|
3593 |
+
};
|
3594 |
+
|
3595 |
+
var Popover = function (_Component) {
|
3596 |
+
(0, _inherits3.default)(Popover, _Component);
|
3597 |
+
|
3598 |
+
function Popover(props, context) {
|
3599 |
+
(0, _classCallCheck3.default)(this, Popover);
|
3600 |
+
|
3601 |
+
var _this = (0, _possibleConstructorReturn3.default)(this, (Popover.__proto__ || (0, _getPrototypeOf2.default)(Popover)).call(this, props, context));
|
3602 |
+
|
3603 |
+
_this.timeout = null;
|
3604 |
+
|
3605 |
+
_this.renderLayer = function () {
|
3606 |
+
var _this$props = _this.props,
|
3607 |
+
animated = _this$props.animated,
|
3608 |
+
animation = _this$props.animation,
|
3609 |
+
anchorEl = _this$props.anchorEl,
|
3610 |
+
anchorOrigin = _this$props.anchorOrigin,
|
3611 |
+
autoCloseWhenOffScreen = _this$props.autoCloseWhenOffScreen,
|
3612 |
+
canAutoPosition = _this$props.canAutoPosition,
|
3613 |
+
children = _this$props.children,
|
3614 |
+
onRequestClose = _this$props.onRequestClose,
|
3615 |
+
style = _this$props.style,
|
3616 |
+
targetOrigin = _this$props.targetOrigin,
|
3617 |
+
useLayerForClickAway = _this$props.useLayerForClickAway,
|
3618 |
+
scrollableContainer = _this$props.scrollableContainer,
|
3619 |
+
other = (0, _objectWithoutProperties3.default)(_this$props, ['animated', 'animation', 'anchorEl', 'anchorOrigin', 'autoCloseWhenOffScreen', 'canAutoPosition', 'children', 'onRequestClose', 'style', 'targetOrigin', 'useLayerForClickAway', 'scrollableContainer']);
|
3620 |
+
|
3621 |
+
var styleRoot = style;
|
3622 |
+
|
3623 |
+
if (!animated) {
|
3624 |
+
styleRoot = {
|
3625 |
+
position: 'fixed',
|
3626 |
+
zIndex: _this.context.muiTheme.zIndex.popover
|
3627 |
+
};
|
3628 |
+
|
3629 |
+
if (!_this.state.open) {
|
3630 |
+
return null;
|
3631 |
+
}
|
3632 |
+
|
3633 |
+
return _react2.default.createElement(_Paper2.default, (0, _extends3.default)({ style: (0, _simpleAssign2.default)(styleRoot, style) }, other), children);
|
3634 |
+
}
|
3635 |
+
|
3636 |
+
var Animation = animation || _PopoverAnimationDefault2.default;
|
3637 |
+
|
3638 |
+
return _react2.default.createElement(Animation, (0, _extends3.default)({
|
3639 |
+
targetOrigin: targetOrigin,
|
3640 |
+
style: styleRoot
|
3641 |
+
}, other, {
|
3642 |
+
open: _this.state.open && !_this.state.closing
|
3643 |
+
}), children);
|
3644 |
+
};
|
3645 |
+
|
3646 |
+
_this.componentClickAway = function () {
|
3647 |
+
_this.requestClose('clickAway');
|
3648 |
+
};
|
3649 |
+
|
3650 |
+
_this.setPlacement = function (scrolling) {
|
3651 |
+
if (!_this.state.open) {
|
3652 |
+
return;
|
3653 |
+
}
|
3654 |
+
|
3655 |
+
if (!_this.popoverRefs.layer.getLayer()) {
|
3656 |
+
return;
|
3657 |
+
}
|
3658 |
+
|
3659 |
+
var targetEl = _this.popoverRefs.layer.getLayer().children[0];
|
3660 |
+
if (!targetEl) {
|
3661 |
+
return;
|
3662 |
+
}
|
3663 |
+
|
3664 |
+
var _this$props2 = _this.props,
|
3665 |
+
targetOrigin = _this$props2.targetOrigin,
|
3666 |
+
anchorOrigin = _this$props2.anchorOrigin;
|
3667 |
+
|
3668 |
+
var anchorEl = _this.props.anchorEl || _this.anchorEl;
|
3669 |
+
|
3670 |
+
var anchor = _this.getAnchorPosition(anchorEl);
|
3671 |
+
var target = _this.getTargetPosition(targetEl);
|
3672 |
+
|
3673 |
+
var targetPosition = {
|
3674 |
+
top: anchor[anchorOrigin.vertical] - target[targetOrigin.vertical],
|
3675 |
+
left: anchor[anchorOrigin.horizontal] - target[targetOrigin.horizontal]
|
3676 |
+
};
|
3677 |
+
|
3678 |
+
if (scrolling && _this.props.autoCloseWhenOffScreen) {
|
3679 |
+
_this.autoCloseWhenOffScreen(anchor);
|
3680 |
+
}
|
3681 |
+
|
3682 |
+
if (_this.props.canAutoPosition) {
|
3683 |
+
target = _this.getTargetPosition(targetEl); // update as height may have changed
|
3684 |
+
targetPosition = _this.applyAutoPositionIfNeeded(anchor, target, targetOrigin, anchorOrigin, targetPosition);
|
3685 |
+
}
|
3686 |
+
|
3687 |
+
targetEl.style.top = targetPosition.top + 'px';
|
3688 |
+
targetEl.style.left = targetPosition.left + 'px';
|
3689 |
+
targetEl.style.maxHeight = window.innerHeight + 'px';
|
3690 |
+
};
|
3691 |
+
|
3692 |
+
_this.handleResize = (0, _lodash2.default)(_this.setPlacement, 100);
|
3693 |
+
_this.handleScroll = (0, _lodash2.default)(_this.setPlacement.bind(_this, true), 50);
|
3694 |
+
|
3695 |
+
_this.popoverRefs = {};
|
3696 |
+
|
3697 |
+
_this.state = {
|
3698 |
+
open: props.open,
|
3699 |
+
closing: false
|
3700 |
+
};
|
3701 |
+
return _this;
|
3702 |
+
}
|
3703 |
+
|
3704 |
+
(0, _createClass3.default)(Popover, [{
|
3705 |
+
key: 'componentDidMount',
|
3706 |
+
value: function componentDidMount() {
|
3707 |
+
this.placementTimeout = setTimeout(this.setPlacement);
|
3708 |
+
}
|
3709 |
+
}, {
|
3710 |
+
key: 'componentWillReceiveProps',
|
3711 |
+
value: function componentWillReceiveProps(nextProps) {
|
3712 |
+
var _this2 = this;
|
3713 |
+
|
3714 |
+
if (nextProps.open === this.props.open) {
|
3715 |
+
return;
|
3716 |
+
}
|
3717 |
+
|
3718 |
+
if (nextProps.open) {
|
3719 |
+
clearTimeout(this.timeout);
|
3720 |
+
this.timeout = null;
|
3721 |
+
this.anchorEl = nextProps.anchorEl || this.props.anchorEl;
|
3722 |
+
this.setState({
|
3723 |
+
open: true,
|
3724 |
+
closing: false
|
3725 |
+
});
|
3726 |
+
} else {
|
3727 |
+
if (nextProps.animated) {
|
3728 |
+
if (this.timeout !== null) return;
|
3729 |
+
this.setState({ closing: true });
|
3730 |
+
this.timeout = setTimeout(function () {
|
3731 |
+
_this2.setState({
|
3732 |
+
open: false
|
3733 |
+
}, function () {
|
3734 |
+
_this2.timeout = null;
|
3735 |
+
});
|
3736 |
+
}, 500);
|
3737 |
+
} else {
|
3738 |
+
this.setState({
|
3739 |
+
open: false
|
3740 |
+
});
|
3741 |
+
}
|
3742 |
+
}
|
3743 |
+
}
|
3744 |
+
}, {
|
3745 |
+
key: 'componentDidUpdate',
|
3746 |
+
value: function componentDidUpdate() {
|
3747 |
+
clearTimeout(this.placementTimeout);
|
3748 |
+
this.placementTimeout = setTimeout(this.setPlacement);
|
3749 |
+
}
|
3750 |
+
}, {
|
3751 |
+
key: 'componentWillUnmount',
|
3752 |
+
value: function componentWillUnmount() {
|
3753 |
+
this.handleResize.cancel();
|
3754 |
+
this.handleScroll.cancel();
|
3755 |
+
|
3756 |
+
if (this.placementTimeout) {
|
3757 |
+
clearTimeout(this.placementTimeout);
|
3758 |
+
this.placementTimeout = null;
|
3759 |
+
}
|
3760 |
+
|
3761 |
+
if (this.timeout) {
|
3762 |
+
clearTimeout(this.timeout);
|
3763 |
+
this.timeout = null;
|
3764 |
+
}
|
3765 |
+
}
|
3766 |
+
}, {
|
3767 |
+
key: 'requestClose',
|
3768 |
+
value: function requestClose(reason) {
|
3769 |
+
if (this.props.onRequestClose) {
|
3770 |
+
this.props.onRequestClose(reason);
|
3771 |
+
}
|
3772 |
+
}
|
3773 |
+
}, {
|
3774 |
+
key: 'getAnchorPosition',
|
3775 |
+
value: function getAnchorPosition(el) {
|
3776 |
+
if (!el) {
|
3777 |
+
el = _reactDom2.default.findDOMNode(this);
|
3778 |
+
}
|
3779 |
+
|
3780 |
+
var rect = el.getBoundingClientRect();
|
3781 |
+
var a = {
|
3782 |
+
top: rect.top,
|
3783 |
+
left: rect.left,
|
3784 |
+
width: el.offsetWidth,
|
3785 |
+
height: el.offsetHeight
|
3786 |
+
};
|
3787 |
+
|
3788 |
+
a.right = rect.right || a.left + a.width;
|
3789 |
+
a.bottom = rect.bottom || a.top + a.height;
|
3790 |
+
a.middle = a.left + (a.right - a.left) / 2;
|
3791 |
+
a.center = a.top + (a.bottom - a.top) / 2;
|
3792 |
+
|
3793 |
+
return a;
|
3794 |
+
}
|
3795 |
+
}, {
|
3796 |
+
key: 'getTargetPosition',
|
3797 |
+
value: function getTargetPosition(targetEl) {
|
3798 |
+
return {
|
3799 |
+
top: 0,
|
3800 |
+
center: targetEl.offsetHeight / 2,
|
3801 |
+
bottom: targetEl.offsetHeight,
|
3802 |
+
left: 0,
|
3803 |
+
middle: targetEl.offsetWidth / 2,
|
3804 |
+
right: targetEl.offsetWidth
|
3805 |
+
};
|
3806 |
+
}
|
3807 |
+
}, {
|
3808 |
+
key: 'autoCloseWhenOffScreen',
|
3809 |
+
value: function autoCloseWhenOffScreen(anchorPosition) {
|
3810 |
+
if (anchorPosition.top < 0 || anchorPosition.top > window.innerHeight || anchorPosition.left < 0 || anchorPosition.left > window.innerWidth) {
|
3811 |
+
this.requestClose('offScreen');
|
3812 |
+
}
|
3813 |
+
}
|
3814 |
+
}, {
|
3815 |
+
key: 'getOverlapMode',
|
3816 |
+
value: function getOverlapMode(anchor, target, median) {
|
3817 |
+
if ([anchor, target].indexOf(median) >= 0) return 'auto';
|
3818 |
+
if (anchor === target) return 'inclusive';
|
3819 |
+
return 'exclusive';
|
3820 |
+
}
|
3821 |
+
}, {
|
3822 |
+
key: 'getPositions',
|
3823 |
+
value: function getPositions(anchor, target) {
|
3824 |
+
var a = (0, _extends3.default)({}, anchor);
|
3825 |
+
var t = (0, _extends3.default)({}, target);
|
3826 |
+
|
3827 |
+
var positions = {
|
3828 |
+
x: ['left', 'right'].filter(function (p) {
|
3829 |
+
return p !== t.horizontal;
|
3830 |
+
}),
|
3831 |
+
y: ['top', 'bottom'].filter(function (p) {
|
3832 |
+
return p !== t.vertical;
|
3833 |
+
})
|
3834 |
+
};
|
3835 |
+
|
3836 |
+
var overlap = {
|
3837 |
+
x: this.getOverlapMode(a.horizontal, t.horizontal, 'middle'),
|
3838 |
+
y: this.getOverlapMode(a.vertical, t.vertical, 'center')
|
3839 |
+
};
|
3840 |
+
|
3841 |
+
positions.x.splice(overlap.x === 'auto' ? 0 : 1, 0, 'middle');
|
3842 |
+
positions.y.splice(overlap.y === 'auto' ? 0 : 1, 0, 'center');
|
3843 |
+
|
3844 |
+
if (overlap.y !== 'auto') {
|
3845 |
+
a.vertical = a.vertical === 'top' ? 'bottom' : 'top';
|
3846 |
+
if (overlap.y === 'inclusive') {
|
3847 |
+
t.vertical = t.vertical;
|
3848 |
+
}
|
3849 |
+
}
|
3850 |
+
|
3851 |
+
if (overlap.x !== 'auto') {
|
3852 |
+
a.horizontal = a.horizontal === 'left' ? 'right' : 'left';
|
3853 |
+
if (overlap.y === 'inclusive') {
|
3854 |
+
t.horizontal = t.horizontal;
|
3855 |
+
}
|
3856 |
+
}
|
3857 |
+
|
3858 |
+
return {
|
3859 |
+
positions: positions,
|
3860 |
+
anchorPos: a
|
3861 |
+
};
|
3862 |
+
}
|
3863 |
+
}, {
|
3864 |
+
key: 'applyAutoPositionIfNeeded',
|
3865 |
+
value: function applyAutoPositionIfNeeded(anchor, target, targetOrigin, anchorOrigin, targetPosition) {
|
3866 |
+
var _getPositions = this.getPositions(anchorOrigin, targetOrigin),
|
3867 |
+
positions = _getPositions.positions,
|
3868 |
+
anchorPos = _getPositions.anchorPos;
|
3869 |
+
|
3870 |
+
if (targetPosition.top < 0 || targetPosition.top + target.bottom > window.innerHeight) {
|
3871 |
+
var newTop = anchor[anchorPos.vertical] - target[positions.y[0]];
|
3872 |
+
if (newTop + target.bottom <= window.innerHeight) {
|
3873 |
+
targetPosition.top = Math.max(0, newTop);
|
3874 |
+
} else {
|
3875 |
+
newTop = anchor[anchorPos.vertical] - target[positions.y[1]];
|
3876 |
+
if (newTop + target.bottom <= window.innerHeight) {
|
3877 |
+
targetPosition.top = Math.max(0, newTop);
|
3878 |
+
}
|
3879 |
+
}
|
3880 |
+
}
|
3881 |
+
|
3882 |
+
if (targetPosition.left < 0 || targetPosition.left + target.right > window.innerWidth) {
|
3883 |
+
var newLeft = anchor[anchorPos.horizontal] - target[positions.x[0]];
|
3884 |
+
if (newLeft + target.right <= window.innerWidth) {
|
3885 |
+
targetPosition.left = Math.max(0, newLeft);
|
3886 |
+
} else {
|
3887 |
+
newLeft = anchor[anchorPos.horizontal] - target[positions.x[1]];
|
3888 |
+
if (newLeft + target.right <= window.innerWidth) {
|
3889 |
+
targetPosition.left = Math.max(0, newLeft);
|
3890 |
+
}
|
3891 |
+
}
|
3892 |
+
}
|
3893 |
+
|
3894 |
+
return targetPosition;
|
3895 |
+
}
|
3896 |
+
}, {
|
3897 |
+
key: 'render',
|
3898 |
+
value: function render() {
|
3899 |
+
var _this3 = this;
|
3900 |
+
|
3901 |
+
return _react2.default.createElement('div', { style: styles.root }, _react2.default.createElement(_reactEventListener2.default, {
|
3902 |
+
target: this.props.scrollableContainer,
|
3903 |
+
onScroll: this.handleScroll,
|
3904 |
+
onResize: this.handleResize
|
3905 |
+
}), _react2.default.createElement(_RenderToLayer2.default, {
|
3906 |
+
ref: function ref(_ref) {
|
3907 |
+
return _this3.popoverRefs.layer = _ref;
|
3908 |
+
},
|
3909 |
+
open: this.state.open,
|
3910 |
+
componentClickAway: this.componentClickAway,
|
3911 |
+
useLayerForClickAway: this.props.useLayerForClickAway,
|
3912 |
+
render: this.renderLayer
|
3913 |
+
}));
|
3914 |
+
}
|
3915 |
+
}]);
|
3916 |
+
return Popover;
|
3917 |
+
}(_react.Component);
|
3918 |
+
|
3919 |
+
Popover.defaultProps = {
|
3920 |
+
anchorOrigin: {
|
3921 |
+
vertical: 'bottom',
|
3922 |
+
horizontal: 'left'
|
3923 |
+
},
|
3924 |
+
animated: true,
|
3925 |
+
autoCloseWhenOffScreen: true,
|
3926 |
+
canAutoPosition: true,
|
3927 |
+
onRequestClose: function onRequestClose() {},
|
3928 |
+
open: false,
|
3929 |
+
scrollableContainer: 'window',
|
3930 |
+
style: {
|
3931 |
+
overflowY: 'auto'
|
3932 |
+
},
|
3933 |
+
targetOrigin: {
|
3934 |
+
vertical: 'top',
|
3935 |
+
horizontal: 'left'
|
3936 |
+
},
|
3937 |
+
useLayerForClickAway: true,
|
3938 |
+
zDepth: 1
|
3939 |
+
};
|
3940 |
+
Popover.contextTypes = {
|
3941 |
+
muiTheme: _propTypes2.default.object.isRequired
|
3942 |
+
};
|
3943 |
+
Popover.propTypes = process.env.NODE_ENV !== "production" ? {
|
3944 |
+
/**
|
3945 |
+
* This is the DOM element that will be used to set the position of the
|
3946 |
+
* popover.
|
3947 |
+
*/
|
3948 |
+
anchorEl: _propTypes2.default.object,
|
3949 |
+
/**
|
3950 |
+
* This is the point on the anchor where the popover's
|
3951 |
+
* `targetOrigin` will attach to.
|
3952 |
+
* Options:
|
3953 |
+
* vertical: [top, center, bottom]
|
3954 |
+
* horizontal: [left, middle, right].
|
3955 |
+
*/
|
3956 |
+
anchorOrigin: _propTypes4.default.origin,
|
3957 |
+
/**
|
3958 |
+
* If true, the popover will apply transitions when
|
3959 |
+
* it is added to the DOM.
|
3960 |
+
*/
|
3961 |
+
animated: _propTypes2.default.bool,
|
3962 |
+
/**
|
3963 |
+
* Override the default animation component used.
|
3964 |
+
*/
|
3965 |
+
animation: _propTypes2.default.func,
|
3966 |
+
/**
|
3967 |
+
* If true, the popover will hide when the anchor is scrolled off the screen.
|
3968 |
+
*/
|
3969 |
+
autoCloseWhenOffScreen: _propTypes2.default.bool,
|
3970 |
+
/**
|
3971 |
+
* If true, the popover (potentially) ignores `targetOrigin`
|
3972 |
+
* and `anchorOrigin` to make itself fit on screen,
|
3973 |
+
* which is useful for mobile devices.
|
3974 |
+
*/
|
3975 |
+
canAutoPosition: _propTypes2.default.bool,
|
3976 |
+
/**
|
3977 |
+
* The content of the popover.
|
3978 |
+
*/
|
3979 |
+
children: _propTypes2.default.node,
|
3980 |
+
/**
|
3981 |
+
* The CSS class name of the root element.
|
3982 |
+
*/
|
3983 |
+
className: _propTypes2.default.string,
|
3984 |
+
/**
|
3985 |
+
* Callback function fired when the popover is requested to be closed.
|
3986 |
+
*
|
3987 |
+
* @param {string} reason The reason for the close request. Possibles values
|
3988 |
+
* are 'clickAway' and 'offScreen'.
|
3989 |
+
*/
|
3990 |
+
onRequestClose: _propTypes2.default.func,
|
3991 |
+
/**
|
3992 |
+
* If true, the popover is visible.
|
3993 |
+
*/
|
3994 |
+
open: _propTypes2.default.bool,
|
3995 |
+
/**
|
3996 |
+
* Represents the parent scrollable container.
|
3997 |
+
* It can be an element or a string like `window`.
|
3998 |
+
*/
|
3999 |
+
scrollableContainer: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.string]),
|
4000 |
+
/**
|
4001 |
+
* Override the inline-styles of the root element.
|
4002 |
+
*/
|
4003 |
+
style: _propTypes2.default.object,
|
4004 |
+
/**
|
4005 |
+
* This is the point on the popover which will attach to
|
4006 |
+
* the anchor's origin.
|
4007 |
+
* Options:
|
4008 |
+
* vertical: [top, center, bottom]
|
4009 |
+
* horizontal: [left, middle, right].
|
4010 |
+
*/
|
4011 |
+
targetOrigin: _propTypes4.default.origin,
|
4012 |
+
/**
|
4013 |
+
* If true, the popover will render on top of an invisible
|
4014 |
+
* layer, which will prevent clicks to the underlying
|
4015 |
+
* elements, and trigger an `onRequestClose('clickAway')` call.
|
4016 |
+
*/
|
4017 |
+
useLayerForClickAway: _propTypes2.default.bool,
|
4018 |
+
/**
|
4019 |
+
* The zDepth of the popover.
|
4020 |
+
*/
|
4021 |
+
zDepth: _propTypes4.default.zDepth
|
4022 |
+
} : {};
|
4023 |
+
exports.default = Popover;
|
4024 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
4025 |
+
|
4026 |
+
/***/ }),
|
4027 |
+
/* 57 */
|
4028 |
+
/***/ (function(module, exports) {
|
4029 |
+
|
4030 |
+
var g;
|
4031 |
+
|
4032 |
+
// This works in non-strict mode
|
4033 |
+
g = function () {
|
4034 |
+
return this;
|
4035 |
+
}();
|
4036 |
+
|
4037 |
+
try {
|
4038 |
+
// This works if eval is allowed (see CSP)
|
4039 |
+
g = g || Function("return this")() || (1, eval)("this");
|
4040 |
+
} catch (e) {
|
4041 |
+
// This works if the window reference is available
|
4042 |
+
if (typeof window === "object") g = window;
|
4043 |
+
}
|
4044 |
+
|
4045 |
+
// g can still be undefined, but nothing to do about it...
|
4046 |
+
// We return undefined, instead of nothing here, so it's
|
4047 |
+
// easier to handle this case. if(!global) { ...}
|
4048 |
+
|
4049 |
+
module.exports = g;
|
4050 |
+
|
4051 |
+
/***/ }),
|
4052 |
+
/* 58 */
|
4053 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4054 |
+
|
4055 |
+
"use strict";
|
4056 |
+
|
4057 |
+
|
4058 |
+
Object.defineProperty(exports, "__esModule", {
|
4059 |
+
value: true
|
4060 |
+
});
|
4061 |
+
exports.default = getPrefixedValue;
|
4062 |
+
function getPrefixedValue(prefixedValue, value, keepUnprefixed) {
|
4063 |
+
if (keepUnprefixed) {
|
4064 |
+
return [prefixedValue, value];
|
4065 |
+
}
|
4066 |
+
return prefixedValue;
|
4067 |
+
}
|
4068 |
+
module.exports = exports["default"];
|
4069 |
+
|
4070 |
+
/***/ }),
|
4071 |
+
/* 59 */
|
4072 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
4073 |
+
|
4074 |
+
"use strict";
|
4075 |
+
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
4076 |
+
/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(245);
|
4077 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__combineReducers__ = __webpack_require__(662);
|
4078 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__ = __webpack_require__(663);
|
4079 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__applyMiddleware__ = __webpack_require__(664);
|
4080 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compose__ = __webpack_require__(249);
|
4081 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_warning__ = __webpack_require__(248);
|
4082 |
+
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createStore", function() { return __WEBPACK_IMPORTED_MODULE_0__createStore__["b"]; });
|
4083 |
+
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "combineReducers", function() { return __WEBPACK_IMPORTED_MODULE_1__combineReducers__["a"]; });
|
4084 |
+
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "bindActionCreators", function() { return __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__["a"]; });
|
4085 |
+
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "applyMiddleware", function() { return __WEBPACK_IMPORTED_MODULE_3__applyMiddleware__["a"]; });
|
4086 |
+
/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "compose", function() { return __WEBPACK_IMPORTED_MODULE_4__compose__["a"]; });
|
4087 |
+
|
4088 |
+
|
4089 |
+
|
4090 |
+
|
4091 |
+
|
4092 |
+
|
4093 |
+
|
4094 |
+
/*
|
4095 |
+
* This is a dummy function to check if the function name has been altered by minification.
|
4096 |
+
* If the function has been minified and NODE_ENV !== 'production', warn the user.
|
4097 |
+
*/
|
4098 |
+
function isCrushed() {}
|
4099 |
+
|
4100 |
+
if (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {
|
4101 |
+
Object(__WEBPACK_IMPORTED_MODULE_5__utils_warning__["a" /* default */])('You are currently using minified code outside of NODE_ENV === \'production\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');
|
4102 |
+
}
|
4103 |
+
|
4104 |
+
|
4105 |
+
/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(1)))
|
4106 |
+
|
4107 |
+
/***/ }),
|
4108 |
+
/* 60 */
|
4109 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4110 |
+
|
4111 |
+
"use strict";
|
4112 |
+
/**
|
4113 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4114 |
+
*
|
4115 |
+
* This source code is licensed under the MIT license found in the
|
4116 |
+
* LICENSE file in the root directory of this source tree.
|
4117 |
+
*
|
4118 |
+
*
|
4119 |
+
*/
|
4120 |
+
|
4121 |
+
|
4122 |
+
/**
|
4123 |
+
* WARNING: DO NOT manually require this module.
|
4124 |
+
* This is a replacement for `invariant(...)` used by the error code system
|
4125 |
+
* and will _only_ be required by the corresponding babel pass.
|
4126 |
+
* It always throws.
|
4127 |
+
*/
|
4128 |
+
|
4129 |
+
function reactProdInvariant(code) {
|
4130 |
+
var argCount = arguments.length - 1;
|
4131 |
+
|
4132 |
+
var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;
|
4133 |
+
|
4134 |
+
for (var argIdx = 0; argIdx < argCount; argIdx++) {
|
4135 |
+
message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);
|
4136 |
+
}
|
4137 |
+
|
4138 |
+
message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';
|
4139 |
+
|
4140 |
+
var error = new Error(message);
|
4141 |
+
error.name = 'Invariant Violation';
|
4142 |
+
error.framesToPop = 1; // we don't care about reactProdInvariant's own frame
|
4143 |
+
|
4144 |
+
throw error;
|
4145 |
+
}
|
4146 |
+
|
4147 |
+
module.exports = reactProdInvariant;
|
4148 |
+
|
4149 |
+
/***/ }),
|
4150 |
+
/* 61 */
|
4151 |
+
/***/ (function(module, exports) {
|
4152 |
+
|
4153 |
+
module.exports = function (bitmap, value) {
|
4154 |
+
return {
|
4155 |
+
enumerable: !(bitmap & 1),
|
4156 |
+
configurable: !(bitmap & 2),
|
4157 |
+
writable: !(bitmap & 4),
|
4158 |
+
value: value
|
4159 |
+
};
|
4160 |
+
};
|
4161 |
+
|
4162 |
+
/***/ }),
|
4163 |
+
/* 62 */
|
4164 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4165 |
+
|
4166 |
+
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
|
4167 |
+
var $keys = __webpack_require__(153);
|
4168 |
+
var enumBugKeys = __webpack_require__(99);
|
4169 |
+
|
4170 |
+
module.exports = Object.keys || function keys(O) {
|
4171 |
+
return $keys(O, enumBugKeys);
|
4172 |
+
};
|
4173 |
+
|
4174 |
+
/***/ }),
|
4175 |
+
/* 63 */
|
4176 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4177 |
+
|
4178 |
+
// 7.1.13 ToObject(argument)
|
4179 |
+
var defined = __webpack_require__(95);
|
4180 |
+
module.exports = function (it) {
|
4181 |
+
return Object(defined(it));
|
4182 |
+
};
|
4183 |
+
|
4184 |
+
/***/ }),
|
4185 |
+
/* 64 */
|
4186 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4187 |
+
|
4188 |
+
"use strict";
|
4189 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
4190 |
+
|
4191 |
+
exports.__esModule = true;
|
4192 |
+
|
4193 |
+
var _extends = Object.assign || function (target) {
|
4194 |
+
for (var i = 1; i < arguments.length; i++) {
|
4195 |
+
var source = arguments[i];for (var key in source) {
|
4196 |
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
4197 |
+
target[key] = source[key];
|
4198 |
+
}
|
4199 |
+
}
|
4200 |
+
}return target;
|
4201 |
+
};
|
4202 |
+
|
4203 |
+
var _chainFunction = __webpack_require__(328);
|
4204 |
+
|
4205 |
+
var _chainFunction2 = _interopRequireDefault(_chainFunction);
|
4206 |
+
|
4207 |
+
var _react = __webpack_require__(0);
|
4208 |
+
|
4209 |
+
var _react2 = _interopRequireDefault(_react);
|
4210 |
+
|
4211 |
+
var _propTypes = __webpack_require__(2);
|
4212 |
+
|
4213 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
4214 |
+
|
4215 |
+
var _warning = __webpack_require__(16);
|
4216 |
+
|
4217 |
+
var _warning2 = _interopRequireDefault(_warning);
|
4218 |
+
|
4219 |
+
var _ChildMapping = __webpack_require__(329);
|
4220 |
+
|
4221 |
+
function _interopRequireDefault(obj) {
|
4222 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
4223 |
+
}
|
4224 |
+
|
4225 |
+
function _classCallCheck(instance, Constructor) {
|
4226 |
+
if (!(instance instanceof Constructor)) {
|
4227 |
+
throw new TypeError("Cannot call a class as a function");
|
4228 |
+
}
|
4229 |
+
}
|
4230 |
+
|
4231 |
+
function _possibleConstructorReturn(self, call) {
|
4232 |
+
if (!self) {
|
4233 |
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
4234 |
+
}return call && (typeof call === "object" || typeof call === "function") ? call : self;
|
4235 |
+
}
|
4236 |
+
|
4237 |
+
function _inherits(subClass, superClass) {
|
4238 |
+
if (typeof superClass !== "function" && superClass !== null) {
|
4239 |
+
throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
|
4240 |
+
}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;
|
4241 |
+
}
|
4242 |
+
|
4243 |
+
var propTypes = {
|
4244 |
+
component: _propTypes2.default.any,
|
4245 |
+
childFactory: _propTypes2.default.func,
|
4246 |
+
children: _propTypes2.default.node
|
4247 |
+
};
|
4248 |
+
|
4249 |
+
var defaultProps = {
|
4250 |
+
component: 'span',
|
4251 |
+
childFactory: function childFactory(child) {
|
4252 |
+
return child;
|
4253 |
+
}
|
4254 |
+
};
|
4255 |
+
|
4256 |
+
var TransitionGroup = function (_React$Component) {
|
4257 |
+
_inherits(TransitionGroup, _React$Component);
|
4258 |
+
|
4259 |
+
function TransitionGroup(props, context) {
|
4260 |
+
_classCallCheck(this, TransitionGroup);
|
4261 |
+
|
4262 |
+
var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));
|
4263 |
+
|
4264 |
+
_this.performAppear = function (key, component) {
|
4265 |
+
_this.currentlyTransitioningKeys[key] = true;
|
4266 |
+
|
4267 |
+
if (component.componentWillAppear) {
|
4268 |
+
component.componentWillAppear(_this._handleDoneAppearing.bind(_this, key, component));
|
4269 |
+
} else {
|
4270 |
+
_this._handleDoneAppearing(key, component);
|
4271 |
+
}
|
4272 |
+
};
|
4273 |
+
|
4274 |
+
_this._handleDoneAppearing = function (key, component) {
|
4275 |
+
if (component.componentDidAppear) {
|
4276 |
+
component.componentDidAppear();
|
4277 |
+
}
|
4278 |
+
|
4279 |
+
delete _this.currentlyTransitioningKeys[key];
|
4280 |
+
|
4281 |
+
var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);
|
4282 |
+
|
4283 |
+
if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {
|
4284 |
+
// This was removed before it had fully appeared. Remove it.
|
4285 |
+
_this.performLeave(key, component);
|
4286 |
+
}
|
4287 |
+
};
|
4288 |
+
|
4289 |
+
_this.performEnter = function (key, component) {
|
4290 |
+
_this.currentlyTransitioningKeys[key] = true;
|
4291 |
+
|
4292 |
+
if (component.componentWillEnter) {
|
4293 |
+
component.componentWillEnter(_this._handleDoneEntering.bind(_this, key, component));
|
4294 |
+
} else {
|
4295 |
+
_this._handleDoneEntering(key, component);
|
4296 |
+
}
|
4297 |
+
};
|
4298 |
+
|
4299 |
+
_this._handleDoneEntering = function (key, component) {
|
4300 |
+
if (component.componentDidEnter) {
|
4301 |
+
component.componentDidEnter();
|
4302 |
+
}
|
4303 |
+
|
4304 |
+
delete _this.currentlyTransitioningKeys[key];
|
4305 |
+
|
4306 |
+
var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);
|
4307 |
+
|
4308 |
+
if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {
|
4309 |
+
// This was removed before it had fully entered. Remove it.
|
4310 |
+
_this.performLeave(key, component);
|
4311 |
+
}
|
4312 |
+
};
|
4313 |
+
|
4314 |
+
_this.performLeave = function (key, component) {
|
4315 |
+
_this.currentlyTransitioningKeys[key] = true;
|
4316 |
+
|
4317 |
+
if (component.componentWillLeave) {
|
4318 |
+
component.componentWillLeave(_this._handleDoneLeaving.bind(_this, key, component));
|
4319 |
+
} else {
|
4320 |
+
// Note that this is somewhat dangerous b/c it calls setState()
|
4321 |
+
// again, effectively mutating the component before all the work
|
4322 |
+
// is done.
|
4323 |
+
_this._handleDoneLeaving(key, component);
|
4324 |
+
}
|
4325 |
+
};
|
4326 |
+
|
4327 |
+
_this._handleDoneLeaving = function (key, component) {
|
4328 |
+
if (component.componentDidLeave) {
|
4329 |
+
component.componentDidLeave();
|
4330 |
+
}
|
4331 |
+
|
4332 |
+
delete _this.currentlyTransitioningKeys[key];
|
4333 |
+
|
4334 |
+
var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);
|
4335 |
+
|
4336 |
+
if (currentChildMapping && currentChildMapping.hasOwnProperty(key)) {
|
4337 |
+
// This entered again before it fully left. Add it again.
|
4338 |
+
_this.keysToEnter.push(key);
|
4339 |
+
} else {
|
4340 |
+
_this.setState(function (state) {
|
4341 |
+
var newChildren = _extends({}, state.children);
|
4342 |
+
delete newChildren[key];
|
4343 |
+
return { children: newChildren };
|
4344 |
+
});
|
4345 |
+
}
|
4346 |
+
};
|
4347 |
+
|
4348 |
+
_this.childRefs = Object.create(null);
|
4349 |
+
|
4350 |
+
_this.state = {
|
4351 |
+
children: (0, _ChildMapping.getChildMapping)(props.children)
|
4352 |
+
};
|
4353 |
+
return _this;
|
4354 |
+
}
|
4355 |
+
|
4356 |
+
TransitionGroup.prototype.componentWillMount = function componentWillMount() {
|
4357 |
+
this.currentlyTransitioningKeys = {};
|
4358 |
+
this.keysToEnter = [];
|
4359 |
+
this.keysToLeave = [];
|
4360 |
+
};
|
4361 |
+
|
4362 |
+
TransitionGroup.prototype.componentDidMount = function componentDidMount() {
|
4363 |
+
var initialChildMapping = this.state.children;
|
4364 |
+
for (var key in initialChildMapping) {
|
4365 |
+
if (initialChildMapping[key]) {
|
4366 |
+
this.performAppear(key, this.childRefs[key]);
|
4367 |
+
}
|
4368 |
+
}
|
4369 |
+
};
|
4370 |
+
|
4371 |
+
TransitionGroup.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
|
4372 |
+
var nextChildMapping = (0, _ChildMapping.getChildMapping)(nextProps.children);
|
4373 |
+
var prevChildMapping = this.state.children;
|
4374 |
+
|
4375 |
+
this.setState({
|
4376 |
+
children: (0, _ChildMapping.mergeChildMappings)(prevChildMapping, nextChildMapping)
|
4377 |
+
});
|
4378 |
+
|
4379 |
+
for (var key in nextChildMapping) {
|
4380 |
+
var hasPrev = prevChildMapping && prevChildMapping.hasOwnProperty(key);
|
4381 |
+
if (nextChildMapping[key] && !hasPrev && !this.currentlyTransitioningKeys[key]) {
|
4382 |
+
this.keysToEnter.push(key);
|
4383 |
+
}
|
4384 |
+
}
|
4385 |
+
|
4386 |
+
for (var _key in prevChildMapping) {
|
4387 |
+
var hasNext = nextChildMapping && nextChildMapping.hasOwnProperty(_key);
|
4388 |
+
if (prevChildMapping[_key] && !hasNext && !this.currentlyTransitioningKeys[_key]) {
|
4389 |
+
this.keysToLeave.push(_key);
|
4390 |
+
}
|
4391 |
+
}
|
4392 |
+
|
4393 |
+
// If we want to someday check for reordering, we could do it here.
|
4394 |
+
};
|
4395 |
+
|
4396 |
+
TransitionGroup.prototype.componentDidUpdate = function componentDidUpdate() {
|
4397 |
+
var _this2 = this;
|
4398 |
+
|
4399 |
+
var keysToEnter = this.keysToEnter;
|
4400 |
+
this.keysToEnter = [];
|
4401 |
+
keysToEnter.forEach(function (key) {
|
4402 |
+
return _this2.performEnter(key, _this2.childRefs[key]);
|
4403 |
+
});
|
4404 |
+
|
4405 |
+
var keysToLeave = this.keysToLeave;
|
4406 |
+
this.keysToLeave = [];
|
4407 |
+
keysToLeave.forEach(function (key) {
|
4408 |
+
return _this2.performLeave(key, _this2.childRefs[key]);
|
4409 |
+
});
|
4410 |
+
};
|
4411 |
+
|
4412 |
+
TransitionGroup.prototype.render = function render() {
|
4413 |
+
var _this3 = this;
|
4414 |
+
|
4415 |
+
// TODO: we could get rid of the need for the wrapper node
|
4416 |
+
// by cloning a single child
|
4417 |
+
var childrenToRender = [];
|
4418 |
+
|
4419 |
+
var _loop = function _loop(key) {
|
4420 |
+
var child = _this3.state.children[key];
|
4421 |
+
if (child) {
|
4422 |
+
var isCallbackRef = typeof child.ref !== 'string';
|
4423 |
+
var factoryChild = _this3.props.childFactory(child);
|
4424 |
+
var ref = function ref(r) {
|
4425 |
+
_this3.childRefs[key] = r;
|
4426 |
+
};
|
4427 |
+
|
4428 |
+
process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(isCallbackRef, 'string refs are not supported on children of TransitionGroup and will be ignored. ' + 'Please use a callback ref instead: https://facebook.github.io/react/docs/refs-and-the-dom.html#the-ref-callback-attribute') : void 0;
|
4429 |
+
|
4430 |
+
// Always chaining the refs leads to problems when the childFactory
|
4431 |
+
// wraps the child. The child ref callback gets called twice with the
|
4432 |
+
// wrapper and the child. So we only need to chain the ref if the
|
4433 |
+
// factoryChild is not different from child.
|
4434 |
+
if (factoryChild === child && isCallbackRef) {
|
4435 |
+
ref = (0, _chainFunction2.default)(child.ref, ref);
|
4436 |
+
}
|
4437 |
+
|
4438 |
+
// You may need to apply reactive updates to a child as it is leaving.
|
4439 |
+
// The normal React way to do it won't work since the child will have
|
4440 |
+
// already been removed. In case you need this behavior you can provide
|
4441 |
+
// a childFactory function to wrap every child, even the ones that are
|
4442 |
+
// leaving.
|
4443 |
+
childrenToRender.push(_react2.default.cloneElement(factoryChild, {
|
4444 |
+
key: key,
|
4445 |
+
ref: ref
|
4446 |
+
}));
|
4447 |
+
}
|
4448 |
+
};
|
4449 |
+
|
4450 |
+
for (var key in this.state.children) {
|
4451 |
+
_loop(key);
|
4452 |
+
}
|
4453 |
+
|
4454 |
+
// Do not forward TransitionGroup props to primitive DOM nodes
|
4455 |
+
var props = _extends({}, this.props);
|
4456 |
+
delete props.transitionLeave;
|
4457 |
+
delete props.transitionName;
|
4458 |
+
delete props.transitionAppear;
|
4459 |
+
delete props.transitionEnter;
|
4460 |
+
delete props.childFactory;
|
4461 |
+
delete props.transitionLeaveTimeout;
|
4462 |
+
delete props.transitionEnterTimeout;
|
4463 |
+
delete props.transitionAppearTimeout;
|
4464 |
+
delete props.component;
|
4465 |
+
|
4466 |
+
return _react2.default.createElement(this.props.component, props, childrenToRender);
|
4467 |
+
};
|
4468 |
+
|
4469 |
+
return TransitionGroup;
|
4470 |
+
}(_react2.default.Component);
|
4471 |
+
|
4472 |
+
TransitionGroup.displayName = 'TransitionGroup';
|
4473 |
+
|
4474 |
+
TransitionGroup.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
|
4475 |
+
TransitionGroup.defaultProps = defaultProps;
|
4476 |
+
|
4477 |
+
exports.default = TransitionGroup;
|
4478 |
+
module.exports = exports['default'];
|
4479 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
4480 |
+
|
4481 |
+
/***/ }),
|
4482 |
+
/* 65 */
|
4483 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4484 |
+
|
4485 |
+
"use strict";
|
4486 |
+
|
4487 |
+
|
4488 |
+
exports.__esModule = true;
|
4489 |
+
|
4490 |
+
var _from = __webpack_require__(167);
|
4491 |
+
|
4492 |
+
var _from2 = _interopRequireDefault(_from);
|
4493 |
+
|
4494 |
+
function _interopRequireDefault(obj) {
|
4495 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
4496 |
+
}
|
4497 |
+
|
4498 |
+
exports.default = function (arr) {
|
4499 |
+
if (Array.isArray(arr)) {
|
4500 |
+
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
|
4501 |
+
arr2[i] = arr[i];
|
4502 |
+
}
|
4503 |
+
|
4504 |
+
return arr2;
|
4505 |
+
} else {
|
4506 |
+
return (0, _from2.default)(arr);
|
4507 |
+
}
|
4508 |
+
};
|
4509 |
+
|
4510 |
+
/***/ }),
|
4511 |
+
/* 66 */
|
4512 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4513 |
+
|
4514 |
+
"use strict";
|
4515 |
+
|
4516 |
+
|
4517 |
+
Object.defineProperty(exports, "__esModule", {
|
4518 |
+
value: true
|
4519 |
+
});
|
4520 |
+
exports.default = undefined;
|
4521 |
+
|
4522 |
+
var _TextField = __webpack_require__(347);
|
4523 |
+
|
4524 |
+
var _TextField2 = _interopRequireDefault(_TextField);
|
4525 |
+
|
4526 |
+
function _interopRequireDefault(obj) {
|
4527 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
4528 |
+
}
|
4529 |
+
|
4530 |
+
exports.default = _TextField2.default;
|
4531 |
+
|
4532 |
+
/***/ }),
|
4533 |
+
/* 67 */
|
4534 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4535 |
+
|
4536 |
+
"use strict";
|
4537 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
4538 |
+
|
4539 |
+
Object.defineProperty(exports, "__esModule", {
|
4540 |
+
value: true
|
4541 |
+
});
|
4542 |
+
exports.defaultUtils = undefined;
|
4543 |
+
exports.dateTimeFormat = dateTimeFormat;
|
4544 |
+
exports.getYear = getYear;
|
4545 |
+
exports.setYear = setYear;
|
4546 |
+
exports.addDays = addDays;
|
4547 |
+
exports.addMonths = addMonths;
|
4548 |
+
exports.addYears = addYears;
|
4549 |
+
exports.cloneDate = cloneDate;
|
4550 |
+
exports.cloneAsDate = cloneAsDate;
|
4551 |
+
exports.getDaysInMonth = getDaysInMonth;
|
4552 |
+
exports.getFirstDayOfMonth = getFirstDayOfMonth;
|
4553 |
+
exports.getFirstDayOfWeek = getFirstDayOfWeek;
|
4554 |
+
exports.getWeekArray = getWeekArray;
|
4555 |
+
exports.localizedWeekday = localizedWeekday;
|
4556 |
+
exports.formatIso = formatIso;
|
4557 |
+
exports.isEqualDate = isEqualDate;
|
4558 |
+
exports.isBeforeDate = isBeforeDate;
|
4559 |
+
exports.isAfterDate = isAfterDate;
|
4560 |
+
exports.isBetweenDates = isBetweenDates;
|
4561 |
+
exports.monthDiff = monthDiff;
|
4562 |
+
exports.yearDiff = yearDiff;
|
4563 |
+
|
4564 |
+
var _warning = __webpack_require__(16);
|
4565 |
+
|
4566 |
+
var _warning2 = _interopRequireDefault(_warning);
|
4567 |
+
|
4568 |
+
function _interopRequireDefault(obj) {
|
4569 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
4570 |
+
}
|
4571 |
+
|
4572 |
+
var dayAbbreviation = ['S', 'M', 'T', 'W', 'T', 'F', 'S'];
|
4573 |
+
var dayList = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
4574 |
+
var monthList = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
4575 |
+
var monthLongList = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
4576 |
+
|
4577 |
+
function dateTimeFormat(locale, options) {
|
4578 |
+
process.env.NODE_ENV !== "production" ? (0, _warning2.default)(locale === 'en-US', 'Material-UI: The ' + locale + ' locale is not supported by the built-in DateTimeFormat.\n Use the `DateTimeFormat` prop to supply an alternative implementation.') : void 0;
|
4579 |
+
|
4580 |
+
this.format = function (date) {
|
4581 |
+
if (options.month === 'short' && options.weekday === 'short' && options.day === '2-digit') {
|
4582 |
+
return dayList[date.getDay()] + ', ' + monthList[date.getMonth()] + ' ' + date.getDate();
|
4583 |
+
} else if (options.year === 'numeric' && options.month === 'numeric' && options.day === 'numeric') {
|
4584 |
+
return date.getMonth() + 1 + '/' + date.getDate() + '/' + date.getFullYear();
|
4585 |
+
} else if (options.year === 'numeric' && options.month === 'long') {
|
4586 |
+
return monthLongList[date.getMonth()] + ' ' + date.getFullYear();
|
4587 |
+
} else if (options.weekday === 'narrow') {
|
4588 |
+
return dayAbbreviation[date.getDay()];
|
4589 |
+
} else if (options.year === 'numeric') {
|
4590 |
+
return date.getFullYear().toString();
|
4591 |
+
} else if (options.day === 'numeric') {
|
4592 |
+
return date.getDate();
|
4593 |
+
} else {
|
4594 |
+
process.env.NODE_ENV !== "production" ? (0, _warning2.default)(false, 'Material-UI: Wrong usage of DateTimeFormat') : void 0;
|
4595 |
+
}
|
4596 |
+
};
|
4597 |
+
}
|
4598 |
+
|
4599 |
+
function getYear(d) {
|
4600 |
+
return d.getFullYear();
|
4601 |
+
}
|
4602 |
+
|
4603 |
+
function setYear(d, year) {
|
4604 |
+
var newDate = cloneDate(d);
|
4605 |
+
newDate.setFullYear(year);
|
4606 |
+
return newDate;
|
4607 |
+
}
|
4608 |
+
|
4609 |
+
function addDays(d, days) {
|
4610 |
+
var newDate = cloneDate(d);
|
4611 |
+
newDate.setDate(d.getDate() + days);
|
4612 |
+
return newDate;
|
4613 |
+
}
|
4614 |
+
|
4615 |
+
function addMonths(d, months) {
|
4616 |
+
var newDate = cloneDate(d);
|
4617 |
+
newDate.setMonth(d.getMonth() + months);
|
4618 |
+
return newDate;
|
4619 |
+
}
|
4620 |
+
|
4621 |
+
function addYears(d, years) {
|
4622 |
+
var newDate = cloneDate(d);
|
4623 |
+
newDate.setFullYear(d.getFullYear() + years);
|
4624 |
+
return newDate;
|
4625 |
+
}
|
4626 |
+
|
4627 |
+
function cloneDate(d) {
|
4628 |
+
return new Date(d.getTime());
|
4629 |
+
}
|
4630 |
+
|
4631 |
+
function cloneAsDate(d) {
|
4632 |
+
var clonedDate = cloneDate(d);
|
4633 |
+
clonedDate.setHours(0, 0, 0, 0);
|
4634 |
+
return clonedDate;
|
4635 |
+
}
|
4636 |
+
|
4637 |
+
function getDaysInMonth(d) {
|
4638 |
+
var resultDate = getFirstDayOfMonth(d);
|
4639 |
+
|
4640 |
+
resultDate.setMonth(resultDate.getMonth() + 1);
|
4641 |
+
resultDate.setDate(resultDate.getDate() - 1);
|
4642 |
+
|
4643 |
+
return resultDate.getDate();
|
4644 |
+
}
|
4645 |
+
|
4646 |
+
function getFirstDayOfMonth(d) {
|
4647 |
+
return new Date(d.getFullYear(), d.getMonth(), 1);
|
4648 |
+
}
|
4649 |
+
|
4650 |
+
function getFirstDayOfWeek() {
|
4651 |
+
var now = new Date();
|
4652 |
+
return new Date(now.setDate(now.getDate() - now.getDay()));
|
4653 |
+
}
|
4654 |
+
|
4655 |
+
function getWeekArray(d, firstDayOfWeek) {
|
4656 |
+
var dayArray = [];
|
4657 |
+
var daysInMonth = getDaysInMonth(d);
|
4658 |
+
var weekArray = [];
|
4659 |
+
var week = [];
|
4660 |
+
|
4661 |
+
for (var i = 1; i <= daysInMonth; i++) {
|
4662 |
+
dayArray.push(new Date(d.getFullYear(), d.getMonth(), i));
|
4663 |
+
}
|
4664 |
+
|
4665 |
+
var addWeek = function addWeek(week) {
|
4666 |
+
var emptyDays = 7 - week.length;
|
4667 |
+
for (var _i = 0; _i < emptyDays; ++_i) {
|
4668 |
+
week[weekArray.length ? 'push' : 'unshift'](null);
|
4669 |
+
}
|
4670 |
+
weekArray.push(week);
|
4671 |
+
};
|
4672 |
+
|
4673 |
+
dayArray.forEach(function (day) {
|
4674 |
+
if (week.length > 0 && day.getDay() === firstDayOfWeek) {
|
4675 |
+
addWeek(week);
|
4676 |
+
week = [];
|
4677 |
+
}
|
4678 |
+
week.push(day);
|
4679 |
+
if (dayArray.indexOf(day) === dayArray.length - 1) {
|
4680 |
+
addWeek(week);
|
4681 |
+
}
|
4682 |
+
});
|
4683 |
+
|
4684 |
+
return weekArray;
|
4685 |
+
}
|
4686 |
+
|
4687 |
+
function localizedWeekday(DateTimeFormat, locale, day, firstDayOfWeek) {
|
4688 |
+
var weekdayFormatter = new DateTimeFormat(locale, { weekday: 'narrow' });
|
4689 |
+
var firstDayDate = getFirstDayOfWeek();
|
4690 |
+
|
4691 |
+
return weekdayFormatter.format(addDays(firstDayDate, day + firstDayOfWeek));
|
4692 |
+
}
|
4693 |
+
|
4694 |
+
// Convert date to ISO 8601 (YYYY-MM-DD) date string, accounting for current timezone
|
4695 |
+
function formatIso(date) {
|
4696 |
+
return new Date(date.toDateString() + ' 12:00:00 +0000').toISOString().substring(0, 10);
|
4697 |
+
}
|
4698 |
+
|
4699 |
+
function isEqualDate(d1, d2) {
|
4700 |
+
return d1 && d2 && d1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth() && d1.getDate() === d2.getDate();
|
4701 |
+
}
|
4702 |
+
|
4703 |
+
function isBeforeDate(d1, d2) {
|
4704 |
+
var date1 = cloneAsDate(d1);
|
4705 |
+
var date2 = cloneAsDate(d2);
|
4706 |
+
|
4707 |
+
return date1.getTime() < date2.getTime();
|
4708 |
+
}
|
4709 |
+
|
4710 |
+
function isAfterDate(d1, d2) {
|
4711 |
+
var date1 = cloneAsDate(d1);
|
4712 |
+
var date2 = cloneAsDate(d2);
|
4713 |
+
|
4714 |
+
return date1.getTime() > date2.getTime();
|
4715 |
+
}
|
4716 |
+
|
4717 |
+
function isBetweenDates(dateToCheck, startDate, endDate) {
|
4718 |
+
return !isBeforeDate(dateToCheck, startDate) && !isAfterDate(dateToCheck, endDate);
|
4719 |
+
}
|
4720 |
+
|
4721 |
+
function monthDiff(d1, d2) {
|
4722 |
+
var m = void 0;
|
4723 |
+
m = (d1.getFullYear() - d2.getFullYear()) * 12;
|
4724 |
+
m += d1.getMonth();
|
4725 |
+
m -= d2.getMonth();
|
4726 |
+
return m;
|
4727 |
+
}
|
4728 |
+
|
4729 |
+
function yearDiff(d1, d2) {
|
4730 |
+
return ~~(monthDiff(d1, d2) / 12);
|
4731 |
+
}
|
4732 |
+
|
4733 |
+
var defaultUtils = exports.defaultUtils = {
|
4734 |
+
getYear: getYear,
|
4735 |
+
setYear: setYear,
|
4736 |
+
addDays: addDays,
|
4737 |
+
addMonths: addMonths,
|
4738 |
+
addYears: addYears,
|
4739 |
+
getFirstDayOfMonth: getFirstDayOfMonth,
|
4740 |
+
getWeekArray: getWeekArray,
|
4741 |
+
monthDiff: monthDiff
|
4742 |
+
};
|
4743 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
4744 |
+
|
4745 |
+
/***/ }),
|
4746 |
+
/* 68 */
|
4747 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4748 |
+
|
4749 |
+
"use strict";
|
4750 |
+
|
4751 |
+
|
4752 |
+
Object.defineProperty(exports, "__esModule", {
|
4753 |
+
value: true
|
4754 |
+
});
|
4755 |
+
exports.addHours = addHours;
|
4756 |
+
exports.addMinutes = addMinutes;
|
4757 |
+
exports.addSeconds = addSeconds;
|
4758 |
+
exports.formatTime = formatTime;
|
4759 |
+
exports.rad2deg = rad2deg;
|
4760 |
+
exports.getTouchEventOffsetValues = getTouchEventOffsetValues;
|
4761 |
+
exports.isInner = isInner;
|
4762 |
+
function addHours(d, hours) {
|
4763 |
+
var newDate = clone(d);
|
4764 |
+
newDate.setHours(d.getHours() + hours);
|
4765 |
+
return newDate;
|
4766 |
+
}
|
4767 |
+
|
4768 |
+
function addMinutes(d, minutes) {
|
4769 |
+
var newDate = clone(d);
|
4770 |
+
newDate.setMinutes(d.getMinutes() + minutes);
|
4771 |
+
return newDate;
|
4772 |
+
}
|
4773 |
+
|
4774 |
+
function addSeconds(d, seconds) {
|
4775 |
+
var newDate = clone(d);
|
4776 |
+
newDate.setSeconds(d.getMinutes() + seconds);
|
4777 |
+
return newDate;
|
4778 |
+
}
|
4779 |
+
|
4780 |
+
function clone(d) {
|
4781 |
+
return new Date(d.getTime());
|
4782 |
+
}
|
4783 |
+
|
4784 |
+
/**
|
4785 |
+
* @param date [Date] A Date object.
|
4786 |
+
* @param format [String] One of 'ampm', '24hr', defaults to 'ampm'.
|
4787 |
+
* @param pedantic [Boolean] Check time-picker/time-picker.jsx file.
|
4788 |
+
*
|
4789 |
+
* @return String A string representing the formatted time.
|
4790 |
+
*/
|
4791 |
+
function formatTime(date) {
|
4792 |
+
var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'ampm';
|
4793 |
+
var pedantic = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
4794 |
+
|
4795 |
+
if (!date) return '';
|
4796 |
+
var hours = date.getHours();
|
4797 |
+
var mins = date.getMinutes().toString();
|
4798 |
+
|
4799 |
+
if (format === 'ampm') {
|
4800 |
+
var isAM = hours < 12;
|
4801 |
+
hours = hours % 12;
|
4802 |
+
var additional = isAM ? ' am' : ' pm';
|
4803 |
+
hours = (hours || 12).toString();
|
4804 |
+
|
4805 |
+
if (mins.length < 2) mins = '0' + mins;
|
4806 |
+
|
4807 |
+
if (pedantic) {
|
4808 |
+
// Treat midday/midnight specially http://www.nist.gov/pml/div688/times.cfm
|
4809 |
+
if (hours === '12' && mins === '00') {
|
4810 |
+
return additional === ' pm' ? '12 noon' : '12 midnight';
|
4811 |
+
}
|
4812 |
+
}
|
4813 |
+
|
4814 |
+
return hours + (mins === '00' ? '' : ':' + mins) + additional;
|
4815 |
+
}
|
4816 |
+
|
4817 |
+
hours = hours.toString();
|
4818 |
+
|
4819 |
+
if (hours.length < 2) hours = '0' + hours;
|
4820 |
+
if (mins.length < 2) mins = '0' + mins;
|
4821 |
+
|
4822 |
+
return hours + ':' + mins;
|
4823 |
+
}
|
4824 |
+
|
4825 |
+
function rad2deg(rad) {
|
4826 |
+
return rad * 57.29577951308232;
|
4827 |
+
}
|
4828 |
+
|
4829 |
+
function getTouchEventOffsetValues(event) {
|
4830 |
+
var el = event.target;
|
4831 |
+
var boundingRect = el.getBoundingClientRect();
|
4832 |
+
|
4833 |
+
return {
|
4834 |
+
offsetX: event.clientX - boundingRect.left,
|
4835 |
+
offsetY: event.clientY - boundingRect.top
|
4836 |
+
};
|
4837 |
+
}
|
4838 |
+
|
4839 |
+
function isInner(props) {
|
4840 |
+
if (props.type !== 'hour') {
|
4841 |
+
return false;
|
4842 |
+
}
|
4843 |
+
return props.value < 1 || props.value > 12;
|
4844 |
+
}
|
4845 |
+
|
4846 |
+
/***/ }),
|
4847 |
+
/* 69 */
|
4848 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4849 |
+
|
4850 |
+
var root = __webpack_require__(28);
|
4851 |
+
|
4852 |
+
/** Built-in value references. */
|
4853 |
+
var Symbol = root.Symbol;
|
4854 |
+
|
4855 |
+
module.exports = Symbol;
|
4856 |
+
|
4857 |
+
/***/ }),
|
4858 |
+
/* 70 */
|
4859 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4860 |
+
|
4861 |
+
var arrayLikeKeys = __webpack_require__(213),
|
4862 |
+
baseKeys = __webpack_require__(504),
|
4863 |
+
isArrayLike = __webpack_require__(81);
|
4864 |
+
|
4865 |
+
/**
|
4866 |
+
* Creates an array of the own enumerable property names of `object`.
|
4867 |
+
*
|
4868 |
+
* **Note:** Non-object values are coerced to objects. See the
|
4869 |
+
* [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
|
4870 |
+
* for more details.
|
4871 |
+
*
|
4872 |
+
* @static
|
4873 |
+
* @since 0.1.0
|
4874 |
+
* @memberOf _
|
4875 |
+
* @category Object
|
4876 |
+
* @param {Object} object The object to query.
|
4877 |
+
* @returns {Array} Returns the array of property names.
|
4878 |
+
* @example
|
4879 |
+
*
|
4880 |
+
* function Foo() {
|
4881 |
+
* this.a = 1;
|
4882 |
+
* this.b = 2;
|
4883 |
+
* }
|
4884 |
+
*
|
4885 |
+
* Foo.prototype.c = 3;
|
4886 |
+
*
|
4887 |
+
* _.keys(new Foo);
|
4888 |
+
* // => ['a', 'b'] (iteration order is not guaranteed)
|
4889 |
+
*
|
4890 |
+
* _.keys('hi');
|
4891 |
+
* // => ['0', '1']
|
4892 |
+
*/
|
4893 |
+
function keys(object) {
|
4894 |
+
return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
|
4895 |
+
}
|
4896 |
+
|
4897 |
+
module.exports = keys;
|
4898 |
+
|
4899 |
+
/***/ }),
|
4900 |
+
/* 71 */
|
4901 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4902 |
+
|
4903 |
+
"use strict";
|
4904 |
+
|
4905 |
+
|
4906 |
+
exports.__esModule = true;
|
4907 |
+
exports.connect = exports.Provider = undefined;
|
4908 |
+
|
4909 |
+
var _Provider = __webpack_require__(665);
|
4910 |
+
|
4911 |
+
var _Provider2 = _interopRequireDefault(_Provider);
|
4912 |
+
|
4913 |
+
var _connect = __webpack_require__(666);
|
4914 |
+
|
4915 |
+
var _connect2 = _interopRequireDefault(_connect);
|
4916 |
+
|
4917 |
+
function _interopRequireDefault(obj) {
|
4918 |
+
return obj && obj.__esModule ? obj : { "default": obj };
|
4919 |
+
}
|
4920 |
+
|
4921 |
+
exports.Provider = _Provider2["default"];
|
4922 |
+
exports.connect = _connect2["default"];
|
4923 |
+
|
4924 |
+
/***/ }),
|
4925 |
+
/* 72 */
|
4926 |
+
/***/ (function(module, exports) {
|
4927 |
+
|
4928 |
+
var id = 0;
|
4929 |
+
var px = Math.random();
|
4930 |
+
module.exports = function (key) {
|
4931 |
+
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
|
4932 |
+
};
|
4933 |
+
|
4934 |
+
/***/ }),
|
4935 |
+
/* 73 */
|
4936 |
+
/***/ (function(module, exports) {
|
4937 |
+
|
4938 |
+
exports.f = {}.propertyIsEnumerable;
|
4939 |
+
|
4940 |
+
/***/ }),
|
4941 |
+
/* 74 */
|
4942 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4943 |
+
|
4944 |
+
"use strict";
|
4945 |
+
|
4946 |
+
|
4947 |
+
var $at = __webpack_require__(291)(true);
|
4948 |
+
|
4949 |
+
// 21.1.3.27 String.prototype[@@iterator]()
|
4950 |
+
__webpack_require__(158)(String, 'String', function (iterated) {
|
4951 |
+
this._t = String(iterated); // target
|
4952 |
+
this._i = 0; // next index
|
4953 |
+
// 21.1.5.2.1 %StringIteratorPrototype%.next()
|
4954 |
+
}, function () {
|
4955 |
+
var O = this._t;
|
4956 |
+
var index = this._i;
|
4957 |
+
var point;
|
4958 |
+
if (index >= O.length) return { value: undefined, done: true };
|
4959 |
+
point = $at(O, index);
|
4960 |
+
this._i += point.length;
|
4961 |
+
return { value: point, done: false };
|
4962 |
+
});
|
4963 |
+
|
4964 |
+
/***/ }),
|
4965 |
+
/* 75 */
|
4966 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4967 |
+
|
4968 |
+
"use strict";
|
4969 |
+
|
4970 |
+
|
4971 |
+
Object.defineProperty(exports, "__esModule", {
|
4972 |
+
value: true
|
4973 |
+
});
|
4974 |
+
exports.default = {
|
4975 |
+
once: function once(el, type, callback) {
|
4976 |
+
var typeArray = type ? type.split(' ') : [];
|
4977 |
+
var recursiveFunction = function recursiveFunction(event) {
|
4978 |
+
event.target.removeEventListener(event.type, recursiveFunction);
|
4979 |
+
return callback(event);
|
4980 |
+
};
|
4981 |
+
|
4982 |
+
for (var i = typeArray.length - 1; i >= 0; i--) {
|
4983 |
+
this.on(el, typeArray[i], recursiveFunction);
|
4984 |
+
}
|
4985 |
+
},
|
4986 |
+
on: function on(el, type, callback) {
|
4987 |
+
if (el.addEventListener) {
|
4988 |
+
el.addEventListener(type, callback);
|
4989 |
+
} else {
|
4990 |
+
// IE8+ Support
|
4991 |
+
el.attachEvent('on' + type, function () {
|
4992 |
+
callback.call(el);
|
4993 |
+
});
|
4994 |
+
}
|
4995 |
+
},
|
4996 |
+
off: function off(el, type, callback) {
|
4997 |
+
if (el.removeEventListener) {
|
4998 |
+
el.removeEventListener(type, callback);
|
4999 |
+
} else {
|
5000 |
+
// IE8+ Support
|
5001 |
+
el.detachEvent('on' + type, callback);
|
5002 |
+
}
|
5003 |
+
},
|
5004 |
+
isKeyboard: function isKeyboard(event) {
|
5005 |
+
return ['keydown', 'keypress', 'keyup'].indexOf(event.type) !== -1;
|
5006 |
+
}
|
5007 |
+
};
|
5008 |
+
|
5009 |
+
/***/ }),
|
5010 |
+
/* 76 */
|
5011 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5012 |
+
|
5013 |
+
"use strict";
|
5014 |
+
/**
|
5015 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
5016 |
+
*
|
5017 |
+
* This source code is licensed under the MIT license found in the
|
5018 |
+
* LICENSE file in the root directory of this source tree.
|
5019 |
+
*
|
5020 |
+
* @typechecks
|
5021 |
+
*
|
5022 |
+
*/
|
5023 |
+
|
5024 |
+
/*eslint-disable no-self-compare */
|
5025 |
+
|
5026 |
+
|
5027 |
+
|
5028 |
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
5029 |
+
|
5030 |
+
/**
|
5031 |
+
* inlined Object.is polyfill to avoid requiring consumers ship their own
|
5032 |
+
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
|
5033 |
+
*/
|
5034 |
+
function is(x, y) {
|
5035 |
+
// SameValue algorithm
|
5036 |
+
if (x === y) {
|
5037 |
+
// Steps 1-5, 7-10
|
5038 |
+
// Steps 6.b-6.e: +0 != -0
|
5039 |
+
// Added the nonzero y check to make Flow happy, but it is redundant
|
5040 |
+
return x !== 0 || y !== 0 || 1 / x === 1 / y;
|
5041 |
+
} else {
|
5042 |
+
// Step 6.a: NaN == NaN
|
5043 |
+
return x !== x && y !== y;
|
5044 |
+
}
|
5045 |
+
}
|
5046 |
+
|
5047 |
+
/**
|
5048 |
+
* Performs equality by iterating through keys on an object and returning false
|
5049 |
+
* when any key has values which are not strictly equal between the arguments.
|
5050 |
+
* Returns true when the values of all keys are strictly equal.
|
5051 |
+
*/
|
5052 |
+
function shallowEqual(objA, objB) {
|
5053 |
+
if (is(objA, objB)) {
|
5054 |
+
return true;
|
5055 |
+
}
|
5056 |
+
|
5057 |
+
if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
|
5058 |
+
return false;
|
5059 |
+
}
|
5060 |
+
|
5061 |
+
var keysA = Object.keys(objA);
|
5062 |
+
var keysB = Object.keys(objB);
|
5063 |
+
|
5064 |
+
if (keysA.length !== keysB.length) {
|
5065 |
+
return false;
|
5066 |
+
}
|
5067 |
+
|
5068 |
+
// Test for A's keys different from B.
|
5069 |
+
for (var i = 0; i < keysA.length; i++) {
|
5070 |
+
if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
|
5071 |
+
return false;
|
5072 |
+
}
|
5073 |
+
}
|
5074 |
+
|
5075 |
+
return true;
|
5076 |
+
}
|
5077 |
+
|
5078 |
+
module.exports = shallowEqual;
|
5079 |
+
|
5080 |
+
/***/ }),
|
5081 |
+
/* 77 */
|
5082 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5083 |
+
|
5084 |
+
"use strict";
|
5085 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
5086 |
+
|
5087 |
+
Object.defineProperty(exports, "__esModule", {
|
5088 |
+
value: true
|
5089 |
+
});
|
5090 |
+
|
5091 |
+
var _extends2 = __webpack_require__(9);
|
5092 |
+
|
5093 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
5094 |
+
|
5095 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
5096 |
+
|
5097 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
5098 |
+
|
5099 |
+
var _toArray2 = __webpack_require__(170);
|
5100 |
+
|
5101 |
+
var _toArray3 = _interopRequireDefault(_toArray2);
|
5102 |
+
|
5103 |
+
var _getPrototypeOf = __webpack_require__(5);
|
5104 |
+
|
5105 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
5106 |
+
|
5107 |
+
var _classCallCheck2 = __webpack_require__(3);
|
5108 |
+
|
5109 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
5110 |
+
|
5111 |
+
var _createClass2 = __webpack_require__(4);
|
5112 |
+
|
5113 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
5114 |
+
|
5115 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
5116 |
+
|
5117 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
5118 |
+
|
5119 |
+
var _inherits2 = __webpack_require__(7);
|
5120 |
+
|
5121 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
5122 |
+
|
5123 |
+
var _simpleAssign = __webpack_require__(8);
|
5124 |
+
|
5125 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
5126 |
+
|
5127 |
+
var _react = __webpack_require__(0);
|
5128 |
+
|
5129 |
+
var _react2 = _interopRequireDefault(_react);
|
5130 |
+
|
5131 |
+
var _propTypes = __webpack_require__(2);
|
5132 |
+
|
5133 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
5134 |
+
|
5135 |
+
var _reactDom = __webpack_require__(14);
|
5136 |
+
|
5137 |
+
var _reactDom2 = _interopRequireDefault(_reactDom);
|
5138 |
+
|
5139 |
+
var _shallowEqual = __webpack_require__(43);
|
5140 |
+
|
5141 |
+
var _shallowEqual2 = _interopRequireDefault(_shallowEqual);
|
5142 |
+
|
5143 |
+
var _ClickAwayListener = __webpack_require__(113);
|
5144 |
+
|
5145 |
+
var _ClickAwayListener2 = _interopRequireDefault(_ClickAwayListener);
|
5146 |
+
|
5147 |
+
var _keycode = __webpack_require__(22);
|
5148 |
+
|
5149 |
+
var _keycode2 = _interopRequireDefault(_keycode);
|
5150 |
+
|
5151 |
+
var _propTypes3 = __webpack_require__(19);
|
5152 |
+
|
5153 |
+
var _propTypes4 = _interopRequireDefault(_propTypes3);
|
5154 |
+
|
5155 |
+
var _List = __webpack_require__(114);
|
5156 |
+
|
5157 |
+
var _List2 = _interopRequireDefault(_List);
|
5158 |
+
|
5159 |
+
var _menuUtils = __webpack_require__(354);
|
5160 |
+
|
5161 |
+
function _interopRequireDefault(obj) {
|
5162 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
5163 |
+
}
|
5164 |
+
|
5165 |
+
function getStyles(props, context) {
|
5166 |
+
var desktop = props.desktop,
|
5167 |
+
maxHeight = props.maxHeight,
|
5168 |
+
width = props.width;
|
5169 |
+
var muiTheme = context.muiTheme;
|
5170 |
+
|
5171 |
+
var styles = {
|
5172 |
+
root: {
|
5173 |
+
// Nested div because the List scales x faster than it scales y
|
5174 |
+
zIndex: muiTheme.zIndex.menu,
|
5175 |
+
maxHeight: maxHeight,
|
5176 |
+
overflowY: maxHeight ? 'auto' : null
|
5177 |
+
},
|
5178 |
+
divider: {
|
5179 |
+
marginTop: 7,
|
5180 |
+
marginBottom: 8
|
5181 |
+
},
|
5182 |
+
list: {
|
5183 |
+
display: 'table-cell',
|
5184 |
+
paddingBottom: desktop ? 16 : 8,
|
5185 |
+
paddingTop: desktop ? 16 : 8,
|
5186 |
+
userSelect: 'none',
|
5187 |
+
width: width
|
5188 |
+
},
|
5189 |
+
selectedMenuItem: {
|
5190 |
+
color: muiTheme.menuItem.selectedTextColor
|
5191 |
+
}
|
5192 |
+
};
|
5193 |
+
|
5194 |
+
return styles;
|
5195 |
+
}
|
5196 |
+
|
5197 |
+
var Menu = function (_Component) {
|
5198 |
+
(0, _inherits3.default)(Menu, _Component);
|
5199 |
+
|
5200 |
+
function Menu(props, context) {
|
5201 |
+
(0, _classCallCheck3.default)(this, Menu);
|
5202 |
+
|
5203 |
+
var _this = (0, _possibleConstructorReturn3.default)(this, (Menu.__proto__ || (0, _getPrototypeOf2.default)(Menu)).call(this, props, context));
|
5204 |
+
|
5205 |
+
_initialiseProps.call(_this);
|
5206 |
+
|
5207 |
+
var filteredChildren = _this.getFilteredChildren(props.children);
|
5208 |
+
var selectedIndex = _this.getLastSelectedIndex(props, filteredChildren);
|
5209 |
+
|
5210 |
+
var newFocusIndex = props.disableAutoFocus ? -1 : selectedIndex >= 0 ? selectedIndex : 0;
|
5211 |
+
if (newFocusIndex !== -1 && props.onMenuItemFocusChange) {
|
5212 |
+
props.onMenuItemFocusChange(null, newFocusIndex);
|
5213 |
+
}
|
5214 |
+
_this.state = {
|
5215 |
+
focusIndex: newFocusIndex,
|
5216 |
+
isKeyboardFocused: props.initiallyKeyboardFocused,
|
5217 |
+
keyWidth: props.desktop ? 64 : 56
|
5218 |
+
};
|
5219 |
+
|
5220 |
+
_this.hotKeyHolder = new _menuUtils.HotKeyHolder();
|
5221 |
+
return _this;
|
5222 |
+
}
|
5223 |
+
|
5224 |
+
(0, _createClass3.default)(Menu, [{
|
5225 |
+
key: 'componentDidMount',
|
5226 |
+
value: function componentDidMount() {
|
5227 |
+
if (this.props.autoWidth) {
|
5228 |
+
this.setWidth();
|
5229 |
+
}
|
5230 |
+
this.setScollPosition();
|
5231 |
+
}
|
5232 |
+
}, {
|
5233 |
+
key: 'componentWillReceiveProps',
|
5234 |
+
value: function componentWillReceiveProps(nextProps) {
|
5235 |
+
var selectedIndex = void 0;
|
5236 |
+
var filteredChildren = this.getFilteredChildren(nextProps.children);
|
5237 |
+
|
5238 |
+
if (this.props.multiple !== true) {
|
5239 |
+
selectedIndex = this.getLastSelectedIndex(nextProps, filteredChildren);
|
5240 |
+
} else {
|
5241 |
+
selectedIndex = this.state.focusIndex;
|
5242 |
+
}
|
5243 |
+
|
5244 |
+
var newFocusIndex = nextProps.disableAutoFocus ? -1 : selectedIndex >= 0 ? selectedIndex : 0;
|
5245 |
+
if (newFocusIndex !== this.state.focusIndex && this.props.onMenuItemFocusChange) {
|
5246 |
+
this.props.onMenuItemFocusChange(null, newFocusIndex);
|
5247 |
+
}
|
5248 |
+
this.setState({
|
5249 |
+
focusIndex: newFocusIndex,
|
5250 |
+
keyWidth: nextProps.desktop ? 64 : 56
|
5251 |
+
});
|
5252 |
+
}
|
5253 |
+
}, {
|
5254 |
+
key: 'shouldComponentUpdate',
|
5255 |
+
value: function shouldComponentUpdate(nextProps, nextState, nextContext) {
|
5256 |
+
return !(0, _shallowEqual2.default)(this.props, nextProps) || !(0, _shallowEqual2.default)(this.state, nextState) || !(0, _shallowEqual2.default)(this.context, nextContext);
|
5257 |
+
}
|
5258 |
+
}, {
|
5259 |
+
key: 'componentDidUpdate',
|
5260 |
+
value: function componentDidUpdate() {
|
5261 |
+
if (this.props.autoWidth) this.setWidth();
|
5262 |
+
}
|
5263 |
+
}, {
|
5264 |
+
key: 'getValueLink',
|
5265 |
+
|
5266 |
+
// Do not use outside of this component, it will be removed once valueLink is deprecated
|
5267 |
+
value: function getValueLink(props) {
|
5268 |
+
return props.valueLink || {
|
5269 |
+
value: props.value,
|
5270 |
+
requestChange: props.onChange
|
5271 |
+
};
|
5272 |
+
}
|
5273 |
+
}, {
|
5274 |
+
key: 'setKeyboardFocused',
|
5275 |
+
value: function setKeyboardFocused(keyboardFocused) {
|
5276 |
+
this.setState({
|
5277 |
+
isKeyboardFocused: keyboardFocused
|
5278 |
+
});
|
5279 |
+
}
|
5280 |
+
}, {
|
5281 |
+
key: 'getFilteredChildren',
|
5282 |
+
value: function getFilteredChildren(children) {
|
5283 |
+
var filteredChildren = [];
|
5284 |
+
_react2.default.Children.forEach(children, function (child) {
|
5285 |
+
if (child) {
|
5286 |
+
filteredChildren.push(child);
|
5287 |
+
}
|
5288 |
+
});
|
5289 |
+
return filteredChildren;
|
5290 |
+
}
|
5291 |
+
}, {
|
5292 |
+
key: 'cloneMenuItem',
|
5293 |
+
value: function cloneMenuItem(child, childIndex, styles, index) {
|
5294 |
+
var _this2 = this;
|
5295 |
+
|
5296 |
+
var childIsDisabled = child.props.disabled;
|
5297 |
+
|
5298 |
+
var selectedChildStyles = {};
|
5299 |
+
if (!childIsDisabled) {
|
5300 |
+
var selected = this.isChildSelected(child, this.props);
|
5301 |
+
|
5302 |
+
if (selected) {
|
5303 |
+
(0, _simpleAssign2.default)(selectedChildStyles, styles.selectedMenuItem, this.props.selectedMenuItemStyle);
|
5304 |
+
}
|
5305 |
+
}
|
5306 |
+
var mergedChildStyles = (0, _simpleAssign2.default)({}, child.props.style, this.props.menuItemStyle, selectedChildStyles);
|
5307 |
+
|
5308 |
+
var extraProps = {
|
5309 |
+
desktop: this.props.desktop,
|
5310 |
+
style: mergedChildStyles
|
5311 |
+
};
|
5312 |
+
if (!childIsDisabled) {
|
5313 |
+
var isFocused = childIndex === this.state.focusIndex;
|
5314 |
+
var focusState = 'none';
|
5315 |
+
if (isFocused) {
|
5316 |
+
focusState = this.state.isKeyboardFocused ? 'keyboard-focused' : 'focused';
|
5317 |
+
}
|
5318 |
+
|
5319 |
+
(0, _simpleAssign2.default)(extraProps, {
|
5320 |
+
focusState: focusState,
|
5321 |
+
onClick: function onClick(event) {
|
5322 |
+
_this2.handleMenuItemClick(event, child, index);
|
5323 |
+
if (child.props.onClick) child.props.onClick(event);
|
5324 |
+
},
|
5325 |
+
ref: isFocused ? 'focusedMenuItem' : null
|
5326 |
+
});
|
5327 |
+
}
|
5328 |
+
return _react2.default.cloneElement(child, extraProps);
|
5329 |
+
}
|
5330 |
+
}, {
|
5331 |
+
key: 'decrementKeyboardFocusIndex',
|
5332 |
+
value: function decrementKeyboardFocusIndex(event) {
|
5333 |
+
var index = this.state.focusIndex;
|
5334 |
+
|
5335 |
+
index--;
|
5336 |
+
if (index < 0) index = 0;
|
5337 |
+
|
5338 |
+
this.setFocusIndex(event, index, true);
|
5339 |
+
}
|
5340 |
+
}, {
|
5341 |
+
key: 'getMenuItemCount',
|
5342 |
+
value: function getMenuItemCount(filteredChildren) {
|
5343 |
+
var menuItemCount = 0;
|
5344 |
+
filteredChildren.forEach(function (child) {
|
5345 |
+
var childIsADivider = child.type && child.type.muiName === 'Divider';
|
5346 |
+
var childIsDisabled = child.props.disabled;
|
5347 |
+
if (!childIsADivider && !childIsDisabled) menuItemCount++;
|
5348 |
+
});
|
5349 |
+
return menuItemCount;
|
5350 |
+
}
|
5351 |
+
}, {
|
5352 |
+
key: 'getLastSelectedIndex',
|
5353 |
+
value: function getLastSelectedIndex(props, filteredChildren) {
|
5354 |
+
var _this3 = this;
|
5355 |
+
|
5356 |
+
var selectedIndex = -1;
|
5357 |
+
var menuItemIndex = 0;
|
5358 |
+
|
5359 |
+
filteredChildren.forEach(function (child) {
|
5360 |
+
var childIsADivider = child.type && child.type.muiName === 'Divider';
|
5361 |
+
|
5362 |
+
if (_this3.isChildSelected(child, props)) selectedIndex = menuItemIndex;
|
5363 |
+
if (!childIsADivider) menuItemIndex++;
|
5364 |
+
});
|
5365 |
+
|
5366 |
+
return selectedIndex;
|
5367 |
+
}
|
5368 |
+
}, {
|
5369 |
+
key: 'setFocusIndexStartsWith',
|
5370 |
+
value: function setFocusIndexStartsWith(event, keys, filteredChildren) {
|
5371 |
+
var foundIndex = -1;
|
5372 |
+
_react2.default.Children.forEach(filteredChildren, function (child, index) {
|
5373 |
+
if (foundIndex >= 0) {
|
5374 |
+
return;
|
5375 |
+
}
|
5376 |
+
var primaryText = child.props.primaryText;
|
5377 |
+
|
5378 |
+
if (typeof primaryText === 'string' && primaryText.substr(0, keys.length).toLowerCase() === keys.toLowerCase()) {
|
5379 |
+
foundIndex = index;
|
5380 |
+
}
|
5381 |
+
});
|
5382 |
+
if (foundIndex >= 0) {
|
5383 |
+
this.setFocusIndex(event, foundIndex, true);
|
5384 |
+
return true;
|
5385 |
+
}
|
5386 |
+
return false;
|
5387 |
+
}
|
5388 |
+
}, {
|
5389 |
+
key: 'handleMenuItemClick',
|
5390 |
+
value: function handleMenuItemClick(event, item, index) {
|
5391 |
+
var children = this.props.children;
|
5392 |
+
var multiple = this.props.multiple;
|
5393 |
+
var valueLink = this.getValueLink(this.props);
|
5394 |
+
var menuValue = valueLink.value;
|
5395 |
+
var itemValue = item.props.value;
|
5396 |
+
var focusIndex = _react2.default.isValidElement(children) ? 0 : children.indexOf(item);
|
5397 |
+
|
5398 |
+
this.setFocusIndex(event, focusIndex, false);
|
5399 |
+
|
5400 |
+
if (multiple) {
|
5401 |
+
menuValue = menuValue || [];
|
5402 |
+
|
5403 |
+
var itemIndex = menuValue.indexOf(itemValue);
|
5404 |
+
|
5405 |
+
var _menuValue = menuValue,
|
5406 |
+
_menuValue2 = (0, _toArray3.default)(_menuValue),
|
5407 |
+
newMenuValue = _menuValue2.slice(0);
|
5408 |
+
|
5409 |
+
if (itemIndex === -1) {
|
5410 |
+
newMenuValue.push(itemValue);
|
5411 |
+
} else {
|
5412 |
+
newMenuValue.splice(itemIndex, 1);
|
5413 |
+
}
|
5414 |
+
|
5415 |
+
valueLink.requestChange(event, newMenuValue);
|
5416 |
+
} else if (!multiple && itemValue !== menuValue) {
|
5417 |
+
valueLink.requestChange(event, itemValue);
|
5418 |
+
}
|
5419 |
+
|
5420 |
+
this.props.onItemClick(event, item, index);
|
5421 |
+
}
|
5422 |
+
}, {
|
5423 |
+
key: 'incrementKeyboardFocusIndex',
|
5424 |
+
value: function incrementKeyboardFocusIndex(event, filteredChildren) {
|
5425 |
+
var index = this.state.focusIndex;
|
5426 |
+
var maxIndex = this.getMenuItemCount(filteredChildren) - 1;
|
5427 |
+
|
5428 |
+
index++;
|
5429 |
+
if (index > maxIndex) index = maxIndex;
|
5430 |
+
|
5431 |
+
this.setFocusIndex(event, index, true);
|
5432 |
+
}
|
5433 |
+
}, {
|
5434 |
+
key: 'isChildSelected',
|
5435 |
+
value: function isChildSelected(child, props) {
|
5436 |
+
var menuValue = this.getValueLink(props).value;
|
5437 |
+
var childValue = child.props.value;
|
5438 |
+
|
5439 |
+
if (props.multiple) {
|
5440 |
+
return menuValue && menuValue.length && menuValue.indexOf(childValue) !== -1;
|
5441 |
+
} else {
|
5442 |
+
return child.props.hasOwnProperty('value') && menuValue === childValue;
|
5443 |
+
}
|
5444 |
+
}
|
5445 |
+
}, {
|
5446 |
+
key: 'setFocusIndex',
|
5447 |
+
value: function setFocusIndex(event, newIndex, isKeyboardFocused) {
|
5448 |
+
if (this.props.onMenuItemFocusChange) {
|
5449 |
+
// Do this even if `newIndex === this.state.focusIndex` to allow users
|
5450 |
+
// to detect up-arrow on the first MenuItem or down-arrow on the last.
|
5451 |
+
this.props.onMenuItemFocusChange(event, newIndex);
|
5452 |
+
}
|
5453 |
+
this.setState({
|
5454 |
+
focusIndex: newIndex,
|
5455 |
+
isKeyboardFocused: isKeyboardFocused
|
5456 |
+
});
|
5457 |
+
}
|
5458 |
+
}, {
|
5459 |
+
key: 'setScollPosition',
|
5460 |
+
value: function setScollPosition() {
|
5461 |
+
var desktop = this.props.desktop;
|
5462 |
+
var focusedMenuItem = this.refs.focusedMenuItem;
|
5463 |
+
var menuItemHeight = desktop ? 32 : 48;
|
5464 |
+
|
5465 |
+
if (focusedMenuItem) {
|
5466 |
+
var selectedOffSet = _reactDom2.default.findDOMNode(focusedMenuItem).offsetTop;
|
5467 |
+
|
5468 |
+
// Make the focused item be the 2nd item in the list the user sees
|
5469 |
+
var scrollTop = selectedOffSet - menuItemHeight;
|
5470 |
+
if (scrollTop < menuItemHeight) scrollTop = 0;
|
5471 |
+
|
5472 |
+
_reactDom2.default.findDOMNode(this.refs.scrollContainer).scrollTop = scrollTop;
|
5473 |
+
}
|
5474 |
+
}
|
5475 |
+
}, {
|
5476 |
+
key: 'cancelScrollEvent',
|
5477 |
+
value: function cancelScrollEvent(event) {
|
5478 |
+
event.stopPropagation();
|
5479 |
+
event.preventDefault();
|
5480 |
+
return false;
|
5481 |
+
}
|
5482 |
+
}, {
|
5483 |
+
key: 'setWidth',
|
5484 |
+
value: function setWidth() {
|
5485 |
+
var el = _reactDom2.default.findDOMNode(this);
|
5486 |
+
var listEl = _reactDom2.default.findDOMNode(this.refs.list);
|
5487 |
+
var elWidth = el.offsetWidth;
|
5488 |
+
var keyWidth = this.state.keyWidth;
|
5489 |
+
var minWidth = keyWidth * 1.5;
|
5490 |
+
var keyIncrements = elWidth / keyWidth;
|
5491 |
+
var newWidth = void 0;
|
5492 |
+
|
5493 |
+
keyIncrements = keyIncrements <= 1.5 ? 1.5 : Math.ceil(keyIncrements);
|
5494 |
+
newWidth = keyIncrements * keyWidth;
|
5495 |
+
|
5496 |
+
if (newWidth < minWidth) newWidth = minWidth;
|
5497 |
+
|
5498 |
+
el.style.width = newWidth + 'px';
|
5499 |
+
listEl.style.width = newWidth + 'px';
|
5500 |
+
}
|
5501 |
+
}, {
|
5502 |
+
key: 'render',
|
5503 |
+
value: function render() {
|
5504 |
+
var _this4 = this;
|
5505 |
+
|
5506 |
+
var _props = this.props,
|
5507 |
+
autoWidth = _props.autoWidth,
|
5508 |
+
children = _props.children,
|
5509 |
+
desktop = _props.desktop,
|
5510 |
+
disableAutoFocus = _props.disableAutoFocus,
|
5511 |
+
initiallyKeyboardFocused = _props.initiallyKeyboardFocused,
|
5512 |
+
listStyle = _props.listStyle,
|
5513 |
+
maxHeight = _props.maxHeight,
|
5514 |
+
multiple = _props.multiple,
|
5515 |
+
onItemClick = _props.onItemClick,
|
5516 |
+
onEscKeyDown = _props.onEscKeyDown,
|
5517 |
+
onMenuItemFocusChange = _props.onMenuItemFocusChange,
|
5518 |
+
selectedMenuItemStyle = _props.selectedMenuItemStyle,
|
5519 |
+
menuItemStyle = _props.menuItemStyle,
|
5520 |
+
style = _props.style,
|
5521 |
+
value = _props.value,
|
5522 |
+
valueLink = _props.valueLink,
|
5523 |
+
width = _props.width,
|
5524 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['autoWidth', 'children', 'desktop', 'disableAutoFocus', 'initiallyKeyboardFocused', 'listStyle', 'maxHeight', 'multiple', 'onItemClick', 'onEscKeyDown', 'onMenuItemFocusChange', 'selectedMenuItemStyle', 'menuItemStyle', 'style', 'value', 'valueLink', 'width']);
|
5525 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
5526 |
+
|
5527 |
+
var styles = getStyles(this.props, this.context);
|
5528 |
+
|
5529 |
+
var mergedRootStyles = (0, _simpleAssign2.default)(styles.root, style);
|
5530 |
+
var mergedListStyles = (0, _simpleAssign2.default)(styles.list, listStyle);
|
5531 |
+
|
5532 |
+
var filteredChildren = this.getFilteredChildren(children);
|
5533 |
+
|
5534 |
+
var menuItemIndex = 0;
|
5535 |
+
var newChildren = _react2.default.Children.map(filteredChildren, function (child, index) {
|
5536 |
+
var childIsDisabled = child.props.disabled;
|
5537 |
+
var childName = child.type ? child.type.muiName : '';
|
5538 |
+
var newChild = child;
|
5539 |
+
|
5540 |
+
switch (childName) {
|
5541 |
+
case 'MenuItem':
|
5542 |
+
newChild = _this4.cloneMenuItem(child, menuItemIndex, styles, index);
|
5543 |
+
break;
|
5544 |
+
|
5545 |
+
case 'Divider':
|
5546 |
+
newChild = _react2.default.cloneElement(child, {
|
5547 |
+
style: (0, _simpleAssign2.default)({}, styles.divider, child.props.style)
|
5548 |
+
});
|
5549 |
+
break;
|
5550 |
+
}
|
5551 |
+
|
5552 |
+
if (childName === 'MenuItem' && !childIsDisabled) {
|
5553 |
+
menuItemIndex++;
|
5554 |
+
}
|
5555 |
+
|
5556 |
+
return newChild;
|
5557 |
+
});
|
5558 |
+
|
5559 |
+
return _react2.default.createElement(_ClickAwayListener2.default, { onClickAway: this.handleClickAway }, _react2.default.createElement('div', {
|
5560 |
+
onKeyDown: this.handleKeyDown,
|
5561 |
+
onWheel: this.handleOnWheel,
|
5562 |
+
style: prepareStyles(mergedRootStyles),
|
5563 |
+
ref: 'scrollContainer',
|
5564 |
+
role: 'presentation'
|
5565 |
+
}, _react2.default.createElement(_List2.default, (0, _extends3.default)({}, other, {
|
5566 |
+
ref: 'list',
|
5567 |
+
style: mergedListStyles,
|
5568 |
+
role: 'menu'
|
5569 |
+
}), newChildren)));
|
5570 |
+
}
|
5571 |
+
}]);
|
5572 |
+
return Menu;
|
5573 |
+
}(_react.Component);
|
5574 |
+
|
5575 |
+
Menu.defaultProps = {
|
5576 |
+
autoWidth: true,
|
5577 |
+
desktop: false,
|
5578 |
+
disableAutoFocus: false,
|
5579 |
+
initiallyKeyboardFocused: false,
|
5580 |
+
maxHeight: null,
|
5581 |
+
multiple: false,
|
5582 |
+
onChange: function onChange() {},
|
5583 |
+
onEscKeyDown: function onEscKeyDown() {},
|
5584 |
+
onItemClick: function onItemClick() {},
|
5585 |
+
onKeyDown: function onKeyDown() {}
|
5586 |
+
};
|
5587 |
+
Menu.contextTypes = {
|
5588 |
+
muiTheme: _propTypes2.default.object.isRequired
|
5589 |
+
};
|
5590 |
+
|
5591 |
+
var _initialiseProps = function _initialiseProps() {
|
5592 |
+
var _this5 = this;
|
5593 |
+
|
5594 |
+
this.handleClickAway = function (event) {
|
5595 |
+
if (event.defaultPrevented) {
|
5596 |
+
return;
|
5597 |
+
}
|
5598 |
+
|
5599 |
+
var focusIndex = _this5.state.focusIndex;
|
5600 |
+
|
5601 |
+
if (focusIndex < 0) {
|
5602 |
+
return;
|
5603 |
+
}
|
5604 |
+
|
5605 |
+
var filteredChildren = _this5.getFilteredChildren(_this5.props.children);
|
5606 |
+
var focusedItem = filteredChildren[focusIndex];
|
5607 |
+
if (!!focusedItem && focusedItem.props.menuItems && focusedItem.props.menuItems.length > 0) {
|
5608 |
+
return;
|
5609 |
+
}
|
5610 |
+
|
5611 |
+
_this5.setFocusIndex(event, -1, false);
|
5612 |
+
};
|
5613 |
+
|
5614 |
+
this.handleKeyDown = function (event) {
|
5615 |
+
var filteredChildren = _this5.getFilteredChildren(_this5.props.children);
|
5616 |
+
var key = (0, _keycode2.default)(event);
|
5617 |
+
switch (key) {
|
5618 |
+
case 'down':
|
5619 |
+
event.preventDefault();
|
5620 |
+
_this5.incrementKeyboardFocusIndex(event, filteredChildren);
|
5621 |
+
break;
|
5622 |
+
case 'esc':
|
5623 |
+
_this5.props.onEscKeyDown(event);
|
5624 |
+
break;
|
5625 |
+
case 'tab':
|
5626 |
+
event.preventDefault();
|
5627 |
+
if (event.shiftKey) {
|
5628 |
+
_this5.decrementKeyboardFocusIndex(event);
|
5629 |
+
} else {
|
5630 |
+
_this5.incrementKeyboardFocusIndex(event, filteredChildren);
|
5631 |
+
}
|
5632 |
+
break;
|
5633 |
+
case 'up':
|
5634 |
+
event.preventDefault();
|
5635 |
+
_this5.decrementKeyboardFocusIndex(event);
|
5636 |
+
break;
|
5637 |
+
default:
|
5638 |
+
if (key && key.length === 1) {
|
5639 |
+
var hotKeys = _this5.hotKeyHolder.append(key);
|
5640 |
+
if (_this5.setFocusIndexStartsWith(event, hotKeys, filteredChildren)) {
|
5641 |
+
event.preventDefault();
|
5642 |
+
}
|
5643 |
+
}
|
5644 |
+
}
|
5645 |
+
_this5.props.onKeyDown(event);
|
5646 |
+
};
|
5647 |
+
|
5648 |
+
this.handleOnWheel = function (event) {
|
5649 |
+
var scrollContainer = _this5.refs.scrollContainer;
|
5650 |
+
// Only scroll lock if the the Menu is scrollable.
|
5651 |
+
if (scrollContainer.scrollHeight <= scrollContainer.clientHeight) return;
|
5652 |
+
|
5653 |
+
var scrollTop = scrollContainer.scrollTop,
|
5654 |
+
scrollHeight = scrollContainer.scrollHeight,
|
5655 |
+
clientHeight = scrollContainer.clientHeight;
|
5656 |
+
|
5657 |
+
var wheelDelta = event.deltaY;
|
5658 |
+
var isDeltaPositive = wheelDelta > 0;
|
5659 |
+
|
5660 |
+
if (isDeltaPositive && wheelDelta > scrollHeight - clientHeight - scrollTop) {
|
5661 |
+
scrollContainer.scrollTop = scrollHeight;
|
5662 |
+
return _this5.cancelScrollEvent(event);
|
5663 |
+
} else if (!isDeltaPositive && -wheelDelta > scrollTop) {
|
5664 |
+
scrollContainer.scrollTop = 0;
|
5665 |
+
return _this5.cancelScrollEvent(event);
|
5666 |
+
}
|
5667 |
+
};
|
5668 |
+
};
|
5669 |
+
|
5670 |
+
Menu.propTypes = process.env.NODE_ENV !== "production" ? {
|
5671 |
+
/**
|
5672 |
+
* If true, the width of the menu will be set automatically
|
5673 |
+
* according to the widths of its children,
|
5674 |
+
* using proper keyline increments (64px for desktop,
|
5675 |
+
* 56px otherwise).
|
5676 |
+
*/
|
5677 |
+
autoWidth: _propTypes2.default.bool,
|
5678 |
+
/**
|
5679 |
+
* The content of the menu. This is usually used to pass `MenuItem`
|
5680 |
+
* elements.
|
5681 |
+
*/
|
5682 |
+
children: _propTypes2.default.node,
|
5683 |
+
/**
|
5684 |
+
* If true, the menu item will render with compact desktop styles.
|
5685 |
+
*/
|
5686 |
+
desktop: _propTypes2.default.bool,
|
5687 |
+
/**
|
5688 |
+
* If true, the menu will not be auto-focused.
|
5689 |
+
*/
|
5690 |
+
disableAutoFocus: _propTypes2.default.bool,
|
5691 |
+
/**
|
5692 |
+
* If true, the menu will be keyboard-focused initially.
|
5693 |
+
*/
|
5694 |
+
initiallyKeyboardFocused: _propTypes2.default.bool,
|
5695 |
+
/**
|
5696 |
+
* Override the inline-styles of the underlying `List` element.
|
5697 |
+
*/
|
5698 |
+
listStyle: _propTypes2.default.object,
|
5699 |
+
/**
|
5700 |
+
* The maximum height of the menu in pixels. If specified,
|
5701 |
+
* the menu will be scrollable if it is taller than the provided
|
5702 |
+
* height.
|
5703 |
+
*/
|
5704 |
+
maxHeight: _propTypes2.default.number,
|
5705 |
+
/**
|
5706 |
+
* Override the inline-styles of menu items.
|
5707 |
+
*/
|
5708 |
+
menuItemStyle: _propTypes2.default.object,
|
5709 |
+
/**
|
5710 |
+
* If true, `value` must be an array and the menu will support
|
5711 |
+
* multiple selections.
|
5712 |
+
*/
|
5713 |
+
multiple: _propTypes2.default.bool,
|
5714 |
+
/**
|
5715 |
+
* Callback function fired when a menu item with `value` not
|
5716 |
+
* equal to the current `value` of the menu is clicked.
|
5717 |
+
*
|
5718 |
+
* @param {object} event Click event targeting the menu item.
|
5719 |
+
* @param {any} value If `multiple` is true, the menu's `value`
|
5720 |
+
* array with either the menu item's `value` added (if
|
5721 |
+
* it wasn't already selected) or omitted (if it was already selected).
|
5722 |
+
* Otherwise, the `value` of the menu item.
|
5723 |
+
*/
|
5724 |
+
onChange: _propTypes2.default.func,
|
5725 |
+
/**
|
5726 |
+
* Callback function fired when the menu is focused and the *Esc* key
|
5727 |
+
* is pressed.
|
5728 |
+
*
|
5729 |
+
* @param {object} event `keydown` event targeting the menu.
|
5730 |
+
*/
|
5731 |
+
onEscKeyDown: _propTypes2.default.func,
|
5732 |
+
/**
|
5733 |
+
* Callback function fired when a menu item is clicked.
|
5734 |
+
*
|
5735 |
+
* @param {object} event Click event targeting the menu item.
|
5736 |
+
* @param {object} menuItem The menu item.
|
5737 |
+
* @param {number} index The index of the menu item.
|
5738 |
+
*/
|
5739 |
+
onItemClick: _propTypes2.default.func,
|
5740 |
+
/** @ignore */
|
5741 |
+
onKeyDown: _propTypes2.default.func,
|
5742 |
+
/**
|
5743 |
+
* Callback function fired when the focus on a `MenuItem` is changed.
|
5744 |
+
* There will be some "duplicate" changes reported if two different
|
5745 |
+
* focusing event happen, for example if a `MenuItem` is focused via
|
5746 |
+
* the keyboard and then it is clicked on.
|
5747 |
+
*
|
5748 |
+
* @param {object} event The event that triggered the focus change.
|
5749 |
+
* The event can be null since the focus can be changed for non-event
|
5750 |
+
* reasons such as prop changes.
|
5751 |
+
* @param {number} newFocusIndex The index of the newly focused
|
5752 |
+
* `MenuItem` or `-1` if focus was lost.
|
5753 |
+
*/
|
5754 |
+
onMenuItemFocusChange: _propTypes2.default.func,
|
5755 |
+
/**
|
5756 |
+
* Override the inline-styles of selected menu items.
|
5757 |
+
*/
|
5758 |
+
selectedMenuItemStyle: _propTypes2.default.object,
|
5759 |
+
/**
|
5760 |
+
* Override the inline-styles of the root element.
|
5761 |
+
*/
|
5762 |
+
style: _propTypes2.default.object,
|
5763 |
+
/**
|
5764 |
+
* If `multiple` is true, an array of the `value`s of the selected
|
5765 |
+
* menu items. Otherwise, the `value` of the selected menu item.
|
5766 |
+
* If provided, the menu will be a controlled component.
|
5767 |
+
* This component also supports valueLink.
|
5768 |
+
*/
|
5769 |
+
value: _propTypes2.default.any,
|
5770 |
+
/**
|
5771 |
+
* ValueLink for the menu's `value`.
|
5772 |
+
*/
|
5773 |
+
valueLink: _propTypes2.default.object,
|
5774 |
+
/**
|
5775 |
+
* The width of the menu. If not specified, the menu's width
|
5776 |
+
* will be set according to the widths of its children, using
|
5777 |
+
* proper keyline increments (64px for desktop, 56px otherwise).
|
5778 |
+
*/
|
5779 |
+
width: _propTypes4.default.stringOrNumber
|
5780 |
+
} : {};
|
5781 |
+
exports.default = Menu;
|
5782 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
5783 |
+
|
5784 |
+
/***/ }),
|
5785 |
+
/* 78 */
|
5786 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5787 |
+
|
5788 |
+
"use strict";
|
5789 |
+
|
5790 |
+
|
5791 |
+
Object.defineProperty(exports, "__esModule", {
|
5792 |
+
value: true
|
5793 |
+
});
|
5794 |
+
exports.default = undefined;
|
5795 |
+
|
5796 |
+
var _FlatButton = __webpack_require__(384);
|
5797 |
+
|
5798 |
+
var _FlatButton2 = _interopRequireDefault(_FlatButton);
|
5799 |
+
|
5800 |
+
function _interopRequireDefault(obj) {
|
5801 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
5802 |
+
}
|
5803 |
+
|
5804 |
+
exports.default = _FlatButton2.default;
|
5805 |
+
|
5806 |
+
/***/ }),
|
5807 |
+
/* 79 */
|
5808 |
+
/***/ (function(module, exports) {
|
5809 |
+
|
5810 |
+
module.exports = function (module) {
|
5811 |
+
if (!module.webpackPolyfill) {
|
5812 |
+
module.deprecate = function () {};
|
5813 |
+
module.paths = [];
|
5814 |
+
// module.parent = undefined by default
|
5815 |
+
if (!module.children) module.children = [];
|
5816 |
+
Object.defineProperty(module, "loaded", {
|
5817 |
+
enumerable: true,
|
5818 |
+
get: function () {
|
5819 |
+
return module.l;
|
5820 |
+
}
|
5821 |
+
});
|
5822 |
+
Object.defineProperty(module, "id", {
|
5823 |
+
enumerable: true,
|
5824 |
+
get: function () {
|
5825 |
+
return module.i;
|
5826 |
+
}
|
5827 |
+
});
|
5828 |
+
module.webpackPolyfill = 1;
|
5829 |
+
}
|
5830 |
+
return module;
|
5831 |
+
};
|
5832 |
+
|
5833 |
+
/***/ }),
|
5834 |
+
/* 80 */
|
5835 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5836 |
+
|
5837 |
+
"use strict";
|
5838 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
5839 |
+
|
5840 |
+
Object.defineProperty(exports, "__esModule", {
|
5841 |
+
value: true
|
5842 |
+
});
|
5843 |
+
|
5844 |
+
var _extends2 = __webpack_require__(9);
|
5845 |
+
|
5846 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
5847 |
+
|
5848 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
5849 |
+
|
5850 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
5851 |
+
|
5852 |
+
var _getPrototypeOf = __webpack_require__(5);
|
5853 |
+
|
5854 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
5855 |
+
|
5856 |
+
var _classCallCheck2 = __webpack_require__(3);
|
5857 |
+
|
5858 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
5859 |
+
|
5860 |
+
var _createClass2 = __webpack_require__(4);
|
5861 |
+
|
5862 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
5863 |
+
|
5864 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
5865 |
+
|
5866 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
5867 |
+
|
5868 |
+
var _inherits2 = __webpack_require__(7);
|
5869 |
+
|
5870 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
5871 |
+
|
5872 |
+
var _simpleAssign = __webpack_require__(8);
|
5873 |
+
|
5874 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
5875 |
+
|
5876 |
+
var _react = __webpack_require__(0);
|
5877 |
+
|
5878 |
+
var _react2 = _interopRequireDefault(_react);
|
5879 |
+
|
5880 |
+
var _propTypes = __webpack_require__(2);
|
5881 |
+
|
5882 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
5883 |
+
|
5884 |
+
function _interopRequireDefault(obj) {
|
5885 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
5886 |
+
}
|
5887 |
+
|
5888 |
+
function getStyles(props, context) {
|
5889 |
+
var tableRowColumn = context.muiTheme.tableRowColumn;
|
5890 |
+
|
5891 |
+
var styles = {
|
5892 |
+
root: {
|
5893 |
+
paddingLeft: tableRowColumn.spacing,
|
5894 |
+
paddingRight: tableRowColumn.spacing,
|
5895 |
+
height: tableRowColumn.height,
|
5896 |
+
textAlign: 'left',
|
5897 |
+
fontSize: 13,
|
5898 |
+
overflow: 'hidden',
|
5899 |
+
whiteSpace: 'nowrap',
|
5900 |
+
textOverflow: 'ellipsis'
|
5901 |
+
}
|
5902 |
+
};
|
5903 |
+
|
5904 |
+
if (_react2.default.Children.count(props.children) === 1 && !isNaN(props.children)) {
|
5905 |
+
styles.textAlign = 'right';
|
5906 |
+
}
|
5907 |
+
|
5908 |
+
return styles;
|
5909 |
+
}
|
5910 |
+
|
5911 |
+
var TableRowColumn = function (_Component) {
|
5912 |
+
(0, _inherits3.default)(TableRowColumn, _Component);
|
5913 |
+
|
5914 |
+
function TableRowColumn() {
|
5915 |
+
var _ref;
|
5916 |
+
|
5917 |
+
var _temp, _this, _ret;
|
5918 |
+
|
5919 |
+
(0, _classCallCheck3.default)(this, TableRowColumn);
|
5920 |
+
|
5921 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
5922 |
+
args[_key] = arguments[_key];
|
5923 |
+
}
|
5924 |
+
|
5925 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = TableRowColumn.__proto__ || (0, _getPrototypeOf2.default)(TableRowColumn)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
|
5926 |
+
hovered: false
|
5927 |
+
}, _this.onClick = function (event) {
|
5928 |
+
if (_this.props.onClick) {
|
5929 |
+
_this.props.onClick(event, _this.props.columnNumber);
|
5930 |
+
}
|
5931 |
+
}, _this.onMouseEnter = function (event) {
|
5932 |
+
if (_this.props.hoverable) {
|
5933 |
+
_this.setState({ hovered: true });
|
5934 |
+
if (_this.props.onHover) {
|
5935 |
+
_this.props.onHover(event, _this.props.columnNumber);
|
5936 |
+
}
|
5937 |
+
}
|
5938 |
+
}, _this.onMouseLeave = function (event) {
|
5939 |
+
if (_this.props.hoverable) {
|
5940 |
+
_this.setState({ hovered: false });
|
5941 |
+
if (_this.props.onHoverExit) {
|
5942 |
+
_this.props.onHoverExit(event, _this.props.columnNumber);
|
5943 |
+
}
|
5944 |
+
}
|
5945 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
5946 |
+
}
|
5947 |
+
|
5948 |
+
(0, _createClass3.default)(TableRowColumn, [{
|
5949 |
+
key: 'render',
|
5950 |
+
value: function render() {
|
5951 |
+
var _props = this.props,
|
5952 |
+
children = _props.children,
|
5953 |
+
className = _props.className,
|
5954 |
+
columnNumber = _props.columnNumber,
|
5955 |
+
hoverable = _props.hoverable,
|
5956 |
+
onClick = _props.onClick,
|
5957 |
+
onHover = _props.onHover,
|
5958 |
+
onHoverExit = _props.onHoverExit,
|
5959 |
+
style = _props.style,
|
5960 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['children', 'className', 'columnNumber', 'hoverable', 'onClick', 'onHover', 'onHoverExit', 'style']);
|
5961 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
5962 |
+
|
5963 |
+
var styles = getStyles(this.props, this.context);
|
5964 |
+
|
5965 |
+
var handlers = {
|
5966 |
+
onClick: this.onClick,
|
5967 |
+
onMouseEnter: this.onMouseEnter,
|
5968 |
+
onMouseLeave: this.onMouseLeave
|
5969 |
+
};
|
5970 |
+
|
5971 |
+
return _react2.default.createElement('td', (0, _extends3.default)({
|
5972 |
+
className: className,
|
5973 |
+
style: prepareStyles((0, _simpleAssign2.default)(styles.root, style))
|
5974 |
+
}, handlers, other), children);
|
5975 |
+
}
|
5976 |
+
}]);
|
5977 |
+
return TableRowColumn;
|
5978 |
+
}(_react.Component);
|
5979 |
+
|
5980 |
+
TableRowColumn.defaultProps = {
|
5981 |
+
hoverable: false
|
5982 |
+
};
|
5983 |
+
TableRowColumn.contextTypes = {
|
5984 |
+
muiTheme: _propTypes2.default.object.isRequired
|
5985 |
+
};
|
5986 |
+
TableRowColumn.propTypes = process.env.NODE_ENV !== "production" ? {
|
5987 |
+
children: _propTypes2.default.node,
|
5988 |
+
/**
|
5989 |
+
* The css class name of the root element.
|
5990 |
+
*/
|
5991 |
+
className: _propTypes2.default.string,
|
5992 |
+
/**
|
5993 |
+
* @ignore
|
5994 |
+
* Number to identify the header row. This property
|
5995 |
+
* is automatically populated when used with TableHeader.
|
5996 |
+
*/
|
5997 |
+
columnNumber: _propTypes2.default.number,
|
5998 |
+
/**
|
5999 |
+
* @ignore
|
6000 |
+
* If true, this column responds to hover events.
|
6001 |
+
*/
|
6002 |
+
hoverable: _propTypes2.default.bool,
|
6003 |
+
/** @ignore */
|
6004 |
+
onClick: _propTypes2.default.func,
|
6005 |
+
/** @ignore */
|
6006 |
+
onHover: _propTypes2.default.func,
|
6007 |
+
/**
|
6008 |
+
* @ignore
|
6009 |
+
* Callback function for hover exit event.
|
6010 |
+
*/
|
6011 |
+
onHoverExit: _propTypes2.default.func,
|
6012 |
+
/**
|
6013 |
+
* Override the inline-styles of the root element.
|
6014 |
+
*/
|
6015 |
+
style: _propTypes2.default.object
|
6016 |
+
} : {};
|
6017 |
+
exports.default = TableRowColumn;
|
6018 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
6019 |
+
|
6020 |
+
/***/ }),
|
6021 |
+
/* 81 */
|
6022 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6023 |
+
|
6024 |
+
var isFunction = __webpack_require__(218),
|
6025 |
+
isLength = __webpack_require__(131);
|
6026 |
+
|
6027 |
+
/**
|
6028 |
+
* Checks if `value` is array-like. A value is considered array-like if it's
|
6029 |
+
* not a function and has a `value.length` that's an integer greater than or
|
6030 |
+
* equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
|
6031 |
+
*
|
6032 |
+
* @static
|
6033 |
+
* @memberOf _
|
6034 |
+
* @since 4.0.0
|
6035 |
+
* @category Lang
|
6036 |
+
* @param {*} value The value to check.
|
6037 |
+
* @returns {boolean} Returns `true` if `value` is array-like, else `false`.
|
6038 |
+
* @example
|
6039 |
+
*
|
6040 |
+
* _.isArrayLike([1, 2, 3]);
|
6041 |
+
* // => true
|
6042 |
+
*
|
6043 |
+
* _.isArrayLike(document.body.children);
|
6044 |
+
* // => true
|
6045 |
+
*
|
6046 |
+
* _.isArrayLike('abc');
|
6047 |
+
* // => true
|
6048 |
+
*
|
6049 |
+
* _.isArrayLike(_.noop);
|
6050 |
+
* // => false
|
6051 |
+
*/
|
6052 |
+
function isArrayLike(value) {
|
6053 |
+
return value != null && isLength(value.length) && !isFunction(value);
|
6054 |
+
}
|
6055 |
+
|
6056 |
+
module.exports = isArrayLike;
|
6057 |
+
|
6058 |
+
/***/ }),
|
6059 |
+
/* 82 */
|
6060 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6061 |
+
|
6062 |
+
var listCacheClear = __webpack_require__(509),
|
6063 |
+
listCacheDelete = __webpack_require__(510),
|
6064 |
+
listCacheGet = __webpack_require__(511),
|
6065 |
+
listCacheHas = __webpack_require__(512),
|
6066 |
+
listCacheSet = __webpack_require__(513);
|
6067 |
+
|
6068 |
+
/**
|
6069 |
+
* Creates an list cache object.
|
6070 |
+
*
|
6071 |
+
* @private
|
6072 |
+
* @constructor
|
6073 |
+
* @param {Array} [entries] The key-value pairs to cache.
|
6074 |
+
*/
|
6075 |
+
function ListCache(entries) {
|
6076 |
+
var index = -1,
|
6077 |
+
length = entries == null ? 0 : entries.length;
|
6078 |
+
|
6079 |
+
this.clear();
|
6080 |
+
while (++index < length) {
|
6081 |
+
var entry = entries[index];
|
6082 |
+
this.set(entry[0], entry[1]);
|
6083 |
+
}
|
6084 |
+
}
|
6085 |
+
|
6086 |
+
// Add methods to `ListCache`.
|
6087 |
+
ListCache.prototype.clear = listCacheClear;
|
6088 |
+
ListCache.prototype['delete'] = listCacheDelete;
|
6089 |
+
ListCache.prototype.get = listCacheGet;
|
6090 |
+
ListCache.prototype.has = listCacheHas;
|
6091 |
+
ListCache.prototype.set = listCacheSet;
|
6092 |
+
|
6093 |
+
module.exports = ListCache;
|
6094 |
+
|
6095 |
+
/***/ }),
|
6096 |
+
/* 83 */
|
6097 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6098 |
+
|
6099 |
+
var eq = __webpack_require__(137);
|
6100 |
+
|
6101 |
+
/**
|
6102 |
+
* Gets the index at which the `key` is found in `array` of key-value pairs.
|
6103 |
+
*
|
6104 |
+
* @private
|
6105 |
+
* @param {Array} array The array to inspect.
|
6106 |
+
* @param {*} key The key to search for.
|
6107 |
+
* @returns {number} Returns the index of the matched value, else `-1`.
|
6108 |
+
*/
|
6109 |
+
function assocIndexOf(array, key) {
|
6110 |
+
var length = array.length;
|
6111 |
+
while (length--) {
|
6112 |
+
if (eq(array[length][0], key)) {
|
6113 |
+
return length;
|
6114 |
+
}
|
6115 |
+
}
|
6116 |
+
return -1;
|
6117 |
+
}
|
6118 |
+
|
6119 |
+
module.exports = assocIndexOf;
|
6120 |
+
|
6121 |
+
/***/ }),
|
6122 |
+
/* 84 */
|
6123 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6124 |
+
|
6125 |
+
var getNative = __webpack_require__(46);
|
6126 |
+
|
6127 |
+
/* Built-in method references that are verified to be native. */
|
6128 |
+
var nativeCreate = getNative(Object, 'create');
|
6129 |
+
|
6130 |
+
module.exports = nativeCreate;
|
6131 |
+
|
6132 |
+
/***/ }),
|
6133 |
+
/* 85 */
|
6134 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6135 |
+
|
6136 |
+
var isKeyable = __webpack_require__(531);
|
6137 |
+
|
6138 |
+
/**
|
6139 |
+
* Gets the data for `map`.
|
6140 |
+
*
|
6141 |
+
* @private
|
6142 |
+
* @param {Object} map The map to query.
|
6143 |
+
* @param {string} key The reference key.
|
6144 |
+
* @returns {*} Returns the map data.
|
6145 |
+
*/
|
6146 |
+
function getMapData(map, key) {
|
6147 |
+
var data = map.__data__;
|
6148 |
+
return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;
|
6149 |
+
}
|
6150 |
+
|
6151 |
+
module.exports = getMapData;
|
6152 |
+
|
6153 |
+
/***/ }),
|
6154 |
+
/* 86 */
|
6155 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6156 |
+
|
6157 |
+
var DataView = __webpack_require__(546),
|
6158 |
+
Map = __webpack_require__(138),
|
6159 |
+
Promise = __webpack_require__(547),
|
6160 |
+
Set = __webpack_require__(548),
|
6161 |
+
WeakMap = __webpack_require__(549),
|
6162 |
+
baseGetTag = __webpack_require__(45),
|
6163 |
+
toSource = __webpack_require__(223);
|
6164 |
+
|
6165 |
+
/** `Object#toString` result references. */
|
6166 |
+
var mapTag = '[object Map]',
|
6167 |
+
objectTag = '[object Object]',
|
6168 |
+
promiseTag = '[object Promise]',
|
6169 |
+
setTag = '[object Set]',
|
6170 |
+
weakMapTag = '[object WeakMap]';
|
6171 |
+
|
6172 |
+
var dataViewTag = '[object DataView]';
|
6173 |
+
|
6174 |
+
/** Used to detect maps, sets, and weakmaps. */
|
6175 |
+
var dataViewCtorString = toSource(DataView),
|
6176 |
+
mapCtorString = toSource(Map),
|
6177 |
+
promiseCtorString = toSource(Promise),
|
6178 |
+
setCtorString = toSource(Set),
|
6179 |
+
weakMapCtorString = toSource(WeakMap);
|
6180 |
+
|
6181 |
+
/**
|
6182 |
+
* Gets the `toStringTag` of `value`.
|
6183 |
+
*
|
6184 |
+
* @private
|
6185 |
+
* @param {*} value The value to query.
|
6186 |
+
* @returns {string} Returns the `toStringTag`.
|
6187 |
+
*/
|
6188 |
+
var getTag = baseGetTag;
|
6189 |
+
|
6190 |
+
// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
|
6191 |
+
if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map()) != mapTag || Promise && getTag(Promise.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap && getTag(new WeakMap()) != weakMapTag) {
|
6192 |
+
getTag = function (value) {
|
6193 |
+
var result = baseGetTag(value),
|
6194 |
+
Ctor = result == objectTag ? value.constructor : undefined,
|
6195 |
+
ctorString = Ctor ? toSource(Ctor) : '';
|
6196 |
+
|
6197 |
+
if (ctorString) {
|
6198 |
+
switch (ctorString) {
|
6199 |
+
case dataViewCtorString:
|
6200 |
+
return dataViewTag;
|
6201 |
+
case mapCtorString:
|
6202 |
+
return mapTag;
|
6203 |
+
case promiseCtorString:
|
6204 |
+
return promiseTag;
|
6205 |
+
case setCtorString:
|
6206 |
+
return setTag;
|
6207 |
+
case weakMapCtorString:
|
6208 |
+
return weakMapTag;
|
6209 |
+
}
|
6210 |
+
}
|
6211 |
+
return result;
|
6212 |
+
};
|
6213 |
+
}
|
6214 |
+
|
6215 |
+
module.exports = getTag;
|
6216 |
+
|
6217 |
+
/***/ }),
|
6218 |
+
/* 87 */
|
6219 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6220 |
+
|
6221 |
+
var baseGetTag = __webpack_require__(45),
|
6222 |
+
isObjectLike = __webpack_require__(32);
|
6223 |
+
|
6224 |
+
/** `Object#toString` result references. */
|
6225 |
+
var symbolTag = '[object Symbol]';
|
6226 |
+
|
6227 |
+
/**
|
6228 |
+
* Checks if `value` is classified as a `Symbol` primitive or object.
|
6229 |
+
*
|
6230 |
+
* @static
|
6231 |
+
* @memberOf _
|
6232 |
+
* @since 4.0.0
|
6233 |
+
* @category Lang
|
6234 |
+
* @param {*} value The value to check.
|
6235 |
+
* @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
|
6236 |
+
* @example
|
6237 |
+
*
|
6238 |
+
* _.isSymbol(Symbol.iterator);
|
6239 |
+
* // => true
|
6240 |
+
*
|
6241 |
+
* _.isSymbol('abc');
|
6242 |
+
* // => false
|
6243 |
+
*/
|
6244 |
+
function isSymbol(value) {
|
6245 |
+
return typeof value == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag;
|
6246 |
+
}
|
6247 |
+
|
6248 |
+
module.exports = isSymbol;
|
6249 |
+
|
6250 |
+
/***/ }),
|
6251 |
+
/* 88 */
|
6252 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6253 |
+
|
6254 |
+
var isSymbol = __webpack_require__(87);
|
6255 |
+
|
6256 |
+
/** Used as references for various `Number` constants. */
|
6257 |
+
var INFINITY = 1 / 0;
|
6258 |
+
|
6259 |
+
/**
|
6260 |
+
* Converts `value` to a string key if it's not a string or symbol.
|
6261 |
+
*
|
6262 |
+
* @private
|
6263 |
+
* @param {*} value The value to inspect.
|
6264 |
+
* @returns {string|symbol} Returns the key.
|
6265 |
+
*/
|
6266 |
+
function toKey(value) {
|
6267 |
+
if (typeof value == 'string' || isSymbol(value)) {
|
6268 |
+
return value;
|
6269 |
+
}
|
6270 |
+
var result = value + '';
|
6271 |
+
return result == '0' && 1 / value == -INFINITY ? '-0' : result;
|
6272 |
+
}
|
6273 |
+
|
6274 |
+
module.exports = toKey;
|
6275 |
+
|
6276 |
+
/***/ }),
|
6277 |
+
/* 89 */
|
6278 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6279 |
+
|
6280 |
+
var assignValue = __webpack_require__(237),
|
6281 |
+
baseAssignValue = __webpack_require__(238);
|
6282 |
+
|
6283 |
+
/**
|
6284 |
+
* Copies properties of `source` to `object`.
|
6285 |
+
*
|
6286 |
+
* @private
|
6287 |
+
* @param {Object} source The object to copy properties from.
|
6288 |
+
* @param {Array} props The property identifiers to copy.
|
6289 |
+
* @param {Object} [object={}] The object to copy properties to.
|
6290 |
+
* @param {Function} [customizer] The function to customize copied values.
|
6291 |
+
* @returns {Object} Returns `object`.
|
6292 |
+
*/
|
6293 |
+
function copyObject(source, props, object, customizer) {
|
6294 |
+
var isNew = !object;
|
6295 |
+
object || (object = {});
|
6296 |
+
|
6297 |
+
var index = -1,
|
6298 |
+
length = props.length;
|
6299 |
+
|
6300 |
+
while (++index < length) {
|
6301 |
+
var key = props[index];
|
6302 |
+
|
6303 |
+
var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined;
|
6304 |
+
|
6305 |
+
if (newValue === undefined) {
|
6306 |
+
newValue = source[key];
|
6307 |
+
}
|
6308 |
+
if (isNew) {
|
6309 |
+
baseAssignValue(object, key, newValue);
|
6310 |
+
} else {
|
6311 |
+
assignValue(object, key, newValue);
|
6312 |
+
}
|
6313 |
+
}
|
6314 |
+
return object;
|
6315 |
+
}
|
6316 |
+
|
6317 |
+
module.exports = copyObject;
|
6318 |
+
|
6319 |
+
/***/ }),
|
6320 |
+
/* 90 */
|
6321 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6322 |
+
|
6323 |
+
"use strict";
|
6324 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
6325 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
6326 |
+
*
|
6327 |
+
* This source code is licensed under the MIT license found in the
|
6328 |
+
* LICENSE file in the root directory of this source tree.
|
6329 |
+
*
|
6330 |
+
*
|
6331 |
+
*/
|
6332 |
+
|
6333 |
+
|
6334 |
+
|
6335 |
+
var canDefineProperty = false;
|
6336 |
+
if (process.env.NODE_ENV !== 'production') {
|
6337 |
+
try {
|
6338 |
+
// $FlowFixMe https://github.com/facebook/flow/issues/285
|
6339 |
+
Object.defineProperty({}, 'x', { get: function get() {} });
|
6340 |
+
canDefineProperty = true;
|
6341 |
+
} catch (x) {
|
6342 |
+
// IE will fail on defineProperty
|
6343 |
+
}
|
6344 |
+
}
|
6345 |
+
|
6346 |
+
module.exports = canDefineProperty;
|
6347 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
6348 |
+
|
6349 |
+
/***/ }),
|
6350 |
+
/* 91 */
|
6351 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6352 |
+
|
6353 |
+
"use strict";
|
6354 |
+
/**
|
6355 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
6356 |
+
*
|
6357 |
+
* This source code is licensed under the MIT license found in the
|
6358 |
+
* LICENSE file in the root directory of this source tree.
|
6359 |
+
*
|
6360 |
+
*
|
6361 |
+
*/
|
6362 |
+
|
6363 |
+
|
6364 |
+
|
6365 |
+
/**
|
6366 |
+
* Keeps track of the current owner.
|
6367 |
+
*
|
6368 |
+
* The current owner is the component who should own any components that are
|
6369 |
+
* currently being constructed.
|
6370 |
+
*/
|
6371 |
+
|
6372 |
+
var ReactCurrentOwner = {
|
6373 |
+
/**
|
6374 |
+
* @internal
|
6375 |
+
* @type {ReactComponent}
|
6376 |
+
*/
|
6377 |
+
current: null
|
6378 |
+
};
|
6379 |
+
|
6380 |
+
module.exports = ReactCurrentOwner;
|
6381 |
+
|
6382 |
+
/***/ }),
|
6383 |
+
/* 92 */
|
6384 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6385 |
+
|
6386 |
+
// optional / simple context binding
|
6387 |
+
var aFunction = __webpack_require__(279);
|
6388 |
+
module.exports = function (fn, that, length) {
|
6389 |
+
aFunction(fn);
|
6390 |
+
if (that === undefined) return fn;
|
6391 |
+
switch (length) {
|
6392 |
+
case 1:
|
6393 |
+
return function (a) {
|
6394 |
+
return fn.call(that, a);
|
6395 |
+
};
|
6396 |
+
case 2:
|
6397 |
+
return function (a, b) {
|
6398 |
+
return fn.call(that, a, b);
|
6399 |
+
};
|
6400 |
+
case 3:
|
6401 |
+
return function (a, b, c) {
|
6402 |
+
return fn.call(that, a, b, c);
|
6403 |
+
};
|
6404 |
+
}
|
6405 |
+
return function () /* ...args */{
|
6406 |
+
return fn.apply(that, arguments);
|
6407 |
+
};
|
6408 |
+
};
|
6409 |
+
|
6410 |
+
/***/ }),
|
6411 |
+
/* 93 */
|
6412 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6413 |
+
|
6414 |
+
// 7.1.1 ToPrimitive(input [, PreferredType])
|
6415 |
+
var isObject = __webpack_require__(49);
|
6416 |
+
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
6417 |
+
// and the second argument - flag - preferred type is a string
|
6418 |
+
module.exports = function (it, S) {
|
6419 |
+
if (!isObject(it)) return it;
|
6420 |
+
var fn, val;
|
6421 |
+
if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
6422 |
+
if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
|
6423 |
+
if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
6424 |
+
throw TypeError("Can't convert object to primitive value");
|
6425 |
+
};
|
6426 |
+
|
6427 |
+
/***/ }),
|
6428 |
+
/* 94 */
|
6429 |
+
/***/ (function(module, exports) {
|
6430 |
+
|
6431 |
+
var toString = {}.toString;
|
6432 |
+
|
6433 |
+
module.exports = function (it) {
|
6434 |
+
return toString.call(it).slice(8, -1);
|
6435 |
+
};
|
6436 |
+
|
6437 |
+
/***/ }),
|
6438 |
+
/* 95 */
|
6439 |
+
/***/ (function(module, exports) {
|
6440 |
+
|
6441 |
+
// 7.2.1 RequireObjectCoercible(argument)
|
6442 |
+
module.exports = function (it) {
|
6443 |
+
if (it == undefined) throw TypeError("Can't call method on " + it);
|
6444 |
+
return it;
|
6445 |
+
};
|
6446 |
+
|
6447 |
+
/***/ }),
|
6448 |
+
/* 96 */
|
6449 |
+
/***/ (function(module, exports) {
|
6450 |
+
|
6451 |
+
// 7.1.4 ToInteger
|
6452 |
+
var ceil = Math.ceil;
|
6453 |
+
var floor = Math.floor;
|
6454 |
+
module.exports = function (it) {
|
6455 |
+
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
|
6456 |
+
};
|
6457 |
+
|
6458 |
+
/***/ }),
|
6459 |
+
/* 97 */
|
6460 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6461 |
+
|
6462 |
+
var shared = __webpack_require__(98)('keys');
|
6463 |
+
var uid = __webpack_require__(72);
|
6464 |
+
module.exports = function (key) {
|
6465 |
+
return shared[key] || (shared[key] = uid(key));
|
6466 |
+
};
|
6467 |
+
|
6468 |
+
/***/ }),
|
6469 |
+
/* 98 */
|
6470 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6471 |
+
|
6472 |
+
var global = __webpack_require__(35);
|
6473 |
+
var SHARED = '__core-js_shared__';
|
6474 |
+
var store = global[SHARED] || (global[SHARED] = {});
|
6475 |
+
module.exports = function (key) {
|
6476 |
+
return store[key] || (store[key] = {});
|
6477 |
+
};
|
6478 |
+
|
6479 |
+
/***/ }),
|
6480 |
+
/* 99 */
|
6481 |
+
/***/ (function(module, exports) {
|
6482 |
+
|
6483 |
+
// IE 8- don't enum bug keys
|
6484 |
+
module.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');
|
6485 |
+
|
6486 |
+
/***/ }),
|
6487 |
+
/* 100 */
|
6488 |
+
/***/ (function(module, exports) {
|
6489 |
+
|
6490 |
+
exports.f = Object.getOwnPropertySymbols;
|
6491 |
+
|
6492 |
+
/***/ }),
|
6493 |
+
/* 101 */
|
6494 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6495 |
+
|
6496 |
+
module.exports = { "default": __webpack_require__(283), __esModule: true };
|
6497 |
+
|
6498 |
+
/***/ }),
|
6499 |
+
/* 102 */
|
6500 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6501 |
+
|
6502 |
+
module.exports = { "default": __webpack_require__(287), __esModule: true };
|
6503 |
+
|
6504 |
+
/***/ }),
|
6505 |
+
/* 103 */
|
6506 |
+
/***/ (function(module, exports) {
|
6507 |
+
|
6508 |
+
module.exports = true;
|
6509 |
+
|
6510 |
+
/***/ }),
|
6511 |
+
/* 104 */
|
6512 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6513 |
+
|
6514 |
+
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
|
6515 |
+
var anObject = __webpack_require__(40);
|
6516 |
+
var dPs = __webpack_require__(293);
|
6517 |
+
var enumBugKeys = __webpack_require__(99);
|
6518 |
+
var IE_PROTO = __webpack_require__(97)('IE_PROTO');
|
6519 |
+
var Empty = function () {/* empty */};
|
6520 |
+
var PROTOTYPE = 'prototype';
|
6521 |
+
|
6522 |
+
// Create object with fake `null` prototype: use iframe Object with cleared prototype
|
6523 |
+
var createDict = function () {
|
6524 |
+
// Thrash, waste and sodomy: IE GC bug
|
6525 |
+
var iframe = __webpack_require__(152)('iframe');
|
6526 |
+
var i = enumBugKeys.length;
|
6527 |
+
var lt = '<';
|
6528 |
+
var gt = '>';
|
6529 |
+
var iframeDocument;
|
6530 |
+
iframe.style.display = 'none';
|
6531 |
+
__webpack_require__(294).appendChild(iframe);
|
6532 |
+
iframe.src = 'javascript:'; // eslint-disable-line no-script-url
|
6533 |
+
// createDict = iframe.contentWindow.Object;
|
6534 |
+
// html.removeChild(iframe);
|
6535 |
+
iframeDocument = iframe.contentWindow.document;
|
6536 |
+
iframeDocument.open();
|
6537 |
+
iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
|
6538 |
+
iframeDocument.close();
|
6539 |
+
createDict = iframeDocument.F;
|
6540 |
+
while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
|
6541 |
+
return createDict();
|
6542 |
+
};
|
6543 |
+
|
6544 |
+
module.exports = Object.create || function create(O, Properties) {
|
6545 |
+
var result;
|
6546 |
+
if (O !== null) {
|
6547 |
+
Empty[PROTOTYPE] = anObject(O);
|
6548 |
+
result = new Empty();
|
6549 |
+
Empty[PROTOTYPE] = null;
|
6550 |
+
// add "__proto__" for Object.getPrototypeOf polyfill
|
6551 |
+
result[IE_PROTO] = O;
|
6552 |
+
} else result = createDict();
|
6553 |
+
return Properties === undefined ? result : dPs(result, Properties);
|
6554 |
+
};
|
6555 |
+
|
6556 |
+
/***/ }),
|
6557 |
+
/* 105 */
|
6558 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6559 |
+
|
6560 |
+
var def = __webpack_require__(36).f;
|
6561 |
+
var has = __webpack_require__(42);
|
6562 |
+
var TAG = __webpack_require__(25)('toStringTag');
|
6563 |
+
|
6564 |
+
module.exports = function (it, tag, stat) {
|
6565 |
+
if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
|
6566 |
+
};
|
6567 |
+
|
6568 |
+
/***/ }),
|
6569 |
+
/* 106 */
|
6570 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6571 |
+
|
6572 |
+
__webpack_require__(295);
|
6573 |
+
var global = __webpack_require__(35);
|
6574 |
+
var hide = __webpack_require__(48);
|
6575 |
+
var Iterators = __webpack_require__(53);
|
6576 |
+
var TO_STRING_TAG = __webpack_require__(25)('toStringTag');
|
6577 |
+
|
6578 |
+
var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' + 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' + 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' + 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' + 'TextTrackList,TouchList').split(',');
|
6579 |
+
|
6580 |
+
for (var i = 0; i < DOMIterables.length; i++) {
|
6581 |
+
var NAME = DOMIterables[i];
|
6582 |
+
var Collection = global[NAME];
|
6583 |
+
var proto = Collection && Collection.prototype;
|
6584 |
+
if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
|
6585 |
+
Iterators[NAME] = Iterators.Array;
|
6586 |
+
}
|
6587 |
+
|
6588 |
+
/***/ }),
|
6589 |
+
/* 107 */
|
6590 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6591 |
+
|
6592 |
+
exports.f = __webpack_require__(25);
|
6593 |
+
|
6594 |
+
/***/ }),
|
6595 |
+
/* 108 */
|
6596 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6597 |
+
|
6598 |
+
var global = __webpack_require__(35);
|
6599 |
+
var core = __webpack_require__(18);
|
6600 |
+
var LIBRARY = __webpack_require__(103);
|
6601 |
+
var wksExt = __webpack_require__(107);
|
6602 |
+
var defineProperty = __webpack_require__(36).f;
|
6603 |
+
module.exports = function (name) {
|
6604 |
+
var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
|
6605 |
+
if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
|
6606 |
+
};
|
6607 |
+
|
6608 |
+
/***/ }),
|
6609 |
+
/* 109 */
|
6610 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6611 |
+
|
6612 |
+
"use strict";
|
6613 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
6614 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
6615 |
+
*
|
6616 |
+
* This source code is licensed under the MIT license found in the
|
6617 |
+
* LICENSE file in the root directory of this source tree.
|
6618 |
+
*/
|
6619 |
+
|
6620 |
+
|
6621 |
+
|
6622 |
+
if (process.env.NODE_ENV !== 'production') {
|
6623 |
+
var invariant = __webpack_require__(21);
|
6624 |
+
var warning = __webpack_require__(26);
|
6625 |
+
var ReactPropTypesSecret = __webpack_require__(110);
|
6626 |
+
var loggedTypeFailures = {};
|
6627 |
+
}
|
6628 |
+
|
6629 |
+
/**
|
6630 |
+
* Assert that the values match with the type specs.
|
6631 |
+
* Error messages are memorized and will only be shown once.
|
6632 |
+
*
|
6633 |
+
* @param {object} typeSpecs Map of name to a ReactPropType
|
6634 |
+
* @param {object} values Runtime values that need to be type-checked
|
6635 |
+
* @param {string} location e.g. "prop", "context", "child context"
|
6636 |
+
* @param {string} componentName Name of the component for error messages.
|
6637 |
+
* @param {?Function} getStack Returns the component stack.
|
6638 |
+
* @private
|
6639 |
+
*/
|
6640 |
+
function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
|
6641 |
+
if (process.env.NODE_ENV !== 'production') {
|
6642 |
+
for (var typeSpecName in typeSpecs) {
|
6643 |
+
if (typeSpecs.hasOwnProperty(typeSpecName)) {
|
6644 |
+
var error;
|
6645 |
+
// Prop type validation may throw. In case they do, we don't want to
|
6646 |
+
// fail the render phase where it didn't fail before. So we log it.
|
6647 |
+
// After these have been cleaned up, we'll let them throw.
|
6648 |
+
try {
|
6649 |
+
// This is intentionally an invariant that gets caught. It's the same
|
6650 |
+
// behavior as without this statement except with a better message.
|
6651 |
+
invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);
|
6652 |
+
error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
|
6653 |
+
} catch (ex) {
|
6654 |
+
error = ex;
|
6655 |
+
}
|
6656 |
+
warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);
|
6657 |
+
if (error instanceof Error && !(error.message in loggedTypeFailures)) {
|
6658 |
+
// Only monitor this failure once because there tends to be a lot of the
|
6659 |
+
// same error.
|
6660 |
+
loggedTypeFailures[error.message] = true;
|
6661 |
+
|
6662 |
+
var stack = getStack ? getStack() : '';
|
6663 |
+
|
6664 |
+
warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');
|
6665 |
+
}
|
6666 |
+
}
|
6667 |
+
}
|
6668 |
+
}
|
6669 |
+
}
|
6670 |
+
|
6671 |
+
module.exports = checkPropTypes;
|
6672 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
6673 |
+
|
6674 |
+
/***/ }),
|
6675 |
+
/* 110 */
|
6676 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6677 |
+
|
6678 |
+
"use strict";
|
6679 |
+
/**
|
6680 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
6681 |
+
*
|
6682 |
+
* This source code is licensed under the MIT license found in the
|
6683 |
+
* LICENSE file in the root directory of this source tree.
|
6684 |
+
*/
|
6685 |
+
|
6686 |
+
|
6687 |
+
|
6688 |
+
var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
6689 |
+
|
6690 |
+
module.exports = ReactPropTypesSecret;
|
6691 |
+
|
6692 |
+
/***/ }),
|
6693 |
+
/* 111 */
|
6694 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6695 |
+
|
6696 |
+
"use strict";
|
6697 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
6698 |
+
|
6699 |
+
Object.defineProperty(exports, "__esModule", {
|
6700 |
+
value: true
|
6701 |
+
});
|
6702 |
+
|
6703 |
+
var _getPrototypeOf = __webpack_require__(5);
|
6704 |
+
|
6705 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
6706 |
+
|
6707 |
+
var _classCallCheck2 = __webpack_require__(3);
|
6708 |
+
|
6709 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
6710 |
+
|
6711 |
+
var _createClass2 = __webpack_require__(4);
|
6712 |
+
|
6713 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
6714 |
+
|
6715 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
6716 |
+
|
6717 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
6718 |
+
|
6719 |
+
var _inherits2 = __webpack_require__(7);
|
6720 |
+
|
6721 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
6722 |
+
|
6723 |
+
var _simpleAssign = __webpack_require__(8);
|
6724 |
+
|
6725 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
6726 |
+
|
6727 |
+
var _react = __webpack_require__(0);
|
6728 |
+
|
6729 |
+
var _react2 = _interopRequireDefault(_react);
|
6730 |
+
|
6731 |
+
var _propTypes = __webpack_require__(2);
|
6732 |
+
|
6733 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
6734 |
+
|
6735 |
+
var _reactDom = __webpack_require__(14);
|
6736 |
+
|
6737 |
+
var _reactDom2 = _interopRequireDefault(_reactDom);
|
6738 |
+
|
6739 |
+
var _shallowEqual = __webpack_require__(43);
|
6740 |
+
|
6741 |
+
var _shallowEqual2 = _interopRequireDefault(_shallowEqual);
|
6742 |
+
|
6743 |
+
var _autoPrefix = __webpack_require__(44);
|
6744 |
+
|
6745 |
+
var _autoPrefix2 = _interopRequireDefault(_autoPrefix);
|
6746 |
+
|
6747 |
+
var _transitions = __webpack_require__(12);
|
6748 |
+
|
6749 |
+
var _transitions2 = _interopRequireDefault(_transitions);
|
6750 |
+
|
6751 |
+
var _ScaleIn = __webpack_require__(327);
|
6752 |
+
|
6753 |
+
var _ScaleIn2 = _interopRequireDefault(_ScaleIn);
|
6754 |
+
|
6755 |
+
function _interopRequireDefault(obj) {
|
6756 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
6757 |
+
}
|
6758 |
+
|
6759 |
+
var pulsateDuration = 750;
|
6760 |
+
|
6761 |
+
var FocusRipple = function (_Component) {
|
6762 |
+
(0, _inherits3.default)(FocusRipple, _Component);
|
6763 |
+
|
6764 |
+
function FocusRipple() {
|
6765 |
+
var _ref;
|
6766 |
+
|
6767 |
+
var _temp, _this, _ret;
|
6768 |
+
|
6769 |
+
(0, _classCallCheck3.default)(this, FocusRipple);
|
6770 |
+
|
6771 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
6772 |
+
args[_key] = arguments[_key];
|
6773 |
+
}
|
6774 |
+
|
6775 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = FocusRipple.__proto__ || (0, _getPrototypeOf2.default)(FocusRipple)).call.apply(_ref, [this].concat(args))), _this), _this.pulsate = function () {
|
6776 |
+
var innerCircle = _reactDom2.default.findDOMNode(_this.refs.innerCircle);
|
6777 |
+
if (!innerCircle) return;
|
6778 |
+
|
6779 |
+
var startScale = 'scale(1)';
|
6780 |
+
var endScale = 'scale(0.85)';
|
6781 |
+
var currentScale = innerCircle.style.transform || startScale;
|
6782 |
+
var nextScale = currentScale === startScale ? endScale : startScale;
|
6783 |
+
|
6784 |
+
_autoPrefix2.default.set(innerCircle.style, 'transform', nextScale);
|
6785 |
+
_this.timeout = setTimeout(_this.pulsate, pulsateDuration);
|
6786 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
6787 |
+
}
|
6788 |
+
|
6789 |
+
(0, _createClass3.default)(FocusRipple, [{
|
6790 |
+
key: 'componentDidMount',
|
6791 |
+
value: function componentDidMount() {
|
6792 |
+
if (this.props.show) {
|
6793 |
+
this.setRippleSize();
|
6794 |
+
this.pulsate();
|
6795 |
+
}
|
6796 |
+
}
|
6797 |
+
}, {
|
6798 |
+
key: 'shouldComponentUpdate',
|
6799 |
+
value: function shouldComponentUpdate(nextProps, nextState) {
|
6800 |
+
return !(0, _shallowEqual2.default)(this.props, nextProps) || !(0, _shallowEqual2.default)(this.state, nextState);
|
6801 |
+
}
|
6802 |
+
}, {
|
6803 |
+
key: 'componentDidUpdate',
|
6804 |
+
value: function componentDidUpdate() {
|
6805 |
+
if (this.props.show) {
|
6806 |
+
this.setRippleSize();
|
6807 |
+
this.pulsate();
|
6808 |
+
} else {
|
6809 |
+
if (this.timeout) clearTimeout(this.timeout);
|
6810 |
+
}
|
6811 |
+
}
|
6812 |
+
}, {
|
6813 |
+
key: 'componentWillUnmount',
|
6814 |
+
value: function componentWillUnmount() {
|
6815 |
+
clearTimeout(this.timeout);
|
6816 |
+
}
|
6817 |
+
}, {
|
6818 |
+
key: 'getRippleElement',
|
6819 |
+
value: function getRippleElement(props) {
|
6820 |
+
var color = props.color,
|
6821 |
+
innerStyle = props.innerStyle,
|
6822 |
+
opacity = props.opacity;
|
6823 |
+
var _context$muiTheme = this.context.muiTheme,
|
6824 |
+
prepareStyles = _context$muiTheme.prepareStyles,
|
6825 |
+
ripple = _context$muiTheme.ripple;
|
6826 |
+
|
6827 |
+
var innerStyles = (0, _simpleAssign2.default)({
|
6828 |
+
position: 'absolute',
|
6829 |
+
height: '100%',
|
6830 |
+
width: '100%',
|
6831 |
+
borderRadius: '50%',
|
6832 |
+
opacity: opacity ? opacity : 0.16,
|
6833 |
+
backgroundColor: color || ripple.color,
|
6834 |
+
transition: _transitions2.default.easeOut(pulsateDuration + 'ms', 'transform', null, _transitions2.default.easeInOutFunction)
|
6835 |
+
}, innerStyle);
|
6836 |
+
|
6837 |
+
return _react2.default.createElement('div', { ref: 'innerCircle', style: prepareStyles((0, _simpleAssign2.default)({}, innerStyles)) });
|
6838 |
+
}
|
6839 |
+
}, {
|
6840 |
+
key: 'setRippleSize',
|
6841 |
+
value: function setRippleSize() {
|
6842 |
+
var el = _reactDom2.default.findDOMNode(this.refs.innerCircle);
|
6843 |
+
var height = el.offsetHeight;
|
6844 |
+
var width = el.offsetWidth;
|
6845 |
+
var size = Math.max(height, width);
|
6846 |
+
|
6847 |
+
var oldTop = 0;
|
6848 |
+
// For browsers that don't support endsWith()
|
6849 |
+
if (el.style.top.indexOf('px', el.style.top.length - 2) !== -1) {
|
6850 |
+
oldTop = parseInt(el.style.top);
|
6851 |
+
}
|
6852 |
+
el.style.height = size + 'px';
|
6853 |
+
el.style.top = height / 2 - size / 2 + oldTop + 'px';
|
6854 |
+
}
|
6855 |
+
}, {
|
6856 |
+
key: 'render',
|
6857 |
+
value: function render() {
|
6858 |
+
var _props = this.props,
|
6859 |
+
show = _props.show,
|
6860 |
+
style = _props.style;
|
6861 |
+
|
6862 |
+
var mergedRootStyles = (0, _simpleAssign2.default)({
|
6863 |
+
height: '100%',
|
6864 |
+
width: '100%',
|
6865 |
+
position: 'absolute',
|
6866 |
+
top: 0,
|
6867 |
+
left: 0
|
6868 |
+
}, style);
|
6869 |
+
|
6870 |
+
var ripple = show ? this.getRippleElement(this.props) : null;
|
6871 |
+
|
6872 |
+
return _react2.default.createElement(_ScaleIn2.default, {
|
6873 |
+
maxScale: 0.85,
|
6874 |
+
style: mergedRootStyles
|
6875 |
+
}, ripple);
|
6876 |
+
}
|
6877 |
+
}]);
|
6878 |
+
return FocusRipple;
|
6879 |
+
}(_react.Component);
|
6880 |
+
|
6881 |
+
FocusRipple.contextTypes = {
|
6882 |
+
muiTheme: _propTypes2.default.object.isRequired
|
6883 |
+
};
|
6884 |
+
FocusRipple.propTypes = process.env.NODE_ENV !== "production" ? {
|
6885 |
+
color: _propTypes2.default.string,
|
6886 |
+
innerStyle: _propTypes2.default.object,
|
6887 |
+
opacity: _propTypes2.default.number,
|
6888 |
+
show: _propTypes2.default.bool,
|
6889 |
+
style: _propTypes2.default.object
|
6890 |
+
} : {};
|
6891 |
+
exports.default = FocusRipple;
|
6892 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
6893 |
+
|
6894 |
+
/***/ }),
|
6895 |
+
/* 112 */
|
6896 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6897 |
+
|
6898 |
+
"use strict";
|
6899 |
+
|
6900 |
+
|
6901 |
+
Object.defineProperty(exports, "__esModule", {
|
6902 |
+
value: true
|
6903 |
+
});
|
6904 |
+
exports.default = undefined;
|
6905 |
+
|
6906 |
+
var _FontIcon = __webpack_require__(338);
|
6907 |
+
|
6908 |
+
var _FontIcon2 = _interopRequireDefault(_FontIcon);
|
6909 |
+
|
6910 |
+
function _interopRequireDefault(obj) {
|
6911 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
6912 |
+
}
|
6913 |
+
|
6914 |
+
exports.default = _FontIcon2.default;
|
6915 |
+
|
6916 |
+
/***/ }),
|
6917 |
+
/* 113 */
|
6918 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6919 |
+
|
6920 |
+
"use strict";
|
6921 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
6922 |
+
|
6923 |
+
Object.defineProperty(exports, "__esModule", {
|
6924 |
+
value: true
|
6925 |
+
});
|
6926 |
+
|
6927 |
+
var _getPrototypeOf = __webpack_require__(5);
|
6928 |
+
|
6929 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
6930 |
+
|
6931 |
+
var _classCallCheck2 = __webpack_require__(3);
|
6932 |
+
|
6933 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
6934 |
+
|
6935 |
+
var _createClass2 = __webpack_require__(4);
|
6936 |
+
|
6937 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
6938 |
+
|
6939 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
6940 |
+
|
6941 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
6942 |
+
|
6943 |
+
var _inherits2 = __webpack_require__(7);
|
6944 |
+
|
6945 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
6946 |
+
|
6947 |
+
var _react = __webpack_require__(0);
|
6948 |
+
|
6949 |
+
var _propTypes = __webpack_require__(2);
|
6950 |
+
|
6951 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
6952 |
+
|
6953 |
+
var _reactDom = __webpack_require__(14);
|
6954 |
+
|
6955 |
+
var _reactDom2 = _interopRequireDefault(_reactDom);
|
6956 |
+
|
6957 |
+
var _events = __webpack_require__(75);
|
6958 |
+
|
6959 |
+
var _events2 = _interopRequireDefault(_events);
|
6960 |
+
|
6961 |
+
function _interopRequireDefault(obj) {
|
6962 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
6963 |
+
}
|
6964 |
+
|
6965 |
+
var isDescendant = function isDescendant(el, target) {
|
6966 |
+
if (target !== null) {
|
6967 |
+
return el === target || isDescendant(el, target.parentNode);
|
6968 |
+
}
|
6969 |
+
return false;
|
6970 |
+
};
|
6971 |
+
|
6972 |
+
var clickAwayEvents = ['mouseup', 'touchend'];
|
6973 |
+
var bind = function bind(callback) {
|
6974 |
+
return clickAwayEvents.forEach(function (event) {
|
6975 |
+
return _events2.default.on(document, event, callback);
|
6976 |
+
});
|
6977 |
+
};
|
6978 |
+
var unbind = function unbind(callback) {
|
6979 |
+
return clickAwayEvents.forEach(function (event) {
|
6980 |
+
return _events2.default.off(document, event, callback);
|
6981 |
+
});
|
6982 |
+
};
|
6983 |
+
|
6984 |
+
var ClickAwayListener = function (_Component) {
|
6985 |
+
(0, _inherits3.default)(ClickAwayListener, _Component);
|
6986 |
+
|
6987 |
+
function ClickAwayListener() {
|
6988 |
+
var _ref;
|
6989 |
+
|
6990 |
+
var _temp, _this, _ret;
|
6991 |
+
|
6992 |
+
(0, _classCallCheck3.default)(this, ClickAwayListener);
|
6993 |
+
|
6994 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
6995 |
+
args[_key] = arguments[_key];
|
6996 |
+
}
|
6997 |
+
|
6998 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = ClickAwayListener.__proto__ || (0, _getPrototypeOf2.default)(ClickAwayListener)).call.apply(_ref, [this].concat(args))), _this), _this.handleClickAway = function (event) {
|
6999 |
+
if (event.defaultPrevented) {
|
7000 |
+
return;
|
7001 |
+
}
|
7002 |
+
|
7003 |
+
// IE11 support, which trigger the handleClickAway even after the unbind
|
7004 |
+
if (_this.isCurrentlyMounted) {
|
7005 |
+
var el = _reactDom2.default.findDOMNode(_this);
|
7006 |
+
|
7007 |
+
if (document.documentElement.contains(event.target) && !isDescendant(el, event.target)) {
|
7008 |
+
_this.props.onClickAway(event);
|
7009 |
+
}
|
7010 |
+
}
|
7011 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
7012 |
+
}
|
7013 |
+
|
7014 |
+
(0, _createClass3.default)(ClickAwayListener, [{
|
7015 |
+
key: 'componentDidMount',
|
7016 |
+
value: function componentDidMount() {
|
7017 |
+
this.isCurrentlyMounted = true;
|
7018 |
+
if (this.props.onClickAway) {
|
7019 |
+
bind(this.handleClickAway);
|
7020 |
+
}
|
7021 |
+
}
|
7022 |
+
}, {
|
7023 |
+
key: 'componentDidUpdate',
|
7024 |
+
value: function componentDidUpdate(prevProps) {
|
7025 |
+
if (prevProps.onClickAway !== this.props.onClickAway) {
|
7026 |
+
unbind(this.handleClickAway);
|
7027 |
+
if (this.props.onClickAway) {
|
7028 |
+
bind(this.handleClickAway);
|
7029 |
+
}
|
7030 |
+
}
|
7031 |
+
}
|
7032 |
+
}, {
|
7033 |
+
key: 'componentWillUnmount',
|
7034 |
+
value: function componentWillUnmount() {
|
7035 |
+
this.isCurrentlyMounted = false;
|
7036 |
+
unbind(this.handleClickAway);
|
7037 |
+
}
|
7038 |
+
}, {
|
7039 |
+
key: 'render',
|
7040 |
+
value: function render() {
|
7041 |
+
return this.props.children;
|
7042 |
+
}
|
7043 |
+
}]);
|
7044 |
+
return ClickAwayListener;
|
7045 |
+
}(_react.Component);
|
7046 |
+
|
7047 |
+
ClickAwayListener.propTypes = process.env.NODE_ENV !== "production" ? {
|
7048 |
+
children: _propTypes2.default.element,
|
7049 |
+
onClickAway: _propTypes2.default.func
|
7050 |
+
} : {};
|
7051 |
+
exports.default = ClickAwayListener;
|
7052 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
7053 |
+
|
7054 |
+
/***/ }),
|
7055 |
+
/* 114 */
|
7056 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7057 |
+
|
7058 |
+
"use strict";
|
7059 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
7060 |
+
|
7061 |
+
Object.defineProperty(exports, "__esModule", {
|
7062 |
+
value: true
|
7063 |
+
});
|
7064 |
+
|
7065 |
+
var _extends2 = __webpack_require__(9);
|
7066 |
+
|
7067 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
7068 |
+
|
7069 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
7070 |
+
|
7071 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
7072 |
+
|
7073 |
+
var _getPrototypeOf = __webpack_require__(5);
|
7074 |
+
|
7075 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
7076 |
+
|
7077 |
+
var _classCallCheck2 = __webpack_require__(3);
|
7078 |
+
|
7079 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
7080 |
+
|
7081 |
+
var _createClass2 = __webpack_require__(4);
|
7082 |
+
|
7083 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
7084 |
+
|
7085 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
7086 |
+
|
7087 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
7088 |
+
|
7089 |
+
var _inherits2 = __webpack_require__(7);
|
7090 |
+
|
7091 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
7092 |
+
|
7093 |
+
var _simpleAssign = __webpack_require__(8);
|
7094 |
+
|
7095 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
7096 |
+
|
7097 |
+
var _react = __webpack_require__(0);
|
7098 |
+
|
7099 |
+
var _react2 = _interopRequireDefault(_react);
|
7100 |
+
|
7101 |
+
var _propTypes = __webpack_require__(2);
|
7102 |
+
|
7103 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
7104 |
+
|
7105 |
+
var _Subheader = __webpack_require__(177);
|
7106 |
+
|
7107 |
+
var _Subheader2 = _interopRequireDefault(_Subheader);
|
7108 |
+
|
7109 |
+
function _interopRequireDefault(obj) {
|
7110 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
7111 |
+
}
|
7112 |
+
|
7113 |
+
var List = function (_Component) {
|
7114 |
+
(0, _inherits3.default)(List, _Component);
|
7115 |
+
|
7116 |
+
function List() {
|
7117 |
+
(0, _classCallCheck3.default)(this, List);
|
7118 |
+
return (0, _possibleConstructorReturn3.default)(this, (List.__proto__ || (0, _getPrototypeOf2.default)(List)).apply(this, arguments));
|
7119 |
+
}
|
7120 |
+
|
7121 |
+
(0, _createClass3.default)(List, [{
|
7122 |
+
key: 'render',
|
7123 |
+
value: function render() {
|
7124 |
+
var _props = this.props,
|
7125 |
+
children = _props.children,
|
7126 |
+
style = _props.style,
|
7127 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['children', 'style']);
|
7128 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
7129 |
+
|
7130 |
+
var hasSubheader = false;
|
7131 |
+
|
7132 |
+
var firstChild = _react.Children.toArray(children)[0];
|
7133 |
+
if ((0, _react.isValidElement)(firstChild) && firstChild.type === _Subheader2.default) {
|
7134 |
+
hasSubheader = true;
|
7135 |
+
}
|
7136 |
+
|
7137 |
+
var styles = {
|
7138 |
+
root: {
|
7139 |
+
padding: (hasSubheader ? 0 : 8) + 'px 0px 8px 0px'
|
7140 |
+
}
|
7141 |
+
};
|
7142 |
+
|
7143 |
+
return _react2.default.createElement('div', (0, _extends3.default)({}, other, { style: prepareStyles((0, _simpleAssign2.default)(styles.root, style)) }), children);
|
7144 |
+
}
|
7145 |
+
}]);
|
7146 |
+
return List;
|
7147 |
+
}(_react.Component);
|
7148 |
+
|
7149 |
+
List.contextTypes = {
|
7150 |
+
muiTheme: _propTypes2.default.object.isRequired
|
7151 |
+
};
|
7152 |
+
List.propTypes = process.env.NODE_ENV !== "production" ? {
|
7153 |
+
/**
|
7154 |
+
* These are usually `ListItem`s that are passed to
|
7155 |
+
* be part of the list.
|
7156 |
+
*/
|
7157 |
+
children: _propTypes2.default.node,
|
7158 |
+
/**
|
7159 |
+
* Override the inline-styles of the root element.
|
7160 |
+
*/
|
7161 |
+
style: _propTypes2.default.object
|
7162 |
+
} : {};
|
7163 |
+
exports.default = List;
|
7164 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
7165 |
+
|
7166 |
+
/***/ }),
|
7167 |
+
/* 115 */
|
7168 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7169 |
+
|
7170 |
+
"use strict";
|
7171 |
+
|
7172 |
+
|
7173 |
+
Object.defineProperty(exports, "__esModule", {
|
7174 |
+
value: true
|
7175 |
+
});
|
7176 |
+
exports.default = undefined;
|
7177 |
+
|
7178 |
+
var _MenuItem = __webpack_require__(116);
|
7179 |
+
|
7180 |
+
var _MenuItem2 = _interopRequireDefault(_MenuItem);
|
7181 |
+
|
7182 |
+
function _interopRequireDefault(obj) {
|
7183 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
7184 |
+
}
|
7185 |
+
|
7186 |
+
exports.default = _MenuItem2.default;
|
7187 |
+
|
7188 |
+
/***/ }),
|
7189 |
+
/* 116 */
|
7190 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7191 |
+
|
7192 |
+
"use strict";
|
7193 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
7194 |
+
|
7195 |
+
Object.defineProperty(exports, "__esModule", {
|
7196 |
+
value: true
|
7197 |
+
});
|
7198 |
+
|
7199 |
+
var _extends2 = __webpack_require__(9);
|
7200 |
+
|
7201 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
7202 |
+
|
7203 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
7204 |
+
|
7205 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
7206 |
+
|
7207 |
+
var _getPrototypeOf = __webpack_require__(5);
|
7208 |
+
|
7209 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
7210 |
+
|
7211 |
+
var _classCallCheck2 = __webpack_require__(3);
|
7212 |
+
|
7213 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
7214 |
+
|
7215 |
+
var _createClass2 = __webpack_require__(4);
|
7216 |
+
|
7217 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
7218 |
+
|
7219 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
7220 |
+
|
7221 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
7222 |
+
|
7223 |
+
var _inherits2 = __webpack_require__(7);
|
7224 |
+
|
7225 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
7226 |
+
|
7227 |
+
var _simpleAssign = __webpack_require__(8);
|
7228 |
+
|
7229 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
7230 |
+
|
7231 |
+
var _react = __webpack_require__(0);
|
7232 |
+
|
7233 |
+
var _react2 = _interopRequireDefault(_react);
|
7234 |
+
|
7235 |
+
var _propTypes = __webpack_require__(2);
|
7236 |
+
|
7237 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
7238 |
+
|
7239 |
+
var _reactDom = __webpack_require__(14);
|
7240 |
+
|
7241 |
+
var _reactDom2 = _interopRequireDefault(_reactDom);
|
7242 |
+
|
7243 |
+
var _shallowEqual = __webpack_require__(43);
|
7244 |
+
|
7245 |
+
var _shallowEqual2 = _interopRequireDefault(_shallowEqual);
|
7246 |
+
|
7247 |
+
var _Popover = __webpack_require__(56);
|
7248 |
+
|
7249 |
+
var _Popover2 = _interopRequireDefault(_Popover);
|
7250 |
+
|
7251 |
+
var _check = __webpack_require__(357);
|
7252 |
+
|
7253 |
+
var _check2 = _interopRequireDefault(_check);
|
7254 |
+
|
7255 |
+
var _ListItem = __webpack_require__(117);
|
7256 |
+
|
7257 |
+
var _ListItem2 = _interopRequireDefault(_ListItem);
|
7258 |
+
|
7259 |
+
var _Menu = __webpack_require__(77);
|
7260 |
+
|
7261 |
+
var _Menu2 = _interopRequireDefault(_Menu);
|
7262 |
+
|
7263 |
+
var _propTypes3 = __webpack_require__(19);
|
7264 |
+
|
7265 |
+
var _propTypes4 = _interopRequireDefault(_propTypes3);
|
7266 |
+
|
7267 |
+
function _interopRequireDefault(obj) {
|
7268 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
7269 |
+
}
|
7270 |
+
|
7271 |
+
var nestedMenuStyle = {
|
7272 |
+
position: 'relative'
|
7273 |
+
};
|
7274 |
+
|
7275 |
+
function getStyles(props, context) {
|
7276 |
+
var disabledColor = context.muiTheme.baseTheme.palette.disabledColor;
|
7277 |
+
var textColor = context.muiTheme.baseTheme.palette.textColor;
|
7278 |
+
var indent = props.desktop ? 64 : 72;
|
7279 |
+
var sidePadding = props.desktop ? 24 : 16;
|
7280 |
+
|
7281 |
+
var styles = {
|
7282 |
+
root: {
|
7283 |
+
color: props.disabled ? disabledColor : textColor,
|
7284 |
+
cursor: props.disabled ? 'default' : 'pointer',
|
7285 |
+
minHeight: props.desktop ? '32px' : '48px',
|
7286 |
+
lineHeight: props.desktop ? '32px' : '48px',
|
7287 |
+
fontSize: props.desktop ? 15 : 16,
|
7288 |
+
whiteSpace: 'nowrap'
|
7289 |
+
},
|
7290 |
+
|
7291 |
+
innerDivStyle: {
|
7292 |
+
paddingLeft: props.leftIcon || props.insetChildren || props.checked ? indent : sidePadding,
|
7293 |
+
paddingRight: props.rightIcon ? indent : sidePadding,
|
7294 |
+
paddingBottom: 0,
|
7295 |
+
paddingTop: 0
|
7296 |
+
},
|
7297 |
+
|
7298 |
+
secondaryText: {
|
7299 |
+
float: 'right'
|
7300 |
+
},
|
7301 |
+
|
7302 |
+
leftIconDesktop: {
|
7303 |
+
margin: 0,
|
7304 |
+
left: 24,
|
7305 |
+
top: 4
|
7306 |
+
},
|
7307 |
+
|
7308 |
+
rightIconDesktop: {
|
7309 |
+
margin: 0,
|
7310 |
+
right: 24,
|
7311 |
+
top: 4,
|
7312 |
+
fill: context.muiTheme.menuItem.rightIconDesktopFill
|
7313 |
+
}
|
7314 |
+
};
|
7315 |
+
|
7316 |
+
return styles;
|
7317 |
+
}
|
7318 |
+
|
7319 |
+
var MenuItem = function (_Component) {
|
7320 |
+
(0, _inherits3.default)(MenuItem, _Component);
|
7321 |
+
|
7322 |
+
function MenuItem() {
|
7323 |
+
var _ref;
|
7324 |
+
|
7325 |
+
var _temp, _this, _ret;
|
7326 |
+
|
7327 |
+
(0, _classCallCheck3.default)(this, MenuItem);
|
7328 |
+
|
7329 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
7330 |
+
args[_key] = arguments[_key];
|
7331 |
+
}
|
7332 |
+
|
7333 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = MenuItem.__proto__ || (0, _getPrototypeOf2.default)(MenuItem)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
|
7334 |
+
open: false
|
7335 |
+
}, _this.cloneMenuItem = function (item) {
|
7336 |
+
return _react2.default.cloneElement(item, {
|
7337 |
+
onClick: function onClick(event) {
|
7338 |
+
if (!item.props.menuItems) {
|
7339 |
+
_this.handleRequestClose();
|
7340 |
+
}
|
7341 |
+
|
7342 |
+
if (item.props.onClick) {
|
7343 |
+
item.props.onClick(event);
|
7344 |
+
}
|
7345 |
+
}
|
7346 |
+
});
|
7347 |
+
}, _this.handleClick = function (event) {
|
7348 |
+
event.preventDefault();
|
7349 |
+
|
7350 |
+
_this.setState({
|
7351 |
+
open: true,
|
7352 |
+
anchorEl: _reactDom2.default.findDOMNode(_this)
|
7353 |
+
});
|
7354 |
+
|
7355 |
+
if (_this.props.onClick) {
|
7356 |
+
_this.props.onClick(event);
|
7357 |
+
}
|
7358 |
+
}, _this.handleRequestClose = function () {
|
7359 |
+
_this.setState({
|
7360 |
+
open: false,
|
7361 |
+
anchorEl: null
|
7362 |
+
});
|
7363 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
7364 |
+
}
|
7365 |
+
|
7366 |
+
(0, _createClass3.default)(MenuItem, [{
|
7367 |
+
key: 'componentDidMount',
|
7368 |
+
value: function componentDidMount() {
|
7369 |
+
this.applyFocusState();
|
7370 |
+
}
|
7371 |
+
}, {
|
7372 |
+
key: 'componentWillReceiveProps',
|
7373 |
+
value: function componentWillReceiveProps(nextProps) {
|
7374 |
+
if (this.state.open && nextProps.focusState === 'none') {
|
7375 |
+
this.handleRequestClose();
|
7376 |
+
}
|
7377 |
+
}
|
7378 |
+
}, {
|
7379 |
+
key: 'shouldComponentUpdate',
|
7380 |
+
value: function shouldComponentUpdate(nextProps, nextState, nextContext) {
|
7381 |
+
return !(0, _shallowEqual2.default)(this.props, nextProps) || !(0, _shallowEqual2.default)(this.state, nextState) || !(0, _shallowEqual2.default)(this.context, nextContext);
|
7382 |
+
}
|
7383 |
+
}, {
|
7384 |
+
key: 'componentDidUpdate',
|
7385 |
+
value: function componentDidUpdate() {
|
7386 |
+
this.applyFocusState();
|
7387 |
+
}
|
7388 |
+
}, {
|
7389 |
+
key: 'componentWillUnmount',
|
7390 |
+
value: function componentWillUnmount() {
|
7391 |
+
if (this.state.open) {
|
7392 |
+
this.setState({
|
7393 |
+
open: false
|
7394 |
+
});
|
7395 |
+
}
|
7396 |
+
}
|
7397 |
+
}, {
|
7398 |
+
key: 'applyFocusState',
|
7399 |
+
value: function applyFocusState() {
|
7400 |
+
this.refs.listItem.applyFocusState(this.props.focusState);
|
7401 |
+
}
|
7402 |
+
}, {
|
7403 |
+
key: 'render',
|
7404 |
+
value: function render() {
|
7405 |
+
var _props = this.props,
|
7406 |
+
checked = _props.checked,
|
7407 |
+
children = _props.children,
|
7408 |
+
desktop = _props.desktop,
|
7409 |
+
disabled = _props.disabled,
|
7410 |
+
focusState = _props.focusState,
|
7411 |
+
innerDivStyle = _props.innerDivStyle,
|
7412 |
+
insetChildren = _props.insetChildren,
|
7413 |
+
leftIcon = _props.leftIcon,
|
7414 |
+
menuItems = _props.menuItems,
|
7415 |
+
rightIcon = _props.rightIcon,
|
7416 |
+
secondaryText = _props.secondaryText,
|
7417 |
+
style = _props.style,
|
7418 |
+
animation = _props.animation,
|
7419 |
+
anchorOrigin = _props.anchorOrigin,
|
7420 |
+
targetOrigin = _props.targetOrigin,
|
7421 |
+
value = _props.value,
|
7422 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['checked', 'children', 'desktop', 'disabled', 'focusState', 'innerDivStyle', 'insetChildren', 'leftIcon', 'menuItems', 'rightIcon', 'secondaryText', 'style', 'animation', 'anchorOrigin', 'targetOrigin', 'value']);
|
7423 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
7424 |
+
|
7425 |
+
var styles = getStyles(this.props, this.context);
|
7426 |
+
var mergedRootStyles = (0, _simpleAssign2.default)(styles.root, style);
|
7427 |
+
var mergedInnerDivStyles = (0, _simpleAssign2.default)(styles.innerDivStyle, innerDivStyle);
|
7428 |
+
|
7429 |
+
// Left Icon
|
7430 |
+
var leftIconElement = leftIcon ? leftIcon : checked ? _react2.default.createElement(_check2.default, null) : null;
|
7431 |
+
if (leftIconElement) {
|
7432 |
+
var mergedLeftIconStyles = desktop ? (0, _simpleAssign2.default)(styles.leftIconDesktop, leftIconElement.props.style) : leftIconElement.props.style;
|
7433 |
+
leftIconElement = _react2.default.cloneElement(leftIconElement, { style: mergedLeftIconStyles });
|
7434 |
+
}
|
7435 |
+
|
7436 |
+
// Right Icon
|
7437 |
+
var rightIconElement = void 0;
|
7438 |
+
if (rightIcon) {
|
7439 |
+
var mergedRightIconStyles = desktop ? (0, _simpleAssign2.default)(styles.rightIconDesktop, rightIcon.props.style) : rightIcon.props.style;
|
7440 |
+
rightIconElement = _react2.default.cloneElement(rightIcon, { style: mergedRightIconStyles });
|
7441 |
+
}
|
7442 |
+
|
7443 |
+
// Secondary Text
|
7444 |
+
var secondaryTextElement = void 0;
|
7445 |
+
if (secondaryText) {
|
7446 |
+
var secondaryTextIsAnElement = _react2.default.isValidElement(secondaryText);
|
7447 |
+
var mergedSecondaryTextStyles = secondaryTextIsAnElement ? (0, _simpleAssign2.default)(styles.secondaryText, secondaryText.props.style) : null;
|
7448 |
+
|
7449 |
+
secondaryTextElement = secondaryTextIsAnElement ? _react2.default.cloneElement(secondaryText, { style: mergedSecondaryTextStyles }) : _react2.default.createElement('div', { style: prepareStyles(styles.secondaryText) }, secondaryText);
|
7450 |
+
}
|
7451 |
+
var childMenuPopover = void 0;
|
7452 |
+
if (menuItems) {
|
7453 |
+
childMenuPopover = _react2.default.createElement(_Popover2.default, {
|
7454 |
+
animation: animation,
|
7455 |
+
anchorOrigin: anchorOrigin,
|
7456 |
+
anchorEl: this.state.anchorEl,
|
7457 |
+
open: this.state.open,
|
7458 |
+
targetOrigin: targetOrigin,
|
7459 |
+
useLayerForClickAway: false,
|
7460 |
+
onRequestClose: this.handleRequestClose
|
7461 |
+
}, _react2.default.createElement(_Menu2.default, { desktop: desktop, disabled: disabled, style: nestedMenuStyle }, _react2.default.Children.map(menuItems, this.cloneMenuItem)));
|
7462 |
+
other.onClick = this.handleClick;
|
7463 |
+
}
|
7464 |
+
|
7465 |
+
return _react2.default.createElement(_ListItem2.default, (0, _extends3.default)({}, other, {
|
7466 |
+
disabled: disabled,
|
7467 |
+
hoverColor: this.context.muiTheme.menuItem.hoverColor,
|
7468 |
+
innerDivStyle: mergedInnerDivStyles,
|
7469 |
+
insetChildren: insetChildren,
|
7470 |
+
leftIcon: leftIconElement,
|
7471 |
+
ref: 'listItem',
|
7472 |
+
rightIcon: rightIconElement,
|
7473 |
+
role: 'menuitem',
|
7474 |
+
style: mergedRootStyles
|
7475 |
+
}), children, secondaryTextElement, childMenuPopover);
|
7476 |
+
}
|
7477 |
+
}]);
|
7478 |
+
return MenuItem;
|
7479 |
+
}(_react.Component);
|
7480 |
+
|
7481 |
+
MenuItem.muiName = 'MenuItem';
|
7482 |
+
MenuItem.defaultProps = {
|
7483 |
+
anchorOrigin: { horizontal: 'right', vertical: 'top' },
|
7484 |
+
checked: false,
|
7485 |
+
desktop: false,
|
7486 |
+
disabled: false,
|
7487 |
+
focusState: 'none',
|
7488 |
+
insetChildren: false,
|
7489 |
+
targetOrigin: { horizontal: 'left', vertical: 'top' }
|
7490 |
+
};
|
7491 |
+
MenuItem.contextTypes = {
|
7492 |
+
muiTheme: _propTypes2.default.object.isRequired
|
7493 |
+
};
|
7494 |
+
MenuItem.propTypes = process.env.NODE_ENV !== "production" ? {
|
7495 |
+
/**
|
7496 |
+
* Location of the anchor for the popover of nested `MenuItem`
|
7497 |
+
* elements.
|
7498 |
+
* Options:
|
7499 |
+
* horizontal: [left, middle, right]
|
7500 |
+
* vertical: [top, center, bottom].
|
7501 |
+
*/
|
7502 |
+
anchorOrigin: _propTypes4.default.origin,
|
7503 |
+
/**
|
7504 |
+
* Override the default animation component used.
|
7505 |
+
*/
|
7506 |
+
animation: _propTypes2.default.func,
|
7507 |
+
/**
|
7508 |
+
* If true, a left check mark will be rendered.
|
7509 |
+
*/
|
7510 |
+
checked: _propTypes2.default.bool,
|
7511 |
+
/**
|
7512 |
+
* Elements passed as children to the underlying `ListItem`.
|
7513 |
+
*/
|
7514 |
+
children: _propTypes2.default.node,
|
7515 |
+
/**
|
7516 |
+
* @ignore
|
7517 |
+
* If true, the menu item will render with compact desktop
|
7518 |
+
* styles.
|
7519 |
+
*/
|
7520 |
+
desktop: _propTypes2.default.bool,
|
7521 |
+
/**
|
7522 |
+
* If true, the menu item will be disabled.
|
7523 |
+
*/
|
7524 |
+
disabled: _propTypes2.default.bool,
|
7525 |
+
/**
|
7526 |
+
* The focus state of the menu item. This prop is used to set the focus
|
7527 |
+
* state of the underlying `ListItem`.
|
7528 |
+
*/
|
7529 |
+
focusState: _propTypes2.default.oneOf(['none', 'focused', 'keyboard-focused']),
|
7530 |
+
/**
|
7531 |
+
* Override the inline-styles of the inner div.
|
7532 |
+
*/
|
7533 |
+
innerDivStyle: _propTypes2.default.object,
|
7534 |
+
/**
|
7535 |
+
* If true, the children will be indented.
|
7536 |
+
* This is only needed when there is no `leftIcon`.
|
7537 |
+
*/
|
7538 |
+
insetChildren: _propTypes2.default.bool,
|
7539 |
+
/**
|
7540 |
+
* The `SvgIcon` or `FontIcon` to be displayed on the left side.
|
7541 |
+
*/
|
7542 |
+
leftIcon: _propTypes2.default.element,
|
7543 |
+
/**
|
7544 |
+
* `MenuItem` elements to nest within the menu item.
|
7545 |
+
*/
|
7546 |
+
menuItems: _propTypes2.default.node,
|
7547 |
+
/**
|
7548 |
+
* Callback function fired when the menu item is clicked.
|
7549 |
+
*
|
7550 |
+
* @param {object} event Click event targeting the menu item.
|
7551 |
+
*/
|
7552 |
+
onClick: _propTypes2.default.func,
|
7553 |
+
/**
|
7554 |
+
* Can be used to render primary text within the menu item.
|
7555 |
+
*/
|
7556 |
+
primaryText: _propTypes2.default.node,
|
7557 |
+
/**
|
7558 |
+
* The `SvgIcon` or `FontIcon` to be displayed on the right side.
|
7559 |
+
*/
|
7560 |
+
rightIcon: _propTypes2.default.element,
|
7561 |
+
/**
|
7562 |
+
* Can be used to render secondary text within the menu item.
|
7563 |
+
*/
|
7564 |
+
secondaryText: _propTypes2.default.node,
|
7565 |
+
/**
|
7566 |
+
* Override the inline-styles of the root element.
|
7567 |
+
*/
|
7568 |
+
style: _propTypes2.default.object,
|
7569 |
+
/**
|
7570 |
+
* Location on the popover of nested `MenuItem` elements that will attach
|
7571 |
+
* to the anchor's origin.
|
7572 |
+
* Options:
|
7573 |
+
* horizontal: [left, middle, right]
|
7574 |
+
* vertical: [top, center, bottom].
|
7575 |
+
*/
|
7576 |
+
targetOrigin: _propTypes4.default.origin,
|
7577 |
+
/**
|
7578 |
+
* The value of the menu item.
|
7579 |
+
*/
|
7580 |
+
value: _propTypes2.default.any
|
7581 |
+
} : {};
|
7582 |
+
exports.default = MenuItem;
|
7583 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
7584 |
+
|
7585 |
+
/***/ }),
|
7586 |
+
/* 117 */
|
7587 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7588 |
+
|
7589 |
+
"use strict";
|
7590 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
7591 |
+
|
7592 |
+
Object.defineProperty(exports, "__esModule", {
|
7593 |
+
value: true
|
7594 |
+
});
|
7595 |
+
|
7596 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
7597 |
+
|
7598 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
7599 |
+
|
7600 |
+
var _extends2 = __webpack_require__(9);
|
7601 |
+
|
7602 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
7603 |
+
|
7604 |
+
var _getPrototypeOf = __webpack_require__(5);
|
7605 |
+
|
7606 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
7607 |
+
|
7608 |
+
var _classCallCheck2 = __webpack_require__(3);
|
7609 |
+
|
7610 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
7611 |
+
|
7612 |
+
var _createClass2 = __webpack_require__(4);
|
7613 |
+
|
7614 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
7615 |
+
|
7616 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
7617 |
+
|
7618 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
7619 |
+
|
7620 |
+
var _inherits2 = __webpack_require__(7);
|
7621 |
+
|
7622 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
7623 |
+
|
7624 |
+
var _simpleAssign = __webpack_require__(8);
|
7625 |
+
|
7626 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
7627 |
+
|
7628 |
+
var _react = __webpack_require__(0);
|
7629 |
+
|
7630 |
+
var _react2 = _interopRequireDefault(_react);
|
7631 |
+
|
7632 |
+
var _propTypes = __webpack_require__(2);
|
7633 |
+
|
7634 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
7635 |
+
|
7636 |
+
var _reactDom = __webpack_require__(14);
|
7637 |
+
|
7638 |
+
var _reactDom2 = _interopRequireDefault(_reactDom);
|
7639 |
+
|
7640 |
+
var _shallowEqual = __webpack_require__(43);
|
7641 |
+
|
7642 |
+
var _shallowEqual2 = _interopRequireDefault(_shallowEqual);
|
7643 |
+
|
7644 |
+
var _colorManipulator = __webpack_require__(38);
|
7645 |
+
|
7646 |
+
var _transitions = __webpack_require__(12);
|
7647 |
+
|
7648 |
+
var _transitions2 = _interopRequireDefault(_transitions);
|
7649 |
+
|
7650 |
+
var _EnhancedButton = __webpack_require__(27);
|
7651 |
+
|
7652 |
+
var _EnhancedButton2 = _interopRequireDefault(_EnhancedButton);
|
7653 |
+
|
7654 |
+
var _IconButton = __webpack_require__(55);
|
7655 |
+
|
7656 |
+
var _IconButton2 = _interopRequireDefault(_IconButton);
|
7657 |
+
|
7658 |
+
var _expandLess = __webpack_require__(358);
|
7659 |
+
|
7660 |
+
var _expandLess2 = _interopRequireDefault(_expandLess);
|
7661 |
+
|
7662 |
+
var _expandMore = __webpack_require__(359);
|
7663 |
+
|
7664 |
+
var _expandMore2 = _interopRequireDefault(_expandMore);
|
7665 |
+
|
7666 |
+
var _NestedList = __webpack_require__(360);
|
7667 |
+
|
7668 |
+
var _NestedList2 = _interopRequireDefault(_NestedList);
|
7669 |
+
|
7670 |
+
function _interopRequireDefault(obj) {
|
7671 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
7672 |
+
}
|
7673 |
+
|
7674 |
+
function getStyles(props, context, state) {
|
7675 |
+
var autoGenerateNestedIndicator = props.autoGenerateNestedIndicator,
|
7676 |
+
insetChildren = props.insetChildren,
|
7677 |
+
leftAvatar = props.leftAvatar,
|
7678 |
+
leftCheckbox = props.leftCheckbox,
|
7679 |
+
leftIcon = props.leftIcon,
|
7680 |
+
nestedItems = props.nestedItems,
|
7681 |
+
nestedLevel = props.nestedLevel,
|
7682 |
+
rightAvatar = props.rightAvatar,
|
7683 |
+
rightIcon = props.rightIcon,
|
7684 |
+
rightIconButton = props.rightIconButton,
|
7685 |
+
rightToggle = props.rightToggle,
|
7686 |
+
secondaryText = props.secondaryText,
|
7687 |
+
secondaryTextLines = props.secondaryTextLines;
|
7688 |
+
var muiTheme = context.muiTheme;
|
7689 |
+
var listItem = muiTheme.listItem;
|
7690 |
+
|
7691 |
+
var textColor = muiTheme.baseTheme.palette.textColor;
|
7692 |
+
var hoverColor = props.hoverColor || (0, _colorManipulator.fade)(textColor, 0.1);
|
7693 |
+
var singleAvatar = !secondaryText && (leftAvatar || rightAvatar);
|
7694 |
+
var singleNoAvatar = !secondaryText && !(leftAvatar || rightAvatar);
|
7695 |
+
var twoLine = secondaryText && secondaryTextLines === 1;
|
7696 |
+
var threeLine = secondaryText && secondaryTextLines > 1;
|
7697 |
+
|
7698 |
+
var isKeyboardFocused = (props.isKeyboardFocused !== undefined ? props : state).isKeyboardFocused;
|
7699 |
+
|
7700 |
+
var styles = {
|
7701 |
+
root: {
|
7702 |
+
backgroundColor: (isKeyboardFocused || state.hovered) && !state.rightIconButtonHovered && !state.rightIconButtonKeyboardFocused ? hoverColor : null,
|
7703 |
+
color: textColor,
|
7704 |
+
display: 'block',
|
7705 |
+
fontSize: 16,
|
7706 |
+
lineHeight: '16px',
|
7707 |
+
position: 'relative',
|
7708 |
+
transition: _transitions2.default.easeOut()
|
7709 |
+
},
|
7710 |
+
|
7711 |
+
// This inner div is needed so that ripples will span the entire container
|
7712 |
+
innerDiv: {
|
7713 |
+
marginLeft: nestedLevel * listItem.nestedLevelDepth,
|
7714 |
+
paddingLeft: leftIcon || leftAvatar || leftCheckbox || insetChildren ? 72 : 16,
|
7715 |
+
paddingRight: rightIcon || rightAvatar || rightIconButton || nestedItems.length && autoGenerateNestedIndicator ? 56 : rightToggle ? 72 : 16,
|
7716 |
+
paddingBottom: singleAvatar ? 20 : 16,
|
7717 |
+
paddingTop: singleNoAvatar || threeLine ? 16 : 20,
|
7718 |
+
position: 'relative'
|
7719 |
+
},
|
7720 |
+
|
7721 |
+
icons: {
|
7722 |
+
height: 24,
|
7723 |
+
width: 24,
|
7724 |
+
display: 'block',
|
7725 |
+
position: 'absolute',
|
7726 |
+
top: twoLine ? 12 : singleAvatar ? 4 : 0,
|
7727 |
+
margin: 12
|
7728 |
+
},
|
7729 |
+
|
7730 |
+
leftIcon: {
|
7731 |
+
left: 4
|
7732 |
+
},
|
7733 |
+
|
7734 |
+
rightIcon: {
|
7735 |
+
right: 4
|
7736 |
+
},
|
7737 |
+
|
7738 |
+
avatars: {
|
7739 |
+
position: 'absolute',
|
7740 |
+
top: singleAvatar ? 8 : 16
|
7741 |
+
},
|
7742 |
+
|
7743 |
+
label: {
|
7744 |
+
cursor: 'pointer'
|
7745 |
+
},
|
7746 |
+
|
7747 |
+
leftAvatar: {
|
7748 |
+
left: 16
|
7749 |
+
},
|
7750 |
+
|
7751 |
+
rightAvatar: {
|
7752 |
+
right: 16
|
7753 |
+
},
|
7754 |
+
|
7755 |
+
leftCheckbox: {
|
7756 |
+
position: 'absolute',
|
7757 |
+
display: 'block',
|
7758 |
+
width: 24,
|
7759 |
+
top: twoLine ? 24 : singleAvatar ? 16 : 12,
|
7760 |
+
left: 16
|
7761 |
+
},
|
7762 |
+
|
7763 |
+
primaryText: {},
|
7764 |
+
|
7765 |
+
rightIconButton: {
|
7766 |
+
position: 'absolute',
|
7767 |
+
display: 'block',
|
7768 |
+
top: twoLine ? 12 : singleAvatar ? 4 : 0,
|
7769 |
+
right: 4
|
7770 |
+
},
|
7771 |
+
|
7772 |
+
rightToggle: {
|
7773 |
+
position: 'absolute',
|
7774 |
+
display: 'block',
|
7775 |
+
width: 54,
|
7776 |
+
top: twoLine ? 25 : singleAvatar ? 17 : 13,
|
7777 |
+
right: 8
|
7778 |
+
},
|
7779 |
+
|
7780 |
+
secondaryText: {
|
7781 |
+
fontSize: 14,
|
7782 |
+
lineHeight: threeLine ? '18px' : '16px',
|
7783 |
+
height: threeLine ? 36 : 16,
|
7784 |
+
margin: 0,
|
7785 |
+
marginTop: 4,
|
7786 |
+
color: listItem.secondaryTextColor,
|
7787 |
+
|
7788 |
+
// needed for 2 and 3 line ellipsis
|
7789 |
+
overflow: 'hidden',
|
7790 |
+
textOverflow: 'ellipsis',
|
7791 |
+
whiteSpace: threeLine ? null : 'nowrap',
|
7792 |
+
display: threeLine ? '-webkit-box' : null,
|
7793 |
+
WebkitLineClamp: threeLine ? 2 : null,
|
7794 |
+
WebkitBoxOrient: threeLine ? 'vertical' : null
|
7795 |
+
}
|
7796 |
+
};
|
7797 |
+
|
7798 |
+
return styles;
|
7799 |
+
}
|
7800 |
+
|
7801 |
+
var ListItem = function (_Component) {
|
7802 |
+
(0, _inherits3.default)(ListItem, _Component);
|
7803 |
+
|
7804 |
+
function ListItem() {
|
7805 |
+
var _ref;
|
7806 |
+
|
7807 |
+
var _temp, _this, _ret;
|
7808 |
+
|
7809 |
+
(0, _classCallCheck3.default)(this, ListItem);
|
7810 |
+
|
7811 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
7812 |
+
args[_key] = arguments[_key];
|
7813 |
+
}
|
7814 |
+
|
7815 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = ListItem.__proto__ || (0, _getPrototypeOf2.default)(ListItem)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
|
7816 |
+
hovered: false,
|
7817 |
+
isKeyboardFocused: false,
|
7818 |
+
open: false,
|
7819 |
+
rightIconButtonHovered: false,
|
7820 |
+
rightIconButtonKeyboardFocused: false,
|
7821 |
+
touch: false
|
7822 |
+
}, _this.handleKeyboardFocus = function (event, isKeyboardFocused) {
|
7823 |
+
_this.setState({ isKeyboardFocused: isKeyboardFocused });
|
7824 |
+
_this.props.onKeyboardFocus(event, isKeyboardFocused);
|
7825 |
+
}, _this.handleMouseEnter = function (event) {
|
7826 |
+
if (!_this.state.touch) _this.setState({ hovered: true });
|
7827 |
+
_this.props.onMouseEnter(event);
|
7828 |
+
}, _this.handleMouseLeave = function (event) {
|
7829 |
+
_this.setState({ hovered: false });
|
7830 |
+
_this.props.onMouseLeave(event);
|
7831 |
+
}, _this.handleClick = function (event) {
|
7832 |
+
if (_this.props.onClick) {
|
7833 |
+
_this.props.onClick(event);
|
7834 |
+
}
|
7835 |
+
|
7836 |
+
if (_this.props.primaryTogglesNestedList) {
|
7837 |
+
_this.handleNestedListToggle(event);
|
7838 |
+
}
|
7839 |
+
}, _this.handleNestedListToggle = function (event) {
|
7840 |
+
if (_this.props.leftCheckbox) {
|
7841 |
+
event.preventDefault();
|
7842 |
+
}
|
7843 |
+
event.stopPropagation();
|
7844 |
+
|
7845 |
+
if (_this.props.open === null) {
|
7846 |
+
_this.setState({ open: !_this.state.open }, function () {
|
7847 |
+
_this.props.onNestedListToggle(_this);
|
7848 |
+
});
|
7849 |
+
} else {
|
7850 |
+
// Exposing `this` in the callback is quite a bad API.
|
7851 |
+
// I'm doing a one level deep clone to expose a fake state.open.
|
7852 |
+
_this.props.onNestedListToggle((0, _extends3.default)({}, _this, {
|
7853 |
+
state: {
|
7854 |
+
open: !_this.state.open
|
7855 |
+
}
|
7856 |
+
}));
|
7857 |
+
}
|
7858 |
+
}, _this.handleRightIconButtonKeyboardFocus = function (event, isKeyboardFocused) {
|
7859 |
+
if (isKeyboardFocused) {
|
7860 |
+
_this.setState({
|
7861 |
+
isKeyboardFocused: false,
|
7862 |
+
rightIconButtonKeyboardFocused: isKeyboardFocused
|
7863 |
+
});
|
7864 |
+
}
|
7865 |
+
|
7866 |
+
var iconButton = _this.props.rightIconButton;
|
7867 |
+
|
7868 |
+
if (iconButton && iconButton.props.onKeyboardFocus) iconButton.props.onKeyboardFocus(event, isKeyboardFocused);
|
7869 |
+
}, _this.handleRightIconButtonMouseLeave = function (event) {
|
7870 |
+
var iconButton = _this.props.rightIconButton;
|
7871 |
+
_this.setState({ rightIconButtonHovered: false });
|
7872 |
+
if (iconButton && iconButton.props.onMouseLeave) iconButton.props.onMouseLeave(event);
|
7873 |
+
}, _this.handleRightIconButtonMouseEnter = function (event) {
|
7874 |
+
var iconButton = _this.props.rightIconButton;
|
7875 |
+
_this.setState({ rightIconButtonHovered: true });
|
7876 |
+
if (iconButton && iconButton.props.onMouseEnter) iconButton.props.onMouseEnter(event);
|
7877 |
+
}, _this.handleRightIconButtonMouseUp = function (event) {
|
7878 |
+
var iconButton = _this.props.rightIconButton;
|
7879 |
+
event.stopPropagation();
|
7880 |
+
if (iconButton && iconButton.props.onMouseUp) iconButton.props.onMouseUp(event);
|
7881 |
+
}, _this.handleRightIconButtonClick = function (event) {
|
7882 |
+
var iconButton = _this.props.rightIconButton;
|
7883 |
+
|
7884 |
+
// Stop the event from bubbling up to the list-item
|
7885 |
+
event.stopPropagation();
|
7886 |
+
if (iconButton && iconButton.props.onClick) iconButton.props.onClick(event);
|
7887 |
+
}, _this.handleTouchStart = function (event) {
|
7888 |
+
_this.setState({ touch: true });
|
7889 |
+
_this.props.onTouchStart(event);
|
7890 |
+
}, _this.handleTouchEnd = function (event) {
|
7891 |
+
_this.setState({ touch: true });
|
7892 |
+
_this.props.onTouchEnd(event);
|
7893 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
7894 |
+
}
|
7895 |
+
|
7896 |
+
(0, _createClass3.default)(ListItem, [{
|
7897 |
+
key: 'componentWillMount',
|
7898 |
+
value: function componentWillMount() {
|
7899 |
+
this.setState({
|
7900 |
+
open: this.props.open === null ? this.props.initiallyOpen === true : this.props.open
|
7901 |
+
});
|
7902 |
+
}
|
7903 |
+
}, {
|
7904 |
+
key: 'componentWillReceiveProps',
|
7905 |
+
value: function componentWillReceiveProps(nextProps) {
|
7906 |
+
// update the state when the component is controlled.
|
7907 |
+
if (nextProps.open !== null) this.setState({ open: nextProps.open });
|
7908 |
+
if (nextProps.disabled && this.state.hovered) this.setState({ hovered: false });
|
7909 |
+
}
|
7910 |
+
}, {
|
7911 |
+
key: 'shouldComponentUpdate',
|
7912 |
+
value: function shouldComponentUpdate(nextProps, nextState, nextContext) {
|
7913 |
+
return !(0, _shallowEqual2.default)(this.props, nextProps) || !(0, _shallowEqual2.default)(this.state, nextState) || !(0, _shallowEqual2.default)(this.context, nextContext);
|
7914 |
+
}
|
7915 |
+
|
7916 |
+
// This method is needed by the `MenuItem` component.
|
7917 |
+
|
7918 |
+
}, {
|
7919 |
+
key: 'applyFocusState',
|
7920 |
+
value: function applyFocusState(focusState) {
|
7921 |
+
if (this.button) {
|
7922 |
+
var buttonEl = _reactDom2.default.findDOMNode(this.button);
|
7923 |
+
|
7924 |
+
switch (focusState) {
|
7925 |
+
case 'none':
|
7926 |
+
buttonEl.blur();
|
7927 |
+
break;
|
7928 |
+
case 'focused':
|
7929 |
+
buttonEl.focus();
|
7930 |
+
break;
|
7931 |
+
case 'keyboard-focused':
|
7932 |
+
this.button.setKeyboardFocus();
|
7933 |
+
buttonEl.focus();
|
7934 |
+
break;
|
7935 |
+
}
|
7936 |
+
}
|
7937 |
+
}
|
7938 |
+
}, {
|
7939 |
+
key: 'createDisabledElement',
|
7940 |
+
value: function createDisabledElement(styles, contentChildren, additionalProps) {
|
7941 |
+
var _props = this.props,
|
7942 |
+
innerDivStyle = _props.innerDivStyle,
|
7943 |
+
style = _props.style;
|
7944 |
+
|
7945 |
+
var mergedDivStyles = (0, _simpleAssign2.default)({}, styles.root, styles.innerDiv, innerDivStyle, style);
|
7946 |
+
|
7947 |
+
return _react2.default.createElement('div', (0, _extends3.default)({}, additionalProps, {
|
7948 |
+
style: this.context.muiTheme.prepareStyles(mergedDivStyles)
|
7949 |
+
}), contentChildren);
|
7950 |
+
}
|
7951 |
+
}, {
|
7952 |
+
key: 'createLabelElement',
|
7953 |
+
value: function createLabelElement(styles, contentChildren, additionalProps) {
|
7954 |
+
var _props2 = this.props,
|
7955 |
+
innerDivStyle = _props2.innerDivStyle,
|
7956 |
+
style = _props2.style;
|
7957 |
+
|
7958 |
+
var mergedLabelStyles = (0, _simpleAssign2.default)({}, styles.root, styles.innerDiv, innerDivStyle, styles.label, style);
|
7959 |
+
|
7960 |
+
return _react2.default.createElement('label', (0, _extends3.default)({}, additionalProps, {
|
7961 |
+
style: this.context.muiTheme.prepareStyles(mergedLabelStyles)
|
7962 |
+
}), contentChildren);
|
7963 |
+
}
|
7964 |
+
}, {
|
7965 |
+
key: 'createTextElement',
|
7966 |
+
value: function createTextElement(styles, data, key) {
|
7967 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
7968 |
+
|
7969 |
+
if (_react2.default.isValidElement(data)) {
|
7970 |
+
var style = (0, _simpleAssign2.default)({}, styles, data.props.style);
|
7971 |
+
if (typeof data.type === 'string') {
|
7972 |
+
// if element is a native dom node
|
7973 |
+
style = prepareStyles(style);
|
7974 |
+
}
|
7975 |
+
return _react2.default.cloneElement(data, {
|
7976 |
+
key: key,
|
7977 |
+
style: style
|
7978 |
+
});
|
7979 |
+
}
|
7980 |
+
|
7981 |
+
return _react2.default.createElement('div', { key: key, style: prepareStyles(styles) }, data);
|
7982 |
+
}
|
7983 |
+
}, {
|
7984 |
+
key: 'pushElement',
|
7985 |
+
value: function pushElement(children, element, baseStyles, additionalProps) {
|
7986 |
+
if (element) {
|
7987 |
+
var styles = (0, _simpleAssign2.default)({}, baseStyles, element.props.style);
|
7988 |
+
children.push(_react2.default.cloneElement(element, (0, _extends3.default)({
|
7989 |
+
key: children.length,
|
7990 |
+
style: styles
|
7991 |
+
}, additionalProps)));
|
7992 |
+
}
|
7993 |
+
}
|
7994 |
+
}, {
|
7995 |
+
key: 'render',
|
7996 |
+
value: function render() {
|
7997 |
+
var _this2 = this;
|
7998 |
+
|
7999 |
+
var _props3 = this.props,
|
8000 |
+
autoGenerateNestedIndicator = _props3.autoGenerateNestedIndicator,
|
8001 |
+
children = _props3.children,
|
8002 |
+
containerElement = _props3.containerElement,
|
8003 |
+
disabled = _props3.disabled,
|
8004 |
+
disableKeyboardFocus = _props3.disableKeyboardFocus,
|
8005 |
+
hoverColor = _props3.hoverColor,
|
8006 |
+
initiallyOpen = _props3.initiallyOpen,
|
8007 |
+
innerDivStyle = _props3.innerDivStyle,
|
8008 |
+
insetChildren = _props3.insetChildren,
|
8009 |
+
leftAvatar = _props3.leftAvatar,
|
8010 |
+
leftCheckbox = _props3.leftCheckbox,
|
8011 |
+
leftIcon = _props3.leftIcon,
|
8012 |
+
nestedItems = _props3.nestedItems,
|
8013 |
+
nestedLevel = _props3.nestedLevel,
|
8014 |
+
nestedListStyle = _props3.nestedListStyle,
|
8015 |
+
onKeyboardFocus = _props3.onKeyboardFocus,
|
8016 |
+
isKeyboardFocused = _props3.isKeyboardFocused,
|
8017 |
+
onMouseEnter = _props3.onMouseEnter,
|
8018 |
+
onMouseLeave = _props3.onMouseLeave,
|
8019 |
+
onNestedListToggle = _props3.onNestedListToggle,
|
8020 |
+
onTouchStart = _props3.onTouchStart,
|
8021 |
+
onClick = _props3.onClick,
|
8022 |
+
rightAvatar = _props3.rightAvatar,
|
8023 |
+
rightIcon = _props3.rightIcon,
|
8024 |
+
rightIconButton = _props3.rightIconButton,
|
8025 |
+
rightToggle = _props3.rightToggle,
|
8026 |
+
primaryText = _props3.primaryText,
|
8027 |
+
primaryTogglesNestedList = _props3.primaryTogglesNestedList,
|
8028 |
+
secondaryText = _props3.secondaryText,
|
8029 |
+
secondaryTextLines = _props3.secondaryTextLines,
|
8030 |
+
style = _props3.style,
|
8031 |
+
other = (0, _objectWithoutProperties3.default)(_props3, ['autoGenerateNestedIndicator', 'children', 'containerElement', 'disabled', 'disableKeyboardFocus', 'hoverColor', 'initiallyOpen', 'innerDivStyle', 'insetChildren', 'leftAvatar', 'leftCheckbox', 'leftIcon', 'nestedItems', 'nestedLevel', 'nestedListStyle', 'onKeyboardFocus', 'isKeyboardFocused', 'onMouseEnter', 'onMouseLeave', 'onNestedListToggle', 'onTouchStart', 'onClick', 'rightAvatar', 'rightIcon', 'rightIconButton', 'rightToggle', 'primaryText', 'primaryTogglesNestedList', 'secondaryText', 'secondaryTextLines', 'style']);
|
8032 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
8033 |
+
|
8034 |
+
var styles = getStyles(this.props, this.context, this.state);
|
8035 |
+
var contentChildren = [children];
|
8036 |
+
|
8037 |
+
if (leftIcon) {
|
8038 |
+
var additionalProps = {
|
8039 |
+
color: leftIcon.props.color || this.context.muiTheme.listItem.leftIconColor
|
8040 |
+
};
|
8041 |
+
this.pushElement(contentChildren, leftIcon, (0, _simpleAssign2.default)({}, styles.icons, styles.leftIcon), additionalProps);
|
8042 |
+
}
|
8043 |
+
|
8044 |
+
if (rightIcon) {
|
8045 |
+
var _additionalProps = {
|
8046 |
+
color: rightIcon.props.color || this.context.muiTheme.listItem.rightIconColor
|
8047 |
+
};
|
8048 |
+
this.pushElement(contentChildren, rightIcon, (0, _simpleAssign2.default)({}, styles.icons, styles.rightIcon), _additionalProps);
|
8049 |
+
}
|
8050 |
+
|
8051 |
+
if (leftAvatar) {
|
8052 |
+
this.pushElement(contentChildren, leftAvatar, (0, _simpleAssign2.default)({}, styles.avatars, styles.leftAvatar));
|
8053 |
+
}
|
8054 |
+
|
8055 |
+
if (rightAvatar) {
|
8056 |
+
this.pushElement(contentChildren, rightAvatar, (0, _simpleAssign2.default)({}, styles.avatars, styles.rightAvatar));
|
8057 |
+
}
|
8058 |
+
|
8059 |
+
if (leftCheckbox) {
|
8060 |
+
this.pushElement(contentChildren, leftCheckbox, (0, _simpleAssign2.default)({}, styles.leftCheckbox));
|
8061 |
+
}
|
8062 |
+
|
8063 |
+
// RightIconButtonElement
|
8064 |
+
var hasNestListItems = nestedItems.length;
|
8065 |
+
var hasRightElement = rightAvatar || rightIcon || rightIconButton || rightToggle;
|
8066 |
+
var needsNestedIndicator = hasNestListItems && autoGenerateNestedIndicator && !hasRightElement;
|
8067 |
+
|
8068 |
+
if (rightIconButton || needsNestedIndicator) {
|
8069 |
+
var rightIconButtonElement = rightIconButton;
|
8070 |
+
var rightIconButtonHandlers = {
|
8071 |
+
onKeyboardFocus: this.handleRightIconButtonKeyboardFocus,
|
8072 |
+
onMouseEnter: this.handleRightIconButtonMouseEnter,
|
8073 |
+
onMouseLeave: this.handleRightIconButtonMouseLeave,
|
8074 |
+
onClick: this.handleRightIconButtonClick,
|
8075 |
+
onMouseDown: this.handleRightIconButtonMouseUp,
|
8076 |
+
onMouseUp: this.handleRightIconButtonMouseUp
|
8077 |
+
};
|
8078 |
+
|
8079 |
+
// Create a nested list indicator icon if we don't have an icon on the right
|
8080 |
+
if (needsNestedIndicator) {
|
8081 |
+
rightIconButtonElement = this.state.open ? _react2.default.createElement(_IconButton2.default, null, _react2.default.createElement(_expandLess2.default, null)) : _react2.default.createElement(_IconButton2.default, null, _react2.default.createElement(_expandMore2.default, null));
|
8082 |
+
rightIconButtonHandlers.onClick = this.handleNestedListToggle;
|
8083 |
+
}
|
8084 |
+
|
8085 |
+
this.pushElement(contentChildren, rightIconButtonElement, (0, _simpleAssign2.default)({}, styles.rightIconButton), rightIconButtonHandlers);
|
8086 |
+
}
|
8087 |
+
|
8088 |
+
if (rightToggle) {
|
8089 |
+
this.pushElement(contentChildren, rightToggle, (0, _simpleAssign2.default)({}, styles.rightToggle));
|
8090 |
+
}
|
8091 |
+
|
8092 |
+
if (primaryText) {
|
8093 |
+
var primaryTextElement = this.createTextElement(styles.primaryText, primaryText, 'primaryText');
|
8094 |
+
contentChildren.push(primaryTextElement);
|
8095 |
+
}
|
8096 |
+
|
8097 |
+
if (secondaryText) {
|
8098 |
+
var secondaryTextElement = this.createTextElement(styles.secondaryText, secondaryText, 'secondaryText');
|
8099 |
+
contentChildren.push(secondaryTextElement);
|
8100 |
+
}
|
8101 |
+
|
8102 |
+
var nestedList = nestedItems.length ? _react2.default.createElement(_NestedList2.default, { nestedLevel: nestedLevel, open: this.state.open, style: nestedListStyle }, nestedItems) : undefined;
|
8103 |
+
|
8104 |
+
var simpleLabel = !primaryTogglesNestedList && (leftCheckbox || rightToggle);
|
8105 |
+
|
8106 |
+
return _react2.default.createElement('div', null, simpleLabel ? this.createLabelElement(styles, contentChildren, other) : disabled ? this.createDisabledElement(styles, contentChildren, other) : _react2.default.createElement(_EnhancedButton2.default, (0, _extends3.default)({
|
8107 |
+
containerElement: containerElement
|
8108 |
+
}, other, {
|
8109 |
+
disableKeyboardFocus: disableKeyboardFocus || this.state.rightIconButtonKeyboardFocused,
|
8110 |
+
onKeyboardFocus: this.handleKeyboardFocus,
|
8111 |
+
onMouseLeave: this.handleMouseLeave,
|
8112 |
+
onMouseEnter: this.handleMouseEnter,
|
8113 |
+
onTouchStart: this.handleTouchStart,
|
8114 |
+
onTouchEnd: this.handleTouchEnd,
|
8115 |
+
onClick: this.handleClick,
|
8116 |
+
disabled: disabled,
|
8117 |
+
ref: function ref(node) {
|
8118 |
+
return _this2.button = node;
|
8119 |
+
},
|
8120 |
+
style: (0, _simpleAssign2.default)({}, styles.root, style)
|
8121 |
+
}), _react2.default.createElement('div', { style: prepareStyles((0, _simpleAssign2.default)(styles.innerDiv, innerDivStyle)) }, contentChildren)), nestedList);
|
8122 |
+
}
|
8123 |
+
}]);
|
8124 |
+
return ListItem;
|
8125 |
+
}(_react.Component);
|
8126 |
+
|
8127 |
+
ListItem.muiName = 'ListItem';
|
8128 |
+
ListItem.defaultProps = {
|
8129 |
+
autoGenerateNestedIndicator: true,
|
8130 |
+
containerElement: 'span',
|
8131 |
+
disableKeyboardFocus: false,
|
8132 |
+
disabled: false,
|
8133 |
+
initiallyOpen: false,
|
8134 |
+
insetChildren: false,
|
8135 |
+
nestedItems: [],
|
8136 |
+
nestedLevel: 0,
|
8137 |
+
onKeyboardFocus: function onKeyboardFocus() {},
|
8138 |
+
onMouseEnter: function onMouseEnter() {},
|
8139 |
+
onMouseLeave: function onMouseLeave() {},
|
8140 |
+
onNestedListToggle: function onNestedListToggle() {},
|
8141 |
+
onTouchEnd: function onTouchEnd() {},
|
8142 |
+
onTouchStart: function onTouchStart() {},
|
8143 |
+
open: null,
|
8144 |
+
primaryTogglesNestedList: false,
|
8145 |
+
secondaryTextLines: 1
|
8146 |
+
};
|
8147 |
+
ListItem.contextTypes = {
|
8148 |
+
muiTheme: _propTypes2.default.object.isRequired
|
8149 |
+
};
|
8150 |
+
ListItem.propTypes = process.env.NODE_ENV !== "production" ? {
|
8151 |
+
/**
|
8152 |
+
* If true, generate a nested-list-indicator icon when nested list
|
8153 |
+
* items are detected. Note that an indicator will not be created
|
8154 |
+
* if a `rightIcon` or `rightIconButton` has been provided to
|
8155 |
+
* the element.
|
8156 |
+
*/
|
8157 |
+
autoGenerateNestedIndicator: _propTypes2.default.bool,
|
8158 |
+
/**
|
8159 |
+
* Children passed into the `ListItem`.
|
8160 |
+
*/
|
8161 |
+
children: _propTypes2.default.node,
|
8162 |
+
/**
|
8163 |
+
* The element to use as the container for the ListItem. Either a string to
|
8164 |
+
* use a DOM element or a ReactElement. This is useful for wrapping the
|
8165 |
+
* ListItem in a custom Link component. If a ReactElement is given, ensure
|
8166 |
+
* that it passes all of its given props through to the underlying DOM
|
8167 |
+
* element and renders its children prop for proper integration.
|
8168 |
+
*/
|
8169 |
+
containerElement: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
8170 |
+
/**
|
8171 |
+
* If true, the element will not be able to be focused by the keyboard.
|
8172 |
+
*/
|
8173 |
+
disableKeyboardFocus: _propTypes2.default.bool,
|
8174 |
+
/**
|
8175 |
+
* If true, the element will not be clickable
|
8176 |
+
* and will not display hover effects.
|
8177 |
+
* This is automatically disabled if either `leftCheckbox`
|
8178 |
+
* or `rightToggle` is set.
|
8179 |
+
*/
|
8180 |
+
disabled: _propTypes2.default.bool,
|
8181 |
+
/**
|
8182 |
+
* Override the hover background color.
|
8183 |
+
*/
|
8184 |
+
hoverColor: _propTypes2.default.string,
|
8185 |
+
/**
|
8186 |
+
* If true, the nested `ListItem`s are initially displayed.
|
8187 |
+
*/
|
8188 |
+
initiallyOpen: _propTypes2.default.bool,
|
8189 |
+
/**
|
8190 |
+
* Override the inline-styles of the inner div element.
|
8191 |
+
*/
|
8192 |
+
innerDivStyle: _propTypes2.default.object,
|
8193 |
+
/**
|
8194 |
+
* If true, the children will be indented by 72px.
|
8195 |
+
* This is useful if there is no left avatar or left icon.
|
8196 |
+
*/
|
8197 |
+
insetChildren: _propTypes2.default.bool,
|
8198 |
+
/**
|
8199 |
+
* Use to control if the list item should render as keyboard focused. If
|
8200 |
+
* undefined (default), this will be automatically managed. If provided,
|
8201 |
+
* it will change the components style. Note that this will not change the
|
8202 |
+
* actual focus - and should only be used when you want to simulate
|
8203 |
+
* keyboard focus (eg. in a rich text input autocomplete).
|
8204 |
+
*/
|
8205 |
+
isKeyboardFocused: _propTypes2.default.bool,
|
8206 |
+
/**
|
8207 |
+
* This is the `Avatar` element to be displayed on the left side.
|
8208 |
+
*/
|
8209 |
+
leftAvatar: _propTypes2.default.element,
|
8210 |
+
/**
|
8211 |
+
* This is the `Checkbox` element to be displayed on the left side.
|
8212 |
+
*/
|
8213 |
+
leftCheckbox: _propTypes2.default.element,
|
8214 |
+
/**
|
8215 |
+
* This is the `SvgIcon` or `FontIcon` to be displayed on the left side.
|
8216 |
+
*/
|
8217 |
+
leftIcon: _propTypes2.default.element,
|
8218 |
+
/**
|
8219 |
+
* An array of `ListItem`s to nest underneath the current `ListItem`.
|
8220 |
+
*/
|
8221 |
+
nestedItems: _propTypes2.default.arrayOf(_propTypes2.default.element),
|
8222 |
+
/**
|
8223 |
+
* Controls how deep a `ListItem` appears.
|
8224 |
+
* This property is automatically managed, so modify at your own risk.
|
8225 |
+
*/
|
8226 |
+
nestedLevel: _propTypes2.default.number,
|
8227 |
+
/**
|
8228 |
+
* Override the inline-styles of the nested items' `NestedList`.
|
8229 |
+
*/
|
8230 |
+
nestedListStyle: _propTypes2.default.object,
|
8231 |
+
/**
|
8232 |
+
* Callback function fired when the list item is clicked.
|
8233 |
+
*
|
8234 |
+
* @param {object} event Click event targeting the list item.
|
8235 |
+
*/
|
8236 |
+
onClick: _propTypes2.default.func,
|
8237 |
+
/**
|
8238 |
+
* Callback function fired when the `ListItem` is focused or blurred by the keyboard.
|
8239 |
+
*
|
8240 |
+
* @param {object} event `focus` or `blur` event targeting the `ListItem`.
|
8241 |
+
* @param {boolean} isKeyboardFocused If true, the `ListItem` is focused.
|
8242 |
+
*/
|
8243 |
+
onKeyboardFocus: _propTypes2.default.func,
|
8244 |
+
/** @ignore */
|
8245 |
+
onMouseEnter: _propTypes2.default.func,
|
8246 |
+
/** @ignore */
|
8247 |
+
onMouseLeave: _propTypes2.default.func,
|
8248 |
+
/**
|
8249 |
+
* Callback function fired when the `ListItem` toggles its nested list.
|
8250 |
+
*
|
8251 |
+
* @param {object} listItem The `ListItem`.
|
8252 |
+
*/
|
8253 |
+
onNestedListToggle: _propTypes2.default.func,
|
8254 |
+
/** @ignore */
|
8255 |
+
onTouchEnd: _propTypes2.default.func,
|
8256 |
+
/** @ignore */
|
8257 |
+
onTouchStart: _propTypes2.default.func,
|
8258 |
+
/**
|
8259 |
+
* Control toggle state of nested list.
|
8260 |
+
*/
|
8261 |
+
open: _propTypes2.default.bool,
|
8262 |
+
/**
|
8263 |
+
* This is the block element that contains the primary text.
|
8264 |
+
* If a string is passed in, a div tag will be rendered.
|
8265 |
+
*/
|
8266 |
+
primaryText: _propTypes2.default.node,
|
8267 |
+
/**
|
8268 |
+
* If true, clicking or tapping the primary text of the `ListItem`
|
8269 |
+
* toggles the nested list.
|
8270 |
+
*/
|
8271 |
+
primaryTogglesNestedList: _propTypes2.default.bool,
|
8272 |
+
/**
|
8273 |
+
* This is the `Avatar` element to be displayed on the right side.
|
8274 |
+
*/
|
8275 |
+
rightAvatar: _propTypes2.default.element,
|
8276 |
+
/**
|
8277 |
+
* This is the `SvgIcon` or `FontIcon` to be displayed on the right side.
|
8278 |
+
*/
|
8279 |
+
rightIcon: _propTypes2.default.element,
|
8280 |
+
/**
|
8281 |
+
* This is the `IconButton` to be displayed on the right side.
|
8282 |
+
* Hovering over this button will remove the `ListItem` hover.
|
8283 |
+
* Also, clicking on this button will not trigger a
|
8284 |
+
* ripple on the `ListItem`; the event will be stopped and prevented
|
8285 |
+
* from bubbling up to cause a `ListItem` click.
|
8286 |
+
*/
|
8287 |
+
rightIconButton: _propTypes2.default.element,
|
8288 |
+
/**
|
8289 |
+
* This is the `Toggle` element to display on the right side.
|
8290 |
+
*/
|
8291 |
+
rightToggle: _propTypes2.default.element,
|
8292 |
+
/**
|
8293 |
+
* This is the block element that contains the secondary text.
|
8294 |
+
* If a string is passed in, a div tag will be rendered.
|
8295 |
+
*/
|
8296 |
+
secondaryText: _propTypes2.default.node,
|
8297 |
+
/**
|
8298 |
+
* Can be 1 or 2. This is the number of secondary
|
8299 |
+
* text lines before ellipsis will show.
|
8300 |
+
*/
|
8301 |
+
secondaryTextLines: _propTypes2.default.oneOf([1, 2]),
|
8302 |
+
/**
|
8303 |
+
* Override the inline-styles of the root element.
|
8304 |
+
*/
|
8305 |
+
style: _propTypes2.default.object
|
8306 |
+
} : {};
|
8307 |
+
exports.default = ListItem;
|
8308 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
8309 |
+
|
8310 |
+
/***/ }),
|
8311 |
+
/* 118 */
|
8312 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8313 |
+
|
8314 |
+
"use strict";
|
8315 |
+
|
8316 |
+
|
8317 |
+
Object.defineProperty(exports, "__esModule", {
|
8318 |
+
value: true
|
8319 |
+
});
|
8320 |
+
exports.default = undefined;
|
8321 |
+
|
8322 |
+
var _Checkbox = __webpack_require__(371);
|
8323 |
+
|
8324 |
+
var _Checkbox2 = _interopRequireDefault(_Checkbox);
|
8325 |
+
|
8326 |
+
function _interopRequireDefault(obj) {
|
8327 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
8328 |
+
}
|
8329 |
+
|
8330 |
+
exports.default = _Checkbox2.default;
|
8331 |
+
|
8332 |
+
/***/ }),
|
8333 |
+
/* 119 */
|
8334 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8335 |
+
|
8336 |
+
"use strict";
|
8337 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
8338 |
+
|
8339 |
+
Object.defineProperty(exports, "__esModule", {
|
8340 |
+
value: true
|
8341 |
+
});
|
8342 |
+
|
8343 |
+
var _extends2 = __webpack_require__(9);
|
8344 |
+
|
8345 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
8346 |
+
|
8347 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
8348 |
+
|
8349 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
8350 |
+
|
8351 |
+
var _getPrototypeOf = __webpack_require__(5);
|
8352 |
+
|
8353 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
8354 |
+
|
8355 |
+
var _classCallCheck2 = __webpack_require__(3);
|
8356 |
+
|
8357 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
8358 |
+
|
8359 |
+
var _createClass2 = __webpack_require__(4);
|
8360 |
+
|
8361 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
8362 |
+
|
8363 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
8364 |
+
|
8365 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
8366 |
+
|
8367 |
+
var _inherits2 = __webpack_require__(7);
|
8368 |
+
|
8369 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
8370 |
+
|
8371 |
+
var _simpleAssign = __webpack_require__(8);
|
8372 |
+
|
8373 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
8374 |
+
|
8375 |
+
var _react = __webpack_require__(0);
|
8376 |
+
|
8377 |
+
var _react2 = _interopRequireDefault(_react);
|
8378 |
+
|
8379 |
+
var _propTypes = __webpack_require__(2);
|
8380 |
+
|
8381 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
8382 |
+
|
8383 |
+
var _reactEventListener = __webpack_require__(31);
|
8384 |
+
|
8385 |
+
var _reactEventListener2 = _interopRequireDefault(_reactEventListener);
|
8386 |
+
|
8387 |
+
var _keycode = __webpack_require__(22);
|
8388 |
+
|
8389 |
+
var _keycode2 = _interopRequireDefault(_keycode);
|
8390 |
+
|
8391 |
+
var _transitions = __webpack_require__(12);
|
8392 |
+
|
8393 |
+
var _transitions2 = _interopRequireDefault(_transitions);
|
8394 |
+
|
8395 |
+
var _FocusRipple = __webpack_require__(111);
|
8396 |
+
|
8397 |
+
var _FocusRipple2 = _interopRequireDefault(_FocusRipple);
|
8398 |
+
|
8399 |
+
var _TouchRipple = __webpack_require__(166);
|
8400 |
+
|
8401 |
+
var _TouchRipple2 = _interopRequireDefault(_TouchRipple);
|
8402 |
+
|
8403 |
+
var _Paper = __webpack_require__(20);
|
8404 |
+
|
8405 |
+
var _Paper2 = _interopRequireDefault(_Paper);
|
8406 |
+
|
8407 |
+
var _warning = __webpack_require__(16);
|
8408 |
+
|
8409 |
+
var _warning2 = _interopRequireDefault(_warning);
|
8410 |
+
|
8411 |
+
function _interopRequireDefault(obj) {
|
8412 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
8413 |
+
}
|
8414 |
+
|
8415 |
+
function getStyles(props, context) {
|
8416 |
+
var baseTheme = context.muiTheme.baseTheme;
|
8417 |
+
|
8418 |
+
return {
|
8419 |
+
root: {
|
8420 |
+
cursor: props.disabled ? 'not-allowed' : 'pointer',
|
8421 |
+
position: 'relative',
|
8422 |
+
overflow: 'visible',
|
8423 |
+
display: 'table',
|
8424 |
+
height: 'auto',
|
8425 |
+
width: '100%'
|
8426 |
+
},
|
8427 |
+
input: {
|
8428 |
+
position: 'absolute',
|
8429 |
+
cursor: 'inherit',
|
8430 |
+
pointerEvents: 'all',
|
8431 |
+
opacity: 0,
|
8432 |
+
width: '100%',
|
8433 |
+
height: '100%',
|
8434 |
+
zIndex: 2,
|
8435 |
+
left: 0,
|
8436 |
+
boxSizing: 'border-box',
|
8437 |
+
padding: 0,
|
8438 |
+
margin: 0
|
8439 |
+
},
|
8440 |
+
controls: {
|
8441 |
+
display: 'flex',
|
8442 |
+
width: '100%',
|
8443 |
+
height: '100%'
|
8444 |
+
},
|
8445 |
+
label: {
|
8446 |
+
float: 'left',
|
8447 |
+
position: 'relative',
|
8448 |
+
display: 'block',
|
8449 |
+
width: 'calc(100% - 60px)',
|
8450 |
+
lineHeight: '24px',
|
8451 |
+
color: baseTheme.palette.textColor,
|
8452 |
+
fontFamily: baseTheme.fontFamily
|
8453 |
+
},
|
8454 |
+
wrap: {
|
8455 |
+
transition: _transitions2.default.easeOut(),
|
8456 |
+
float: 'left',
|
8457 |
+
position: 'relative',
|
8458 |
+
display: 'block',
|
8459 |
+
flexShrink: 0,
|
8460 |
+
width: 60 - baseTheme.spacing.desktopGutterLess,
|
8461 |
+
marginRight: props.labelPosition === 'right' ? baseTheme.spacing.desktopGutterLess : 0,
|
8462 |
+
marginLeft: props.labelPosition === 'left' ? baseTheme.spacing.desktopGutterLess : 0
|
8463 |
+
},
|
8464 |
+
ripple: {
|
8465 |
+
color: props.rippleColor || baseTheme.palette.primary1Color,
|
8466 |
+
height: '200%',
|
8467 |
+
width: '200%',
|
8468 |
+
top: -12,
|
8469 |
+
left: -12
|
8470 |
+
}
|
8471 |
+
};
|
8472 |
+
}
|
8473 |
+
|
8474 |
+
var EnhancedSwitch = function (_Component) {
|
8475 |
+
(0, _inherits3.default)(EnhancedSwitch, _Component);
|
8476 |
+
|
8477 |
+
function EnhancedSwitch() {
|
8478 |
+
var _ref;
|
8479 |
+
|
8480 |
+
var _temp, _this, _ret;
|
8481 |
+
|
8482 |
+
(0, _classCallCheck3.default)(this, EnhancedSwitch);
|
8483 |
+
|
8484 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
8485 |
+
args[_key] = arguments[_key];
|
8486 |
+
}
|
8487 |
+
|
8488 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = EnhancedSwitch.__proto__ || (0, _getPrototypeOf2.default)(EnhancedSwitch)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
|
8489 |
+
isKeyboardFocused: false
|
8490 |
+
}, _this.handleChange = function (event) {
|
8491 |
+
_this.tabPressed = false;
|
8492 |
+
_this.setState({
|
8493 |
+
isKeyboardFocused: false
|
8494 |
+
});
|
8495 |
+
|
8496 |
+
var isInputChecked = _this.refs.checkbox.checked;
|
8497 |
+
|
8498 |
+
if (!_this.props.hasOwnProperty('checked') && _this.props.onParentShouldUpdate) {
|
8499 |
+
_this.props.onParentShouldUpdate(isInputChecked);
|
8500 |
+
}
|
8501 |
+
|
8502 |
+
if (_this.props.onSwitch) {
|
8503 |
+
_this.props.onSwitch(event, isInputChecked);
|
8504 |
+
}
|
8505 |
+
}, _this.handleKeyDown = function (event) {
|
8506 |
+
var code = (0, _keycode2.default)(event);
|
8507 |
+
|
8508 |
+
if (code === 'tab') {
|
8509 |
+
_this.tabPressed = true;
|
8510 |
+
}
|
8511 |
+
if (_this.state.isKeyboardFocused && code === 'space') {
|
8512 |
+
_this.handleChange(event);
|
8513 |
+
}
|
8514 |
+
}, _this.handleKeyUp = function (event) {
|
8515 |
+
if (_this.state.isKeyboardFocused && (0, _keycode2.default)(event) === 'space') {
|
8516 |
+
_this.handleChange(event);
|
8517 |
+
}
|
8518 |
+
}, _this.handleMouseDown = function (event) {
|
8519 |
+
// only listen to left clicks
|
8520 |
+
if (event.button === 0) {
|
8521 |
+
_this.refs.touchRipple.start(event);
|
8522 |
+
}
|
8523 |
+
}, _this.handleMouseUp = function () {
|
8524 |
+
_this.refs.touchRipple.end();
|
8525 |
+
}, _this.handleMouseLeave = function () {
|
8526 |
+
_this.refs.touchRipple.end();
|
8527 |
+
}, _this.handleTouchStart = function (event) {
|
8528 |
+
_this.refs.touchRipple.start(event);
|
8529 |
+
}, _this.handleTouchEnd = function () {
|
8530 |
+
_this.refs.touchRipple.end();
|
8531 |
+
}, _this.handleBlur = function (event) {
|
8532 |
+
_this.setState({
|
8533 |
+
isKeyboardFocused: false
|
8534 |
+
});
|
8535 |
+
|
8536 |
+
if (_this.props.onBlur) {
|
8537 |
+
_this.props.onBlur(event);
|
8538 |
+
}
|
8539 |
+
}, _this.handleFocus = function (event) {
|
8540 |
+
// setTimeout is needed becuase the focus event fires first
|
8541 |
+
// Wait so that we can capture if this was a keyboard focus
|
8542 |
+
// or touch focus
|
8543 |
+
setTimeout(function () {
|
8544 |
+
if (_this.tabPressed) {
|
8545 |
+
_this.setState({
|
8546 |
+
isKeyboardFocused: true
|
8547 |
+
});
|
8548 |
+
}
|
8549 |
+
}, 150);
|
8550 |
+
|
8551 |
+
if (_this.props.onFocus) {
|
8552 |
+
_this.props.onFocus(event);
|
8553 |
+
}
|
8554 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
8555 |
+
}
|
8556 |
+
|
8557 |
+
(0, _createClass3.default)(EnhancedSwitch, [{
|
8558 |
+
key: 'componentWillMount',
|
8559 |
+
value: function componentWillMount() {
|
8560 |
+
this.componentWillReceiveProps(this.props);
|
8561 |
+
}
|
8562 |
+
}, {
|
8563 |
+
key: 'componentDidMount',
|
8564 |
+
value: function componentDidMount() {
|
8565 |
+
var inputNode = this.refs.checkbox;
|
8566 |
+
if ((!this.props.switched || inputNode.checked !== this.props.switched) && this.props.onParentShouldUpdate) {
|
8567 |
+
this.props.onParentShouldUpdate(inputNode.checked);
|
8568 |
+
}
|
8569 |
+
}
|
8570 |
+
}, {
|
8571 |
+
key: 'componentWillReceiveProps',
|
8572 |
+
value: function componentWillReceiveProps(nextProps) {
|
8573 |
+
var hasCheckedProp = nextProps.hasOwnProperty('checked');
|
8574 |
+
var hasNewDefaultProp = nextProps.hasOwnProperty('defaultChecked') && nextProps.defaultChecked !== this.props.defaultChecked;
|
8575 |
+
|
8576 |
+
if (hasCheckedProp || hasNewDefaultProp) {
|
8577 |
+
var switched = nextProps.checked || nextProps.defaultChecked || false;
|
8578 |
+
|
8579 |
+
this.setState({
|
8580 |
+
switched: switched
|
8581 |
+
});
|
8582 |
+
|
8583 |
+
if (this.props.onParentShouldUpdate && switched !== this.props.switched) {
|
8584 |
+
this.props.onParentShouldUpdate(switched);
|
8585 |
+
}
|
8586 |
+
}
|
8587 |
+
}
|
8588 |
+
}, {
|
8589 |
+
key: 'isSwitched',
|
8590 |
+
value: function isSwitched() {
|
8591 |
+
return this.refs.checkbox.checked;
|
8592 |
+
}
|
8593 |
+
|
8594 |
+
// no callback here because there is no event
|
8595 |
+
|
8596 |
+
}, {
|
8597 |
+
key: 'setSwitched',
|
8598 |
+
value: function setSwitched(newSwitchedValue) {
|
8599 |
+
if (!this.props.hasOwnProperty('checked') || this.props.checked === false) {
|
8600 |
+
if (this.props.onParentShouldUpdate) {
|
8601 |
+
this.props.onParentShouldUpdate(newSwitchedValue);
|
8602 |
+
}
|
8603 |
+
this.refs.checkbox.checked = newSwitchedValue;
|
8604 |
+
} else {
|
8605 |
+
process.env.NODE_ENV !== "production" ? (0, _warning2.default)(false, 'Material-UI: Cannot call set method while checked is defined as a property.') : void 0;
|
8606 |
+
}
|
8607 |
+
}
|
8608 |
+
}, {
|
8609 |
+
key: 'getValue',
|
8610 |
+
value: function getValue() {
|
8611 |
+
return this.refs.checkbox.value;
|
8612 |
+
}
|
8613 |
+
|
8614 |
+
// Checkbox inputs only use SPACE to change their state. Using ENTER will
|
8615 |
+
// update the ui but not the input.
|
8616 |
+
|
8617 |
+
|
8618 |
+
/**
|
8619 |
+
* Because both the ripples and the checkbox input cannot share pointer
|
8620 |
+
* events, the checkbox input takes control of pointer events and calls
|
8621 |
+
* ripple animations manually.
|
8622 |
+
*/
|
8623 |
+
|
8624 |
+
}, {
|
8625 |
+
key: 'render',
|
8626 |
+
value: function render() {
|
8627 |
+
var _props = this.props,
|
8628 |
+
name = _props.name,
|
8629 |
+
value = _props.value,
|
8630 |
+
checked = _props.checked,
|
8631 |
+
iconStyle = _props.iconStyle,
|
8632 |
+
inputStyle = _props.inputStyle,
|
8633 |
+
inputType = _props.inputType,
|
8634 |
+
label = _props.label,
|
8635 |
+
labelStyle = _props.labelStyle,
|
8636 |
+
labelPosition = _props.labelPosition,
|
8637 |
+
onSwitch = _props.onSwitch,
|
8638 |
+
onBlur = _props.onBlur,
|
8639 |
+
onFocus = _props.onFocus,
|
8640 |
+
onMouseUp = _props.onMouseUp,
|
8641 |
+
onMouseDown = _props.onMouseDown,
|
8642 |
+
onMouseLeave = _props.onMouseLeave,
|
8643 |
+
onTouchStart = _props.onTouchStart,
|
8644 |
+
onTouchEnd = _props.onTouchEnd,
|
8645 |
+
onParentShouldUpdate = _props.onParentShouldUpdate,
|
8646 |
+
disabled = _props.disabled,
|
8647 |
+
disableTouchRipple = _props.disableTouchRipple,
|
8648 |
+
disableFocusRipple = _props.disableFocusRipple,
|
8649 |
+
className = _props.className,
|
8650 |
+
rippleColor = _props.rippleColor,
|
8651 |
+
rippleStyle = _props.rippleStyle,
|
8652 |
+
style = _props.style,
|
8653 |
+
switched = _props.switched,
|
8654 |
+
switchElement = _props.switchElement,
|
8655 |
+
thumbStyle = _props.thumbStyle,
|
8656 |
+
trackStyle = _props.trackStyle,
|
8657 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['name', 'value', 'checked', 'iconStyle', 'inputStyle', 'inputType', 'label', 'labelStyle', 'labelPosition', 'onSwitch', 'onBlur', 'onFocus', 'onMouseUp', 'onMouseDown', 'onMouseLeave', 'onTouchStart', 'onTouchEnd', 'onParentShouldUpdate', 'disabled', 'disableTouchRipple', 'disableFocusRipple', 'className', 'rippleColor', 'rippleStyle', 'style', 'switched', 'switchElement', 'thumbStyle', 'trackStyle']);
|
8658 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
8659 |
+
|
8660 |
+
var styles = getStyles(this.props, this.context);
|
8661 |
+
var wrapStyles = (0, _simpleAssign2.default)(styles.wrap, iconStyle);
|
8662 |
+
var mergedRippleStyle = (0, _simpleAssign2.default)(styles.ripple, rippleStyle);
|
8663 |
+
|
8664 |
+
if (thumbStyle) {
|
8665 |
+
wrapStyles.marginLeft /= 2;
|
8666 |
+
wrapStyles.marginRight /= 2;
|
8667 |
+
}
|
8668 |
+
|
8669 |
+
var labelElement = label && _react2.default.createElement('label', { style: prepareStyles((0, _simpleAssign2.default)(styles.label, labelStyle)) }, label);
|
8670 |
+
|
8671 |
+
var showTouchRipple = !disabled && !disableTouchRipple;
|
8672 |
+
var showFocusRipple = !disabled && !disableFocusRipple;
|
8673 |
+
|
8674 |
+
var touchRipple = _react2.default.createElement(_TouchRipple2.default, {
|
8675 |
+
ref: 'touchRipple',
|
8676 |
+
key: 'touchRipple',
|
8677 |
+
style: mergedRippleStyle,
|
8678 |
+
color: mergedRippleStyle.color,
|
8679 |
+
muiTheme: this.context.muiTheme,
|
8680 |
+
centerRipple: true
|
8681 |
+
});
|
8682 |
+
|
8683 |
+
var focusRipple = _react2.default.createElement(_FocusRipple2.default, {
|
8684 |
+
key: 'focusRipple',
|
8685 |
+
innerStyle: mergedRippleStyle,
|
8686 |
+
color: mergedRippleStyle.color,
|
8687 |
+
muiTheme: this.context.muiTheme,
|
8688 |
+
show: this.state.isKeyboardFocused
|
8689 |
+
});
|
8690 |
+
|
8691 |
+
var ripples = [showTouchRipple ? touchRipple : null, showFocusRipple ? focusRipple : null];
|
8692 |
+
|
8693 |
+
var touchHandlers = showTouchRipple ? {
|
8694 |
+
onMouseUp: this.handleMouseUp,
|
8695 |
+
onMouseDown: this.handleMouseDown,
|
8696 |
+
onMouseLeave: this.handleMouseLeave,
|
8697 |
+
onTouchStart: this.handleTouchStart,
|
8698 |
+
onTouchEnd: this.handleTouchEnd
|
8699 |
+
} : {};
|
8700 |
+
|
8701 |
+
var inputElement = _react2.default.createElement('input', (0, _extends3.default)({}, other, {
|
8702 |
+
ref: 'checkbox',
|
8703 |
+
type: inputType,
|
8704 |
+
style: prepareStyles((0, _simpleAssign2.default)(styles.input, inputStyle)),
|
8705 |
+
name: name,
|
8706 |
+
value: value,
|
8707 |
+
checked: this.state.switched,
|
8708 |
+
disabled: disabled,
|
8709 |
+
onBlur: this.handleBlur,
|
8710 |
+
onFocus: this.handleFocus,
|
8711 |
+
onChange: this.handleChange
|
8712 |
+
}, touchHandlers));
|
8713 |
+
|
8714 |
+
// If toggle component (indicated by whether the style includes thumb) manually lay out
|
8715 |
+
// elements in order to nest ripple elements
|
8716 |
+
var switchOrThumbElement = !thumbStyle ? _react2.default.createElement('div', { style: prepareStyles(wrapStyles) }, switchElement, ripples) : _react2.default.createElement('div', { style: prepareStyles(wrapStyles) }, _react2.default.createElement('div', { style: prepareStyles((0, _simpleAssign2.default)({}, trackStyle)) }), _react2.default.createElement(_Paper2.default, { style: thumbStyle, zDepth: 1, circle: true }, ' ', ripples, ' '));
|
8717 |
+
|
8718 |
+
var elementsInOrder = labelPosition === 'right' ? _react2.default.createElement('div', { style: styles.controls }, switchOrThumbElement, labelElement) : _react2.default.createElement('div', { style: styles.controls }, labelElement, switchOrThumbElement);
|
8719 |
+
|
8720 |
+
return _react2.default.createElement('div', { ref: 'root', className: className, style: prepareStyles((0, _simpleAssign2.default)(styles.root, style)) }, _react2.default.createElement(_reactEventListener2.default, {
|
8721 |
+
target: 'window',
|
8722 |
+
onKeyDown: this.handleKeyDown,
|
8723 |
+
onKeyUp: this.handleKeyUp
|
8724 |
+
}), inputElement, elementsInOrder);
|
8725 |
+
}
|
8726 |
+
}]);
|
8727 |
+
return EnhancedSwitch;
|
8728 |
+
}(_react.Component);
|
8729 |
+
|
8730 |
+
EnhancedSwitch.contextTypes = {
|
8731 |
+
muiTheme: _propTypes2.default.object.isRequired
|
8732 |
+
};
|
8733 |
+
EnhancedSwitch.propTypes = process.env.NODE_ENV !== "production" ? {
|
8734 |
+
checked: _propTypes2.default.bool,
|
8735 |
+
className: _propTypes2.default.string,
|
8736 |
+
defaultChecked: _propTypes2.default.bool,
|
8737 |
+
disableFocusRipple: _propTypes2.default.bool,
|
8738 |
+
disableTouchRipple: _propTypes2.default.bool,
|
8739 |
+
disabled: _propTypes2.default.bool,
|
8740 |
+
iconStyle: _propTypes2.default.object,
|
8741 |
+
inputStyle: _propTypes2.default.object,
|
8742 |
+
inputType: _propTypes2.default.string.isRequired,
|
8743 |
+
label: _propTypes2.default.node,
|
8744 |
+
labelPosition: _propTypes2.default.oneOf(['left', 'right']),
|
8745 |
+
labelStyle: _propTypes2.default.object,
|
8746 |
+
name: _propTypes2.default.string,
|
8747 |
+
onBlur: _propTypes2.default.func,
|
8748 |
+
onFocus: _propTypes2.default.func,
|
8749 |
+
onMouseDown: _propTypes2.default.func,
|
8750 |
+
onMouseLeave: _propTypes2.default.func,
|
8751 |
+
onMouseUp: _propTypes2.default.func,
|
8752 |
+
onParentShouldUpdate: _propTypes2.default.func,
|
8753 |
+
onSwitch: _propTypes2.default.func,
|
8754 |
+
onTouchEnd: _propTypes2.default.func,
|
8755 |
+
onTouchStart: _propTypes2.default.func,
|
8756 |
+
rippleColor: _propTypes2.default.string,
|
8757 |
+
rippleStyle: _propTypes2.default.object,
|
8758 |
+
style: _propTypes2.default.object,
|
8759 |
+
switchElement: _propTypes2.default.element.isRequired,
|
8760 |
+
switched: _propTypes2.default.bool.isRequired,
|
8761 |
+
thumbStyle: _propTypes2.default.object,
|
8762 |
+
trackStyle: _propTypes2.default.object,
|
8763 |
+
value: _propTypes2.default.any
|
8764 |
+
} : {};
|
8765 |
+
exports.default = EnhancedSwitch;
|
8766 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
8767 |
+
|
8768 |
+
/***/ }),
|
8769 |
+
/* 120 */
|
8770 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8771 |
+
|
8772 |
+
"use strict";
|
8773 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
8774 |
+
|
8775 |
+
Object.defineProperty(exports, "__esModule", {
|
8776 |
+
value: true
|
8777 |
+
});
|
8778 |
+
|
8779 |
+
var _extends2 = __webpack_require__(9);
|
8780 |
+
|
8781 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
8782 |
+
|
8783 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
8784 |
+
|
8785 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
8786 |
+
|
8787 |
+
var _getPrototypeOf = __webpack_require__(5);
|
8788 |
+
|
8789 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
8790 |
+
|
8791 |
+
var _classCallCheck2 = __webpack_require__(3);
|
8792 |
+
|
8793 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
8794 |
+
|
8795 |
+
var _createClass2 = __webpack_require__(4);
|
8796 |
+
|
8797 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
8798 |
+
|
8799 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
8800 |
+
|
8801 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
8802 |
+
|
8803 |
+
var _inherits2 = __webpack_require__(7);
|
8804 |
+
|
8805 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
8806 |
+
|
8807 |
+
var _simpleAssign = __webpack_require__(8);
|
8808 |
+
|
8809 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
8810 |
+
|
8811 |
+
var _react = __webpack_require__(0);
|
8812 |
+
|
8813 |
+
var _react2 = _interopRequireDefault(_react);
|
8814 |
+
|
8815 |
+
var _propTypes = __webpack_require__(2);
|
8816 |
+
|
8817 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
8818 |
+
|
8819 |
+
var _TransitionGroup = __webpack_require__(64);
|
8820 |
+
|
8821 |
+
var _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);
|
8822 |
+
|
8823 |
+
var _SlideInChild = __webpack_require__(393);
|
8824 |
+
|
8825 |
+
var _SlideInChild2 = _interopRequireDefault(_SlideInChild);
|
8826 |
+
|
8827 |
+
function _interopRequireDefault(obj) {
|
8828 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
8829 |
+
}
|
8830 |
+
|
8831 |
+
var SlideIn = function (_Component) {
|
8832 |
+
(0, _inherits3.default)(SlideIn, _Component);
|
8833 |
+
|
8834 |
+
function SlideIn() {
|
8835 |
+
var _ref;
|
8836 |
+
|
8837 |
+
var _temp, _this, _ret;
|
8838 |
+
|
8839 |
+
(0, _classCallCheck3.default)(this, SlideIn);
|
8840 |
+
|
8841 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
8842 |
+
args[_key] = arguments[_key];
|
8843 |
+
}
|
8844 |
+
|
8845 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = SlideIn.__proto__ || (0, _getPrototypeOf2.default)(SlideIn)).call.apply(_ref, [this].concat(args))), _this), _this.getLeaveDirection = function () {
|
8846 |
+
return _this.props.direction;
|
8847 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
8848 |
+
}
|
8849 |
+
|
8850 |
+
(0, _createClass3.default)(SlideIn, [{
|
8851 |
+
key: 'render',
|
8852 |
+
value: function render() {
|
8853 |
+
var _this2 = this;
|
8854 |
+
|
8855 |
+
var _props = this.props,
|
8856 |
+
enterDelay = _props.enterDelay,
|
8857 |
+
children = _props.children,
|
8858 |
+
childStyle = _props.childStyle,
|
8859 |
+
direction = _props.direction,
|
8860 |
+
style = _props.style,
|
8861 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['enterDelay', 'children', 'childStyle', 'direction', 'style']);
|
8862 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
8863 |
+
|
8864 |
+
var mergedRootStyles = (0, _simpleAssign2.default)({}, {
|
8865 |
+
position: 'relative',
|
8866 |
+
overflow: 'hidden',
|
8867 |
+
height: '100%'
|
8868 |
+
}, style);
|
8869 |
+
|
8870 |
+
var newChildren = _react2.default.Children.map(children, function (child) {
|
8871 |
+
return _react2.default.createElement(_SlideInChild2.default, {
|
8872 |
+
key: child.key,
|
8873 |
+
direction: direction,
|
8874 |
+
enterDelay: enterDelay,
|
8875 |
+
getLeaveDirection: _this2.getLeaveDirection,
|
8876 |
+
style: childStyle
|
8877 |
+
}, child);
|
8878 |
+
}, this);
|
8879 |
+
|
8880 |
+
return _react2.default.createElement(_TransitionGroup2.default, (0, _extends3.default)({}, other, {
|
8881 |
+
style: prepareStyles(mergedRootStyles),
|
8882 |
+
component: 'div'
|
8883 |
+
}), newChildren);
|
8884 |
+
}
|
8885 |
+
}]);
|
8886 |
+
return SlideIn;
|
8887 |
+
}(_react.Component);
|
8888 |
+
|
8889 |
+
SlideIn.defaultProps = {
|
8890 |
+
enterDelay: 0,
|
8891 |
+
direction: 'left'
|
8892 |
+
};
|
8893 |
+
SlideIn.contextTypes = {
|
8894 |
+
muiTheme: _propTypes2.default.object.isRequired
|
8895 |
+
};
|
8896 |
+
SlideIn.propTypes = process.env.NODE_ENV !== "production" ? {
|
8897 |
+
childStyle: _propTypes2.default.object,
|
8898 |
+
children: _propTypes2.default.node,
|
8899 |
+
direction: _propTypes2.default.oneOf(['left', 'right', 'up', 'down']),
|
8900 |
+
enterDelay: _propTypes2.default.number,
|
8901 |
+
style: _propTypes2.default.object
|
8902 |
+
} : {};
|
8903 |
+
exports.default = SlideIn;
|
8904 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
8905 |
+
|
8906 |
+
/***/ }),
|
8907 |
+
/* 121 */
|
8908 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8909 |
+
|
8910 |
+
"use strict";
|
8911 |
+
|
8912 |
+
|
8913 |
+
Object.defineProperty(exports, "__esModule", {
|
8914 |
+
value: true
|
8915 |
+
});
|
8916 |
+
exports.default = undefined;
|
8917 |
+
|
8918 |
+
var _Dialog = __webpack_require__(395);
|
8919 |
+
|
8920 |
+
var _Dialog2 = _interopRequireDefault(_Dialog);
|
8921 |
+
|
8922 |
+
function _interopRequireDefault(obj) {
|
8923 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
8924 |
+
}
|
8925 |
+
|
8926 |
+
exports.default = _Dialog2.default;
|
8927 |
+
|
8928 |
+
/***/ }),
|
8929 |
+
/* 122 */
|
8930 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8931 |
+
|
8932 |
+
"use strict";
|
8933 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
8934 |
+
|
8935 |
+
Object.defineProperty(exports, "__esModule", {
|
8936 |
+
value: true
|
8937 |
+
});
|
8938 |
+
|
8939 |
+
var _getPrototypeOf = __webpack_require__(5);
|
8940 |
+
|
8941 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
8942 |
+
|
8943 |
+
var _classCallCheck2 = __webpack_require__(3);
|
8944 |
+
|
8945 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
8946 |
+
|
8947 |
+
var _createClass2 = __webpack_require__(4);
|
8948 |
+
|
8949 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
8950 |
+
|
8951 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
8952 |
+
|
8953 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
8954 |
+
|
8955 |
+
var _inherits2 = __webpack_require__(7);
|
8956 |
+
|
8957 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
8958 |
+
|
8959 |
+
var _simpleAssign = __webpack_require__(8);
|
8960 |
+
|
8961 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
8962 |
+
|
8963 |
+
var _react = __webpack_require__(0);
|
8964 |
+
|
8965 |
+
var _react2 = _interopRequireDefault(_react);
|
8966 |
+
|
8967 |
+
var _propTypes = __webpack_require__(2);
|
8968 |
+
|
8969 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
8970 |
+
|
8971 |
+
var _Paper = __webpack_require__(20);
|
8972 |
+
|
8973 |
+
var _Paper2 = _interopRequireDefault(_Paper);
|
8974 |
+
|
8975 |
+
var _transitions = __webpack_require__(12);
|
8976 |
+
|
8977 |
+
var _transitions2 = _interopRequireDefault(_transitions);
|
8978 |
+
|
8979 |
+
var _propTypes3 = __webpack_require__(19);
|
8980 |
+
|
8981 |
+
var _propTypes4 = _interopRequireDefault(_propTypes3);
|
8982 |
+
|
8983 |
+
function _interopRequireDefault(obj) {
|
8984 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
8985 |
+
}
|
8986 |
+
|
8987 |
+
function getStyles(props, context, state) {
|
8988 |
+
var targetOrigin = props.targetOrigin;
|
8989 |
+
var open = state.open;
|
8990 |
+
var muiTheme = context.muiTheme;
|
8991 |
+
|
8992 |
+
var horizontal = targetOrigin.horizontal.replace('middle', 'center');
|
8993 |
+
|
8994 |
+
return {
|
8995 |
+
root: {
|
8996 |
+
position: 'fixed',
|
8997 |
+
zIndex: muiTheme.zIndex.popover,
|
8998 |
+
opacity: open ? 1 : 0,
|
8999 |
+
transform: open ? 'scaleY(1)' : 'scaleY(0)',
|
9000 |
+
transformOrigin: horizontal + ' ' + targetOrigin.vertical,
|
9001 |
+
transition: _transitions2.default.easeOut('450ms', ['transform', 'opacity']),
|
9002 |
+
maxHeight: '100%'
|
9003 |
+
}
|
9004 |
+
};
|
9005 |
+
}
|
9006 |
+
|
9007 |
+
var PopoverAnimationVertical = function (_Component) {
|
9008 |
+
(0, _inherits3.default)(PopoverAnimationVertical, _Component);
|
9009 |
+
|
9010 |
+
function PopoverAnimationVertical() {
|
9011 |
+
var _ref;
|
9012 |
+
|
9013 |
+
var _temp, _this, _ret;
|
9014 |
+
|
9015 |
+
(0, _classCallCheck3.default)(this, PopoverAnimationVertical);
|
9016 |
+
|
9017 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
9018 |
+
args[_key] = arguments[_key];
|
9019 |
+
}
|
9020 |
+
|
9021 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = PopoverAnimationVertical.__proto__ || (0, _getPrototypeOf2.default)(PopoverAnimationVertical)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
|
9022 |
+
open: false
|
9023 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
9024 |
+
}
|
9025 |
+
|
9026 |
+
(0, _createClass3.default)(PopoverAnimationVertical, [{
|
9027 |
+
key: 'componentDidMount',
|
9028 |
+
value: function componentDidMount() {
|
9029 |
+
this.setState({ open: true }); // eslint-disable-line react/no-did-mount-set-state
|
9030 |
+
}
|
9031 |
+
}, {
|
9032 |
+
key: 'componentWillReceiveProps',
|
9033 |
+
value: function componentWillReceiveProps(nextProps) {
|
9034 |
+
this.setState({
|
9035 |
+
open: nextProps.open
|
9036 |
+
});
|
9037 |
+
}
|
9038 |
+
}, {
|
9039 |
+
key: 'render',
|
9040 |
+
value: function render() {
|
9041 |
+
var _props = this.props,
|
9042 |
+
className = _props.className,
|
9043 |
+
style = _props.style,
|
9044 |
+
zDepth = _props.zDepth;
|
9045 |
+
|
9046 |
+
var styles = getStyles(this.props, this.context, this.state);
|
9047 |
+
|
9048 |
+
return _react2.default.createElement(_Paper2.default, {
|
9049 |
+
style: (0, _simpleAssign2.default)(styles.root, style),
|
9050 |
+
zDepth: zDepth,
|
9051 |
+
className: className
|
9052 |
+
}, this.props.children);
|
9053 |
+
}
|
9054 |
+
}]);
|
9055 |
+
return PopoverAnimationVertical;
|
9056 |
+
}(_react.Component);
|
9057 |
+
|
9058 |
+
PopoverAnimationVertical.defaultProps = {
|
9059 |
+
style: {},
|
9060 |
+
zDepth: 1
|
9061 |
+
};
|
9062 |
+
PopoverAnimationVertical.contextTypes = {
|
9063 |
+
muiTheme: _propTypes2.default.object.isRequired
|
9064 |
+
};
|
9065 |
+
PopoverAnimationVertical.propTypes = process.env.NODE_ENV !== "production" ? {
|
9066 |
+
children: _propTypes2.default.node,
|
9067 |
+
className: _propTypes2.default.string,
|
9068 |
+
open: _propTypes2.default.bool.isRequired,
|
9069 |
+
/**
|
9070 |
+
* Override the inline-styles of the root element.
|
9071 |
+
*/
|
9072 |
+
style: _propTypes2.default.object,
|
9073 |
+
targetOrigin: _propTypes4.default.origin.isRequired,
|
9074 |
+
zDepth: _propTypes4.default.zDepth
|
9075 |
+
} : {};
|
9076 |
+
exports.default = PopoverAnimationVertical;
|
9077 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
9078 |
+
|
9079 |
+
/***/ }),
|
9080 |
+
/* 123 */
|
9081 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9082 |
+
|
9083 |
+
"use strict";
|
9084 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
9085 |
+
|
9086 |
+
Object.defineProperty(exports, "__esModule", {
|
9087 |
+
value: true
|
9088 |
+
});
|
9089 |
+
|
9090 |
+
var _getPrototypeOf = __webpack_require__(5);
|
9091 |
+
|
9092 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
9093 |
+
|
9094 |
+
var _classCallCheck2 = __webpack_require__(3);
|
9095 |
+
|
9096 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
9097 |
+
|
9098 |
+
var _createClass2 = __webpack_require__(4);
|
9099 |
+
|
9100 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
9101 |
+
|
9102 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
9103 |
+
|
9104 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
9105 |
+
|
9106 |
+
var _inherits2 = __webpack_require__(7);
|
9107 |
+
|
9108 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
9109 |
+
|
9110 |
+
var _react = __webpack_require__(0);
|
9111 |
+
|
9112 |
+
var _propTypes = __webpack_require__(2);
|
9113 |
+
|
9114 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
9115 |
+
|
9116 |
+
var _getMuiTheme = __webpack_require__(412);
|
9117 |
+
|
9118 |
+
var _getMuiTheme2 = _interopRequireDefault(_getMuiTheme);
|
9119 |
+
|
9120 |
+
function _interopRequireDefault(obj) {
|
9121 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
9122 |
+
}
|
9123 |
+
|
9124 |
+
var MuiThemeProvider = function (_Component) {
|
9125 |
+
(0, _inherits3.default)(MuiThemeProvider, _Component);
|
9126 |
+
|
9127 |
+
function MuiThemeProvider() {
|
9128 |
+
(0, _classCallCheck3.default)(this, MuiThemeProvider);
|
9129 |
+
return (0, _possibleConstructorReturn3.default)(this, (MuiThemeProvider.__proto__ || (0, _getPrototypeOf2.default)(MuiThemeProvider)).apply(this, arguments));
|
9130 |
+
}
|
9131 |
+
|
9132 |
+
(0, _createClass3.default)(MuiThemeProvider, [{
|
9133 |
+
key: 'getChildContext',
|
9134 |
+
value: function getChildContext() {
|
9135 |
+
return {
|
9136 |
+
muiTheme: this.props.muiTheme || (0, _getMuiTheme2.default)()
|
9137 |
+
};
|
9138 |
+
}
|
9139 |
+
}, {
|
9140 |
+
key: 'render',
|
9141 |
+
value: function render() {
|
9142 |
+
return this.props.children;
|
9143 |
+
}
|
9144 |
+
}]);
|
9145 |
+
return MuiThemeProvider;
|
9146 |
+
}(_react.Component);
|
9147 |
+
|
9148 |
+
MuiThemeProvider.childContextTypes = {
|
9149 |
+
muiTheme: _propTypes2.default.object.isRequired
|
9150 |
+
};
|
9151 |
+
MuiThemeProvider.propTypes = process.env.NODE_ENV !== "production" ? {
|
9152 |
+
children: _propTypes2.default.element,
|
9153 |
+
muiTheme: _propTypes2.default.object
|
9154 |
+
} : {};
|
9155 |
+
exports.default = MuiThemeProvider;
|
9156 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
9157 |
+
|
9158 |
+
/***/ }),
|
9159 |
+
/* 124 */
|
9160 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9161 |
+
|
9162 |
+
"use strict";
|
9163 |
+
|
9164 |
+
|
9165 |
+
Object.defineProperty(exports, "__esModule", {
|
9166 |
+
value: true
|
9167 |
+
});
|
9168 |
+
var red50 = exports.red50 = '#ffebee';
|
9169 |
+
var red100 = exports.red100 = '#ffcdd2';
|
9170 |
+
var red200 = exports.red200 = '#ef9a9a';
|
9171 |
+
var red300 = exports.red300 = '#e57373';
|
9172 |
+
var red400 = exports.red400 = '#ef5350';
|
9173 |
+
var red500 = exports.red500 = '#f44336';
|
9174 |
+
var red600 = exports.red600 = '#e53935';
|
9175 |
+
var red700 = exports.red700 = '#d32f2f';
|
9176 |
+
var red800 = exports.red800 = '#c62828';
|
9177 |
+
var red900 = exports.red900 = '#b71c1c';
|
9178 |
+
var redA100 = exports.redA100 = '#ff8a80';
|
9179 |
+
var redA200 = exports.redA200 = '#ff5252';
|
9180 |
+
var redA400 = exports.redA400 = '#ff1744';
|
9181 |
+
var redA700 = exports.redA700 = '#d50000';
|
9182 |
+
|
9183 |
+
var pink50 = exports.pink50 = '#fce4ec';
|
9184 |
+
var pink100 = exports.pink100 = '#f8bbd0';
|
9185 |
+
var pink200 = exports.pink200 = '#f48fb1';
|
9186 |
+
var pink300 = exports.pink300 = '#f06292';
|
9187 |
+
var pink400 = exports.pink400 = '#ec407a';
|
9188 |
+
var pink500 = exports.pink500 = '#e91e63';
|
9189 |
+
var pink600 = exports.pink600 = '#d81b60';
|
9190 |
+
var pink700 = exports.pink700 = '#c2185b';
|
9191 |
+
var pink800 = exports.pink800 = '#ad1457';
|
9192 |
+
var pink900 = exports.pink900 = '#880e4f';
|
9193 |
+
var pinkA100 = exports.pinkA100 = '#ff80ab';
|
9194 |
+
var pinkA200 = exports.pinkA200 = '#ff4081';
|
9195 |
+
var pinkA400 = exports.pinkA400 = '#f50057';
|
9196 |
+
var pinkA700 = exports.pinkA700 = '#c51162';
|
9197 |
+
|
9198 |
+
var purple50 = exports.purple50 = '#f3e5f5';
|
9199 |
+
var purple100 = exports.purple100 = '#e1bee7';
|
9200 |
+
var purple200 = exports.purple200 = '#ce93d8';
|
9201 |
+
var purple300 = exports.purple300 = '#ba68c8';
|
9202 |
+
var purple400 = exports.purple400 = '#ab47bc';
|
9203 |
+
var purple500 = exports.purple500 = '#9c27b0';
|
9204 |
+
var purple600 = exports.purple600 = '#8e24aa';
|
9205 |
+
var purple700 = exports.purple700 = '#7b1fa2';
|
9206 |
+
var purple800 = exports.purple800 = '#6a1b9a';
|
9207 |
+
var purple900 = exports.purple900 = '#4a148c';
|
9208 |
+
var purpleA100 = exports.purpleA100 = '#ea80fc';
|
9209 |
+
var purpleA200 = exports.purpleA200 = '#e040fb';
|
9210 |
+
var purpleA400 = exports.purpleA400 = '#d500f9';
|
9211 |
+
var purpleA700 = exports.purpleA700 = '#aa00ff';
|
9212 |
+
|
9213 |
+
var deepPurple50 = exports.deepPurple50 = '#ede7f6';
|
9214 |
+
var deepPurple100 = exports.deepPurple100 = '#d1c4e9';
|
9215 |
+
var deepPurple200 = exports.deepPurple200 = '#b39ddb';
|
9216 |
+
var deepPurple300 = exports.deepPurple300 = '#9575cd';
|
9217 |
+
var deepPurple400 = exports.deepPurple400 = '#7e57c2';
|
9218 |
+
var deepPurple500 = exports.deepPurple500 = '#673ab7';
|
9219 |
+
var deepPurple600 = exports.deepPurple600 = '#5e35b1';
|
9220 |
+
var deepPurple700 = exports.deepPurple700 = '#512da8';
|
9221 |
+
var deepPurple800 = exports.deepPurple800 = '#4527a0';
|
9222 |
+
var deepPurple900 = exports.deepPurple900 = '#311b92';
|
9223 |
+
var deepPurpleA100 = exports.deepPurpleA100 = '#b388ff';
|
9224 |
+
var deepPurpleA200 = exports.deepPurpleA200 = '#7c4dff';
|
9225 |
+
var deepPurpleA400 = exports.deepPurpleA400 = '#651fff';
|
9226 |
+
var deepPurpleA700 = exports.deepPurpleA700 = '#6200ea';
|
9227 |
+
|
9228 |
+
var indigo50 = exports.indigo50 = '#e8eaf6';
|
9229 |
+
var indigo100 = exports.indigo100 = '#c5cae9';
|
9230 |
+
var indigo200 = exports.indigo200 = '#9fa8da';
|
9231 |
+
var indigo300 = exports.indigo300 = '#7986cb';
|
9232 |
+
var indigo400 = exports.indigo400 = '#5c6bc0';
|
9233 |
+
var indigo500 = exports.indigo500 = '#3f51b5';
|
9234 |
+
var indigo600 = exports.indigo600 = '#3949ab';
|
9235 |
+
var indigo700 = exports.indigo700 = '#303f9f';
|
9236 |
+
var indigo800 = exports.indigo800 = '#283593';
|
9237 |
+
var indigo900 = exports.indigo900 = '#1a237e';
|
9238 |
+
var indigoA100 = exports.indigoA100 = '#8c9eff';
|
9239 |
+
var indigoA200 = exports.indigoA200 = '#536dfe';
|
9240 |
+
var indigoA400 = exports.indigoA400 = '#3d5afe';
|
9241 |
+
var indigoA700 = exports.indigoA700 = '#304ffe';
|
9242 |
+
|
9243 |
+
var blue50 = exports.blue50 = '#e3f2fd';
|
9244 |
+
var blue100 = exports.blue100 = '#bbdefb';
|
9245 |
+
var blue200 = exports.blue200 = '#90caf9';
|
9246 |
+
var blue300 = exports.blue300 = '#64b5f6';
|
9247 |
+
var blue400 = exports.blue400 = '#42a5f5';
|
9248 |
+
var blue500 = exports.blue500 = '#2196f3';
|
9249 |
+
var blue600 = exports.blue600 = '#1e88e5';
|
9250 |
+
var blue700 = exports.blue700 = '#1976d2';
|
9251 |
+
var blue800 = exports.blue800 = '#1565c0';
|
9252 |
+
var blue900 = exports.blue900 = '#0d47a1';
|
9253 |
+
var blueA100 = exports.blueA100 = '#82b1ff';
|
9254 |
+
var blueA200 = exports.blueA200 = '#448aff';
|
9255 |
+
var blueA400 = exports.blueA400 = '#2979ff';
|
9256 |
+
var blueA700 = exports.blueA700 = '#2962ff';
|
9257 |
+
|
9258 |
+
var lightBlue50 = exports.lightBlue50 = '#e1f5fe';
|
9259 |
+
var lightBlue100 = exports.lightBlue100 = '#b3e5fc';
|
9260 |
+
var lightBlue200 = exports.lightBlue200 = '#81d4fa';
|
9261 |
+
var lightBlue300 = exports.lightBlue300 = '#4fc3f7';
|
9262 |
+
var lightBlue400 = exports.lightBlue400 = '#29b6f6';
|
9263 |
+
var lightBlue500 = exports.lightBlue500 = '#03a9f4';
|
9264 |
+
var lightBlue600 = exports.lightBlue600 = '#039be5';
|
9265 |
+
var lightBlue700 = exports.lightBlue700 = '#0288d1';
|
9266 |
+
var lightBlue800 = exports.lightBlue800 = '#0277bd';
|
9267 |
+
var lightBlue900 = exports.lightBlue900 = '#01579b';
|
9268 |
+
var lightBlueA100 = exports.lightBlueA100 = '#80d8ff';
|
9269 |
+
var lightBlueA200 = exports.lightBlueA200 = '#40c4ff';
|
9270 |
+
var lightBlueA400 = exports.lightBlueA400 = '#00b0ff';
|
9271 |
+
var lightBlueA700 = exports.lightBlueA700 = '#0091ea';
|
9272 |
+
|
9273 |
+
var cyan50 = exports.cyan50 = '#e0f7fa';
|
9274 |
+
var cyan100 = exports.cyan100 = '#b2ebf2';
|
9275 |
+
var cyan200 = exports.cyan200 = '#80deea';
|
9276 |
+
var cyan300 = exports.cyan300 = '#4dd0e1';
|
9277 |
+
var cyan400 = exports.cyan400 = '#26c6da';
|
9278 |
+
var cyan500 = exports.cyan500 = '#00bcd4';
|
9279 |
+
var cyan600 = exports.cyan600 = '#00acc1';
|
9280 |
+
var cyan700 = exports.cyan700 = '#0097a7';
|
9281 |
+
var cyan800 = exports.cyan800 = '#00838f';
|
9282 |
+
var cyan900 = exports.cyan900 = '#006064';
|
9283 |
+
var cyanA100 = exports.cyanA100 = '#84ffff';
|
9284 |
+
var cyanA200 = exports.cyanA200 = '#18ffff';
|
9285 |
+
var cyanA400 = exports.cyanA400 = '#00e5ff';
|
9286 |
+
var cyanA700 = exports.cyanA700 = '#00b8d4';
|
9287 |
+
|
9288 |
+
var teal50 = exports.teal50 = '#e0f2f1';
|
9289 |
+
var teal100 = exports.teal100 = '#b2dfdb';
|
9290 |
+
var teal200 = exports.teal200 = '#80cbc4';
|
9291 |
+
var teal300 = exports.teal300 = '#4db6ac';
|
9292 |
+
var teal400 = exports.teal400 = '#26a69a';
|
9293 |
+
var teal500 = exports.teal500 = '#009688';
|
9294 |
+
var teal600 = exports.teal600 = '#00897b';
|
9295 |
+
var teal700 = exports.teal700 = '#00796b';
|
9296 |
+
var teal800 = exports.teal800 = '#00695c';
|
9297 |
+
var teal900 = exports.teal900 = '#004d40';
|
9298 |
+
var tealA100 = exports.tealA100 = '#a7ffeb';
|
9299 |
+
var tealA200 = exports.tealA200 = '#64ffda';
|
9300 |
+
var tealA400 = exports.tealA400 = '#1de9b6';
|
9301 |
+
var tealA700 = exports.tealA700 = '#00bfa5';
|
9302 |
+
|
9303 |
+
var green50 = exports.green50 = '#e8f5e9';
|
9304 |
+
var green100 = exports.green100 = '#c8e6c9';
|
9305 |
+
var green200 = exports.green200 = '#a5d6a7';
|
9306 |
+
var green300 = exports.green300 = '#81c784';
|
9307 |
+
var green400 = exports.green400 = '#66bb6a';
|
9308 |
+
var green500 = exports.green500 = '#4caf50';
|
9309 |
+
var green600 = exports.green600 = '#43a047';
|
9310 |
+
var green700 = exports.green700 = '#388e3c';
|
9311 |
+
var green800 = exports.green800 = '#2e7d32';
|
9312 |
+
var green900 = exports.green900 = '#1b5e20';
|
9313 |
+
var greenA100 = exports.greenA100 = '#b9f6ca';
|
9314 |
+
var greenA200 = exports.greenA200 = '#69f0ae';
|
9315 |
+
var greenA400 = exports.greenA400 = '#00e676';
|
9316 |
+
var greenA700 = exports.greenA700 = '#00c853';
|
9317 |
+
|
9318 |
+
var lightGreen50 = exports.lightGreen50 = '#f1f8e9';
|
9319 |
+
var lightGreen100 = exports.lightGreen100 = '#dcedc8';
|
9320 |
+
var lightGreen200 = exports.lightGreen200 = '#c5e1a5';
|
9321 |
+
var lightGreen300 = exports.lightGreen300 = '#aed581';
|
9322 |
+
var lightGreen400 = exports.lightGreen400 = '#9ccc65';
|
9323 |
+
var lightGreen500 = exports.lightGreen500 = '#8bc34a';
|
9324 |
+
var lightGreen600 = exports.lightGreen600 = '#7cb342';
|
9325 |
+
var lightGreen700 = exports.lightGreen700 = '#689f38';
|
9326 |
+
var lightGreen800 = exports.lightGreen800 = '#558b2f';
|
9327 |
+
var lightGreen900 = exports.lightGreen900 = '#33691e';
|
9328 |
+
var lightGreenA100 = exports.lightGreenA100 = '#ccff90';
|
9329 |
+
var lightGreenA200 = exports.lightGreenA200 = '#b2ff59';
|
9330 |
+
var lightGreenA400 = exports.lightGreenA400 = '#76ff03';
|
9331 |
+
var lightGreenA700 = exports.lightGreenA700 = '#64dd17';
|
9332 |
+
|
9333 |
+
var lime50 = exports.lime50 = '#f9fbe7';
|
9334 |
+
var lime100 = exports.lime100 = '#f0f4c3';
|
9335 |
+
var lime200 = exports.lime200 = '#e6ee9c';
|
9336 |
+
var lime300 = exports.lime300 = '#dce775';
|
9337 |
+
var lime400 = exports.lime400 = '#d4e157';
|
9338 |
+
var lime500 = exports.lime500 = '#cddc39';
|
9339 |
+
var lime600 = exports.lime600 = '#c0ca33';
|
9340 |
+
var lime700 = exports.lime700 = '#afb42b';
|
9341 |
+
var lime800 = exports.lime800 = '#9e9d24';
|
9342 |
+
var lime900 = exports.lime900 = '#827717';
|
9343 |
+
var limeA100 = exports.limeA100 = '#f4ff81';
|
9344 |
+
var limeA200 = exports.limeA200 = '#eeff41';
|
9345 |
+
var limeA400 = exports.limeA400 = '#c6ff00';
|
9346 |
+
var limeA700 = exports.limeA700 = '#aeea00';
|
9347 |
+
|
9348 |
+
var yellow50 = exports.yellow50 = '#fffde7';
|
9349 |
+
var yellow100 = exports.yellow100 = '#fff9c4';
|
9350 |
+
var yellow200 = exports.yellow200 = '#fff59d';
|
9351 |
+
var yellow300 = exports.yellow300 = '#fff176';
|
9352 |
+
var yellow400 = exports.yellow400 = '#ffee58';
|
9353 |
+
var yellow500 = exports.yellow500 = '#ffeb3b';
|
9354 |
+
var yellow600 = exports.yellow600 = '#fdd835';
|
9355 |
+
var yellow700 = exports.yellow700 = '#fbc02d';
|
9356 |
+
var yellow800 = exports.yellow800 = '#f9a825';
|
9357 |
+
var yellow900 = exports.yellow900 = '#f57f17';
|
9358 |
+
var yellowA100 = exports.yellowA100 = '#ffff8d';
|
9359 |
+
var yellowA200 = exports.yellowA200 = '#ffff00';
|
9360 |
+
var yellowA400 = exports.yellowA400 = '#ffea00';
|
9361 |
+
var yellowA700 = exports.yellowA700 = '#ffd600';
|
9362 |
+
|
9363 |
+
var amber50 = exports.amber50 = '#fff8e1';
|
9364 |
+
var amber100 = exports.amber100 = '#ffecb3';
|
9365 |
+
var amber200 = exports.amber200 = '#ffe082';
|
9366 |
+
var amber300 = exports.amber300 = '#ffd54f';
|
9367 |
+
var amber400 = exports.amber400 = '#ffca28';
|
9368 |
+
var amber500 = exports.amber500 = '#ffc107';
|
9369 |
+
var amber600 = exports.amber600 = '#ffb300';
|
9370 |
+
var amber700 = exports.amber700 = '#ffa000';
|
9371 |
+
var amber800 = exports.amber800 = '#ff8f00';
|
9372 |
+
var amber900 = exports.amber900 = '#ff6f00';
|
9373 |
+
var amberA100 = exports.amberA100 = '#ffe57f';
|
9374 |
+
var amberA200 = exports.amberA200 = '#ffd740';
|
9375 |
+
var amberA400 = exports.amberA400 = '#ffc400';
|
9376 |
+
var amberA700 = exports.amberA700 = '#ffab00';
|
9377 |
+
|
9378 |
+
var orange50 = exports.orange50 = '#fff3e0';
|
9379 |
+
var orange100 = exports.orange100 = '#ffe0b2';
|
9380 |
+
var orange200 = exports.orange200 = '#ffcc80';
|
9381 |
+
var orange300 = exports.orange300 = '#ffb74d';
|
9382 |
+
var orange400 = exports.orange400 = '#ffa726';
|
9383 |
+
var orange500 = exports.orange500 = '#ff9800';
|
9384 |
+
var orange600 = exports.orange600 = '#fb8c00';
|
9385 |
+
var orange700 = exports.orange700 = '#f57c00';
|
9386 |
+
var orange800 = exports.orange800 = '#ef6c00';
|
9387 |
+
var orange900 = exports.orange900 = '#e65100';
|
9388 |
+
var orangeA100 = exports.orangeA100 = '#ffd180';
|
9389 |
+
var orangeA200 = exports.orangeA200 = '#ffab40';
|
9390 |
+
var orangeA400 = exports.orangeA400 = '#ff9100';
|
9391 |
+
var orangeA700 = exports.orangeA700 = '#ff6d00';
|
9392 |
+
|
9393 |
+
var deepOrange50 = exports.deepOrange50 = '#fbe9e7';
|
9394 |
+
var deepOrange100 = exports.deepOrange100 = '#ffccbc';
|
9395 |
+
var deepOrange200 = exports.deepOrange200 = '#ffab91';
|
9396 |
+
var deepOrange300 = exports.deepOrange300 = '#ff8a65';
|
9397 |
+
var deepOrange400 = exports.deepOrange400 = '#ff7043';
|
9398 |
+
var deepOrange500 = exports.deepOrange500 = '#ff5722';
|
9399 |
+
var deepOrange600 = exports.deepOrange600 = '#f4511e';
|
9400 |
+
var deepOrange700 = exports.deepOrange700 = '#e64a19';
|
9401 |
+
var deepOrange800 = exports.deepOrange800 = '#d84315';
|
9402 |
+
var deepOrange900 = exports.deepOrange900 = '#bf360c';
|
9403 |
+
var deepOrangeA100 = exports.deepOrangeA100 = '#ff9e80';
|
9404 |
+
var deepOrangeA200 = exports.deepOrangeA200 = '#ff6e40';
|
9405 |
+
var deepOrangeA400 = exports.deepOrangeA400 = '#ff3d00';
|
9406 |
+
var deepOrangeA700 = exports.deepOrangeA700 = '#dd2c00';
|
9407 |
+
|
9408 |
+
var brown50 = exports.brown50 = '#efebe9';
|
9409 |
+
var brown100 = exports.brown100 = '#d7ccc8';
|
9410 |
+
var brown200 = exports.brown200 = '#bcaaa4';
|
9411 |
+
var brown300 = exports.brown300 = '#a1887f';
|
9412 |
+
var brown400 = exports.brown400 = '#8d6e63';
|
9413 |
+
var brown500 = exports.brown500 = '#795548';
|
9414 |
+
var brown600 = exports.brown600 = '#6d4c41';
|
9415 |
+
var brown700 = exports.brown700 = '#5d4037';
|
9416 |
+
var brown800 = exports.brown800 = '#4e342e';
|
9417 |
+
var brown900 = exports.brown900 = '#3e2723';
|
9418 |
+
|
9419 |
+
var blueGrey50 = exports.blueGrey50 = '#eceff1';
|
9420 |
+
var blueGrey100 = exports.blueGrey100 = '#cfd8dc';
|
9421 |
+
var blueGrey200 = exports.blueGrey200 = '#b0bec5';
|
9422 |
+
var blueGrey300 = exports.blueGrey300 = '#90a4ae';
|
9423 |
+
var blueGrey400 = exports.blueGrey400 = '#78909c';
|
9424 |
+
var blueGrey500 = exports.blueGrey500 = '#607d8b';
|
9425 |
+
var blueGrey600 = exports.blueGrey600 = '#546e7a';
|
9426 |
+
var blueGrey700 = exports.blueGrey700 = '#455a64';
|
9427 |
+
var blueGrey800 = exports.blueGrey800 = '#37474f';
|
9428 |
+
var blueGrey900 = exports.blueGrey900 = '#263238';
|
9429 |
+
|
9430 |
+
var grey50 = exports.grey50 = '#fafafa';
|
9431 |
+
var grey100 = exports.grey100 = '#f5f5f5';
|
9432 |
+
var grey200 = exports.grey200 = '#eeeeee';
|
9433 |
+
var grey300 = exports.grey300 = '#e0e0e0';
|
9434 |
+
var grey400 = exports.grey400 = '#bdbdbd';
|
9435 |
+
var grey500 = exports.grey500 = '#9e9e9e';
|
9436 |
+
var grey600 = exports.grey600 = '#757575';
|
9437 |
+
var grey700 = exports.grey700 = '#616161';
|
9438 |
+
var grey800 = exports.grey800 = '#424242';
|
9439 |
+
var grey900 = exports.grey900 = '#212121';
|
9440 |
+
|
9441 |
+
var black = exports.black = '#000000';
|
9442 |
+
var white = exports.white = '#ffffff';
|
9443 |
+
|
9444 |
+
var transparent = exports.transparent = 'rgba(0, 0, 0, 0)';
|
9445 |
+
var fullBlack = exports.fullBlack = 'rgba(0, 0, 0, 1)';
|
9446 |
+
var darkBlack = exports.darkBlack = 'rgba(0, 0, 0, 0.87)';
|
9447 |
+
var lightBlack = exports.lightBlack = 'rgba(0, 0, 0, 0.54)';
|
9448 |
+
var minBlack = exports.minBlack = 'rgba(0, 0, 0, 0.26)';
|
9449 |
+
var faintBlack = exports.faintBlack = 'rgba(0, 0, 0, 0.12)';
|
9450 |
+
var fullWhite = exports.fullWhite = 'rgba(255, 255, 255, 1)';
|
9451 |
+
var darkWhite = exports.darkWhite = 'rgba(255, 255, 255, 0.87)';
|
9452 |
+
var lightWhite = exports.lightWhite = 'rgba(255, 255, 255, 0.54)';
|
9453 |
+
|
9454 |
+
/***/ }),
|
9455 |
+
/* 125 */
|
9456 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9457 |
+
|
9458 |
+
"use strict";
|
9459 |
+
|
9460 |
+
|
9461 |
+
Object.defineProperty(exports, "__esModule", {
|
9462 |
+
value: true
|
9463 |
+
});
|
9464 |
+
exports.default = capitalizeString;
|
9465 |
+
function capitalizeString(str) {
|
9466 |
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
9467 |
+
}
|
9468 |
+
module.exports = exports["default"];
|
9469 |
+
|
9470 |
+
/***/ }),
|
9471 |
+
/* 126 */
|
9472 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9473 |
+
|
9474 |
+
"use strict";
|
9475 |
+
|
9476 |
+
|
9477 |
+
Object.defineProperty(exports, "__esModule", {
|
9478 |
+
value: true
|
9479 |
+
});
|
9480 |
+
exports.default = isPrefixedValue;
|
9481 |
+
var regex = /-webkit-|-moz-|-ms-/;
|
9482 |
+
|
9483 |
+
function isPrefixedValue(value) {
|
9484 |
+
return typeof value === 'string' && regex.test(value);
|
9485 |
+
}
|
9486 |
+
module.exports = exports['default'];
|
9487 |
+
|
9488 |
+
/***/ }),
|
9489 |
+
/* 127 */
|
9490 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9491 |
+
|
9492 |
+
"use strict";
|
9493 |
+
|
9494 |
+
|
9495 |
+
exports.__esModule = true;
|
9496 |
+
|
9497 |
+
var _isIterable2 = __webpack_require__(453);
|
9498 |
+
|
9499 |
+
var _isIterable3 = _interopRequireDefault(_isIterable2);
|
9500 |
+
|
9501 |
+
var _getIterator2 = __webpack_require__(456);
|
9502 |
+
|
9503 |
+
var _getIterator3 = _interopRequireDefault(_getIterator2);
|
9504 |
+
|
9505 |
+
function _interopRequireDefault(obj) {
|
9506 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
9507 |
+
}
|
9508 |
+
|
9509 |
+
exports.default = function () {
|
9510 |
+
function sliceIterator(arr, i) {
|
9511 |
+
var _arr = [];
|
9512 |
+
var _n = true;
|
9513 |
+
var _d = false;
|
9514 |
+
var _e = undefined;
|
9515 |
+
|
9516 |
+
try {
|
9517 |
+
for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {
|
9518 |
+
_arr.push(_s.value);
|
9519 |
+
|
9520 |
+
if (i && _arr.length === i) break;
|
9521 |
+
}
|
9522 |
+
} catch (err) {
|
9523 |
+
_d = true;
|
9524 |
+
_e = err;
|
9525 |
+
} finally {
|
9526 |
+
try {
|
9527 |
+
if (!_n && _i["return"]) _i["return"]();
|
9528 |
+
} finally {
|
9529 |
+
if (_d) throw _e;
|
9530 |
+
}
|
9531 |
+
}
|
9532 |
+
|
9533 |
+
return _arr;
|
9534 |
+
}
|
9535 |
+
|
9536 |
+
return function (arr, i) {
|
9537 |
+
if (Array.isArray(arr)) {
|
9538 |
+
return arr;
|
9539 |
+
} else if ((0, _isIterable3.default)(Object(arr))) {
|
9540 |
+
return sliceIterator(arr, i);
|
9541 |
+
} else {
|
9542 |
+
throw new TypeError("Invalid attempt to destructure non-iterable instance");
|
9543 |
+
}
|
9544 |
+
};
|
9545 |
+
}();
|
9546 |
+
|
9547 |
+
/***/ }),
|
9548 |
+
/* 128 */
|
9549 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9550 |
+
|
9551 |
+
"use strict";
|
9552 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
9553 |
+
|
9554 |
+
Object.defineProperty(exports, "__esModule", {
|
9555 |
+
value: true
|
9556 |
+
});
|
9557 |
+
|
9558 |
+
var _extends2 = __webpack_require__(9);
|
9559 |
+
|
9560 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
9561 |
+
|
9562 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
9563 |
+
|
9564 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
9565 |
+
|
9566 |
+
var _getPrototypeOf = __webpack_require__(5);
|
9567 |
+
|
9568 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
9569 |
+
|
9570 |
+
var _classCallCheck2 = __webpack_require__(3);
|
9571 |
+
|
9572 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
9573 |
+
|
9574 |
+
var _createClass2 = __webpack_require__(4);
|
9575 |
+
|
9576 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
9577 |
+
|
9578 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
9579 |
+
|
9580 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
9581 |
+
|
9582 |
+
var _inherits2 = __webpack_require__(7);
|
9583 |
+
|
9584 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
9585 |
+
|
9586 |
+
var _simpleAssign = __webpack_require__(8);
|
9587 |
+
|
9588 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
9589 |
+
|
9590 |
+
var _react = __webpack_require__(0);
|
9591 |
+
|
9592 |
+
var _react2 = _interopRequireDefault(_react);
|
9593 |
+
|
9594 |
+
var _propTypes = __webpack_require__(2);
|
9595 |
+
|
9596 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
9597 |
+
|
9598 |
+
var _Tooltip = __webpack_require__(172);
|
9599 |
+
|
9600 |
+
var _Tooltip2 = _interopRequireDefault(_Tooltip);
|
9601 |
+
|
9602 |
+
function _interopRequireDefault(obj) {
|
9603 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
9604 |
+
}
|
9605 |
+
|
9606 |
+
function getStyles(props, context) {
|
9607 |
+
var tableHeaderColumn = context.muiTheme.tableHeaderColumn;
|
9608 |
+
|
9609 |
+
return {
|
9610 |
+
root: {
|
9611 |
+
fontWeight: 'normal',
|
9612 |
+
fontSize: 12,
|
9613 |
+
paddingLeft: tableHeaderColumn.spacing,
|
9614 |
+
paddingRight: tableHeaderColumn.spacing,
|
9615 |
+
height: tableHeaderColumn.height,
|
9616 |
+
textAlign: 'left',
|
9617 |
+
whiteSpace: 'nowrap',
|
9618 |
+
textOverflow: 'ellipsis',
|
9619 |
+
color: tableHeaderColumn.textColor,
|
9620 |
+
position: 'relative'
|
9621 |
+
},
|
9622 |
+
tooltip: {
|
9623 |
+
boxSizing: 'border-box',
|
9624 |
+
marginTop: tableHeaderColumn.height / 2
|
9625 |
+
}
|
9626 |
+
};
|
9627 |
+
}
|
9628 |
+
|
9629 |
+
var TableHeaderColumn = function (_Component) {
|
9630 |
+
(0, _inherits3.default)(TableHeaderColumn, _Component);
|
9631 |
+
|
9632 |
+
function TableHeaderColumn() {
|
9633 |
+
var _ref;
|
9634 |
+
|
9635 |
+
var _temp, _this, _ret;
|
9636 |
+
|
9637 |
+
(0, _classCallCheck3.default)(this, TableHeaderColumn);
|
9638 |
+
|
9639 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
9640 |
+
args[_key] = arguments[_key];
|
9641 |
+
}
|
9642 |
+
|
9643 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = TableHeaderColumn.__proto__ || (0, _getPrototypeOf2.default)(TableHeaderColumn)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
|
9644 |
+
hovered: false
|
9645 |
+
}, _this.onMouseEnter = function () {
|
9646 |
+
if (_this.props.tooltip !== undefined) {
|
9647 |
+
_this.setState({ hovered: true });
|
9648 |
+
}
|
9649 |
+
}, _this.onMouseLeave = function () {
|
9650 |
+
if (_this.props.tooltip !== undefined) {
|
9651 |
+
_this.setState({ hovered: false });
|
9652 |
+
}
|
9653 |
+
}, _this.onClick = function (event) {
|
9654 |
+
if (_this.props.onClick) {
|
9655 |
+
_this.props.onClick(event, _this.props.columnNumber);
|
9656 |
+
}
|
9657 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
9658 |
+
}
|
9659 |
+
|
9660 |
+
(0, _createClass3.default)(TableHeaderColumn, [{
|
9661 |
+
key: 'render',
|
9662 |
+
value: function render() {
|
9663 |
+
var _props = this.props,
|
9664 |
+
children = _props.children,
|
9665 |
+
className = _props.className,
|
9666 |
+
columnNumber = _props.columnNumber,
|
9667 |
+
hoverable = _props.hoverable,
|
9668 |
+
onClick = _props.onClick,
|
9669 |
+
onHover = _props.onHover,
|
9670 |
+
onHoverExit = _props.onHoverExit,
|
9671 |
+
style = _props.style,
|
9672 |
+
tooltip = _props.tooltip,
|
9673 |
+
tooltipStyle = _props.tooltipStyle,
|
9674 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['children', 'className', 'columnNumber', 'hoverable', 'onClick', 'onHover', 'onHoverExit', 'style', 'tooltip', 'tooltipStyle']);
|
9675 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
9676 |
+
|
9677 |
+
var styles = getStyles(this.props, this.context);
|
9678 |
+
|
9679 |
+
var handlers = {
|
9680 |
+
onMouseEnter: this.onMouseEnter,
|
9681 |
+
onMouseLeave: this.onMouseLeave,
|
9682 |
+
onClick: this.onClick
|
9683 |
+
};
|
9684 |
+
|
9685 |
+
var tooltipNode = void 0;
|
9686 |
+
|
9687 |
+
if (tooltip !== undefined) {
|
9688 |
+
tooltipNode = _react2.default.createElement(_Tooltip2.default, {
|
9689 |
+
label: tooltip,
|
9690 |
+
show: this.state.hovered,
|
9691 |
+
style: (0, _simpleAssign2.default)(styles.tooltip, tooltipStyle)
|
9692 |
+
});
|
9693 |
+
}
|
9694 |
+
|
9695 |
+
return _react2.default.createElement('th', (0, _extends3.default)({
|
9696 |
+
className: className,
|
9697 |
+
style: prepareStyles((0, _simpleAssign2.default)(styles.root, style))
|
9698 |
+
}, handlers, other), tooltipNode, children);
|
9699 |
+
}
|
9700 |
+
}]);
|
9701 |
+
return TableHeaderColumn;
|
9702 |
+
}(_react.Component);
|
9703 |
+
|
9704 |
+
TableHeaderColumn.contextTypes = {
|
9705 |
+
muiTheme: _propTypes2.default.object.isRequired
|
9706 |
+
};
|
9707 |
+
TableHeaderColumn.propTypes = process.env.NODE_ENV !== "production" ? {
|
9708 |
+
children: _propTypes2.default.node,
|
9709 |
+
/**
|
9710 |
+
* The css class name of the root element.
|
9711 |
+
*/
|
9712 |
+
className: _propTypes2.default.string,
|
9713 |
+
/**
|
9714 |
+
* Number to identify the header row. This property
|
9715 |
+
* is automatically populated when used with TableHeader.
|
9716 |
+
*/
|
9717 |
+
columnNumber: _propTypes2.default.number,
|
9718 |
+
/**
|
9719 |
+
* @ignore
|
9720 |
+
* Not used here but we need to remove it from the root element.
|
9721 |
+
*/
|
9722 |
+
hoverable: _propTypes2.default.bool,
|
9723 |
+
/** @ignore */
|
9724 |
+
onClick: _propTypes2.default.func,
|
9725 |
+
/**
|
9726 |
+
* @ignore
|
9727 |
+
* Not used here but we need to remove it from the root element.
|
9728 |
+
*/
|
9729 |
+
onHover: _propTypes2.default.func,
|
9730 |
+
/**
|
9731 |
+
* @ignore
|
9732 |
+
* Not used here but we need to remove it from the root element.
|
9733 |
+
*/
|
9734 |
+
onHoverExit: _propTypes2.default.func,
|
9735 |
+
/**
|
9736 |
+
* Override the inline-styles of the root element.
|
9737 |
+
*/
|
9738 |
+
style: _propTypes2.default.object,
|
9739 |
+
/**
|
9740 |
+
* The string to supply to the tooltip. If not
|
9741 |
+
* string is supplied no tooltip will be shown.
|
9742 |
+
*/
|
9743 |
+
tooltip: _propTypes2.default.string,
|
9744 |
+
/**
|
9745 |
+
* Additional styling that can be applied to the tooltip.
|
9746 |
+
*/
|
9747 |
+
tooltipStyle: _propTypes2.default.object
|
9748 |
+
} : {};
|
9749 |
+
exports.default = TableHeaderColumn;
|
9750 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
9751 |
+
|
9752 |
+
/***/ }),
|
9753 |
+
/* 129 */
|
9754 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9755 |
+
|
9756 |
+
var baseForOwn = __webpack_require__(212),
|
9757 |
+
castFunction = __webpack_require__(219);
|
9758 |
+
|
9759 |
+
/**
|
9760 |
+
* Iterates over own enumerable string keyed properties of an object and
|
9761 |
+
* invokes `iteratee` for each property. The iteratee is invoked with three
|
9762 |
+
* arguments: (value, key, object). Iteratee functions may exit iteration
|
9763 |
+
* early by explicitly returning `false`.
|
9764 |
+
*
|
9765 |
+
* @static
|
9766 |
+
* @memberOf _
|
9767 |
+
* @since 0.3.0
|
9768 |
+
* @category Object
|
9769 |
+
* @param {Object} object The object to iterate over.
|
9770 |
+
* @param {Function} [iteratee=_.identity] The function invoked per iteration.
|
9771 |
+
* @returns {Object} Returns `object`.
|
9772 |
+
* @see _.forOwnRight
|
9773 |
+
* @example
|
9774 |
+
*
|
9775 |
+
* function Foo() {
|
9776 |
+
* this.a = 1;
|
9777 |
+
* this.b = 2;
|
9778 |
+
* }
|
9779 |
+
*
|
9780 |
+
* Foo.prototype.c = 3;
|
9781 |
+
*
|
9782 |
+
* _.forOwn(new Foo, function(value, key) {
|
9783 |
+
* console.log(key);
|
9784 |
+
* });
|
9785 |
+
* // => Logs 'a' then 'b' (iteration order is not guaranteed).
|
9786 |
+
*/
|
9787 |
+
function forOwn(object, iteratee) {
|
9788 |
+
return object && baseForOwn(object, castFunction(iteratee));
|
9789 |
+
}
|
9790 |
+
|
9791 |
+
module.exports = forOwn;
|
9792 |
+
|
9793 |
+
/***/ }),
|
9794 |
+
/* 130 */
|
9795 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9796 |
+
|
9797 |
+
/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(28),
|
9798 |
+
stubFalse = __webpack_require__(502);
|
9799 |
+
|
9800 |
+
/** Detect free variable `exports`. */
|
9801 |
+
var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
|
9802 |
+
|
9803 |
+
/** Detect free variable `module`. */
|
9804 |
+
var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
|
9805 |
+
|
9806 |
+
/** Detect the popular CommonJS extension `module.exports`. */
|
9807 |
+
var moduleExports = freeModule && freeModule.exports === freeExports;
|
9808 |
+
|
9809 |
+
/** Built-in value references. */
|
9810 |
+
var Buffer = moduleExports ? root.Buffer : undefined;
|
9811 |
+
|
9812 |
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
9813 |
+
var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
|
9814 |
+
|
9815 |
+
/**
|
9816 |
+
* Checks if `value` is a buffer.
|
9817 |
+
*
|
9818 |
+
* @static
|
9819 |
+
* @memberOf _
|
9820 |
+
* @since 4.3.0
|
9821 |
+
* @category Lang
|
9822 |
+
* @param {*} value The value to check.
|
9823 |
+
* @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
|
9824 |
+
* @example
|
9825 |
+
*
|
9826 |
+
* _.isBuffer(new Buffer(2));
|
9827 |
+
* // => true
|
9828 |
+
*
|
9829 |
+
* _.isBuffer(new Uint8Array(2));
|
9830 |
+
* // => false
|
9831 |
+
*/
|
9832 |
+
var isBuffer = nativeIsBuffer || stubFalse;
|
9833 |
+
|
9834 |
+
module.exports = isBuffer;
|
9835 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(79)(module)))
|
9836 |
+
|
9837 |
+
/***/ }),
|
9838 |
+
/* 131 */
|
9839 |
+
/***/ (function(module, exports) {
|
9840 |
+
|
9841 |
+
/** Used as references for various `Number` constants. */
|
9842 |
+
var MAX_SAFE_INTEGER = 9007199254740991;
|
9843 |
+
|
9844 |
+
/**
|
9845 |
+
* Checks if `value` is a valid array-like length.
|
9846 |
+
*
|
9847 |
+
* **Note:** This method is loosely based on
|
9848 |
+
* [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
|
9849 |
+
*
|
9850 |
+
* @static
|
9851 |
+
* @memberOf _
|
9852 |
+
* @since 4.0.0
|
9853 |
+
* @category Lang
|
9854 |
+
* @param {*} value The value to check.
|
9855 |
+
* @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
|
9856 |
+
* @example
|
9857 |
+
*
|
9858 |
+
* _.isLength(3);
|
9859 |
+
* // => true
|
9860 |
+
*
|
9861 |
+
* _.isLength(Number.MIN_VALUE);
|
9862 |
+
* // => false
|
9863 |
+
*
|
9864 |
+
* _.isLength(Infinity);
|
9865 |
+
* // => false
|
9866 |
+
*
|
9867 |
+
* _.isLength('3');
|
9868 |
+
* // => false
|
9869 |
+
*/
|
9870 |
+
function isLength(value) {
|
9871 |
+
return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
|
9872 |
+
}
|
9873 |
+
|
9874 |
+
module.exports = isLength;
|
9875 |
+
|
9876 |
+
/***/ }),
|
9877 |
+
/* 132 */
|
9878 |
+
/***/ (function(module, exports) {
|
9879 |
+
|
9880 |
+
/**
|
9881 |
+
* The base implementation of `_.unary` without support for storing metadata.
|
9882 |
+
*
|
9883 |
+
* @private
|
9884 |
+
* @param {Function} func The function to cap arguments for.
|
9885 |
+
* @returns {Function} Returns the new capped function.
|
9886 |
+
*/
|
9887 |
+
function baseUnary(func) {
|
9888 |
+
return function (value) {
|
9889 |
+
return func(value);
|
9890 |
+
};
|
9891 |
+
}
|
9892 |
+
|
9893 |
+
module.exports = baseUnary;
|
9894 |
+
|
9895 |
+
/***/ }),
|
9896 |
+
/* 133 */
|
9897 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9898 |
+
|
9899 |
+
/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(211);
|
9900 |
+
|
9901 |
+
/** Detect free variable `exports`. */
|
9902 |
+
var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
|
9903 |
+
|
9904 |
+
/** Detect free variable `module`. */
|
9905 |
+
var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
|
9906 |
+
|
9907 |
+
/** Detect the popular CommonJS extension `module.exports`. */
|
9908 |
+
var moduleExports = freeModule && freeModule.exports === freeExports;
|
9909 |
+
|
9910 |
+
/** Detect free variable `process` from Node.js. */
|
9911 |
+
var freeProcess = moduleExports && freeGlobal.process;
|
9912 |
+
|
9913 |
+
/** Used to access faster Node.js helpers. */
|
9914 |
+
var nodeUtil = function () {
|
9915 |
+
try {
|
9916 |
+
return freeProcess && freeProcess.binding && freeProcess.binding('util');
|
9917 |
+
} catch (e) {}
|
9918 |
+
}();
|
9919 |
+
|
9920 |
+
module.exports = nodeUtil;
|
9921 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(79)(module)))
|
9922 |
+
|
9923 |
+
/***/ }),
|
9924 |
+
/* 134 */
|
9925 |
+
/***/ (function(module, exports) {
|
9926 |
+
|
9927 |
+
/** Used for built-in method references. */
|
9928 |
+
var objectProto = Object.prototype;
|
9929 |
+
|
9930 |
+
/**
|
9931 |
+
* Checks if `value` is likely a prototype object.
|
9932 |
+
*
|
9933 |
+
* @private
|
9934 |
+
* @param {*} value The value to check.
|
9935 |
+
* @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
|
9936 |
+
*/
|
9937 |
+
function isPrototype(value) {
|
9938 |
+
var Ctor = value && value.constructor,
|
9939 |
+
proto = typeof Ctor == 'function' && Ctor.prototype || objectProto;
|
9940 |
+
|
9941 |
+
return value === proto;
|
9942 |
+
}
|
9943 |
+
|
9944 |
+
module.exports = isPrototype;
|
9945 |
+
|
9946 |
+
/***/ }),
|
9947 |
+
/* 135 */
|
9948 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9949 |
+
|
9950 |
+
var overArg = __webpack_require__(217);
|
9951 |
+
|
9952 |
+
/** Built-in value references. */
|
9953 |
+
var getPrototype = overArg(Object.getPrototypeOf, Object);
|
9954 |
+
|
9955 |
+
module.exports = getPrototype;
|
9956 |
+
|
9957 |
+
/***/ }),
|
9958 |
+
/* 136 */
|
9959 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9960 |
+
|
9961 |
+
var ListCache = __webpack_require__(82),
|
9962 |
+
stackClear = __webpack_require__(514),
|
9963 |
+
stackDelete = __webpack_require__(515),
|
9964 |
+
stackGet = __webpack_require__(516),
|
9965 |
+
stackHas = __webpack_require__(517),
|
9966 |
+
stackSet = __webpack_require__(518);
|
9967 |
+
|
9968 |
+
/**
|
9969 |
+
* Creates a stack cache object to store key-value pairs.
|
9970 |
+
*
|
9971 |
+
* @private
|
9972 |
+
* @constructor
|
9973 |
+
* @param {Array} [entries] The key-value pairs to cache.
|
9974 |
+
*/
|
9975 |
+
function Stack(entries) {
|
9976 |
+
var data = this.__data__ = new ListCache(entries);
|
9977 |
+
this.size = data.size;
|
9978 |
+
}
|
9979 |
+
|
9980 |
+
// Add methods to `Stack`.
|
9981 |
+
Stack.prototype.clear = stackClear;
|
9982 |
+
Stack.prototype['delete'] = stackDelete;
|
9983 |
+
Stack.prototype.get = stackGet;
|
9984 |
+
Stack.prototype.has = stackHas;
|
9985 |
+
Stack.prototype.set = stackSet;
|
9986 |
+
|
9987 |
+
module.exports = Stack;
|
9988 |
+
|
9989 |
+
/***/ }),
|
9990 |
+
/* 137 */
|
9991 |
+
/***/ (function(module, exports) {
|
9992 |
+
|
9993 |
+
/**
|
9994 |
+
* Performs a
|
9995 |
+
* [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
|
9996 |
+
* comparison between two values to determine if they are equivalent.
|
9997 |
+
*
|
9998 |
+
* @static
|
9999 |
+
* @memberOf _
|
10000 |
+
* @since 4.0.0
|
10001 |
+
* @category Lang
|
10002 |
+
* @param {*} value The value to compare.
|
10003 |
+
* @param {*} other The other value to compare.
|
10004 |
+
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
10005 |
+
* @example
|
10006 |
+
*
|
10007 |
+
* var object = { 'a': 1 };
|
10008 |
+
* var other = { 'a': 1 };
|
10009 |
+
*
|
10010 |
+
* _.eq(object, object);
|
10011 |
+
* // => true
|
10012 |
+
*
|
10013 |
+
* _.eq(object, other);
|
10014 |
+
* // => false
|
10015 |
+
*
|
10016 |
+
* _.eq('a', 'a');
|
10017 |
+
* // => true
|
10018 |
+
*
|
10019 |
+
* _.eq('a', Object('a'));
|
10020 |
+
* // => false
|
10021 |
+
*
|
10022 |
+
* _.eq(NaN, NaN);
|
10023 |
+
* // => true
|
10024 |
+
*/
|
10025 |
+
function eq(value, other) {
|
10026 |
+
return value === other || value !== value && other !== other;
|
10027 |
+
}
|
10028 |
+
|
10029 |
+
module.exports = eq;
|
10030 |
+
|
10031 |
+
/***/ }),
|
10032 |
+
/* 138 */
|
10033 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10034 |
+
|
10035 |
+
var getNative = __webpack_require__(46),
|
10036 |
+
root = __webpack_require__(28);
|
10037 |
+
|
10038 |
+
/* Built-in method references that are verified to be native. */
|
10039 |
+
var Map = getNative(root, 'Map');
|
10040 |
+
|
10041 |
+
module.exports = Map;
|
10042 |
+
|
10043 |
+
/***/ }),
|
10044 |
+
/* 139 */
|
10045 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10046 |
+
|
10047 |
+
var mapCacheClear = __webpack_require__(523),
|
10048 |
+
mapCacheDelete = __webpack_require__(530),
|
10049 |
+
mapCacheGet = __webpack_require__(532),
|
10050 |
+
mapCacheHas = __webpack_require__(533),
|
10051 |
+
mapCacheSet = __webpack_require__(534);
|
10052 |
+
|
10053 |
+
/**
|
10054 |
+
* Creates a map cache object to store key-value pairs.
|
10055 |
+
*
|
10056 |
+
* @private
|
10057 |
+
* @constructor
|
10058 |
+
* @param {Array} [entries] The key-value pairs to cache.
|
10059 |
+
*/
|
10060 |
+
function MapCache(entries) {
|
10061 |
+
var index = -1,
|
10062 |
+
length = entries == null ? 0 : entries.length;
|
10063 |
+
|
10064 |
+
this.clear();
|
10065 |
+
while (++index < length) {
|
10066 |
+
var entry = entries[index];
|
10067 |
+
this.set(entry[0], entry[1]);
|
10068 |
+
}
|
10069 |
+
}
|
10070 |
+
|
10071 |
+
// Add methods to `MapCache`.
|
10072 |
+
MapCache.prototype.clear = mapCacheClear;
|
10073 |
+
MapCache.prototype['delete'] = mapCacheDelete;
|
10074 |
+
MapCache.prototype.get = mapCacheGet;
|
10075 |
+
MapCache.prototype.has = mapCacheHas;
|
10076 |
+
MapCache.prototype.set = mapCacheSet;
|
10077 |
+
|
10078 |
+
module.exports = MapCache;
|
10079 |
+
|
10080 |
+
/***/ }),
|
10081 |
+
/* 140 */
|
10082 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10083 |
+
|
10084 |
+
var arrayFilter = __webpack_require__(545),
|
10085 |
+
stubArray = __webpack_require__(230);
|
10086 |
+
|
10087 |
+
/** Used for built-in method references. */
|
10088 |
+
var objectProto = Object.prototype;
|
10089 |
+
|
10090 |
+
/** Built-in value references. */
|
10091 |
+
var propertyIsEnumerable = objectProto.propertyIsEnumerable;
|
10092 |
+
|
10093 |
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
10094 |
+
var nativeGetSymbols = Object.getOwnPropertySymbols;
|
10095 |
+
|
10096 |
+
/**
|
10097 |
+
* Creates an array of the own enumerable symbols of `object`.
|
10098 |
+
*
|
10099 |
+
* @private
|
10100 |
+
* @param {Object} object The object to query.
|
10101 |
+
* @returns {Array} Returns the array of symbols.
|
10102 |
+
*/
|
10103 |
+
var getSymbols = !nativeGetSymbols ? stubArray : function (object) {
|
10104 |
+
if (object == null) {
|
10105 |
+
return [];
|
10106 |
+
}
|
10107 |
+
object = Object(object);
|
10108 |
+
return arrayFilter(nativeGetSymbols(object), function (symbol) {
|
10109 |
+
return propertyIsEnumerable.call(object, symbol);
|
10110 |
+
});
|
10111 |
+
};
|
10112 |
+
|
10113 |
+
module.exports = getSymbols;
|
10114 |
+
|
10115 |
+
/***/ }),
|
10116 |
+
/* 141 */
|
10117 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10118 |
+
|
10119 |
+
var isArray = __webpack_require__(23),
|
10120 |
+
isSymbol = __webpack_require__(87);
|
10121 |
+
|
10122 |
+
/** Used to match property names within property paths. */
|
10123 |
+
var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
|
10124 |
+
reIsPlainProp = /^\w*$/;
|
10125 |
+
|
10126 |
+
/**
|
10127 |
+
* Checks if `value` is a property name and not a property path.
|
10128 |
+
*
|
10129 |
+
* @private
|
10130 |
+
* @param {*} value The value to check.
|
10131 |
+
* @param {Object} [object] The object to query keys on.
|
10132 |
+
* @returns {boolean} Returns `true` if `value` is a property name, else `false`.
|
10133 |
+
*/
|
10134 |
+
function isKey(value, object) {
|
10135 |
+
if (isArray(value)) {
|
10136 |
+
return false;
|
10137 |
+
}
|
10138 |
+
var type = typeof value;
|
10139 |
+
if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || isSymbol(value)) {
|
10140 |
+
return true;
|
10141 |
+
}
|
10142 |
+
return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
|
10143 |
+
}
|
10144 |
+
|
10145 |
+
module.exports = isKey;
|
10146 |
+
|
10147 |
+
/***/ }),
|
10148 |
+
/* 142 */
|
10149 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10150 |
+
|
10151 |
+
var Uint8Array = __webpack_require__(226);
|
10152 |
+
|
10153 |
+
/**
|
10154 |
+
* Creates a clone of `arrayBuffer`.
|
10155 |
+
*
|
10156 |
+
* @private
|
10157 |
+
* @param {ArrayBuffer} arrayBuffer The array buffer to clone.
|
10158 |
+
* @returns {ArrayBuffer} Returns the cloned array buffer.
|
10159 |
+
*/
|
10160 |
+
function cloneArrayBuffer(arrayBuffer) {
|
10161 |
+
var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
|
10162 |
+
new Uint8Array(result).set(new Uint8Array(arrayBuffer));
|
10163 |
+
return result;
|
10164 |
+
}
|
10165 |
+
|
10166 |
+
module.exports = cloneArrayBuffer;
|
10167 |
+
|
10168 |
+
/***/ }),
|
10169 |
+
/* 143 */
|
10170 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10171 |
+
|
10172 |
+
"use strict";
|
10173 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
10174 |
+
* Copyright (c) 2014-present, Facebook, Inc.
|
10175 |
+
*
|
10176 |
+
* This source code is licensed under the MIT license found in the
|
10177 |
+
* LICENSE file in the root directory of this source tree.
|
10178 |
+
*
|
10179 |
+
*/
|
10180 |
+
|
10181 |
+
|
10182 |
+
|
10183 |
+
/**
|
10184 |
+
* Forked from fbjs/warning:
|
10185 |
+
* https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js
|
10186 |
+
*
|
10187 |
+
* Only change is we use console.warn instead of console.error,
|
10188 |
+
* and do nothing when 'console' is not supported.
|
10189 |
+
* This really simplifies the code.
|
10190 |
+
* ---
|
10191 |
+
* Similar to invariant but only logs a warning if the condition is not met.
|
10192 |
+
* This can be used to log issues in development environments in critical
|
10193 |
+
* paths. Removing the logging code for production environments will keep the
|
10194 |
+
* same logic and follow the same code paths.
|
10195 |
+
*/
|
10196 |
+
|
10197 |
+
var lowPriorityWarning = function lowPriorityWarning() {};
|
10198 |
+
|
10199 |
+
if (process.env.NODE_ENV !== 'production') {
|
10200 |
+
var printWarning = function printWarning(format) {
|
10201 |
+
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
10202 |
+
args[_key - 1] = arguments[_key];
|
10203 |
+
}
|
10204 |
+
|
10205 |
+
var argIndex = 0;
|
10206 |
+
var message = 'Warning: ' + format.replace(/%s/g, function () {
|
10207 |
+
return args[argIndex++];
|
10208 |
+
});
|
10209 |
+
if (typeof console !== 'undefined') {
|
10210 |
+
console.warn(message);
|
10211 |
+
}
|
10212 |
+
try {
|
10213 |
+
// --- Welcome to debugging React ---
|
10214 |
+
// This error was thrown as a convenience so that you can use this stack
|
10215 |
+
// to find the callsite that caused this warning to fire.
|
10216 |
+
throw new Error(message);
|
10217 |
+
} catch (x) {}
|
10218 |
+
};
|
10219 |
+
|
10220 |
+
lowPriorityWarning = function lowPriorityWarning(condition, format) {
|
10221 |
+
if (format === undefined) {
|
10222 |
+
throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
|
10223 |
+
}
|
10224 |
+
if (!condition) {
|
10225 |
+
for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
10226 |
+
args[_key2 - 2] = arguments[_key2];
|
10227 |
+
}
|
10228 |
+
|
10229 |
+
printWarning.apply(undefined, [format].concat(args));
|
10230 |
+
}
|
10231 |
+
};
|
10232 |
+
}
|
10233 |
+
|
10234 |
+
module.exports = lowPriorityWarning;
|
10235 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
10236 |
+
|
10237 |
+
/***/ }),
|
10238 |
+
/* 144 */
|
10239 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10240 |
+
|
10241 |
+
"use strict";
|
10242 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
10243 |
+
* Copyright (c) 2016-present, Facebook, Inc.
|
10244 |
+
*
|
10245 |
+
* This source code is licensed under the MIT license found in the
|
10246 |
+
* LICENSE file in the root directory of this source tree.
|
10247 |
+
*
|
10248 |
+
*
|
10249 |
+
*/
|
10250 |
+
|
10251 |
+
|
10252 |
+
|
10253 |
+
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; };
|
10254 |
+
|
10255 |
+
var _prodInvariant = __webpack_require__(60);
|
10256 |
+
|
10257 |
+
var ReactCurrentOwner = __webpack_require__(91);
|
10258 |
+
|
10259 |
+
var invariant = __webpack_require__(21);
|
10260 |
+
var warning = __webpack_require__(26);
|
10261 |
+
|
10262 |
+
function isNative(fn) {
|
10263 |
+
// Based on isNative() from Lodash
|
10264 |
+
var funcToString = Function.prototype.toString;
|
10265 |
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
10266 |
+
var reIsNative = RegExp('^' + funcToString
|
10267 |
+
// Take an example native function source for comparison
|
10268 |
+
.call(hasOwnProperty
|
10269 |
+
// Strip regex characters so we can use it for regex
|
10270 |
+
).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&'
|
10271 |
+
// Remove hasOwnProperty from the template to make it generic
|
10272 |
+
).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$');
|
10273 |
+
try {
|
10274 |
+
var source = funcToString.call(fn);
|
10275 |
+
return reIsNative.test(source);
|
10276 |
+
} catch (err) {
|
10277 |
+
return false;
|
10278 |
+
}
|
10279 |
+
}
|
10280 |
+
|
10281 |
+
var canUseCollections =
|
10282 |
+
// Array.from
|
10283 |
+
typeof Array.from === 'function' &&
|
10284 |
+
// Map
|
10285 |
+
typeof Map === 'function' && isNative(Map) &&
|
10286 |
+
// Map.prototype.keys
|
10287 |
+
Map.prototype != null && typeof Map.prototype.keys === 'function' && isNative(Map.prototype.keys) &&
|
10288 |
+
// Set
|
10289 |
+
typeof Set === 'function' && isNative(Set) &&
|
10290 |
+
// Set.prototype.keys
|
10291 |
+
Set.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys);
|
10292 |
+
|
10293 |
+
var setItem;
|
10294 |
+
var getItem;
|
10295 |
+
var removeItem;
|
10296 |
+
var getItemIDs;
|
10297 |
+
var addRoot;
|
10298 |
+
var removeRoot;
|
10299 |
+
var getRootIDs;
|
10300 |
+
|
10301 |
+
if (canUseCollections) {
|
10302 |
+
var itemMap = new Map();
|
10303 |
+
var rootIDSet = new Set();
|
10304 |
+
|
10305 |
+
setItem = function setItem(id, item) {
|
10306 |
+
itemMap.set(id, item);
|
10307 |
+
};
|
10308 |
+
getItem = function getItem(id) {
|
10309 |
+
return itemMap.get(id);
|
10310 |
+
};
|
10311 |
+
removeItem = function removeItem(id) {
|
10312 |
+
itemMap['delete'](id);
|
10313 |
+
};
|
10314 |
+
getItemIDs = function getItemIDs() {
|
10315 |
+
return Array.from(itemMap.keys());
|
10316 |
+
};
|
10317 |
+
|
10318 |
+
addRoot = function addRoot(id) {
|
10319 |
+
rootIDSet.add(id);
|
10320 |
+
};
|
10321 |
+
removeRoot = function removeRoot(id) {
|
10322 |
+
rootIDSet['delete'](id);
|
10323 |
+
};
|
10324 |
+
getRootIDs = function getRootIDs() {
|
10325 |
+
return Array.from(rootIDSet.keys());
|
10326 |
+
};
|
10327 |
+
} else {
|
10328 |
+
var itemByKey = {};
|
10329 |
+
var rootByKey = {};
|
10330 |
+
|
10331 |
+
// Use non-numeric keys to prevent V8 performance issues:
|
10332 |
+
// https://github.com/facebook/react/pull/7232
|
10333 |
+
var getKeyFromID = function getKeyFromID(id) {
|
10334 |
+
return '.' + id;
|
10335 |
+
};
|
10336 |
+
var getIDFromKey = function getIDFromKey(key) {
|
10337 |
+
return parseInt(key.substr(1), 10);
|
10338 |
+
};
|
10339 |
+
|
10340 |
+
setItem = function setItem(id, item) {
|
10341 |
+
var key = getKeyFromID(id);
|
10342 |
+
itemByKey[key] = item;
|
10343 |
+
};
|
10344 |
+
getItem = function getItem(id) {
|
10345 |
+
var key = getKeyFromID(id);
|
10346 |
+
return itemByKey[key];
|
10347 |
+
};
|
10348 |
+
removeItem = function removeItem(id) {
|
10349 |
+
var key = getKeyFromID(id);
|
10350 |
+
delete itemByKey[key];
|
10351 |
+
};
|
10352 |
+
getItemIDs = function getItemIDs() {
|
10353 |
+
return Object.keys(itemByKey).map(getIDFromKey);
|
10354 |
+
};
|
10355 |
+
|
10356 |
+
addRoot = function addRoot(id) {
|
10357 |
+
var key = getKeyFromID(id);
|
10358 |
+
rootByKey[key] = true;
|
10359 |
+
};
|
10360 |
+
removeRoot = function removeRoot(id) {
|
10361 |
+
var key = getKeyFromID(id);
|
10362 |
+
delete rootByKey[key];
|
10363 |
+
};
|
10364 |
+
getRootIDs = function getRootIDs() {
|
10365 |
+
return Object.keys(rootByKey).map(getIDFromKey);
|
10366 |
+
};
|
10367 |
+
}
|
10368 |
+
|
10369 |
+
var unmountedIDs = [];
|
10370 |
+
|
10371 |
+
function purgeDeep(id) {
|
10372 |
+
var item = getItem(id);
|
10373 |
+
if (item) {
|
10374 |
+
var childIDs = item.childIDs;
|
10375 |
+
|
10376 |
+
removeItem(id);
|
10377 |
+
childIDs.forEach(purgeDeep);
|
10378 |
+
}
|
10379 |
+
}
|
10380 |
+
|
10381 |
+
function describeComponentFrame(name, source, ownerName) {
|
10382 |
+
return '\n in ' + (name || 'Unknown') + (source ? ' (at ' + source.fileName.replace(/^.*[\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : '');
|
10383 |
+
}
|
10384 |
+
|
10385 |
+
function _getDisplayName(element) {
|
10386 |
+
if (element == null) {
|
10387 |
+
return '#empty';
|
10388 |
+
} else if (typeof element === 'string' || typeof element === 'number') {
|
10389 |
+
return '#text';
|
10390 |
+
} else if (typeof element.type === 'string') {
|
10391 |
+
return element.type;
|
10392 |
+
} else {
|
10393 |
+
return element.type.displayName || element.type.name || 'Unknown';
|
10394 |
+
}
|
10395 |
+
}
|
10396 |
+
|
10397 |
+
function describeID(id) {
|
10398 |
+
var name = ReactComponentTreeHook.getDisplayName(id);
|
10399 |
+
var element = ReactComponentTreeHook.getElement(id);
|
10400 |
+
var ownerID = ReactComponentTreeHook.getOwnerID(id);
|
10401 |
+
var ownerName;
|
10402 |
+
if (ownerID) {
|
10403 |
+
ownerName = ReactComponentTreeHook.getDisplayName(ownerID);
|
10404 |
+
}
|
10405 |
+
process.env.NODE_ENV !== 'production' ? warning(element, 'ReactComponentTreeHook: Missing React element for debugID %s when ' + 'building stack', id) : void 0;
|
10406 |
+
return describeComponentFrame(name, element && element._source, ownerName);
|
10407 |
+
}
|
10408 |
+
|
10409 |
+
var ReactComponentTreeHook = {
|
10410 |
+
onSetChildren: function onSetChildren(id, nextChildIDs) {
|
10411 |
+
var item = getItem(id);
|
10412 |
+
!item ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Item must have been set') : _prodInvariant('144') : void 0;
|
10413 |
+
item.childIDs = nextChildIDs;
|
10414 |
+
|
10415 |
+
for (var i = 0; i < nextChildIDs.length; i++) {
|
10416 |
+
var nextChildID = nextChildIDs[i];
|
10417 |
+
var nextChild = getItem(nextChildID);
|
10418 |
+
!nextChild ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected hook events to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('140') : void 0;
|
10419 |
+
!(nextChild.childIDs != null || _typeof(nextChild.element) !== 'object' || nextChild.element == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetChildren() to fire for a container child before its parent includes it in onSetChildren().') : _prodInvariant('141') : void 0;
|
10420 |
+
!nextChild.isMounted ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('71') : void 0;
|
10421 |
+
if (nextChild.parentID == null) {
|
10422 |
+
nextChild.parentID = id;
|
10423 |
+
// TODO: This shouldn't be necessary but mounting a new root during in
|
10424 |
+
// componentWillMount currently causes not-yet-mounted components to
|
10425 |
+
// be purged from our tree data so their parent id is missing.
|
10426 |
+
}
|
10427 |
+
!(nextChild.parentID === id) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onBeforeMountComponent() parent and onSetChildren() to be consistent (%s has parents %s and %s).', nextChildID, nextChild.parentID, id) : _prodInvariant('142', nextChildID, nextChild.parentID, id) : void 0;
|
10428 |
+
}
|
10429 |
+
},
|
10430 |
+
onBeforeMountComponent: function onBeforeMountComponent(id, element, parentID) {
|
10431 |
+
var item = {
|
10432 |
+
element: element,
|
10433 |
+
parentID: parentID,
|
10434 |
+
text: null,
|
10435 |
+
childIDs: [],
|
10436 |
+
isMounted: false,
|
10437 |
+
updateCount: 0
|
10438 |
+
};
|
10439 |
+
setItem(id, item);
|
10440 |
+
},
|
10441 |
+
onBeforeUpdateComponent: function onBeforeUpdateComponent(id, element) {
|
10442 |
+
var item = getItem(id);
|
10443 |
+
if (!item || !item.isMounted) {
|
10444 |
+
// We may end up here as a result of setState() in componentWillUnmount().
|
10445 |
+
// In this case, ignore the element.
|
10446 |
+
return;
|
10447 |
+
}
|
10448 |
+
item.element = element;
|
10449 |
+
},
|
10450 |
+
onMountComponent: function onMountComponent(id) {
|
10451 |
+
var item = getItem(id);
|
10452 |
+
!item ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Item must have been set') : _prodInvariant('144') : void 0;
|
10453 |
+
item.isMounted = true;
|
10454 |
+
var isRoot = item.parentID === 0;
|
10455 |
+
if (isRoot) {
|
10456 |
+
addRoot(id);
|
10457 |
+
}
|
10458 |
+
},
|
10459 |
+
onUpdateComponent: function onUpdateComponent(id) {
|
10460 |
+
var item = getItem(id);
|
10461 |
+
if (!item || !item.isMounted) {
|
10462 |
+
// We may end up here as a result of setState() in componentWillUnmount().
|
10463 |
+
// In this case, ignore the element.
|
10464 |
+
return;
|
10465 |
+
}
|
10466 |
+
item.updateCount++;
|
10467 |
+
},
|
10468 |
+
onUnmountComponent: function onUnmountComponent(id) {
|
10469 |
+
var item = getItem(id);
|
10470 |
+
if (item) {
|
10471 |
+
// We need to check if it exists.
|
10472 |
+
// `item` might not exist if it is inside an error boundary, and a sibling
|
10473 |
+
// error boundary child threw while mounting. Then this instance never
|
10474 |
+
// got a chance to mount, but it still gets an unmounting event during
|
10475 |
+
// the error boundary cleanup.
|
10476 |
+
item.isMounted = false;
|
10477 |
+
var isRoot = item.parentID === 0;
|
10478 |
+
if (isRoot) {
|
10479 |
+
removeRoot(id);
|
10480 |
+
}
|
10481 |
+
}
|
10482 |
+
unmountedIDs.push(id);
|
10483 |
+
},
|
10484 |
+
purgeUnmountedComponents: function purgeUnmountedComponents() {
|
10485 |
+
if (ReactComponentTreeHook._preventPurging) {
|
10486 |
+
// Should only be used for testing.
|
10487 |
+
return;
|
10488 |
+
}
|
10489 |
+
|
10490 |
+
for (var i = 0; i < unmountedIDs.length; i++) {
|
10491 |
+
var id = unmountedIDs[i];
|
10492 |
+
purgeDeep(id);
|
10493 |
+
}
|
10494 |
+
unmountedIDs.length = 0;
|
10495 |
+
},
|
10496 |
+
isMounted: function isMounted(id) {
|
10497 |
+
var item = getItem(id);
|
10498 |
+
return item ? item.isMounted : false;
|
10499 |
+
},
|
10500 |
+
getCurrentStackAddendum: function getCurrentStackAddendum(topElement) {
|
10501 |
+
var info = '';
|
10502 |
+
if (topElement) {
|
10503 |
+
var name = _getDisplayName(topElement);
|
10504 |
+
var owner = topElement._owner;
|
10505 |
+
info += describeComponentFrame(name, topElement._source, owner && owner.getName());
|
10506 |
+
}
|
10507 |
+
|
10508 |
+
var currentOwner = ReactCurrentOwner.current;
|
10509 |
+
var id = currentOwner && currentOwner._debugID;
|
10510 |
+
|
10511 |
+
info += ReactComponentTreeHook.getStackAddendumByID(id);
|
10512 |
+
return info;
|
10513 |
+
},
|
10514 |
+
getStackAddendumByID: function getStackAddendumByID(id) {
|
10515 |
+
var info = '';
|
10516 |
+
while (id) {
|
10517 |
+
info += describeID(id);
|
10518 |
+
id = ReactComponentTreeHook.getParentID(id);
|
10519 |
+
}
|
10520 |
+
return info;
|
10521 |
+
},
|
10522 |
+
getChildIDs: function getChildIDs(id) {
|
10523 |
+
var item = getItem(id);
|
10524 |
+
return item ? item.childIDs : [];
|
10525 |
+
},
|
10526 |
+
getDisplayName: function getDisplayName(id) {
|
10527 |
+
var element = ReactComponentTreeHook.getElement(id);
|
10528 |
+
if (!element) {
|
10529 |
+
return null;
|
10530 |
+
}
|
10531 |
+
return _getDisplayName(element);
|
10532 |
+
},
|
10533 |
+
getElement: function getElement(id) {
|
10534 |
+
var item = getItem(id);
|
10535 |
+
return item ? item.element : null;
|
10536 |
+
},
|
10537 |
+
getOwnerID: function getOwnerID(id) {
|
10538 |
+
var element = ReactComponentTreeHook.getElement(id);
|
10539 |
+
if (!element || !element._owner) {
|
10540 |
+
return null;
|
10541 |
+
}
|
10542 |
+
return element._owner._debugID;
|
10543 |
+
},
|
10544 |
+
getParentID: function getParentID(id) {
|
10545 |
+
var item = getItem(id);
|
10546 |
+
return item ? item.parentID : null;
|
10547 |
+
},
|
10548 |
+
getSource: function getSource(id) {
|
10549 |
+
var item = getItem(id);
|
10550 |
+
var element = item ? item.element : null;
|
10551 |
+
var source = element != null ? element._source : null;
|
10552 |
+
return source;
|
10553 |
+
},
|
10554 |
+
getText: function getText(id) {
|
10555 |
+
var element = ReactComponentTreeHook.getElement(id);
|
10556 |
+
if (typeof element === 'string') {
|
10557 |
+
return element;
|
10558 |
+
} else if (typeof element === 'number') {
|
10559 |
+
return '' + element;
|
10560 |
+
} else {
|
10561 |
+
return null;
|
10562 |
+
}
|
10563 |
+
},
|
10564 |
+
getUpdateCount: function getUpdateCount(id) {
|
10565 |
+
var item = getItem(id);
|
10566 |
+
return item ? item.updateCount : 0;
|
10567 |
+
},
|
10568 |
+
|
10569 |
+
getRootIDs: getRootIDs,
|
10570 |
+
getRegisteredIDs: getItemIDs,
|
10571 |
+
|
10572 |
+
pushNonStandardWarningStack: function pushNonStandardWarningStack(isCreatingElement, currentSource) {
|
10573 |
+
if (typeof console.reactStack !== 'function') {
|
10574 |
+
return;
|
10575 |
+
}
|
10576 |
+
|
10577 |
+
var stack = [];
|
10578 |
+
var currentOwner = ReactCurrentOwner.current;
|
10579 |
+
var id = currentOwner && currentOwner._debugID;
|
10580 |
+
|
10581 |
+
try {
|
10582 |
+
if (isCreatingElement) {
|
10583 |
+
stack.push({
|
10584 |
+
name: id ? ReactComponentTreeHook.getDisplayName(id) : null,
|
10585 |
+
fileName: currentSource ? currentSource.fileName : null,
|
10586 |
+
lineNumber: currentSource ? currentSource.lineNumber : null
|
10587 |
+
});
|
10588 |
+
}
|
10589 |
+
|
10590 |
+
while (id) {
|
10591 |
+
var element = ReactComponentTreeHook.getElement(id);
|
10592 |
+
var parentID = ReactComponentTreeHook.getParentID(id);
|
10593 |
+
var ownerID = ReactComponentTreeHook.getOwnerID(id);
|
10594 |
+
var ownerName = ownerID ? ReactComponentTreeHook.getDisplayName(ownerID) : null;
|
10595 |
+
var source = element && element._source;
|
10596 |
+
stack.push({
|
10597 |
+
name: ownerName,
|
10598 |
+
fileName: source ? source.fileName : null,
|
10599 |
+
lineNumber: source ? source.lineNumber : null
|
10600 |
+
});
|
10601 |
+
id = parentID;
|
10602 |
+
}
|
10603 |
+
} catch (err) {
|
10604 |
+
// Internal state is messed up.
|
10605 |
+
// Stop building the stack (it's just a nice to have).
|
10606 |
+
}
|
10607 |
+
|
10608 |
+
console.reactStack(stack);
|
10609 |
+
},
|
10610 |
+
popNonStandardWarningStack: function popNonStandardWarningStack() {
|
10611 |
+
if (typeof console.reactStackEnd !== 'function') {
|
10612 |
+
return;
|
10613 |
+
}
|
10614 |
+
console.reactStackEnd();
|
10615 |
+
}
|
10616 |
+
};
|
10617 |
+
|
10618 |
+
module.exports = ReactComponentTreeHook;
|
10619 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
10620 |
+
|
10621 |
+
/***/ }),
|
10622 |
+
/* 145 */
|
10623 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10624 |
+
|
10625 |
+
"use strict";
|
10626 |
+
|
10627 |
+
|
10628 |
+
Object.defineProperty(exports, "__esModule", {
|
10629 |
+
value: true
|
10630 |
+
});
|
10631 |
+
var setLoaderInfo = exports.setLoaderInfo = function setLoaderInfo(data) {
|
10632 |
+
return {
|
10633 |
+
type: "CHANGE_LOADER_DATA",
|
10634 |
+
payload: data
|
10635 |
+
};
|
10636 |
+
};
|
10637 |
+
|
10638 |
+
var setStatusInfo = exports.setStatusInfo = function setStatusInfo(data) {
|
10639 |
+
|
10640 |
+
return {
|
10641 |
+
type: "CHANGE_STATUS_INFO",
|
10642 |
+
payload: data
|
10643 |
+
};
|
10644 |
+
};
|
10645 |
+
|
10646 |
+
var setErrorInfo = exports.setErrorInfo = function setErrorInfo(data) {
|
10647 |
+
return {
|
10648 |
+
type: "CHANGE_ERROR_INFO",
|
10649 |
+
payload: data
|
10650 |
+
};
|
10651 |
+
};
|
10652 |
+
|
10653 |
+
/***/ }),
|
10654 |
+
/* 146 */
|
10655 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10656 |
+
|
10657 |
+
"use strict";
|
10658 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
10659 |
+
|
10660 |
+
var utils = __webpack_require__(24);
|
10661 |
+
var normalizeHeaderName = __webpack_require__(710);
|
10662 |
+
|
10663 |
+
var DEFAULT_CONTENT_TYPE = {
|
10664 |
+
'Content-Type': 'application/x-www-form-urlencoded'
|
10665 |
+
};
|
10666 |
+
|
10667 |
+
function setContentTypeIfUnset(headers, value) {
|
10668 |
+
if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
|
10669 |
+
headers['Content-Type'] = value;
|
10670 |
+
}
|
10671 |
+
}
|
10672 |
+
|
10673 |
+
function getDefaultAdapter() {
|
10674 |
+
var adapter;
|
10675 |
+
if (typeof XMLHttpRequest !== 'undefined') {
|
10676 |
+
// For browsers use XHR adapter
|
10677 |
+
adapter = __webpack_require__(259);
|
10678 |
+
} else if (typeof process !== 'undefined') {
|
10679 |
+
// For node use HTTP adapter
|
10680 |
+
adapter = __webpack_require__(259);
|
10681 |
+
}
|
10682 |
+
return adapter;
|
10683 |
+
}
|
10684 |
+
|
10685 |
+
var defaults = {
|
10686 |
+
adapter: getDefaultAdapter(),
|
10687 |
+
|
10688 |
+
transformRequest: [function transformRequest(data, headers) {
|
10689 |
+
normalizeHeaderName(headers, 'Content-Type');
|
10690 |
+
if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {
|
10691 |
+
return data;
|
10692 |
+
}
|
10693 |
+
if (utils.isArrayBufferView(data)) {
|
10694 |
+
return data.buffer;
|
10695 |
+
}
|
10696 |
+
if (utils.isURLSearchParams(data)) {
|
10697 |
+
setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
|
10698 |
+
return data.toString();
|
10699 |
+
}
|
10700 |
+
if (utils.isObject(data)) {
|
10701 |
+
setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
|
10702 |
+
return JSON.stringify(data);
|
10703 |
+
}
|
10704 |
+
return data;
|
10705 |
+
}],
|
10706 |
+
|
10707 |
+
transformResponse: [function transformResponse(data) {
|
10708 |
+
/*eslint no-param-reassign:0*/
|
10709 |
+
if (typeof data === 'string') {
|
10710 |
+
try {
|
10711 |
+
data = JSON.parse(data);
|
10712 |
+
} catch (e) {/* Ignore */}
|
10713 |
+
}
|
10714 |
+
return data;
|
10715 |
+
}],
|
10716 |
+
|
10717 |
+
/**
|
10718 |
+
* A timeout in milliseconds to abort a request. If set to 0 (default) a
|
10719 |
+
* timeout is not created.
|
10720 |
+
*/
|
10721 |
+
timeout: 0,
|
10722 |
+
|
10723 |
+
xsrfCookieName: 'XSRF-TOKEN',
|
10724 |
+
xsrfHeaderName: 'X-XSRF-TOKEN',
|
10725 |
+
|
10726 |
+
maxContentLength: -1,
|
10727 |
+
|
10728 |
+
validateStatus: function validateStatus(status) {
|
10729 |
+
return status >= 200 && status < 300;
|
10730 |
+
}
|
10731 |
+
};
|
10732 |
+
|
10733 |
+
defaults.headers = {
|
10734 |
+
common: {
|
10735 |
+
'Accept': 'application/json, text/plain, */*'
|
10736 |
+
}
|
10737 |
+
};
|
10738 |
+
|
10739 |
+
utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
|
10740 |
+
defaults.headers[method] = {};
|
10741 |
+
});
|
10742 |
+
|
10743 |
+
utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
|
10744 |
+
defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
|
10745 |
+
});
|
10746 |
+
|
10747 |
+
module.exports = defaults;
|
10748 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
10749 |
+
|
10750 |
+
/***/ }),
|
10751 |
+
/* 147 */
|
10752 |
+
/***/ (function(module, exports) {
|
10753 |
+
|
10754 |
+
/*
|
10755 |
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
10756 |
+
Author Tobias Koppers @sokra
|
10757 |
+
*/
|
10758 |
+
// css base code, injected by the css-loader
|
10759 |
+
module.exports = function (useSourceMap) {
|
10760 |
+
var list = [];
|
10761 |
+
|
10762 |
+
// return the list of modules as css string
|
10763 |
+
list.toString = function toString() {
|
10764 |
+
return this.map(function (item) {
|
10765 |
+
var content = cssWithMappingToString(item, useSourceMap);
|
10766 |
+
if (item[2]) {
|
10767 |
+
return "@media " + item[2] + "{" + content + "}";
|
10768 |
+
} else {
|
10769 |
+
return content;
|
10770 |
+
}
|
10771 |
+
}).join("");
|
10772 |
+
};
|
10773 |
+
|
10774 |
+
// import a list of modules into the list
|
10775 |
+
list.i = function (modules, mediaQuery) {
|
10776 |
+
if (typeof modules === "string") modules = [[null, modules, ""]];
|
10777 |
+
var alreadyImportedModules = {};
|
10778 |
+
for (var i = 0; i < this.length; i++) {
|
10779 |
+
var id = this[i][0];
|
10780 |
+
if (typeof id === "number") alreadyImportedModules[id] = true;
|
10781 |
+
}
|
10782 |
+
for (i = 0; i < modules.length; i++) {
|
10783 |
+
var item = modules[i];
|
10784 |
+
// skip already imported module
|
10785 |
+
// this implementation is not 100% perfect for weird media query combinations
|
10786 |
+
// when a module is imported multiple times with different media queries.
|
10787 |
+
// I hope this will never occur (Hey this way we have smaller bundles)
|
10788 |
+
if (typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) {
|
10789 |
+
if (mediaQuery && !item[2]) {
|
10790 |
+
item[2] = mediaQuery;
|
10791 |
+
} else if (mediaQuery) {
|
10792 |
+
item[2] = "(" + item[2] + ") and (" + mediaQuery + ")";
|
10793 |
+
}
|
10794 |
+
list.push(item);
|
10795 |
+
}
|
10796 |
+
}
|
10797 |
+
};
|
10798 |
+
return list;
|
10799 |
+
};
|
10800 |
+
|
10801 |
+
function cssWithMappingToString(item, useSourceMap) {
|
10802 |
+
var content = item[1] || '';
|
10803 |
+
var cssMapping = item[3];
|
10804 |
+
if (!cssMapping) {
|
10805 |
+
return content;
|
10806 |
+
}
|
10807 |
+
|
10808 |
+
if (useSourceMap && typeof btoa === 'function') {
|
10809 |
+
var sourceMapping = toComment(cssMapping);
|
10810 |
+
var sourceURLs = cssMapping.sources.map(function (source) {
|
10811 |
+
return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */';
|
10812 |
+
});
|
10813 |
+
|
10814 |
+
return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
|
10815 |
+
}
|
10816 |
+
|
10817 |
+
return [content].join('\n');
|
10818 |
+
}
|
10819 |
+
|
10820 |
+
// Adapted from convert-source-map (MIT)
|
10821 |
+
function toComment(sourceMap) {
|
10822 |
+
// eslint-disable-next-line no-undef
|
10823 |
+
var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
|
10824 |
+
var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;
|
10825 |
+
|
10826 |
+
return '/*# ' + data + ' */';
|
10827 |
+
}
|
10828 |
+
|
10829 |
+
/***/ }),
|
10830 |
+
/* 148 */
|
10831 |
+
/***/ (function(module, exports) {
|
10832 |
+
|
10833 |
+
module.exports = "data:application/vnd.ms-fontobject;base64,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"
|
10834 |
+
|
10835 |
+
/***/ }),
|
10836 |
+
/* 149 */
|
10837 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10838 |
+
|
10839 |
+
/*
|
10840 |
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
10841 |
+
Author Tobias Koppers @sokra
|
10842 |
+
*/
|
10843 |
+
|
10844 |
+
var stylesInDom = {};
|
10845 |
+
|
10846 |
+
var memoize = function (fn) {
|
10847 |
+
var memo;
|
10848 |
+
|
10849 |
+
return function () {
|
10850 |
+
if (typeof memo === "undefined") memo = fn.apply(this, arguments);
|
10851 |
+
return memo;
|
10852 |
+
};
|
10853 |
+
};
|
10854 |
+
|
10855 |
+
var isOldIE = memoize(function () {
|
10856 |
+
// Test for IE <= 9 as proposed by Browserhacks
|
10857 |
+
// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
|
10858 |
+
// Tests for existence of standard globals is to allow style-loader
|
10859 |
+
// to operate correctly into non-standard environments
|
10860 |
+
// @see https://github.com/webpack-contrib/style-loader/issues/177
|
10861 |
+
return window && document && document.all && !window.atob;
|
10862 |
+
});
|
10863 |
+
|
10864 |
+
var getElement = (function (fn) {
|
10865 |
+
var memo = {};
|
10866 |
+
|
10867 |
+
return function(selector) {
|
10868 |
+
if (typeof memo[selector] === "undefined") {
|
10869 |
+
memo[selector] = fn.call(this, selector);
|
10870 |
+
}
|
10871 |
+
|
10872 |
+
return memo[selector]
|
10873 |
+
};
|
10874 |
+
})(function (target) {
|
10875 |
+
return document.querySelector(target)
|
10876 |
+
});
|
10877 |
+
|
10878 |
+
var singleton = null;
|
10879 |
+
var singletonCounter = 0;
|
10880 |
+
var stylesInsertedAtTop = [];
|
10881 |
+
|
10882 |
+
var fixUrls = __webpack_require__(273);
|
10883 |
+
|
10884 |
+
module.exports = function(list, options) {
|
10885 |
+
if (typeof DEBUG !== "undefined" && DEBUG) {
|
10886 |
+
if (typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment");
|
10887 |
+
}
|
10888 |
+
|
10889 |
+
options = options || {};
|
10890 |
+
|
10891 |
+
options.attrs = typeof options.attrs === "object" ? options.attrs : {};
|
10892 |
+
|
10893 |
+
// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
|
10894 |
+
// tags it will allow on a page
|
10895 |
+
if (!options.singleton) options.singleton = isOldIE();
|
10896 |
+
|
10897 |
+
// By default, add <style> tags to the <head> element
|
10898 |
+
if (!options.insertInto) options.insertInto = "head";
|
10899 |
+
|
10900 |
+
// By default, add <style> tags to the bottom of the target
|
10901 |
+
if (!options.insertAt) options.insertAt = "bottom";
|
10902 |
+
|
10903 |
+
var styles = listToStyles(list, options);
|
10904 |
+
|
10905 |
+
addStylesToDom(styles, options);
|
10906 |
+
|
10907 |
+
return function update (newList) {
|
10908 |
+
var mayRemove = [];
|
10909 |
+
|
10910 |
+
for (var i = 0; i < styles.length; i++) {
|
10911 |
+
var item = styles[i];
|
10912 |
+
var domStyle = stylesInDom[item.id];
|
10913 |
+
|
10914 |
+
domStyle.refs--;
|
10915 |
+
mayRemove.push(domStyle);
|
10916 |
+
}
|
10917 |
+
|
10918 |
+
if(newList) {
|
10919 |
+
var newStyles = listToStyles(newList, options);
|
10920 |
+
addStylesToDom(newStyles, options);
|
10921 |
+
}
|
10922 |
+
|
10923 |
+
for (var i = 0; i < mayRemove.length; i++) {
|
10924 |
+
var domStyle = mayRemove[i];
|
10925 |
+
|
10926 |
+
if(domStyle.refs === 0) {
|
10927 |
+
for (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();
|
10928 |
+
|
10929 |
+
delete stylesInDom[domStyle.id];
|
10930 |
+
}
|
10931 |
+
}
|
10932 |
+
};
|
10933 |
+
};
|
10934 |
+
|
10935 |
+
function addStylesToDom (styles, options) {
|
10936 |
+
for (var i = 0; i < styles.length; i++) {
|
10937 |
+
var item = styles[i];
|
10938 |
+
var domStyle = stylesInDom[item.id];
|
10939 |
+
|
10940 |
+
if(domStyle) {
|
10941 |
+
domStyle.refs++;
|
10942 |
+
|
10943 |
+
for(var j = 0; j < domStyle.parts.length; j++) {
|
10944 |
+
domStyle.parts[j](item.parts[j]);
|
10945 |
+
}
|
10946 |
+
|
10947 |
+
for(; j < item.parts.length; j++) {
|
10948 |
+
domStyle.parts.push(addStyle(item.parts[j], options));
|
10949 |
+
}
|
10950 |
+
} else {
|
10951 |
+
var parts = [];
|
10952 |
+
|
10953 |
+
for(var j = 0; j < item.parts.length; j++) {
|
10954 |
+
parts.push(addStyle(item.parts[j], options));
|
10955 |
+
}
|
10956 |
+
|
10957 |
+
stylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};
|
10958 |
+
}
|
10959 |
+
}
|
10960 |
+
}
|
10961 |
+
|
10962 |
+
function listToStyles (list, options) {
|
10963 |
+
var styles = [];
|
10964 |
+
var newStyles = {};
|
10965 |
+
|
10966 |
+
for (var i = 0; i < list.length; i++) {
|
10967 |
+
var item = list[i];
|
10968 |
+
var id = options.base ? item[0] + options.base : item[0];
|
10969 |
+
var css = item[1];
|
10970 |
+
var media = item[2];
|
10971 |
+
var sourceMap = item[3];
|
10972 |
+
var part = {css: css, media: media, sourceMap: sourceMap};
|
10973 |
+
|
10974 |
+
if(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});
|
10975 |
+
else newStyles[id].parts.push(part);
|
10976 |
+
}
|
10977 |
+
|
10978 |
+
return styles;
|
10979 |
+
}
|
10980 |
+
|
10981 |
+
function insertStyleElement (options, style) {
|
10982 |
+
var target = getElement(options.insertInto)
|
10983 |
+
|
10984 |
+
if (!target) {
|
10985 |
+
throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");
|
10986 |
+
}
|
10987 |
+
|
10988 |
+
var lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];
|
10989 |
+
|
10990 |
+
if (options.insertAt === "top") {
|
10991 |
+
if (!lastStyleElementInsertedAtTop) {
|
10992 |
+
target.insertBefore(style, target.firstChild);
|
10993 |
+
} else if (lastStyleElementInsertedAtTop.nextSibling) {
|
10994 |
+
target.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);
|
10995 |
+
} else {
|
10996 |
+
target.appendChild(style);
|
10997 |
+
}
|
10998 |
+
stylesInsertedAtTop.push(style);
|
10999 |
+
} else if (options.insertAt === "bottom") {
|
11000 |
+
target.appendChild(style);
|
11001 |
+
} else {
|
11002 |
+
throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");
|
11003 |
+
}
|
11004 |
+
}
|
11005 |
+
|
11006 |
+
function removeStyleElement (style) {
|
11007 |
+
if (style.parentNode === null) return false;
|
11008 |
+
style.parentNode.removeChild(style);
|
11009 |
+
|
11010 |
+
var idx = stylesInsertedAtTop.indexOf(style);
|
11011 |
+
if(idx >= 0) {
|
11012 |
+
stylesInsertedAtTop.splice(idx, 1);
|
11013 |
+
}
|
11014 |
+
}
|
11015 |
+
|
11016 |
+
function createStyleElement (options) {
|
11017 |
+
var style = document.createElement("style");
|
11018 |
+
|
11019 |
+
options.attrs.type = "text/css";
|
11020 |
+
|
11021 |
+
addAttrs(style, options.attrs);
|
11022 |
+
insertStyleElement(options, style);
|
11023 |
+
|
11024 |
+
return style;
|
11025 |
+
}
|
11026 |
+
|
11027 |
+
function createLinkElement (options) {
|
11028 |
+
var link = document.createElement("link");
|
11029 |
+
|
11030 |
+
options.attrs.type = "text/css";
|
11031 |
+
options.attrs.rel = "stylesheet";
|
11032 |
+
|
11033 |
+
addAttrs(link, options.attrs);
|
11034 |
+
insertStyleElement(options, link);
|
11035 |
+
|
11036 |
+
return link;
|
11037 |
+
}
|
11038 |
+
|
11039 |
+
function addAttrs (el, attrs) {
|
11040 |
+
Object.keys(attrs).forEach(function (key) {
|
11041 |
+
el.setAttribute(key, attrs[key]);
|
11042 |
+
});
|
11043 |
+
}
|
11044 |
+
|
11045 |
+
function addStyle (obj, options) {
|
11046 |
+
var style, update, remove, result;
|
11047 |
+
|
11048 |
+
// If a transform function was defined, run it on the css
|
11049 |
+
if (options.transform && obj.css) {
|
11050 |
+
result = options.transform(obj.css);
|
11051 |
+
|
11052 |
+
if (result) {
|
11053 |
+
// If transform returns a value, use that instead of the original css.
|
11054 |
+
// This allows running runtime transformations on the css.
|
11055 |
+
obj.css = result;
|
11056 |
+
} else {
|
11057 |
+
// If the transform function returns a falsy value, don't add this css.
|
11058 |
+
// This allows conditional loading of css
|
11059 |
+
return function() {
|
11060 |
+
// noop
|
11061 |
+
};
|
11062 |
+
}
|
11063 |
+
}
|
11064 |
+
|
11065 |
+
if (options.singleton) {
|
11066 |
+
var styleIndex = singletonCounter++;
|
11067 |
+
|
11068 |
+
style = singleton || (singleton = createStyleElement(options));
|
11069 |
+
|
11070 |
+
update = applyToSingletonTag.bind(null, style, styleIndex, false);
|
11071 |
+
remove = applyToSingletonTag.bind(null, style, styleIndex, true);
|
11072 |
+
|
11073 |
+
} else if (
|
11074 |
+
obj.sourceMap &&
|
11075 |
+
typeof URL === "function" &&
|
11076 |
+
typeof URL.createObjectURL === "function" &&
|
11077 |
+
typeof URL.revokeObjectURL === "function" &&
|
11078 |
+
typeof Blob === "function" &&
|
11079 |
+
typeof btoa === "function"
|
11080 |
+
) {
|
11081 |
+
style = createLinkElement(options);
|
11082 |
+
update = updateLink.bind(null, style, options);
|
11083 |
+
remove = function () {
|
11084 |
+
removeStyleElement(style);
|
11085 |
+
|
11086 |
+
if(style.href) URL.revokeObjectURL(style.href);
|
11087 |
+
};
|
11088 |
+
} else {
|
11089 |
+
style = createStyleElement(options);
|
11090 |
+
update = applyToTag.bind(null, style);
|
11091 |
+
remove = function () {
|
11092 |
+
removeStyleElement(style);
|
11093 |
+
};
|
11094 |
+
}
|
11095 |
+
|
11096 |
+
update(obj);
|
11097 |
+
|
11098 |
+
return function updateStyle (newObj) {
|
11099 |
+
if (newObj) {
|
11100 |
+
if (
|
11101 |
+
newObj.css === obj.css &&
|
11102 |
+
newObj.media === obj.media &&
|
11103 |
+
newObj.sourceMap === obj.sourceMap
|
11104 |
+
) {
|
11105 |
+
return;
|
11106 |
+
}
|
11107 |
+
|
11108 |
+
update(obj = newObj);
|
11109 |
+
} else {
|
11110 |
+
remove();
|
11111 |
+
}
|
11112 |
+
};
|
11113 |
+
}
|
11114 |
+
|
11115 |
+
var replaceText = (function () {
|
11116 |
+
var textStore = [];
|
11117 |
+
|
11118 |
+
return function (index, replacement) {
|
11119 |
+
textStore[index] = replacement;
|
11120 |
+
|
11121 |
+
return textStore.filter(Boolean).join('\n');
|
11122 |
+
};
|
11123 |
+
})();
|
11124 |
+
|
11125 |
+
function applyToSingletonTag (style, index, remove, obj) {
|
11126 |
+
var css = remove ? "" : obj.css;
|
11127 |
+
|
11128 |
+
if (style.styleSheet) {
|
11129 |
+
style.styleSheet.cssText = replaceText(index, css);
|
11130 |
+
} else {
|
11131 |
+
var cssNode = document.createTextNode(css);
|
11132 |
+
var childNodes = style.childNodes;
|
11133 |
+
|
11134 |
+
if (childNodes[index]) style.removeChild(childNodes[index]);
|
11135 |
+
|
11136 |
+
if (childNodes.length) {
|
11137 |
+
style.insertBefore(cssNode, childNodes[index]);
|
11138 |
+
} else {
|
11139 |
+
style.appendChild(cssNode);
|
11140 |
+
}
|
11141 |
+
}
|
11142 |
+
}
|
11143 |
+
|
11144 |
+
function applyToTag (style, obj) {
|
11145 |
+
var css = obj.css;
|
11146 |
+
var media = obj.media;
|
11147 |
+
|
11148 |
+
if(media) {
|
11149 |
+
style.setAttribute("media", media)
|
11150 |
+
}
|
11151 |
+
|
11152 |
+
if(style.styleSheet) {
|
11153 |
+
style.styleSheet.cssText = css;
|
11154 |
+
} else {
|
11155 |
+
while(style.firstChild) {
|
11156 |
+
style.removeChild(style.firstChild);
|
11157 |
+
}
|
11158 |
+
|
11159 |
+
style.appendChild(document.createTextNode(css));
|
11160 |
+
}
|
11161 |
+
}
|
11162 |
+
|
11163 |
+
function updateLink (link, options, obj) {
|
11164 |
+
var css = obj.css;
|
11165 |
+
var sourceMap = obj.sourceMap;
|
11166 |
+
|
11167 |
+
/*
|
11168 |
+
If convertToAbsoluteUrls isn't defined, but sourcemaps are enabled
|
11169 |
+
and there is no publicPath defined then lets turn convertToAbsoluteUrls
|
11170 |
+
on by default. Otherwise default to the convertToAbsoluteUrls option
|
11171 |
+
directly
|
11172 |
+
*/
|
11173 |
+
var autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;
|
11174 |
+
|
11175 |
+
if (options.convertToAbsoluteUrls || autoFixUrls) {
|
11176 |
+
css = fixUrls(css);
|
11177 |
+
}
|
11178 |
+
|
11179 |
+
if (sourceMap) {
|
11180 |
+
// http://stackoverflow.com/a/26603875
|
11181 |
+
css += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + " */";
|
11182 |
+
}
|
11183 |
+
|
11184 |
+
var blob = new Blob([css], { type: "text/css" });
|
11185 |
+
|
11186 |
+
var oldSrc = link.href;
|
11187 |
+
|
11188 |
+
link.href = URL.createObjectURL(blob);
|
11189 |
+
|
11190 |
+
if(oldSrc) URL.revokeObjectURL(oldSrc);
|
11191 |
+
}
|
11192 |
+
|
11193 |
+
|
11194 |
+
/***/ }),
|
11195 |
+
/* 150 */
|
11196 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11197 |
+
|
11198 |
+
module.exports = { "default": __webpack_require__(277), __esModule: true };
|
11199 |
+
|
11200 |
+
/***/ }),
|
11201 |
+
/* 151 */
|
11202 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11203 |
+
|
11204 |
+
module.exports = !__webpack_require__(41) && !__webpack_require__(50)(function () {
|
11205 |
+
return Object.defineProperty(__webpack_require__(152)('div'), 'a', { get: function () {
|
11206 |
+
return 7;
|
11207 |
+
} }).a != 7;
|
11208 |
+
});
|
11209 |
+
|
11210 |
+
/***/ }),
|
11211 |
+
/* 152 */
|
11212 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11213 |
+
|
11214 |
+
var isObject = __webpack_require__(49);
|
11215 |
+
var document = __webpack_require__(35).document;
|
11216 |
+
// typeof document.createElement is 'object' in old IE
|
11217 |
+
var is = isObject(document) && isObject(document.createElement);
|
11218 |
+
module.exports = function (it) {
|
11219 |
+
return is ? document.createElement(it) : {};
|
11220 |
+
};
|
11221 |
+
|
11222 |
+
/***/ }),
|
11223 |
+
/* 153 */
|
11224 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11225 |
+
|
11226 |
+
var has = __webpack_require__(42);
|
11227 |
+
var toIObject = __webpack_require__(51);
|
11228 |
+
var arrayIndexOf = __webpack_require__(281)(false);
|
11229 |
+
var IE_PROTO = __webpack_require__(97)('IE_PROTO');
|
11230 |
+
|
11231 |
+
module.exports = function (object, names) {
|
11232 |
+
var O = toIObject(object);
|
11233 |
+
var i = 0;
|
11234 |
+
var result = [];
|
11235 |
+
var key;
|
11236 |
+
for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
|
11237 |
+
// Don't enum bug & hidden keys
|
11238 |
+
while (names.length > i) if (has(O, key = names[i++])) {
|
11239 |
+
~arrayIndexOf(result, key) || result.push(key);
|
11240 |
+
}
|
11241 |
+
return result;
|
11242 |
+
};
|
11243 |
+
|
11244 |
+
/***/ }),
|
11245 |
+
/* 154 */
|
11246 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11247 |
+
|
11248 |
+
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
11249 |
+
var cof = __webpack_require__(94);
|
11250 |
+
// eslint-disable-next-line no-prototype-builtins
|
11251 |
+
module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
|
11252 |
+
return cof(it) == 'String' ? it.split('') : Object(it);
|
11253 |
+
};
|
11254 |
+
|
11255 |
+
/***/ }),
|
11256 |
+
/* 155 */
|
11257 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11258 |
+
|
11259 |
+
// 7.1.15 ToLength
|
11260 |
+
var toInteger = __webpack_require__(96);
|
11261 |
+
var min = Math.min;
|
11262 |
+
module.exports = function (it) {
|
11263 |
+
return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
|
11264 |
+
};
|
11265 |
+
|
11266 |
+
/***/ }),
|
11267 |
+
/* 156 */
|
11268 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11269 |
+
|
11270 |
+
// most Object methods by ES6 should accept primitives
|
11271 |
+
var $export = __webpack_require__(34);
|
11272 |
+
var core = __webpack_require__(18);
|
11273 |
+
var fails = __webpack_require__(50);
|
11274 |
+
module.exports = function (KEY, exec) {
|
11275 |
+
var fn = (core.Object || {})[KEY] || Object[KEY];
|
11276 |
+
var exp = {};
|
11277 |
+
exp[KEY] = exec(fn);
|
11278 |
+
$export($export.S + $export.F * fails(function () {
|
11279 |
+
fn(1);
|
11280 |
+
}), 'Object', exp);
|
11281 |
+
};
|
11282 |
+
|
11283 |
+
/***/ }),
|
11284 |
+
/* 157 */
|
11285 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11286 |
+
|
11287 |
+
// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
|
11288 |
+
var has = __webpack_require__(42);
|
11289 |
+
var toObject = __webpack_require__(63);
|
11290 |
+
var IE_PROTO = __webpack_require__(97)('IE_PROTO');
|
11291 |
+
var ObjectProto = Object.prototype;
|
11292 |
+
|
11293 |
+
module.exports = Object.getPrototypeOf || function (O) {
|
11294 |
+
O = toObject(O);
|
11295 |
+
if (has(O, IE_PROTO)) return O[IE_PROTO];
|
11296 |
+
if (typeof O.constructor == 'function' && O instanceof O.constructor) {
|
11297 |
+
return O.constructor.prototype;
|
11298 |
+
}return O instanceof Object ? ObjectProto : null;
|
11299 |
+
};
|
11300 |
+
|
11301 |
+
/***/ }),
|
11302 |
+
/* 158 */
|
11303 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11304 |
+
|
11305 |
+
"use strict";
|
11306 |
+
|
11307 |
+
|
11308 |
+
var LIBRARY = __webpack_require__(103);
|
11309 |
+
var $export = __webpack_require__(34);
|
11310 |
+
var redefine = __webpack_require__(159);
|
11311 |
+
var hide = __webpack_require__(48);
|
11312 |
+
var Iterators = __webpack_require__(53);
|
11313 |
+
var $iterCreate = __webpack_require__(292);
|
11314 |
+
var setToStringTag = __webpack_require__(105);
|
11315 |
+
var getPrototypeOf = __webpack_require__(157);
|
11316 |
+
var ITERATOR = __webpack_require__(25)('iterator');
|
11317 |
+
var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
|
11318 |
+
var FF_ITERATOR = '@@iterator';
|
11319 |
+
var KEYS = 'keys';
|
11320 |
+
var VALUES = 'values';
|
11321 |
+
|
11322 |
+
var returnThis = function () {
|
11323 |
+
return this;
|
11324 |
+
};
|
11325 |
+
|
11326 |
+
module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
|
11327 |
+
$iterCreate(Constructor, NAME, next);
|
11328 |
+
var getMethod = function (kind) {
|
11329 |
+
if (!BUGGY && kind in proto) return proto[kind];
|
11330 |
+
switch (kind) {
|
11331 |
+
case KEYS:
|
11332 |
+
return function keys() {
|
11333 |
+
return new Constructor(this, kind);
|
11334 |
+
};
|
11335 |
+
case VALUES:
|
11336 |
+
return function values() {
|
11337 |
+
return new Constructor(this, kind);
|
11338 |
+
};
|
11339 |
+
}return function entries() {
|
11340 |
+
return new Constructor(this, kind);
|
11341 |
+
};
|
11342 |
+
};
|
11343 |
+
var TAG = NAME + ' Iterator';
|
11344 |
+
var DEF_VALUES = DEFAULT == VALUES;
|
11345 |
+
var VALUES_BUG = false;
|
11346 |
+
var proto = Base.prototype;
|
11347 |
+
var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
|
11348 |
+
var $default = $native || getMethod(DEFAULT);
|
11349 |
+
var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
|
11350 |
+
var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
|
11351 |
+
var methods, key, IteratorPrototype;
|
11352 |
+
// Fix native
|
11353 |
+
if ($anyNative) {
|
11354 |
+
IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
|
11355 |
+
if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
|
11356 |
+
// Set @@toStringTag to native iterators
|
11357 |
+
setToStringTag(IteratorPrototype, TAG, true);
|
11358 |
+
// fix for some old engines
|
11359 |
+
if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
|
11360 |
+
}
|
11361 |
+
}
|
11362 |
+
// fix Array#{values, @@iterator}.name in V8 / FF
|
11363 |
+
if (DEF_VALUES && $native && $native.name !== VALUES) {
|
11364 |
+
VALUES_BUG = true;
|
11365 |
+
$default = function values() {
|
11366 |
+
return $native.call(this);
|
11367 |
+
};
|
11368 |
+
}
|
11369 |
+
// Define iterator
|
11370 |
+
if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
|
11371 |
+
hide(proto, ITERATOR, $default);
|
11372 |
+
}
|
11373 |
+
// Plug for library
|
11374 |
+
Iterators[NAME] = $default;
|
11375 |
+
Iterators[TAG] = returnThis;
|
11376 |
+
if (DEFAULT) {
|
11377 |
+
methods = {
|
11378 |
+
values: DEF_VALUES ? $default : getMethod(VALUES),
|
11379 |
+
keys: IS_SET ? $default : getMethod(KEYS),
|
11380 |
+
entries: $entries
|
11381 |
+
};
|
11382 |
+
if (FORCED) for (key in methods) {
|
11383 |
+
if (!(key in proto)) redefine(proto, key, methods[key]);
|
11384 |
+
} else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
|
11385 |
+
}
|
11386 |
+
return methods;
|
11387 |
+
};
|
11388 |
+
|
11389 |
+
/***/ }),
|
11390 |
+
/* 159 */
|
11391 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11392 |
+
|
11393 |
+
module.exports = __webpack_require__(48);
|
11394 |
+
|
11395 |
+
/***/ }),
|
11396 |
+
/* 160 */
|
11397 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11398 |
+
|
11399 |
+
// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
|
11400 |
+
var $keys = __webpack_require__(153);
|
11401 |
+
var hiddenKeys = __webpack_require__(99).concat('length', 'prototype');
|
11402 |
+
|
11403 |
+
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
11404 |
+
return $keys(O, hiddenKeys);
|
11405 |
+
};
|
11406 |
+
|
11407 |
+
/***/ }),
|
11408 |
+
/* 161 */
|
11409 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11410 |
+
|
11411 |
+
var pIE = __webpack_require__(73);
|
11412 |
+
var createDesc = __webpack_require__(61);
|
11413 |
+
var toIObject = __webpack_require__(51);
|
11414 |
+
var toPrimitive = __webpack_require__(93);
|
11415 |
+
var has = __webpack_require__(42);
|
11416 |
+
var IE8_DOM_DEFINE = __webpack_require__(151);
|
11417 |
+
var gOPD = Object.getOwnPropertyDescriptor;
|
11418 |
+
|
11419 |
+
exports.f = __webpack_require__(41) ? gOPD : function getOwnPropertyDescriptor(O, P) {
|
11420 |
+
O = toIObject(O);
|
11421 |
+
P = toPrimitive(P, true);
|
11422 |
+
if (IE8_DOM_DEFINE) try {
|
11423 |
+
return gOPD(O, P);
|
11424 |
+
} catch (e) {/* empty */}
|
11425 |
+
if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
|
11426 |
+
};
|
11427 |
+
|
11428 |
+
/***/ }),
|
11429 |
+
/* 162 */
|
11430 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11431 |
+
|
11432 |
+
"use strict";
|
11433 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
11434 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
11435 |
+
*
|
11436 |
+
* This source code is licensed under the MIT license found in the
|
11437 |
+
* LICENSE file in the root directory of this source tree.
|
11438 |
+
*/
|
11439 |
+
|
11440 |
+
|
11441 |
+
|
11442 |
+
var emptyFunction = __webpack_require__(37);
|
11443 |
+
var invariant = __webpack_require__(21);
|
11444 |
+
var warning = __webpack_require__(26);
|
11445 |
+
var assign = __webpack_require__(30);
|
11446 |
+
|
11447 |
+
var ReactPropTypesSecret = __webpack_require__(110);
|
11448 |
+
var checkPropTypes = __webpack_require__(109);
|
11449 |
+
|
11450 |
+
module.exports = function (isValidElement, throwOnDirectAccess) {
|
11451 |
+
/* global Symbol */
|
11452 |
+
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
|
11453 |
+
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
|
11454 |
+
|
11455 |
+
/**
|
11456 |
+
* Returns the iterator method function contained on the iterable object.
|
11457 |
+
*
|
11458 |
+
* Be sure to invoke the function with the iterable as context:
|
11459 |
+
*
|
11460 |
+
* var iteratorFn = getIteratorFn(myIterable);
|
11461 |
+
* if (iteratorFn) {
|
11462 |
+
* var iterator = iteratorFn.call(myIterable);
|
11463 |
+
* ...
|
11464 |
+
* }
|
11465 |
+
*
|
11466 |
+
* @param {?object} maybeIterable
|
11467 |
+
* @return {?function}
|
11468 |
+
*/
|
11469 |
+
function getIteratorFn(maybeIterable) {
|
11470 |
+
var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
|
11471 |
+
if (typeof iteratorFn === 'function') {
|
11472 |
+
return iteratorFn;
|
11473 |
+
}
|
11474 |
+
}
|
11475 |
+
|
11476 |
+
/**
|
11477 |
+
* Collection of methods that allow declaration and validation of props that are
|
11478 |
+
* supplied to React components. Example usage:
|
11479 |
+
*
|
11480 |
+
* var Props = require('ReactPropTypes');
|
11481 |
+
* var MyArticle = React.createClass({
|
11482 |
+
* propTypes: {
|
11483 |
+
* // An optional string prop named "description".
|
11484 |
+
* description: Props.string,
|
11485 |
+
*
|
11486 |
+
* // A required enum prop named "category".
|
11487 |
+
* category: Props.oneOf(['News','Photos']).isRequired,
|
11488 |
+
*
|
11489 |
+
* // A prop named "dialog" that requires an instance of Dialog.
|
11490 |
+
* dialog: Props.instanceOf(Dialog).isRequired
|
11491 |
+
* },
|
11492 |
+
* render: function() { ... }
|
11493 |
+
* });
|
11494 |
+
*
|
11495 |
+
* A more formal specification of how these methods are used:
|
11496 |
+
*
|
11497 |
+
* type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
|
11498 |
+
* decl := ReactPropTypes.{type}(.isRequired)?
|
11499 |
+
*
|
11500 |
+
* Each and every declaration produces a function with the same signature. This
|
11501 |
+
* allows the creation of custom validation functions. For example:
|
11502 |
+
*
|
11503 |
+
* var MyLink = React.createClass({
|
11504 |
+
* propTypes: {
|
11505 |
+
* // An optional string or URI prop named "href".
|
11506 |
+
* href: function(props, propName, componentName) {
|
11507 |
+
* var propValue = props[propName];
|
11508 |
+
* if (propValue != null && typeof propValue !== 'string' &&
|
11509 |
+
* !(propValue instanceof URI)) {
|
11510 |
+
* return new Error(
|
11511 |
+
* 'Expected a string or an URI for ' + propName + ' in ' +
|
11512 |
+
* componentName
|
11513 |
+
* );
|
11514 |
+
* }
|
11515 |
+
* }
|
11516 |
+
* },
|
11517 |
+
* render: function() {...}
|
11518 |
+
* });
|
11519 |
+
*
|
11520 |
+
* @internal
|
11521 |
+
*/
|
11522 |
+
|
11523 |
+
var ANONYMOUS = '<<anonymous>>';
|
11524 |
+
|
11525 |
+
// Important!
|
11526 |
+
// Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
|
11527 |
+
var ReactPropTypes = {
|
11528 |
+
array: createPrimitiveTypeChecker('array'),
|
11529 |
+
bool: createPrimitiveTypeChecker('boolean'),
|
11530 |
+
func: createPrimitiveTypeChecker('function'),
|
11531 |
+
number: createPrimitiveTypeChecker('number'),
|
11532 |
+
object: createPrimitiveTypeChecker('object'),
|
11533 |
+
string: createPrimitiveTypeChecker('string'),
|
11534 |
+
symbol: createPrimitiveTypeChecker('symbol'),
|
11535 |
+
|
11536 |
+
any: createAnyTypeChecker(),
|
11537 |
+
arrayOf: createArrayOfTypeChecker,
|
11538 |
+
element: createElementTypeChecker(),
|
11539 |
+
instanceOf: createInstanceTypeChecker,
|
11540 |
+
node: createNodeChecker(),
|
11541 |
+
objectOf: createObjectOfTypeChecker,
|
11542 |
+
oneOf: createEnumTypeChecker,
|
11543 |
+
oneOfType: createUnionTypeChecker,
|
11544 |
+
shape: createShapeTypeChecker,
|
11545 |
+
exact: createStrictShapeTypeChecker
|
11546 |
+
};
|
11547 |
+
|
11548 |
+
/**
|
11549 |
+
* inlined Object.is polyfill to avoid requiring consumers ship their own
|
11550 |
+
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
|
11551 |
+
*/
|
11552 |
+
/*eslint-disable no-self-compare*/
|
11553 |
+
function is(x, y) {
|
11554 |
+
// SameValue algorithm
|
11555 |
+
if (x === y) {
|
11556 |
+
// Steps 1-5, 7-10
|
11557 |
+
// Steps 6.b-6.e: +0 != -0
|
11558 |
+
return x !== 0 || 1 / x === 1 / y;
|
11559 |
+
} else {
|
11560 |
+
// Step 6.a: NaN == NaN
|
11561 |
+
return x !== x && y !== y;
|
11562 |
+
}
|
11563 |
+
}
|
11564 |
+
/*eslint-enable no-self-compare*/
|
11565 |
+
|
11566 |
+
/**
|
11567 |
+
* We use an Error-like object for backward compatibility as people may call
|
11568 |
+
* PropTypes directly and inspect their output. However, we don't use real
|
11569 |
+
* Errors anymore. We don't inspect their stack anyway, and creating them
|
11570 |
+
* is prohibitively expensive if they are created too often, such as what
|
11571 |
+
* happens in oneOfType() for any type before the one that matched.
|
11572 |
+
*/
|
11573 |
+
function PropTypeError(message) {
|
11574 |
+
this.message = message;
|
11575 |
+
this.stack = '';
|
11576 |
+
}
|
11577 |
+
// Make `instanceof Error` still work for returned errors.
|
11578 |
+
PropTypeError.prototype = Error.prototype;
|
11579 |
+
|
11580 |
+
function createChainableTypeChecker(validate) {
|
11581 |
+
if (process.env.NODE_ENV !== 'production') {
|
11582 |
+
var manualPropTypeCallCache = {};
|
11583 |
+
var manualPropTypeWarningCount = 0;
|
11584 |
+
}
|
11585 |
+
function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
|
11586 |
+
componentName = componentName || ANONYMOUS;
|
11587 |
+
propFullName = propFullName || propName;
|
11588 |
+
|
11589 |
+
if (secret !== ReactPropTypesSecret) {
|
11590 |
+
if (throwOnDirectAccess) {
|
11591 |
+
// New behavior only for users of `prop-types` package
|
11592 |
+
invariant(false, 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use `PropTypes.checkPropTypes()` to call them. ' + 'Read more at http://fb.me/use-check-prop-types');
|
11593 |
+
} else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {
|
11594 |
+
// Old behavior for people using React.PropTypes
|
11595 |
+
var cacheKey = componentName + ':' + propName;
|
11596 |
+
if (!manualPropTypeCallCache[cacheKey] &&
|
11597 |
+
// Avoid spamming the console because they are often not actionable except for lib authors
|
11598 |
+
manualPropTypeWarningCount < 3) {
|
11599 |
+
warning(false, 'You are manually calling a React.PropTypes validation ' + 'function for the `%s` prop on `%s`. This is deprecated ' + 'and will throw in the standalone `prop-types` package. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.', propFullName, componentName);
|
11600 |
+
manualPropTypeCallCache[cacheKey] = true;
|
11601 |
+
manualPropTypeWarningCount++;
|
11602 |
+
}
|
11603 |
+
}
|
11604 |
+
}
|
11605 |
+
if (props[propName] == null) {
|
11606 |
+
if (isRequired) {
|
11607 |
+
if (props[propName] === null) {
|
11608 |
+
return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
|
11609 |
+
}
|
11610 |
+
return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
|
11611 |
+
}
|
11612 |
+
return null;
|
11613 |
+
} else {
|
11614 |
+
return validate(props, propName, componentName, location, propFullName);
|
11615 |
+
}
|
11616 |
+
}
|
11617 |
+
|
11618 |
+
var chainedCheckType = checkType.bind(null, false);
|
11619 |
+
chainedCheckType.isRequired = checkType.bind(null, true);
|
11620 |
+
|
11621 |
+
return chainedCheckType;
|
11622 |
+
}
|
11623 |
+
|
11624 |
+
function createPrimitiveTypeChecker(expectedType) {
|
11625 |
+
function validate(props, propName, componentName, location, propFullName, secret) {
|
11626 |
+
var propValue = props[propName];
|
11627 |
+
var propType = getPropType(propValue);
|
11628 |
+
if (propType !== expectedType) {
|
11629 |
+
// `propValue` being instance of, say, date/regexp, pass the 'object'
|
11630 |
+
// check, but we can offer a more precise error message here rather than
|
11631 |
+
// 'of type `object`'.
|
11632 |
+
var preciseType = getPreciseType(propValue);
|
11633 |
+
|
11634 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
|
11635 |
+
}
|
11636 |
+
return null;
|
11637 |
+
}
|
11638 |
+
return createChainableTypeChecker(validate);
|
11639 |
+
}
|
11640 |
+
|
11641 |
+
function createAnyTypeChecker() {
|
11642 |
+
return createChainableTypeChecker(emptyFunction.thatReturnsNull);
|
11643 |
+
}
|
11644 |
+
|
11645 |
+
function createArrayOfTypeChecker(typeChecker) {
|
11646 |
+
function validate(props, propName, componentName, location, propFullName) {
|
11647 |
+
if (typeof typeChecker !== 'function') {
|
11648 |
+
return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
|
11649 |
+
}
|
11650 |
+
var propValue = props[propName];
|
11651 |
+
if (!Array.isArray(propValue)) {
|
11652 |
+
var propType = getPropType(propValue);
|
11653 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
|
11654 |
+
}
|
11655 |
+
for (var i = 0; i < propValue.length; i++) {
|
11656 |
+
var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
|
11657 |
+
if (error instanceof Error) {
|
11658 |
+
return error;
|
11659 |
+
}
|
11660 |
+
}
|
11661 |
+
return null;
|
11662 |
+
}
|
11663 |
+
return createChainableTypeChecker(validate);
|
11664 |
+
}
|
11665 |
+
|
11666 |
+
function createElementTypeChecker() {
|
11667 |
+
function validate(props, propName, componentName, location, propFullName) {
|
11668 |
+
var propValue = props[propName];
|
11669 |
+
if (!isValidElement(propValue)) {
|
11670 |
+
var propType = getPropType(propValue);
|
11671 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
|
11672 |
+
}
|
11673 |
+
return null;
|
11674 |
+
}
|
11675 |
+
return createChainableTypeChecker(validate);
|
11676 |
+
}
|
11677 |
+
|
11678 |
+
function createInstanceTypeChecker(expectedClass) {
|
11679 |
+
function validate(props, propName, componentName, location, propFullName) {
|
11680 |
+
if (!(props[propName] instanceof expectedClass)) {
|
11681 |
+
var expectedClassName = expectedClass.name || ANONYMOUS;
|
11682 |
+
var actualClassName = getClassName(props[propName]);
|
11683 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
|
11684 |
+
}
|
11685 |
+
return null;
|
11686 |
+
}
|
11687 |
+
return createChainableTypeChecker(validate);
|
11688 |
+
}
|
11689 |
+
|
11690 |
+
function createEnumTypeChecker(expectedValues) {
|
11691 |
+
if (!Array.isArray(expectedValues)) {
|
11692 |
+
process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;
|
11693 |
+
return emptyFunction.thatReturnsNull;
|
11694 |
+
}
|
11695 |
+
|
11696 |
+
function validate(props, propName, componentName, location, propFullName) {
|
11697 |
+
var propValue = props[propName];
|
11698 |
+
for (var i = 0; i < expectedValues.length; i++) {
|
11699 |
+
if (is(propValue, expectedValues[i])) {
|
11700 |
+
return null;
|
11701 |
+
}
|
11702 |
+
}
|
11703 |
+
|
11704 |
+
var valuesString = JSON.stringify(expectedValues);
|
11705 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
|
11706 |
+
}
|
11707 |
+
return createChainableTypeChecker(validate);
|
11708 |
+
}
|
11709 |
+
|
11710 |
+
function createObjectOfTypeChecker(typeChecker) {
|
11711 |
+
function validate(props, propName, componentName, location, propFullName) {
|
11712 |
+
if (typeof typeChecker !== 'function') {
|
11713 |
+
return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
|
11714 |
+
}
|
11715 |
+
var propValue = props[propName];
|
11716 |
+
var propType = getPropType(propValue);
|
11717 |
+
if (propType !== 'object') {
|
11718 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
|
11719 |
+
}
|
11720 |
+
for (var key in propValue) {
|
11721 |
+
if (propValue.hasOwnProperty(key)) {
|
11722 |
+
var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
|
11723 |
+
if (error instanceof Error) {
|
11724 |
+
return error;
|
11725 |
+
}
|
11726 |
+
}
|
11727 |
+
}
|
11728 |
+
return null;
|
11729 |
+
}
|
11730 |
+
return createChainableTypeChecker(validate);
|
11731 |
+
}
|
11732 |
+
|
11733 |
+
function createUnionTypeChecker(arrayOfTypeCheckers) {
|
11734 |
+
if (!Array.isArray(arrayOfTypeCheckers)) {
|
11735 |
+
process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
|
11736 |
+
return emptyFunction.thatReturnsNull;
|
11737 |
+
}
|
11738 |
+
|
11739 |
+
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
11740 |
+
var checker = arrayOfTypeCheckers[i];
|
11741 |
+
if (typeof checker !== 'function') {
|
11742 |
+
warning(false, 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + 'received %s at index %s.', getPostfixForTypeWarning(checker), i);
|
11743 |
+
return emptyFunction.thatReturnsNull;
|
11744 |
+
}
|
11745 |
+
}
|
11746 |
+
|
11747 |
+
function validate(props, propName, componentName, location, propFullName) {
|
11748 |
+
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
11749 |
+
var checker = arrayOfTypeCheckers[i];
|
11750 |
+
if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {
|
11751 |
+
return null;
|
11752 |
+
}
|
11753 |
+
}
|
11754 |
+
|
11755 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
|
11756 |
+
}
|
11757 |
+
return createChainableTypeChecker(validate);
|
11758 |
+
}
|
11759 |
+
|
11760 |
+
function createNodeChecker() {
|
11761 |
+
function validate(props, propName, componentName, location, propFullName) {
|
11762 |
+
if (!isNode(props[propName])) {
|
11763 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
|
11764 |
+
}
|
11765 |
+
return null;
|
11766 |
+
}
|
11767 |
+
return createChainableTypeChecker(validate);
|
11768 |
+
}
|
11769 |
+
|
11770 |
+
function createShapeTypeChecker(shapeTypes) {
|
11771 |
+
function validate(props, propName, componentName, location, propFullName) {
|
11772 |
+
var propValue = props[propName];
|
11773 |
+
var propType = getPropType(propValue);
|
11774 |
+
if (propType !== 'object') {
|
11775 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
|
11776 |
+
}
|
11777 |
+
for (var key in shapeTypes) {
|
11778 |
+
var checker = shapeTypes[key];
|
11779 |
+
if (!checker) {
|
11780 |
+
continue;
|
11781 |
+
}
|
11782 |
+
var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
|
11783 |
+
if (error) {
|
11784 |
+
return error;
|
11785 |
+
}
|
11786 |
+
}
|
11787 |
+
return null;
|
11788 |
+
}
|
11789 |
+
return createChainableTypeChecker(validate);
|
11790 |
+
}
|
11791 |
+
|
11792 |
+
function createStrictShapeTypeChecker(shapeTypes) {
|
11793 |
+
function validate(props, propName, componentName, location, propFullName) {
|
11794 |
+
var propValue = props[propName];
|
11795 |
+
var propType = getPropType(propValue);
|
11796 |
+
if (propType !== 'object') {
|
11797 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
|
11798 |
+
}
|
11799 |
+
// We need to check all keys in case some are required but missing from
|
11800 |
+
// props.
|
11801 |
+
var allKeys = assign({}, props[propName], shapeTypes);
|
11802 |
+
for (var key in allKeys) {
|
11803 |
+
var checker = shapeTypes[key];
|
11804 |
+
if (!checker) {
|
11805 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' '));
|
11806 |
+
}
|
11807 |
+
var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
|
11808 |
+
if (error) {
|
11809 |
+
return error;
|
11810 |
+
}
|
11811 |
+
}
|
11812 |
+
return null;
|
11813 |
+
}
|
11814 |
+
|
11815 |
+
return createChainableTypeChecker(validate);
|
11816 |
+
}
|
11817 |
+
|
11818 |
+
function isNode(propValue) {
|
11819 |
+
switch (typeof propValue) {
|
11820 |
+
case 'number':
|
11821 |
+
case 'string':
|
11822 |
+
case 'undefined':
|
11823 |
+
return true;
|
11824 |
+
case 'boolean':
|
11825 |
+
return !propValue;
|
11826 |
+
case 'object':
|
11827 |
+
if (Array.isArray(propValue)) {
|
11828 |
+
return propValue.every(isNode);
|
11829 |
+
}
|
11830 |
+
if (propValue === null || isValidElement(propValue)) {
|
11831 |
+
return true;
|
11832 |
+
}
|
11833 |
+
|
11834 |
+
var iteratorFn = getIteratorFn(propValue);
|
11835 |
+
if (iteratorFn) {
|
11836 |
+
var iterator = iteratorFn.call(propValue);
|
11837 |
+
var step;
|
11838 |
+
if (iteratorFn !== propValue.entries) {
|
11839 |
+
while (!(step = iterator.next()).done) {
|
11840 |
+
if (!isNode(step.value)) {
|
11841 |
+
return false;
|
11842 |
+
}
|
11843 |
+
}
|
11844 |
+
} else {
|
11845 |
+
// Iterator will provide entry [k,v] tuples rather than values.
|
11846 |
+
while (!(step = iterator.next()).done) {
|
11847 |
+
var entry = step.value;
|
11848 |
+
if (entry) {
|
11849 |
+
if (!isNode(entry[1])) {
|
11850 |
+
return false;
|
11851 |
+
}
|
11852 |
+
}
|
11853 |
+
}
|
11854 |
+
}
|
11855 |
+
} else {
|
11856 |
+
return false;
|
11857 |
+
}
|
11858 |
+
|
11859 |
+
return true;
|
11860 |
+
default:
|
11861 |
+
return false;
|
11862 |
+
}
|
11863 |
+
}
|
11864 |
+
|
11865 |
+
function isSymbol(propType, propValue) {
|
11866 |
+
// Native Symbol.
|
11867 |
+
if (propType === 'symbol') {
|
11868 |
+
return true;
|
11869 |
+
}
|
11870 |
+
|
11871 |
+
// 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
|
11872 |
+
if (propValue['@@toStringTag'] === 'Symbol') {
|
11873 |
+
return true;
|
11874 |
+
}
|
11875 |
+
|
11876 |
+
// Fallback for non-spec compliant Symbols which are polyfilled.
|
11877 |
+
if (typeof Symbol === 'function' && propValue instanceof Symbol) {
|
11878 |
+
return true;
|
11879 |
+
}
|
11880 |
+
|
11881 |
+
return false;
|
11882 |
+
}
|
11883 |
+
|
11884 |
+
// Equivalent of `typeof` but with special handling for array and regexp.
|
11885 |
+
function getPropType(propValue) {
|
11886 |
+
var propType = typeof propValue;
|
11887 |
+
if (Array.isArray(propValue)) {
|
11888 |
+
return 'array';
|
11889 |
+
}
|
11890 |
+
if (propValue instanceof RegExp) {
|
11891 |
+
// Old webkits (at least until Android 4.0) return 'function' rather than
|
11892 |
+
// 'object' for typeof a RegExp. We'll normalize this here so that /bla/
|
11893 |
+
// passes PropTypes.object.
|
11894 |
+
return 'object';
|
11895 |
+
}
|
11896 |
+
if (isSymbol(propType, propValue)) {
|
11897 |
+
return 'symbol';
|
11898 |
+
}
|
11899 |
+
return propType;
|
11900 |
+
}
|
11901 |
+
|
11902 |
+
// This handles more types than `getPropType`. Only used for error messages.
|
11903 |
+
// See `createPrimitiveTypeChecker`.
|
11904 |
+
function getPreciseType(propValue) {
|
11905 |
+
if (typeof propValue === 'undefined' || propValue === null) {
|
11906 |
+
return '' + propValue;
|
11907 |
+
}
|
11908 |
+
var propType = getPropType(propValue);
|
11909 |
+
if (propType === 'object') {
|
11910 |
+
if (propValue instanceof Date) {
|
11911 |
+
return 'date';
|
11912 |
+
} else if (propValue instanceof RegExp) {
|
11913 |
+
return 'regexp';
|
11914 |
+
}
|
11915 |
+
}
|
11916 |
+
return propType;
|
11917 |
+
}
|
11918 |
+
|
11919 |
+
// Returns a string that is postfixed to a warning about an invalid type.
|
11920 |
+
// For example, "undefined" or "of type array"
|
11921 |
+
function getPostfixForTypeWarning(value) {
|
11922 |
+
var type = getPreciseType(value);
|
11923 |
+
switch (type) {
|
11924 |
+
case 'array':
|
11925 |
+
case 'object':
|
11926 |
+
return 'an ' + type;
|
11927 |
+
case 'boolean':
|
11928 |
+
case 'date':
|
11929 |
+
case 'regexp':
|
11930 |
+
return 'a ' + type;
|
11931 |
+
default:
|
11932 |
+
return type;
|
11933 |
+
}
|
11934 |
+
}
|
11935 |
+
|
11936 |
+
// Returns class name of the object, if any.
|
11937 |
+
function getClassName(propValue) {
|
11938 |
+
if (!propValue.constructor || !propValue.constructor.name) {
|
11939 |
+
return ANONYMOUS;
|
11940 |
+
}
|
11941 |
+
return propValue.constructor.name;
|
11942 |
+
}
|
11943 |
+
|
11944 |
+
ReactPropTypes.checkPropTypes = checkPropTypes;
|
11945 |
+
ReactPropTypes.PropTypes = ReactPropTypes;
|
11946 |
+
|
11947 |
+
return ReactPropTypes;
|
11948 |
+
};
|
11949 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
11950 |
+
|
11951 |
+
/***/ }),
|
11952 |
+
/* 163 */
|
11953 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11954 |
+
|
11955 |
+
"use strict";
|
11956 |
+
/**
|
11957 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
11958 |
+
*
|
11959 |
+
* This source code is licensed under the MIT license found in the
|
11960 |
+
* LICENSE file in the root directory of this source tree.
|
11961 |
+
*
|
11962 |
+
*/
|
11963 |
+
|
11964 |
+
|
11965 |
+
|
11966 |
+
var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
|
11967 |
+
|
11968 |
+
/**
|
11969 |
+
* Simple, lightweight module assisting with the detection and context of
|
11970 |
+
* Worker. Helps avoid circular dependencies and allows code to reason about
|
11971 |
+
* whether or not they are in a Worker, even if they never include the main
|
11972 |
+
* `ReactWorker` dependency.
|
11973 |
+
*/
|
11974 |
+
var ExecutionEnvironment = {
|
11975 |
+
|
11976 |
+
canUseDOM: canUseDOM,
|
11977 |
+
|
11978 |
+
canUseWorkers: typeof Worker !== 'undefined',
|
11979 |
+
|
11980 |
+
canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),
|
11981 |
+
|
11982 |
+
canUseViewport: canUseDOM && !!window.screen,
|
11983 |
+
|
11984 |
+
isInWorker: !canUseDOM // For now, this is true - might change in the future.
|
11985 |
+
|
11986 |
+
};
|
11987 |
+
|
11988 |
+
module.exports = ExecutionEnvironment;
|
11989 |
+
|
11990 |
+
/***/ }),
|
11991 |
+
/* 164 */
|
11992 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11993 |
+
|
11994 |
+
"use strict";
|
11995 |
+
|
11996 |
+
|
11997 |
+
/**
|
11998 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
11999 |
+
*
|
12000 |
+
* This source code is licensed under the MIT license found in the
|
12001 |
+
* LICENSE file in the root directory of this source tree.
|
12002 |
+
*
|
12003 |
+
* @typechecks
|
12004 |
+
*/
|
12005 |
+
|
12006 |
+
/* eslint-disable fb-www/typeof-undefined */
|
12007 |
+
|
12008 |
+
/**
|
12009 |
+
* Same as document.activeElement but wraps in a try-catch block. In IE it is
|
12010 |
+
* not safe to call document.activeElement if there is nothing focused.
|
12011 |
+
*
|
12012 |
+
* The activeElement will be null only if the document or document body is not
|
12013 |
+
* yet defined.
|
12014 |
+
*
|
12015 |
+
* @param {?DOMDocument} doc Defaults to current document.
|
12016 |
+
* @return {?DOMElement}
|
12017 |
+
*/
|
12018 |
+
|
12019 |
+
function getActiveElement(doc) /*?DOMElement*/{
|
12020 |
+
doc = doc || (typeof document !== 'undefined' ? document : undefined);
|
12021 |
+
if (typeof doc === 'undefined') {
|
12022 |
+
return null;
|
12023 |
+
}
|
12024 |
+
try {
|
12025 |
+
return doc.activeElement || doc.body;
|
12026 |
+
} catch (e) {
|
12027 |
+
return doc.body;
|
12028 |
+
}
|
12029 |
+
}
|
12030 |
+
|
12031 |
+
module.exports = getActiveElement;
|
12032 |
+
|
12033 |
+
/***/ }),
|
12034 |
+
/* 165 */
|
12035 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12036 |
+
|
12037 |
+
"use strict";
|
12038 |
+
|
12039 |
+
|
12040 |
+
/**
|
12041 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
12042 |
+
*
|
12043 |
+
* This source code is licensed under the MIT license found in the
|
12044 |
+
* LICENSE file in the root directory of this source tree.
|
12045 |
+
*
|
12046 |
+
*
|
12047 |
+
*/
|
12048 |
+
|
12049 |
+
var isTextNode = __webpack_require__(320);
|
12050 |
+
|
12051 |
+
/*eslint-disable no-bitwise */
|
12052 |
+
|
12053 |
+
/**
|
12054 |
+
* Checks if a given DOM node contains or is another DOM node.
|
12055 |
+
*/
|
12056 |
+
function containsNode(outerNode, innerNode) {
|
12057 |
+
if (!outerNode || !innerNode) {
|
12058 |
+
return false;
|
12059 |
+
} else if (outerNode === innerNode) {
|
12060 |
+
return true;
|
12061 |
+
} else if (isTextNode(outerNode)) {
|
12062 |
+
return false;
|
12063 |
+
} else if (isTextNode(innerNode)) {
|
12064 |
+
return containsNode(outerNode, innerNode.parentNode);
|
12065 |
+
} else if ('contains' in outerNode) {
|
12066 |
+
return outerNode.contains(innerNode);
|
12067 |
+
} else if (outerNode.compareDocumentPosition) {
|
12068 |
+
return !!(outerNode.compareDocumentPosition(innerNode) & 16);
|
12069 |
+
} else {
|
12070 |
+
return false;
|
12071 |
+
}
|
12072 |
+
}
|
12073 |
+
|
12074 |
+
module.exports = containsNode;
|
12075 |
+
|
12076 |
+
/***/ }),
|
12077 |
+
/* 166 */
|
12078 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12079 |
+
|
12080 |
+
"use strict";
|
12081 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
12082 |
+
|
12083 |
+
Object.defineProperty(exports, "__esModule", {
|
12084 |
+
value: true
|
12085 |
+
});
|
12086 |
+
|
12087 |
+
var _toConsumableArray2 = __webpack_require__(65);
|
12088 |
+
|
12089 |
+
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
|
12090 |
+
|
12091 |
+
var _getPrototypeOf = __webpack_require__(5);
|
12092 |
+
|
12093 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
12094 |
+
|
12095 |
+
var _classCallCheck2 = __webpack_require__(3);
|
12096 |
+
|
12097 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
12098 |
+
|
12099 |
+
var _createClass2 = __webpack_require__(4);
|
12100 |
+
|
12101 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
12102 |
+
|
12103 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
12104 |
+
|
12105 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
12106 |
+
|
12107 |
+
var _inherits2 = __webpack_require__(7);
|
12108 |
+
|
12109 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
12110 |
+
|
12111 |
+
var _toArray2 = __webpack_require__(170);
|
12112 |
+
|
12113 |
+
var _toArray3 = _interopRequireDefault(_toArray2);
|
12114 |
+
|
12115 |
+
var _simpleAssign = __webpack_require__(8);
|
12116 |
+
|
12117 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
12118 |
+
|
12119 |
+
var _react = __webpack_require__(0);
|
12120 |
+
|
12121 |
+
var _react2 = _interopRequireDefault(_react);
|
12122 |
+
|
12123 |
+
var _propTypes = __webpack_require__(2);
|
12124 |
+
|
12125 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
12126 |
+
|
12127 |
+
var _reactDom = __webpack_require__(14);
|
12128 |
+
|
12129 |
+
var _reactDom2 = _interopRequireDefault(_reactDom);
|
12130 |
+
|
12131 |
+
var _TransitionGroup = __webpack_require__(64);
|
12132 |
+
|
12133 |
+
var _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);
|
12134 |
+
|
12135 |
+
var _dom = __webpack_require__(171);
|
12136 |
+
|
12137 |
+
var _dom2 = _interopRequireDefault(_dom);
|
12138 |
+
|
12139 |
+
var _CircleRipple = __webpack_require__(337);
|
12140 |
+
|
12141 |
+
var _CircleRipple2 = _interopRequireDefault(_CircleRipple);
|
12142 |
+
|
12143 |
+
function _interopRequireDefault(obj) {
|
12144 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
12145 |
+
}
|
12146 |
+
|
12147 |
+
// Remove the first element of the array
|
12148 |
+
var shift = function shift(_ref) {
|
12149 |
+
var _ref2 = (0, _toArray3.default)(_ref),
|
12150 |
+
newArray = _ref2.slice(1);
|
12151 |
+
|
12152 |
+
return newArray;
|
12153 |
+
};
|
12154 |
+
|
12155 |
+
var TouchRipple = function (_Component) {
|
12156 |
+
(0, _inherits3.default)(TouchRipple, _Component);
|
12157 |
+
|
12158 |
+
function TouchRipple(props, context) {
|
12159 |
+
(0, _classCallCheck3.default)(this, TouchRipple);
|
12160 |
+
|
12161 |
+
// Touch start produces a mouse down event for compat reasons. To avoid
|
12162 |
+
// showing ripples twice we skip showing a ripple for the first mouse down
|
12163 |
+
// after a touch start. Note we don't store ignoreNextMouseDown in this.state
|
12164 |
+
// to avoid re-rendering when we change it.
|
12165 |
+
var _this = (0, _possibleConstructorReturn3.default)(this, (TouchRipple.__proto__ || (0, _getPrototypeOf2.default)(TouchRipple)).call(this, props, context));
|
12166 |
+
|
12167 |
+
_this.handleMouseDown = function (event) {
|
12168 |
+
// only listen to left clicks
|
12169 |
+
if (event.button === 0) {
|
12170 |
+
_this.start(event, false);
|
12171 |
+
}
|
12172 |
+
};
|
12173 |
+
|
12174 |
+
_this.handleMouseUp = function () {
|
12175 |
+
_this.end();
|
12176 |
+
};
|
12177 |
+
|
12178 |
+
_this.handleMouseLeave = function () {
|
12179 |
+
_this.end();
|
12180 |
+
};
|
12181 |
+
|
12182 |
+
_this.handleTouchStart = function (event) {
|
12183 |
+
event.stopPropagation();
|
12184 |
+
// If the user is swiping (not just tapping), save the position so we can
|
12185 |
+
// abort ripples if the user appears to be scrolling.
|
12186 |
+
if (_this.props.abortOnScroll && event.touches) {
|
12187 |
+
_this.startListeningForScrollAbort(event);
|
12188 |
+
_this.startTime = Date.now();
|
12189 |
+
}
|
12190 |
+
_this.start(event, true);
|
12191 |
+
};
|
12192 |
+
|
12193 |
+
_this.handleTouchEnd = function () {
|
12194 |
+
_this.end();
|
12195 |
+
};
|
12196 |
+
|
12197 |
+
_this.handleTouchMove = function (event) {
|
12198 |
+
// Stop trying to abort if we're already 300ms into the animation
|
12199 |
+
var timeSinceStart = Math.abs(Date.now() - _this.startTime);
|
12200 |
+
if (timeSinceStart > 300) {
|
12201 |
+
_this.stopListeningForScrollAbort();
|
12202 |
+
return;
|
12203 |
+
}
|
12204 |
+
|
12205 |
+
// If the user is scrolling...
|
12206 |
+
var deltaY = Math.abs(event.touches[0].clientY - _this.firstTouchY);
|
12207 |
+
var deltaX = Math.abs(event.touches[0].clientX - _this.firstTouchX);
|
12208 |
+
// Call it a scroll after an arbitrary 6px (feels reasonable in testing)
|
12209 |
+
if (deltaY > 6 || deltaX > 6) {
|
12210 |
+
var currentRipples = _this.state.ripples;
|
12211 |
+
var ripple = currentRipples[0];
|
12212 |
+
// This clone will replace the ripple in ReactTransitionGroup with a
|
12213 |
+
// version that will disappear immediately when removed from the DOM
|
12214 |
+
var abortedRipple = _react2.default.cloneElement(ripple, { aborted: true });
|
12215 |
+
// Remove the old ripple and replace it with the new updated one
|
12216 |
+
currentRipples = shift(currentRipples);
|
12217 |
+
currentRipples = [].concat((0, _toConsumableArray3.default)(currentRipples), [abortedRipple]);
|
12218 |
+
_this.setState({ ripples: currentRipples }, function () {
|
12219 |
+
// Call end after we've set the ripple to abort otherwise the setState
|
12220 |
+
// in end() merges with this and the ripple abort fails
|
12221 |
+
_this.end();
|
12222 |
+
});
|
12223 |
+
}
|
12224 |
+
};
|
12225 |
+
|
12226 |
+
_this.ignoreNextMouseDown = false;
|
12227 |
+
|
12228 |
+
_this.state = {
|
12229 |
+
// This prop allows us to only render the ReactTransitionGroup
|
12230 |
+
// on the first click of the component, making the inital render faster.
|
12231 |
+
hasRipples: false,
|
12232 |
+
nextKey: 0,
|
12233 |
+
ripples: []
|
12234 |
+
};
|
12235 |
+
return _this;
|
12236 |
+
}
|
12237 |
+
|
12238 |
+
(0, _createClass3.default)(TouchRipple, [{
|
12239 |
+
key: 'start',
|
12240 |
+
value: function start(event, isRippleTouchGenerated) {
|
12241 |
+
var theme = this.context.muiTheme.ripple;
|
12242 |
+
|
12243 |
+
if (this.ignoreNextMouseDown && !isRippleTouchGenerated) {
|
12244 |
+
this.ignoreNextMouseDown = false;
|
12245 |
+
return;
|
12246 |
+
}
|
12247 |
+
|
12248 |
+
var ripples = this.state.ripples;
|
12249 |
+
|
12250 |
+
// Add a ripple to the ripples array
|
12251 |
+
ripples = [].concat((0, _toConsumableArray3.default)(ripples), [_react2.default.createElement(_CircleRipple2.default, {
|
12252 |
+
key: this.state.nextKey,
|
12253 |
+
style: !this.props.centerRipple ? this.getRippleStyle(event) : {},
|
12254 |
+
color: this.props.color || theme.color,
|
12255 |
+
opacity: this.props.opacity,
|
12256 |
+
touchGenerated: isRippleTouchGenerated
|
12257 |
+
})]);
|
12258 |
+
|
12259 |
+
this.ignoreNextMouseDown = isRippleTouchGenerated;
|
12260 |
+
this.setState({
|
12261 |
+
hasRipples: true,
|
12262 |
+
nextKey: this.state.nextKey + 1,
|
12263 |
+
ripples: ripples
|
12264 |
+
});
|
12265 |
+
}
|
12266 |
+
}, {
|
12267 |
+
key: 'end',
|
12268 |
+
value: function end() {
|
12269 |
+
var currentRipples = this.state.ripples;
|
12270 |
+
this.setState({
|
12271 |
+
ripples: shift(currentRipples)
|
12272 |
+
});
|
12273 |
+
if (this.props.abortOnScroll) {
|
12274 |
+
this.stopListeningForScrollAbort();
|
12275 |
+
}
|
12276 |
+
}
|
12277 |
+
|
12278 |
+
// Check if the user seems to be scrolling and abort the animation if so
|
12279 |
+
|
12280 |
+
}, {
|
12281 |
+
key: 'startListeningForScrollAbort',
|
12282 |
+
value: function startListeningForScrollAbort(event) {
|
12283 |
+
this.firstTouchY = event.touches[0].clientY;
|
12284 |
+
this.firstTouchX = event.touches[0].clientX;
|
12285 |
+
// Note that when scolling Chrome throttles this event to every 200ms
|
12286 |
+
// Also note we don't listen for scroll events directly as there's no general
|
12287 |
+
// way to cover cases like scrolling within containers on the page
|
12288 |
+
document.body.addEventListener('touchmove', this.handleTouchMove);
|
12289 |
+
}
|
12290 |
+
}, {
|
12291 |
+
key: 'stopListeningForScrollAbort',
|
12292 |
+
value: function stopListeningForScrollAbort() {
|
12293 |
+
document.body.removeEventListener('touchmove', this.handleTouchMove);
|
12294 |
+
}
|
12295 |
+
}, {
|
12296 |
+
key: 'getRippleStyle',
|
12297 |
+
value: function getRippleStyle(event) {
|
12298 |
+
var el = _reactDom2.default.findDOMNode(this);
|
12299 |
+
var elHeight = el.offsetHeight;
|
12300 |
+
var elWidth = el.offsetWidth;
|
12301 |
+
var offset = _dom2.default.offset(el);
|
12302 |
+
var isTouchEvent = event.touches && event.touches.length;
|
12303 |
+
var pageX = isTouchEvent ? event.touches[0].pageX : event.pageX;
|
12304 |
+
var pageY = isTouchEvent ? event.touches[0].pageY : event.pageY;
|
12305 |
+
var pointerX = pageX - offset.left;
|
12306 |
+
var pointerY = pageY - offset.top;
|
12307 |
+
var topLeftDiag = this.calcDiag(pointerX, pointerY);
|
12308 |
+
var topRightDiag = this.calcDiag(elWidth - pointerX, pointerY);
|
12309 |
+
var botRightDiag = this.calcDiag(elWidth - pointerX, elHeight - pointerY);
|
12310 |
+
var botLeftDiag = this.calcDiag(pointerX, elHeight - pointerY);
|
12311 |
+
var rippleRadius = Math.max(topLeftDiag, topRightDiag, botRightDiag, botLeftDiag);
|
12312 |
+
var rippleSize = rippleRadius * 2;
|
12313 |
+
var left = pointerX - rippleRadius;
|
12314 |
+
var top = pointerY - rippleRadius;
|
12315 |
+
|
12316 |
+
return {
|
12317 |
+
directionInvariant: true,
|
12318 |
+
height: rippleSize,
|
12319 |
+
width: rippleSize,
|
12320 |
+
top: top,
|
12321 |
+
left: left
|
12322 |
+
};
|
12323 |
+
}
|
12324 |
+
}, {
|
12325 |
+
key: 'calcDiag',
|
12326 |
+
value: function calcDiag(a, b) {
|
12327 |
+
return Math.sqrt(a * a + b * b);
|
12328 |
+
}
|
12329 |
+
}, {
|
12330 |
+
key: 'render',
|
12331 |
+
value: function render() {
|
12332 |
+
var _props = this.props,
|
12333 |
+
children = _props.children,
|
12334 |
+
style = _props.style;
|
12335 |
+
var _state = this.state,
|
12336 |
+
hasRipples = _state.hasRipples,
|
12337 |
+
ripples = _state.ripples;
|
12338 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
12339 |
+
|
12340 |
+
var rippleGroup = void 0;
|
12341 |
+
|
12342 |
+
if (hasRipples) {
|
12343 |
+
var mergedStyles = (0, _simpleAssign2.default)({
|
12344 |
+
height: '100%',
|
12345 |
+
width: '100%',
|
12346 |
+
position: 'absolute',
|
12347 |
+
top: 0,
|
12348 |
+
left: 0,
|
12349 |
+
overflow: 'hidden',
|
12350 |
+
pointerEvents: 'none',
|
12351 |
+
zIndex: 1 // This is also needed so that ripples do not bleed past a parent border radius.
|
12352 |
+
}, style);
|
12353 |
+
|
12354 |
+
rippleGroup = _react2.default.createElement(_TransitionGroup2.default, { style: prepareStyles(mergedStyles) }, ripples);
|
12355 |
+
}
|
12356 |
+
|
12357 |
+
return _react2.default.createElement('div', {
|
12358 |
+
onMouseUp: this.handleMouseUp,
|
12359 |
+
onMouseDown: this.handleMouseDown,
|
12360 |
+
onMouseLeave: this.handleMouseLeave,
|
12361 |
+
onTouchStart: this.handleTouchStart,
|
12362 |
+
onTouchEnd: this.handleTouchEnd
|
12363 |
+
}, rippleGroup, children);
|
12364 |
+
}
|
12365 |
+
}]);
|
12366 |
+
return TouchRipple;
|
12367 |
+
}(_react.Component);
|
12368 |
+
|
12369 |
+
TouchRipple.defaultProps = {
|
12370 |
+
abortOnScroll: true
|
12371 |
+
};
|
12372 |
+
TouchRipple.contextTypes = {
|
12373 |
+
muiTheme: _propTypes2.default.object.isRequired
|
12374 |
+
};
|
12375 |
+
TouchRipple.propTypes = process.env.NODE_ENV !== "production" ? {
|
12376 |
+
abortOnScroll: _propTypes2.default.bool,
|
12377 |
+
centerRipple: _propTypes2.default.bool,
|
12378 |
+
children: _propTypes2.default.node,
|
12379 |
+
color: _propTypes2.default.string,
|
12380 |
+
opacity: _propTypes2.default.number,
|
12381 |
+
style: _propTypes2.default.object
|
12382 |
+
} : {};
|
12383 |
+
exports.default = TouchRipple;
|
12384 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
12385 |
+
|
12386 |
+
/***/ }),
|
12387 |
+
/* 167 */
|
12388 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12389 |
+
|
12390 |
+
module.exports = { "default": __webpack_require__(331), __esModule: true };
|
12391 |
+
|
12392 |
+
/***/ }),
|
12393 |
+
/* 168 */
|
12394 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12395 |
+
|
12396 |
+
var classof = __webpack_require__(169);
|
12397 |
+
var ITERATOR = __webpack_require__(25)('iterator');
|
12398 |
+
var Iterators = __webpack_require__(53);
|
12399 |
+
module.exports = __webpack_require__(18).getIteratorMethod = function (it) {
|
12400 |
+
if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
|
12401 |
+
};
|
12402 |
+
|
12403 |
+
/***/ }),
|
12404 |
+
/* 169 */
|
12405 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12406 |
+
|
12407 |
+
// getting tag from 19.1.3.6 Object.prototype.toString()
|
12408 |
+
var cof = __webpack_require__(94);
|
12409 |
+
var TAG = __webpack_require__(25)('toStringTag');
|
12410 |
+
// ES3 wrong here
|
12411 |
+
var ARG = cof(function () {
|
12412 |
+
return arguments;
|
12413 |
+
}()) == 'Arguments';
|
12414 |
+
|
12415 |
+
// fallback for IE11 Script Access Denied error
|
12416 |
+
var tryGet = function (it, key) {
|
12417 |
+
try {
|
12418 |
+
return it[key];
|
12419 |
+
} catch (e) {/* empty */}
|
12420 |
+
};
|
12421 |
+
|
12422 |
+
module.exports = function (it) {
|
12423 |
+
var O, T, B;
|
12424 |
+
return it === undefined ? 'Undefined' : it === null ? 'Null'
|
12425 |
+
// @@toStringTag case
|
12426 |
+
: typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
|
12427 |
+
// builtinTag case
|
12428 |
+
: ARG ? cof(O)
|
12429 |
+
// ES3 arguments fallback
|
12430 |
+
: (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
|
12431 |
+
};
|
12432 |
+
|
12433 |
+
/***/ }),
|
12434 |
+
/* 170 */
|
12435 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12436 |
+
|
12437 |
+
"use strict";
|
12438 |
+
|
12439 |
+
|
12440 |
+
exports.__esModule = true;
|
12441 |
+
|
12442 |
+
var _from = __webpack_require__(167);
|
12443 |
+
|
12444 |
+
var _from2 = _interopRequireDefault(_from);
|
12445 |
+
|
12446 |
+
function _interopRequireDefault(obj) {
|
12447 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
12448 |
+
}
|
12449 |
+
|
12450 |
+
exports.default = function (arr) {
|
12451 |
+
return Array.isArray(arr) ? arr : (0, _from2.default)(arr);
|
12452 |
+
};
|
12453 |
+
|
12454 |
+
/***/ }),
|
12455 |
+
/* 171 */
|
12456 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12457 |
+
|
12458 |
+
"use strict";
|
12459 |
+
|
12460 |
+
|
12461 |
+
Object.defineProperty(exports, "__esModule", {
|
12462 |
+
value: true
|
12463 |
+
});
|
12464 |
+
exports.default = {
|
12465 |
+
isDescendant: function isDescendant(parent, child) {
|
12466 |
+
var node = child.parentNode;
|
12467 |
+
|
12468 |
+
while (node !== null) {
|
12469 |
+
if (node === parent) return true;
|
12470 |
+
node = node.parentNode;
|
12471 |
+
}
|
12472 |
+
|
12473 |
+
return false;
|
12474 |
+
},
|
12475 |
+
offset: function offset(el) {
|
12476 |
+
var rect = el.getBoundingClientRect();
|
12477 |
+
return {
|
12478 |
+
top: rect.top + document.body.scrollTop,
|
12479 |
+
left: rect.left + document.body.scrollLeft
|
12480 |
+
};
|
12481 |
+
}
|
12482 |
+
};
|
12483 |
+
|
12484 |
+
/***/ }),
|
12485 |
+
/* 172 */
|
12486 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12487 |
+
|
12488 |
+
"use strict";
|
12489 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
12490 |
+
|
12491 |
+
Object.defineProperty(exports, "__esModule", {
|
12492 |
+
value: true
|
12493 |
+
});
|
12494 |
+
|
12495 |
+
var _extends2 = __webpack_require__(9);
|
12496 |
+
|
12497 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
12498 |
+
|
12499 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
12500 |
+
|
12501 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
12502 |
+
|
12503 |
+
var _getPrototypeOf = __webpack_require__(5);
|
12504 |
+
|
12505 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
12506 |
+
|
12507 |
+
var _classCallCheck2 = __webpack_require__(3);
|
12508 |
+
|
12509 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
12510 |
+
|
12511 |
+
var _createClass2 = __webpack_require__(4);
|
12512 |
+
|
12513 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
12514 |
+
|
12515 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
12516 |
+
|
12517 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
12518 |
+
|
12519 |
+
var _inherits2 = __webpack_require__(7);
|
12520 |
+
|
12521 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
12522 |
+
|
12523 |
+
var _simpleAssign = __webpack_require__(8);
|
12524 |
+
|
12525 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
12526 |
+
|
12527 |
+
var _react = __webpack_require__(0);
|
12528 |
+
|
12529 |
+
var _react2 = _interopRequireDefault(_react);
|
12530 |
+
|
12531 |
+
var _propTypes = __webpack_require__(2);
|
12532 |
+
|
12533 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
12534 |
+
|
12535 |
+
var _transitions = __webpack_require__(12);
|
12536 |
+
|
12537 |
+
var _transitions2 = _interopRequireDefault(_transitions);
|
12538 |
+
|
12539 |
+
function _interopRequireDefault(obj) {
|
12540 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
12541 |
+
}
|
12542 |
+
|
12543 |
+
function getStyles(props, context, state) {
|
12544 |
+
var verticalPosition = props.verticalPosition;
|
12545 |
+
var horizontalPosition = props.horizontalPosition;
|
12546 |
+
var touchMarginOffset = props.touch ? 10 : 0;
|
12547 |
+
var touchOffsetTop = props.touch ? -20 : -10;
|
12548 |
+
var offset = verticalPosition === 'bottom' ? 14 + touchMarginOffset : -14 - touchMarginOffset;
|
12549 |
+
|
12550 |
+
var _context$muiTheme = context.muiTheme,
|
12551 |
+
baseTheme = _context$muiTheme.baseTheme,
|
12552 |
+
zIndex = _context$muiTheme.zIndex,
|
12553 |
+
tooltip = _context$muiTheme.tooltip,
|
12554 |
+
borderRadius = _context$muiTheme.borderRadius;
|
12555 |
+
|
12556 |
+
var styles = {
|
12557 |
+
root: {
|
12558 |
+
position: 'absolute',
|
12559 |
+
fontFamily: baseTheme.fontFamily,
|
12560 |
+
fontSize: '10px',
|
12561 |
+
lineHeight: '22px',
|
12562 |
+
padding: '0 8px',
|
12563 |
+
zIndex: zIndex.tooltip,
|
12564 |
+
color: tooltip.color,
|
12565 |
+
overflow: 'hidden',
|
12566 |
+
top: -10000,
|
12567 |
+
borderRadius: borderRadius,
|
12568 |
+
userSelect: 'none',
|
12569 |
+
opacity: 0,
|
12570 |
+
right: horizontalPosition === 'left' ? 12 : null,
|
12571 |
+
left: horizontalPosition === 'center' ? (state.offsetWidth - 48) / 2 * -1 : horizontalPosition === 'right' ? 12 : null,
|
12572 |
+
transition: _transitions2.default.easeOut('0ms', 'top', '450ms') + ', ' + _transitions2.default.easeOut('450ms', 'transform', '0ms') + ', ' + _transitions2.default.easeOut('450ms', 'opacity', '0ms')
|
12573 |
+
},
|
12574 |
+
label: {
|
12575 |
+
position: 'relative',
|
12576 |
+
whiteSpace: 'nowrap'
|
12577 |
+
},
|
12578 |
+
ripple: {
|
12579 |
+
position: 'absolute',
|
12580 |
+
left: horizontalPosition === 'center' ? '50%' : horizontalPosition === 'left' ? '100%' : '0%',
|
12581 |
+
top: verticalPosition === 'bottom' ? 0 : '100%',
|
12582 |
+
transform: 'translate(-50%, -50%)',
|
12583 |
+
borderRadius: '50%',
|
12584 |
+
backgroundColor: 'transparent',
|
12585 |
+
transition: _transitions2.default.easeOut('0ms', 'width', '450ms') + ', ' + _transitions2.default.easeOut('0ms', 'height', '450ms') + ', ' + _transitions2.default.easeOut('450ms', 'backgroundColor', '0ms')
|
12586 |
+
},
|
12587 |
+
rootWhenShown: {
|
12588 |
+
top: verticalPosition === 'top' ? touchOffsetTop : 36,
|
12589 |
+
opacity: tooltip.opacity,
|
12590 |
+
transform: 'translate(0px, ' + offset + 'px)',
|
12591 |
+
transition: _transitions2.default.easeOut('0ms', 'top', '0ms') + ', ' + _transitions2.default.easeOut('450ms', 'transform', '0ms') + ', ' + _transitions2.default.easeOut('450ms', 'opacity', '0ms')
|
12592 |
+
},
|
12593 |
+
rootWhenTouched: {
|
12594 |
+
fontSize: '14px',
|
12595 |
+
lineHeight: '32px',
|
12596 |
+
padding: '0 16px'
|
12597 |
+
},
|
12598 |
+
rippleWhenShown: {
|
12599 |
+
backgroundColor: tooltip.rippleBackgroundColor,
|
12600 |
+
transition: _transitions2.default.easeOut('450ms', 'width', '0ms') + ', ' + _transitions2.default.easeOut('450ms', 'height', '0ms') + ', ' + _transitions2.default.easeOut('450ms', 'backgroundColor', '0ms')
|
12601 |
+
}
|
12602 |
+
};
|
12603 |
+
|
12604 |
+
return styles;
|
12605 |
+
}
|
12606 |
+
|
12607 |
+
var Tooltip = function (_Component) {
|
12608 |
+
(0, _inherits3.default)(Tooltip, _Component);
|
12609 |
+
|
12610 |
+
function Tooltip() {
|
12611 |
+
var _ref;
|
12612 |
+
|
12613 |
+
var _temp, _this, _ret;
|
12614 |
+
|
12615 |
+
(0, _classCallCheck3.default)(this, Tooltip);
|
12616 |
+
|
12617 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
12618 |
+
args[_key] = arguments[_key];
|
12619 |
+
}
|
12620 |
+
|
12621 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Tooltip.__proto__ || (0, _getPrototypeOf2.default)(Tooltip)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
|
12622 |
+
offsetWidth: null
|
12623 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
12624 |
+
}
|
12625 |
+
|
12626 |
+
(0, _createClass3.default)(Tooltip, [{
|
12627 |
+
key: 'componentDidMount',
|
12628 |
+
value: function componentDidMount() {
|
12629 |
+
this.setRippleSize();
|
12630 |
+
this.setTooltipPosition();
|
12631 |
+
}
|
12632 |
+
}, {
|
12633 |
+
key: 'componentWillReceiveProps',
|
12634 |
+
value: function componentWillReceiveProps() {
|
12635 |
+
this.setTooltipPosition();
|
12636 |
+
}
|
12637 |
+
}, {
|
12638 |
+
key: 'componentDidUpdate',
|
12639 |
+
value: function componentDidUpdate() {
|
12640 |
+
this.setRippleSize();
|
12641 |
+
}
|
12642 |
+
}, {
|
12643 |
+
key: 'setRippleSize',
|
12644 |
+
value: function setRippleSize() {
|
12645 |
+
var ripple = this.refs.ripple;
|
12646 |
+
var tooltip = this.refs.tooltip;
|
12647 |
+
var tooltipWidth = parseInt(tooltip.offsetWidth, 10) / (this.props.horizontalPosition === 'center' ? 2 : 1);
|
12648 |
+
var tooltipHeight = parseInt(tooltip.offsetHeight, 10);
|
12649 |
+
|
12650 |
+
var rippleDiameter = Math.ceil(Math.sqrt(Math.pow(tooltipHeight, 2) + Math.pow(tooltipWidth, 2)) * 2);
|
12651 |
+
if (this.props.show) {
|
12652 |
+
ripple.style.height = rippleDiameter + 'px';
|
12653 |
+
ripple.style.width = rippleDiameter + 'px';
|
12654 |
+
} else {
|
12655 |
+
ripple.style.width = '0px';
|
12656 |
+
ripple.style.height = '0px';
|
12657 |
+
}
|
12658 |
+
}
|
12659 |
+
}, {
|
12660 |
+
key: 'setTooltipPosition',
|
12661 |
+
value: function setTooltipPosition() {
|
12662 |
+
this.setState({ offsetWidth: this.refs.tooltip.offsetWidth });
|
12663 |
+
}
|
12664 |
+
}, {
|
12665 |
+
key: 'render',
|
12666 |
+
value: function render() {
|
12667 |
+
var _props = this.props,
|
12668 |
+
horizontalPosition = _props.horizontalPosition,
|
12669 |
+
label = _props.label,
|
12670 |
+
show = _props.show,
|
12671 |
+
touch = _props.touch,
|
12672 |
+
verticalPosition = _props.verticalPosition,
|
12673 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['horizontalPosition', 'label', 'show', 'touch', 'verticalPosition']);
|
12674 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
12675 |
+
|
12676 |
+
var styles = getStyles(this.props, this.context, this.state);
|
12677 |
+
|
12678 |
+
return _react2.default.createElement('div', (0, _extends3.default)({}, other, {
|
12679 |
+
ref: 'tooltip',
|
12680 |
+
style: prepareStyles((0, _simpleAssign2.default)(styles.root, this.props.show && styles.rootWhenShown, this.props.touch && styles.rootWhenTouched, this.props.style))
|
12681 |
+
}), _react2.default.createElement('div', {
|
12682 |
+
ref: 'ripple',
|
12683 |
+
style: prepareStyles((0, _simpleAssign2.default)(styles.ripple, this.props.show && styles.rippleWhenShown))
|
12684 |
+
}), _react2.default.createElement('span', { style: prepareStyles(styles.label) }, label));
|
12685 |
+
}
|
12686 |
+
}]);
|
12687 |
+
return Tooltip;
|
12688 |
+
}(_react.Component);
|
12689 |
+
|
12690 |
+
Tooltip.contextTypes = {
|
12691 |
+
muiTheme: _propTypes2.default.object.isRequired
|
12692 |
+
};
|
12693 |
+
Tooltip.propTypes = process.env.NODE_ENV !== "production" ? {
|
12694 |
+
/**
|
12695 |
+
* The css class name of the root element.
|
12696 |
+
*/
|
12697 |
+
className: _propTypes2.default.string,
|
12698 |
+
horizontalPosition: _propTypes2.default.oneOf(['left', 'right', 'center']),
|
12699 |
+
label: _propTypes2.default.node.isRequired,
|
12700 |
+
show: _propTypes2.default.bool,
|
12701 |
+
/**
|
12702 |
+
* Override the inline-styles of the root element.
|
12703 |
+
*/
|
12704 |
+
style: _propTypes2.default.object,
|
12705 |
+
touch: _propTypes2.default.bool,
|
12706 |
+
verticalPosition: _propTypes2.default.oneOf(['top', 'bottom'])
|
12707 |
+
} : {};
|
12708 |
+
exports.default = Tooltip;
|
12709 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
12710 |
+
|
12711 |
+
/***/ }),
|
12712 |
+
/* 173 */
|
12713 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12714 |
+
|
12715 |
+
"use strict";
|
12716 |
+
|
12717 |
+
|
12718 |
+
Object.defineProperty(exports, "__esModule", {
|
12719 |
+
value: true
|
12720 |
+
});
|
12721 |
+
exports.extendChildren = extendChildren;
|
12722 |
+
|
12723 |
+
var _react = __webpack_require__(0);
|
12724 |
+
|
12725 |
+
var _react2 = _interopRequireDefault(_react);
|
12726 |
+
|
12727 |
+
function _interopRequireDefault(obj) {
|
12728 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
12729 |
+
}
|
12730 |
+
|
12731 |
+
function extendChildren(children, extendedProps, extendedChildren) {
|
12732 |
+
return _react2.default.Children.map(children, function (child) {
|
12733 |
+
if (!_react2.default.isValidElement(child)) {
|
12734 |
+
return child;
|
12735 |
+
}
|
12736 |
+
|
12737 |
+
var newProps = typeof extendedProps === 'function' ? extendedProps(child) : extendedProps;
|
12738 |
+
|
12739 |
+
var newChildren = typeof extendedChildren === 'function' ? extendedChildren(child) : extendedChildren ? extendedChildren : child.props.children;
|
12740 |
+
|
12741 |
+
return _react2.default.cloneElement(child, newProps, newChildren);
|
12742 |
+
});
|
12743 |
+
}
|
12744 |
+
|
12745 |
+
/***/ }),
|
12746 |
+
/* 174 */
|
12747 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12748 |
+
|
12749 |
+
"use strict";
|
12750 |
+
|
12751 |
+
|
12752 |
+
exports.__esModule = true;
|
12753 |
+
|
12754 |
+
var _setStatic = __webpack_require__(341);
|
12755 |
+
|
12756 |
+
var _setStatic2 = _interopRequireDefault(_setStatic);
|
12757 |
+
|
12758 |
+
function _interopRequireDefault(obj) {
|
12759 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
12760 |
+
}
|
12761 |
+
|
12762 |
+
var setDisplayName = function setDisplayName(displayName) {
|
12763 |
+
return (0, _setStatic2.default)('displayName', displayName);
|
12764 |
+
};
|
12765 |
+
|
12766 |
+
exports.default = setDisplayName;
|
12767 |
+
|
12768 |
+
/***/ }),
|
12769 |
+
/* 175 */
|
12770 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12771 |
+
|
12772 |
+
"use strict";
|
12773 |
+
|
12774 |
+
|
12775 |
+
exports.__esModule = true;
|
12776 |
+
|
12777 |
+
var _getDisplayName = __webpack_require__(342);
|
12778 |
+
|
12779 |
+
var _getDisplayName2 = _interopRequireDefault(_getDisplayName);
|
12780 |
+
|
12781 |
+
function _interopRequireDefault(obj) {
|
12782 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
12783 |
+
}
|
12784 |
+
|
12785 |
+
var wrapDisplayName = function wrapDisplayName(BaseComponent, hocName) {
|
12786 |
+
return hocName + '(' + (0, _getDisplayName2.default)(BaseComponent) + ')';
|
12787 |
+
};
|
12788 |
+
|
12789 |
+
exports.default = wrapDisplayName;
|
12790 |
+
|
12791 |
+
/***/ }),
|
12792 |
+
/* 176 */
|
12793 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12794 |
+
|
12795 |
+
"use strict";
|
12796 |
+
|
12797 |
+
|
12798 |
+
Object.defineProperty(exports, "__esModule", {
|
12799 |
+
value: true
|
12800 |
+
});
|
12801 |
+
exports.default = exports.MenuItem = exports.Menu = undefined;
|
12802 |
+
|
12803 |
+
var _Menu2 = __webpack_require__(77);
|
12804 |
+
|
12805 |
+
var _Menu3 = _interopRequireDefault(_Menu2);
|
12806 |
+
|
12807 |
+
var _MenuItem2 = __webpack_require__(115);
|
12808 |
+
|
12809 |
+
var _MenuItem3 = _interopRequireDefault(_MenuItem2);
|
12810 |
+
|
12811 |
+
function _interopRequireDefault(obj) {
|
12812 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
12813 |
+
}
|
12814 |
+
|
12815 |
+
exports.Menu = _Menu3.default;
|
12816 |
+
exports.MenuItem = _MenuItem3.default;
|
12817 |
+
exports.default = _Menu3.default;
|
12818 |
+
|
12819 |
+
/***/ }),
|
12820 |
+
/* 177 */
|
12821 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12822 |
+
|
12823 |
+
"use strict";
|
12824 |
+
|
12825 |
+
|
12826 |
+
Object.defineProperty(exports, "__esModule", {
|
12827 |
+
value: true
|
12828 |
+
});
|
12829 |
+
exports.default = undefined;
|
12830 |
+
|
12831 |
+
var _Subheader = __webpack_require__(353);
|
12832 |
+
|
12833 |
+
var _Subheader2 = _interopRequireDefault(_Subheader);
|
12834 |
+
|
12835 |
+
function _interopRequireDefault(obj) {
|
12836 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
12837 |
+
}
|
12838 |
+
|
12839 |
+
exports.default = _Subheader2.default;
|
12840 |
+
|
12841 |
+
/***/ }),
|
12842 |
+
/* 178 */
|
12843 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12844 |
+
|
12845 |
+
"use strict";
|
12846 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
12847 |
+
|
12848 |
+
Object.defineProperty(exports, "__esModule", {
|
12849 |
+
value: true
|
12850 |
+
});
|
12851 |
+
|
12852 |
+
var _getPrototypeOf = __webpack_require__(5);
|
12853 |
+
|
12854 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
12855 |
+
|
12856 |
+
var _classCallCheck2 = __webpack_require__(3);
|
12857 |
+
|
12858 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
12859 |
+
|
12860 |
+
var _createClass2 = __webpack_require__(4);
|
12861 |
+
|
12862 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
12863 |
+
|
12864 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
12865 |
+
|
12866 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
12867 |
+
|
12868 |
+
var _inherits2 = __webpack_require__(7);
|
12869 |
+
|
12870 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
12871 |
+
|
12872 |
+
var _react = __webpack_require__(0);
|
12873 |
+
|
12874 |
+
var _propTypes = __webpack_require__(2);
|
12875 |
+
|
12876 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
12877 |
+
|
12878 |
+
var _reactDom = __webpack_require__(14);
|
12879 |
+
|
12880 |
+
var _dom = __webpack_require__(171);
|
12881 |
+
|
12882 |
+
var _dom2 = _interopRequireDefault(_dom);
|
12883 |
+
|
12884 |
+
function _interopRequireDefault(obj) {
|
12885 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
12886 |
+
}
|
12887 |
+
|
12888 |
+
// heavily inspired by https://github.com/Khan/react-components/blob/master/js/layered-component-mixin.jsx
|
12889 |
+
var RenderToLayer = function (_Component) {
|
12890 |
+
(0, _inherits3.default)(RenderToLayer, _Component);
|
12891 |
+
|
12892 |
+
function RenderToLayer() {
|
12893 |
+
var _ref;
|
12894 |
+
|
12895 |
+
var _temp, _this, _ret;
|
12896 |
+
|
12897 |
+
(0, _classCallCheck3.default)(this, RenderToLayer);
|
12898 |
+
|
12899 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
12900 |
+
args[_key] = arguments[_key];
|
12901 |
+
}
|
12902 |
+
|
12903 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = RenderToLayer.__proto__ || (0, _getPrototypeOf2.default)(RenderToLayer)).call.apply(_ref, [this].concat(args))), _this), _this.onClickAway = function (event) {
|
12904 |
+
if (event.defaultPrevented) {
|
12905 |
+
return;
|
12906 |
+
}
|
12907 |
+
|
12908 |
+
if (!_this.props.componentClickAway) {
|
12909 |
+
return;
|
12910 |
+
}
|
12911 |
+
|
12912 |
+
if (!_this.props.open) {
|
12913 |
+
return;
|
12914 |
+
}
|
12915 |
+
|
12916 |
+
var el = _this.layer;
|
12917 |
+
if (event.target !== el && event.target === window || document.documentElement.contains(event.target) && !_dom2.default.isDescendant(el, event.target)) {
|
12918 |
+
_this.props.componentClickAway(event);
|
12919 |
+
}
|
12920 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
12921 |
+
}
|
12922 |
+
|
12923 |
+
(0, _createClass3.default)(RenderToLayer, [{
|
12924 |
+
key: 'componentDidMount',
|
12925 |
+
value: function componentDidMount() {
|
12926 |
+
this.renderLayer();
|
12927 |
+
}
|
12928 |
+
}, {
|
12929 |
+
key: 'componentDidUpdate',
|
12930 |
+
value: function componentDidUpdate() {
|
12931 |
+
this.renderLayer();
|
12932 |
+
}
|
12933 |
+
}, {
|
12934 |
+
key: 'componentWillUnmount',
|
12935 |
+
value: function componentWillUnmount() {
|
12936 |
+
this.unrenderLayer();
|
12937 |
+
}
|
12938 |
+
}, {
|
12939 |
+
key: 'getLayer',
|
12940 |
+
value: function getLayer() {
|
12941 |
+
return this.layer;
|
12942 |
+
}
|
12943 |
+
}, {
|
12944 |
+
key: 'unrenderLayer',
|
12945 |
+
value: function unrenderLayer() {
|
12946 |
+
if (!this.layer) {
|
12947 |
+
return;
|
12948 |
+
}
|
12949 |
+
|
12950 |
+
if (this.props.useLayerForClickAway) {
|
12951 |
+
this.layer.style.position = 'relative';
|
12952 |
+
this.layer.removeEventListener('click', this.onClickAway);
|
12953 |
+
} else {
|
12954 |
+
window.removeEventListener('click', this.onClickAway);
|
12955 |
+
}
|
12956 |
+
|
12957 |
+
(0, _reactDom.unmountComponentAtNode)(this.layer);
|
12958 |
+
document.body.removeChild(this.layer);
|
12959 |
+
this.layer = null;
|
12960 |
+
}
|
12961 |
+
|
12962 |
+
/**
|
12963 |
+
* By calling this method in componentDidMount() and
|
12964 |
+
* componentDidUpdate(), you're effectively creating a "wormhole" that
|
12965 |
+
* funnels React's hierarchical updates through to a DOM node on an
|
12966 |
+
* entirely different part of the page.
|
12967 |
+
*/
|
12968 |
+
|
12969 |
+
}, {
|
12970 |
+
key: 'renderLayer',
|
12971 |
+
value: function renderLayer() {
|
12972 |
+
var _this2 = this;
|
12973 |
+
|
12974 |
+
var _props = this.props,
|
12975 |
+
open = _props.open,
|
12976 |
+
render = _props.render;
|
12977 |
+
|
12978 |
+
if (open) {
|
12979 |
+
if (!this.layer) {
|
12980 |
+
this.layer = document.createElement('div');
|
12981 |
+
document.body.appendChild(this.layer);
|
12982 |
+
|
12983 |
+
if (this.props.useLayerForClickAway) {
|
12984 |
+
this.layer.addEventListener('click', this.onClickAway);
|
12985 |
+
this.layer.style.position = 'fixed';
|
12986 |
+
this.layer.style.top = 0;
|
12987 |
+
this.layer.style.bottom = 0;
|
12988 |
+
this.layer.style.left = 0;
|
12989 |
+
this.layer.style.right = 0;
|
12990 |
+
this.layer.style.zIndex = this.context.muiTheme.zIndex.layer;
|
12991 |
+
} else {
|
12992 |
+
setTimeout(function () {
|
12993 |
+
window.addEventListener('click', _this2.onClickAway);
|
12994 |
+
}, 0);
|
12995 |
+
}
|
12996 |
+
}
|
12997 |
+
|
12998 |
+
var layerElement = render();
|
12999 |
+
this.layerElement = (0, _reactDom.unstable_renderSubtreeIntoContainer)(this, layerElement, this.layer);
|
13000 |
+
} else {
|
13001 |
+
this.unrenderLayer();
|
13002 |
+
}
|
13003 |
+
}
|
13004 |
+
}, {
|
13005 |
+
key: 'render',
|
13006 |
+
value: function render() {
|
13007 |
+
return null;
|
13008 |
+
}
|
13009 |
+
}]);
|
13010 |
+
return RenderToLayer;
|
13011 |
+
}(_react.Component);
|
13012 |
+
|
13013 |
+
RenderToLayer.defaultProps = {
|
13014 |
+
useLayerForClickAway: true
|
13015 |
+
};
|
13016 |
+
RenderToLayer.contextTypes = {
|
13017 |
+
muiTheme: _propTypes2.default.object.isRequired
|
13018 |
+
};
|
13019 |
+
RenderToLayer.propTypes = process.env.NODE_ENV !== "production" ? {
|
13020 |
+
componentClickAway: _propTypes2.default.func,
|
13021 |
+
open: _propTypes2.default.bool.isRequired,
|
13022 |
+
render: _propTypes2.default.func.isRequired,
|
13023 |
+
useLayerForClickAway: _propTypes2.default.bool
|
13024 |
+
} : {};
|
13025 |
+
exports.default = RenderToLayer;
|
13026 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
13027 |
+
|
13028 |
+
/***/ }),
|
13029 |
+
/* 179 */
|
13030 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13031 |
+
|
13032 |
+
"use strict";
|
13033 |
+
|
13034 |
+
|
13035 |
+
Object.defineProperty(exports, "__esModule", {
|
13036 |
+
value: true
|
13037 |
+
});
|
13038 |
+
exports.default = undefined;
|
13039 |
+
|
13040 |
+
var _Divider = __webpack_require__(361);
|
13041 |
+
|
13042 |
+
var _Divider2 = _interopRequireDefault(_Divider);
|
13043 |
+
|
13044 |
+
function _interopRequireDefault(obj) {
|
13045 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
13046 |
+
}
|
13047 |
+
|
13048 |
+
exports.default = _Divider2.default;
|
13049 |
+
|
13050 |
+
/***/ }),
|
13051 |
+
/* 180 */
|
13052 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13053 |
+
|
13054 |
+
"use strict";
|
13055 |
+
|
13056 |
+
|
13057 |
+
Object.defineProperty(exports, "__esModule", {
|
13058 |
+
value: true
|
13059 |
+
});
|
13060 |
+
exports.default = undefined;
|
13061 |
+
|
13062 |
+
var _Avatar = __webpack_require__(362);
|
13063 |
+
|
13064 |
+
var _Avatar2 = _interopRequireDefault(_Avatar);
|
13065 |
+
|
13066 |
+
function _interopRequireDefault(obj) {
|
13067 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
13068 |
+
}
|
13069 |
+
|
13070 |
+
exports.default = _Avatar2.default;
|
13071 |
+
|
13072 |
+
/***/ }),
|
13073 |
+
/* 181 */
|
13074 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13075 |
+
|
13076 |
+
"use strict";
|
13077 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
13078 |
+
|
13079 |
+
Object.defineProperty(exports, "__esModule", {
|
13080 |
+
value: true
|
13081 |
+
});
|
13082 |
+
|
13083 |
+
var _extends2 = __webpack_require__(9);
|
13084 |
+
|
13085 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
13086 |
+
|
13087 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
13088 |
+
|
13089 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
13090 |
+
|
13091 |
+
var _simpleAssign = __webpack_require__(8);
|
13092 |
+
|
13093 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
13094 |
+
|
13095 |
+
var _react = __webpack_require__(0);
|
13096 |
+
|
13097 |
+
var _react2 = _interopRequireDefault(_react);
|
13098 |
+
|
13099 |
+
var _propTypes = __webpack_require__(2);
|
13100 |
+
|
13101 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
13102 |
+
|
13103 |
+
var _EnhancedButton = __webpack_require__(27);
|
13104 |
+
|
13105 |
+
var _EnhancedButton2 = _interopRequireDefault(_EnhancedButton);
|
13106 |
+
|
13107 |
+
function _interopRequireDefault(obj) {
|
13108 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
13109 |
+
}
|
13110 |
+
|
13111 |
+
function getStyles(props, context) {
|
13112 |
+
var selected = props.selected;
|
13113 |
+
var bottomNavigation = context.muiTheme.bottomNavigation;
|
13114 |
+
|
13115 |
+
var color = selected ? bottomNavigation.selectedColor : bottomNavigation.unselectedColor;
|
13116 |
+
|
13117 |
+
var styles = {
|
13118 |
+
root: {
|
13119 |
+
transition: 'padding-top 0.3s',
|
13120 |
+
paddingTop: selected ? 6 : 8,
|
13121 |
+
paddingBottom: 10,
|
13122 |
+
paddingLeft: 12,
|
13123 |
+
paddingRight: 12,
|
13124 |
+
minWidth: 80,
|
13125 |
+
maxWidth: 168
|
13126 |
+
},
|
13127 |
+
label: {
|
13128 |
+
fontSize: selected ? bottomNavigation.selectedFontSize : bottomNavigation.unselectedFontSize,
|
13129 |
+
transition: 'color 0.3s, font-size 0.3s',
|
13130 |
+
color: color
|
13131 |
+
},
|
13132 |
+
icon: {
|
13133 |
+
display: 'block',
|
13134 |
+
/**
|
13135 |
+
* Used to ensure SVG icons are centered
|
13136 |
+
*/
|
13137 |
+
width: '100%'
|
13138 |
+
},
|
13139 |
+
iconColor: color
|
13140 |
+
};
|
13141 |
+
|
13142 |
+
return styles;
|
13143 |
+
}
|
13144 |
+
|
13145 |
+
var BottomNavigationItem = function BottomNavigationItem(props, context) {
|
13146 |
+
var label = props.label,
|
13147 |
+
icon = props.icon,
|
13148 |
+
style = props.style,
|
13149 |
+
other = (0, _objectWithoutProperties3.default)(props, ['label', 'icon', 'style']);
|
13150 |
+
var prepareStyles = context.muiTheme.prepareStyles;
|
13151 |
+
|
13152 |
+
var styles = getStyles(props, context);
|
13153 |
+
|
13154 |
+
var styledIcon = (0, _react.cloneElement)(icon, {
|
13155 |
+
style: (0, _simpleAssign2.default)({}, styles.icon, icon.props.style),
|
13156 |
+
color: icon.props.color || styles.iconColor
|
13157 |
+
});
|
13158 |
+
|
13159 |
+
return _react2.default.createElement(_EnhancedButton2.default, (0, _extends3.default)({}, other, { style: (0, _simpleAssign2.default)({}, styles.root, style) }), styledIcon, _react2.default.createElement('div', { style: prepareStyles(styles.label) }, label));
|
13160 |
+
};
|
13161 |
+
|
13162 |
+
BottomNavigationItem.propTypes = process.env.NODE_ENV !== "production" ? {
|
13163 |
+
/**
|
13164 |
+
* Set the icon representing the view for this item.
|
13165 |
+
*/
|
13166 |
+
icon: _propTypes2.default.node,
|
13167 |
+
/**
|
13168 |
+
* Set the label describing the view for this item.
|
13169 |
+
*/
|
13170 |
+
label: _propTypes2.default.node,
|
13171 |
+
/**
|
13172 |
+
* @ignore
|
13173 |
+
* Override the inline-styles of the root element.
|
13174 |
+
*/
|
13175 |
+
style: _propTypes2.default.object
|
13176 |
+
} : {};
|
13177 |
+
|
13178 |
+
BottomNavigationItem.contextTypes = {
|
13179 |
+
muiTheme: _propTypes2.default.object.isRequired
|
13180 |
+
};
|
13181 |
+
|
13182 |
+
exports.default = BottomNavigationItem;
|
13183 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
13184 |
+
|
13185 |
+
/***/ }),
|
13186 |
+
/* 182 */
|
13187 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13188 |
+
|
13189 |
+
"use strict";
|
13190 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
13191 |
+
|
13192 |
+
Object.defineProperty(exports, "__esModule", {
|
13193 |
+
value: true
|
13194 |
+
});
|
13195 |
+
|
13196 |
+
var _getPrototypeOf = __webpack_require__(5);
|
13197 |
+
|
13198 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
13199 |
+
|
13200 |
+
var _classCallCheck2 = __webpack_require__(3);
|
13201 |
+
|
13202 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
13203 |
+
|
13204 |
+
var _createClass2 = __webpack_require__(4);
|
13205 |
+
|
13206 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
13207 |
+
|
13208 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
13209 |
+
|
13210 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
13211 |
+
|
13212 |
+
var _inherits2 = __webpack_require__(7);
|
13213 |
+
|
13214 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
13215 |
+
|
13216 |
+
var _simpleAssign = __webpack_require__(8);
|
13217 |
+
|
13218 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
13219 |
+
|
13220 |
+
var _react = __webpack_require__(0);
|
13221 |
+
|
13222 |
+
var _react2 = _interopRequireDefault(_react);
|
13223 |
+
|
13224 |
+
var _propTypes = __webpack_require__(2);
|
13225 |
+
|
13226 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
13227 |
+
|
13228 |
+
var _keyboardArrowUp = __webpack_require__(369);
|
13229 |
+
|
13230 |
+
var _keyboardArrowUp2 = _interopRequireDefault(_keyboardArrowUp);
|
13231 |
+
|
13232 |
+
var _keyboardArrowDown = __webpack_require__(370);
|
13233 |
+
|
13234 |
+
var _keyboardArrowDown2 = _interopRequireDefault(_keyboardArrowDown);
|
13235 |
+
|
13236 |
+
var _IconButton = __webpack_require__(55);
|
13237 |
+
|
13238 |
+
var _IconButton2 = _interopRequireDefault(_IconButton);
|
13239 |
+
|
13240 |
+
function _interopRequireDefault(obj) {
|
13241 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
13242 |
+
}
|
13243 |
+
|
13244 |
+
function getStyles() {
|
13245 |
+
return {
|
13246 |
+
root: {
|
13247 |
+
top: 0,
|
13248 |
+
bottom: 0,
|
13249 |
+
right: 4,
|
13250 |
+
margin: 'auto',
|
13251 |
+
position: 'absolute'
|
13252 |
+
}
|
13253 |
+
};
|
13254 |
+
}
|
13255 |
+
|
13256 |
+
var CardExpandable = function (_Component) {
|
13257 |
+
(0, _inherits3.default)(CardExpandable, _Component);
|
13258 |
+
|
13259 |
+
function CardExpandable() {
|
13260 |
+
(0, _classCallCheck3.default)(this, CardExpandable);
|
13261 |
+
return (0, _possibleConstructorReturn3.default)(this, (CardExpandable.__proto__ || (0, _getPrototypeOf2.default)(CardExpandable)).apply(this, arguments));
|
13262 |
+
}
|
13263 |
+
|
13264 |
+
(0, _createClass3.default)(CardExpandable, [{
|
13265 |
+
key: 'render',
|
13266 |
+
value: function render() {
|
13267 |
+
var styles = getStyles(this.props, this.context);
|
13268 |
+
|
13269 |
+
return _react2.default.createElement(_IconButton2.default, {
|
13270 |
+
style: (0, _simpleAssign2.default)(styles.root, this.props.style),
|
13271 |
+
onClick: this.props.onExpanding,
|
13272 |
+
iconStyle: this.props.iconStyle
|
13273 |
+
}, this.props.expanded ? this.props.openIcon : this.props.closeIcon);
|
13274 |
+
}
|
13275 |
+
}]);
|
13276 |
+
return CardExpandable;
|
13277 |
+
}(_react.Component);
|
13278 |
+
|
13279 |
+
CardExpandable.contextTypes = {
|
13280 |
+
muiTheme: _propTypes2.default.object.isRequired
|
13281 |
+
};
|
13282 |
+
CardExpandable.defaultProps = {
|
13283 |
+
closeIcon: _react2.default.createElement(_keyboardArrowDown2.default, null),
|
13284 |
+
openIcon: _react2.default.createElement(_keyboardArrowUp2.default, null)
|
13285 |
+
};
|
13286 |
+
CardExpandable.propTypes = process.env.NODE_ENV !== "production" ? {
|
13287 |
+
closeIcon: _propTypes2.default.node,
|
13288 |
+
expanded: _propTypes2.default.bool,
|
13289 |
+
iconStyle: _propTypes2.default.object,
|
13290 |
+
onExpanding: _propTypes2.default.func.isRequired,
|
13291 |
+
openIcon: _propTypes2.default.node,
|
13292 |
+
style: _propTypes2.default.object
|
13293 |
+
} : {};
|
13294 |
+
exports.default = CardExpandable;
|
13295 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
13296 |
+
|
13297 |
+
/***/ }),
|
13298 |
+
/* 183 */
|
13299 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13300 |
+
|
13301 |
+
"use strict";
|
13302 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
13303 |
+
|
13304 |
+
Object.defineProperty(exports, "__esModule", {
|
13305 |
+
value: true
|
13306 |
+
});
|
13307 |
+
|
13308 |
+
var _extends2 = __webpack_require__(9);
|
13309 |
+
|
13310 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
13311 |
+
|
13312 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
13313 |
+
|
13314 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
13315 |
+
|
13316 |
+
var _getPrototypeOf = __webpack_require__(5);
|
13317 |
+
|
13318 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
13319 |
+
|
13320 |
+
var _classCallCheck2 = __webpack_require__(3);
|
13321 |
+
|
13322 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
13323 |
+
|
13324 |
+
var _createClass2 = __webpack_require__(4);
|
13325 |
+
|
13326 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
13327 |
+
|
13328 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
13329 |
+
|
13330 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
13331 |
+
|
13332 |
+
var _inherits2 = __webpack_require__(7);
|
13333 |
+
|
13334 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
13335 |
+
|
13336 |
+
var _simpleAssign = __webpack_require__(8);
|
13337 |
+
|
13338 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
13339 |
+
|
13340 |
+
var _react = __webpack_require__(0);
|
13341 |
+
|
13342 |
+
var _react2 = _interopRequireDefault(_react);
|
13343 |
+
|
13344 |
+
var _propTypes = __webpack_require__(2);
|
13345 |
+
|
13346 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
13347 |
+
|
13348 |
+
var _Avatar = __webpack_require__(180);
|
13349 |
+
|
13350 |
+
var _Avatar2 = _interopRequireDefault(_Avatar);
|
13351 |
+
|
13352 |
+
function _interopRequireDefault(obj) {
|
13353 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
13354 |
+
}
|
13355 |
+
|
13356 |
+
function getStyles(props, context) {
|
13357 |
+
var card = context.muiTheme.card;
|
13358 |
+
|
13359 |
+
return {
|
13360 |
+
root: {
|
13361 |
+
padding: 16,
|
13362 |
+
fontWeight: card.fontWeight,
|
13363 |
+
boxSizing: 'border-box',
|
13364 |
+
position: 'relative',
|
13365 |
+
whiteSpace: 'nowrap'
|
13366 |
+
},
|
13367 |
+
text: {
|
13368 |
+
display: 'inline-block',
|
13369 |
+
verticalAlign: 'top',
|
13370 |
+
whiteSpace: 'normal',
|
13371 |
+
paddingRight: '90px'
|
13372 |
+
},
|
13373 |
+
avatar: {
|
13374 |
+
marginRight: 16
|
13375 |
+
},
|
13376 |
+
title: {
|
13377 |
+
color: props.titleColor || card.titleColor,
|
13378 |
+
display: 'block',
|
13379 |
+
fontSize: 15
|
13380 |
+
},
|
13381 |
+
subtitle: {
|
13382 |
+
color: props.subtitleColor || card.subtitleColor,
|
13383 |
+
display: 'block',
|
13384 |
+
fontSize: 14
|
13385 |
+
}
|
13386 |
+
};
|
13387 |
+
}
|
13388 |
+
|
13389 |
+
var CardHeader = function (_Component) {
|
13390 |
+
(0, _inherits3.default)(CardHeader, _Component);
|
13391 |
+
|
13392 |
+
function CardHeader() {
|
13393 |
+
(0, _classCallCheck3.default)(this, CardHeader);
|
13394 |
+
return (0, _possibleConstructorReturn3.default)(this, (CardHeader.__proto__ || (0, _getPrototypeOf2.default)(CardHeader)).apply(this, arguments));
|
13395 |
+
}
|
13396 |
+
|
13397 |
+
(0, _createClass3.default)(CardHeader, [{
|
13398 |
+
key: 'render',
|
13399 |
+
value: function render() {
|
13400 |
+
var _props = this.props,
|
13401 |
+
actAsExpander = _props.actAsExpander,
|
13402 |
+
avatarProp = _props.avatar,
|
13403 |
+
children = _props.children,
|
13404 |
+
closeIcon = _props.closeIcon,
|
13405 |
+
expandable = _props.expandable,
|
13406 |
+
openIcon = _props.openIcon,
|
13407 |
+
showExpandableButton = _props.showExpandableButton,
|
13408 |
+
style = _props.style,
|
13409 |
+
subtitle = _props.subtitle,
|
13410 |
+
subtitleColor = _props.subtitleColor,
|
13411 |
+
subtitleStyle = _props.subtitleStyle,
|
13412 |
+
textStyle = _props.textStyle,
|
13413 |
+
title = _props.title,
|
13414 |
+
titleColor = _props.titleColor,
|
13415 |
+
titleStyle = _props.titleStyle,
|
13416 |
+
iconStyle = _props.iconStyle,
|
13417 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['actAsExpander', 'avatar', 'children', 'closeIcon', 'expandable', 'openIcon', 'showExpandableButton', 'style', 'subtitle', 'subtitleColor', 'subtitleStyle', 'textStyle', 'title', 'titleColor', 'titleStyle', 'iconStyle']);
|
13418 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
13419 |
+
|
13420 |
+
var styles = getStyles(this.props, this.context);
|
13421 |
+
|
13422 |
+
var avatar = avatarProp;
|
13423 |
+
|
13424 |
+
if ((0, _react.isValidElement)(avatarProp)) {
|
13425 |
+
avatar = _react2.default.cloneElement(avatar, {
|
13426 |
+
style: (0, _simpleAssign2.default)(styles.avatar, avatar.props.style)
|
13427 |
+
});
|
13428 |
+
} else if (avatar !== null) {
|
13429 |
+
avatar = _react2.default.createElement(_Avatar2.default, { src: avatarProp, style: styles.avatar });
|
13430 |
+
}
|
13431 |
+
|
13432 |
+
return _react2.default.createElement('div', (0, _extends3.default)({}, other, { style: prepareStyles((0, _simpleAssign2.default)(styles.root, style)) }), avatar, _react2.default.createElement('div', { style: prepareStyles((0, _simpleAssign2.default)(styles.text, textStyle)) }, _react2.default.createElement('span', { style: prepareStyles((0, _simpleAssign2.default)(styles.title, titleStyle)) }, title), _react2.default.createElement('span', { style: prepareStyles((0, _simpleAssign2.default)(styles.subtitle, subtitleStyle)) }, subtitle)), children);
|
13433 |
+
}
|
13434 |
+
}]);
|
13435 |
+
return CardHeader;
|
13436 |
+
}(_react.Component);
|
13437 |
+
|
13438 |
+
CardHeader.muiName = 'CardHeader';
|
13439 |
+
CardHeader.defaultProps = {
|
13440 |
+
avatar: null
|
13441 |
+
};
|
13442 |
+
CardHeader.contextTypes = {
|
13443 |
+
muiTheme: _propTypes2.default.object.isRequired
|
13444 |
+
};
|
13445 |
+
CardHeader.propTypes = process.env.NODE_ENV !== "production" ? {
|
13446 |
+
/**
|
13447 |
+
* If true, a click on this card component expands the card.
|
13448 |
+
*/
|
13449 |
+
actAsExpander: _propTypes2.default.bool,
|
13450 |
+
/**
|
13451 |
+
* This is the [Avatar](/#/components/avatar) element to be displayed on the Card Header.
|
13452 |
+
* If `avatar` is an `Avatar` or other element, it will be rendered.
|
13453 |
+
* If `avatar` is a string, it will be used as the image `src` for an `Avatar`.
|
13454 |
+
*/
|
13455 |
+
avatar: _propTypes2.default.node,
|
13456 |
+
/**
|
13457 |
+
* Can be used to render elements inside the Card Header.
|
13458 |
+
*/
|
13459 |
+
children: _propTypes2.default.node,
|
13460 |
+
/**
|
13461 |
+
* Can be used to pass a closeIcon if you don't like the default expandable close Icon.
|
13462 |
+
*/
|
13463 |
+
closeIcon: _propTypes2.default.node,
|
13464 |
+
/**
|
13465 |
+
* If true, this card component is expandable.
|
13466 |
+
*/
|
13467 |
+
expandable: _propTypes2.default.bool,
|
13468 |
+
/**
|
13469 |
+
* Override the iconStyle of the Icon Button.
|
13470 |
+
*/
|
13471 |
+
iconStyle: _propTypes2.default.object,
|
13472 |
+
/**
|
13473 |
+
* Can be used to pass a openIcon if you don't like the default expandable open Icon.
|
13474 |
+
*/
|
13475 |
+
openIcon: _propTypes2.default.node,
|
13476 |
+
/**
|
13477 |
+
* If true, this card component will include a button to expand the card.
|
13478 |
+
*/
|
13479 |
+
showExpandableButton: _propTypes2.default.bool,
|
13480 |
+
/**
|
13481 |
+
* Override the inline-styles of the root element.
|
13482 |
+
*/
|
13483 |
+
style: _propTypes2.default.object,
|
13484 |
+
/**
|
13485 |
+
* Can be used to render a subtitle in Card Header.
|
13486 |
+
*/
|
13487 |
+
subtitle: _propTypes2.default.node,
|
13488 |
+
/**
|
13489 |
+
* Override the subtitle color.
|
13490 |
+
*/
|
13491 |
+
subtitleColor: _propTypes2.default.string,
|
13492 |
+
/**
|
13493 |
+
* Override the inline-styles of the subtitle.
|
13494 |
+
*/
|
13495 |
+
subtitleStyle: _propTypes2.default.object,
|
13496 |
+
/**
|
13497 |
+
* Override the inline-styles of the text.
|
13498 |
+
*/
|
13499 |
+
textStyle: _propTypes2.default.object,
|
13500 |
+
/**
|
13501 |
+
* Can be used to render a title in Card Header.
|
13502 |
+
*/
|
13503 |
+
title: _propTypes2.default.node,
|
13504 |
+
/**
|
13505 |
+
* Override the title color.
|
13506 |
+
*/
|
13507 |
+
titleColor: _propTypes2.default.string,
|
13508 |
+
/**
|
13509 |
+
* Override the inline-styles of the title.
|
13510 |
+
*/
|
13511 |
+
titleStyle: _propTypes2.default.object
|
13512 |
+
} : {};
|
13513 |
+
exports.default = CardHeader;
|
13514 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
13515 |
+
|
13516 |
+
/***/ }),
|
13517 |
+
/* 184 */
|
13518 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13519 |
+
|
13520 |
+
"use strict";
|
13521 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
13522 |
+
|
13523 |
+
Object.defineProperty(exports, "__esModule", {
|
13524 |
+
value: true
|
13525 |
+
});
|
13526 |
+
|
13527 |
+
var _extends2 = __webpack_require__(9);
|
13528 |
+
|
13529 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
13530 |
+
|
13531 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
13532 |
+
|
13533 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
13534 |
+
|
13535 |
+
var _getPrototypeOf = __webpack_require__(5);
|
13536 |
+
|
13537 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
13538 |
+
|
13539 |
+
var _classCallCheck2 = __webpack_require__(3);
|
13540 |
+
|
13541 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
13542 |
+
|
13543 |
+
var _createClass2 = __webpack_require__(4);
|
13544 |
+
|
13545 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
13546 |
+
|
13547 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
13548 |
+
|
13549 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
13550 |
+
|
13551 |
+
var _inherits2 = __webpack_require__(7);
|
13552 |
+
|
13553 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
13554 |
+
|
13555 |
+
var _simpleAssign = __webpack_require__(8);
|
13556 |
+
|
13557 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
13558 |
+
|
13559 |
+
var _react = __webpack_require__(0);
|
13560 |
+
|
13561 |
+
var _react2 = _interopRequireDefault(_react);
|
13562 |
+
|
13563 |
+
var _propTypes = __webpack_require__(2);
|
13564 |
+
|
13565 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
13566 |
+
|
13567 |
+
function _interopRequireDefault(obj) {
|
13568 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
13569 |
+
}
|
13570 |
+
|
13571 |
+
function getStyles(props, context) {
|
13572 |
+
var card = context.muiTheme.card;
|
13573 |
+
|
13574 |
+
return {
|
13575 |
+
root: {
|
13576 |
+
padding: 16,
|
13577 |
+
position: 'relative'
|
13578 |
+
},
|
13579 |
+
title: {
|
13580 |
+
fontSize: 24,
|
13581 |
+
color: props.titleColor || card.titleColor,
|
13582 |
+
display: 'block',
|
13583 |
+
lineHeight: '36px'
|
13584 |
+
},
|
13585 |
+
subtitle: {
|
13586 |
+
fontSize: 14,
|
13587 |
+
color: props.subtitleColor || card.subtitleColor,
|
13588 |
+
display: 'block'
|
13589 |
+
}
|
13590 |
+
};
|
13591 |
+
}
|
13592 |
+
|
13593 |
+
var CardTitle = function (_Component) {
|
13594 |
+
(0, _inherits3.default)(CardTitle, _Component);
|
13595 |
+
|
13596 |
+
function CardTitle() {
|
13597 |
+
(0, _classCallCheck3.default)(this, CardTitle);
|
13598 |
+
return (0, _possibleConstructorReturn3.default)(this, (CardTitle.__proto__ || (0, _getPrototypeOf2.default)(CardTitle)).apply(this, arguments));
|
13599 |
+
}
|
13600 |
+
|
13601 |
+
(0, _createClass3.default)(CardTitle, [{
|
13602 |
+
key: 'render',
|
13603 |
+
value: function render() {
|
13604 |
+
var _props = this.props,
|
13605 |
+
actAsExpander = _props.actAsExpander,
|
13606 |
+
children = _props.children,
|
13607 |
+
closeIcon = _props.closeIcon,
|
13608 |
+
expandable = _props.expandable,
|
13609 |
+
showExpandableButton = _props.showExpandableButton,
|
13610 |
+
style = _props.style,
|
13611 |
+
subtitle = _props.subtitle,
|
13612 |
+
subtitleColor = _props.subtitleColor,
|
13613 |
+
subtitleStyle = _props.subtitleStyle,
|
13614 |
+
title = _props.title,
|
13615 |
+
titleColor = _props.titleColor,
|
13616 |
+
titleStyle = _props.titleStyle,
|
13617 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['actAsExpander', 'children', 'closeIcon', 'expandable', 'showExpandableButton', 'style', 'subtitle', 'subtitleColor', 'subtitleStyle', 'title', 'titleColor', 'titleStyle']);
|
13618 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
13619 |
+
|
13620 |
+
var styles = getStyles(this.props, this.context);
|
13621 |
+
var rootStyle = (0, _simpleAssign2.default)({}, styles.root, style);
|
13622 |
+
var extendedTitleStyle = (0, _simpleAssign2.default)({}, styles.title, titleStyle);
|
13623 |
+
var extendedSubtitleStyle = (0, _simpleAssign2.default)({}, styles.subtitle, subtitleStyle);
|
13624 |
+
|
13625 |
+
return _react2.default.createElement('div', (0, _extends3.default)({}, other, { style: prepareStyles(rootStyle) }), _react2.default.createElement('span', { style: prepareStyles(extendedTitleStyle) }, title), _react2.default.createElement('span', { style: prepareStyles(extendedSubtitleStyle) }, subtitle), children);
|
13626 |
+
}
|
13627 |
+
}]);
|
13628 |
+
return CardTitle;
|
13629 |
+
}(_react.Component);
|
13630 |
+
|
13631 |
+
CardTitle.muiName = 'CardTitle';
|
13632 |
+
CardTitle.contextTypes = {
|
13633 |
+
muiTheme: _propTypes2.default.object.isRequired
|
13634 |
+
};
|
13635 |
+
CardTitle.propTypes = process.env.NODE_ENV !== "production" ? {
|
13636 |
+
/**
|
13637 |
+
* If true, a click on this card component expands the card.
|
13638 |
+
*/
|
13639 |
+
actAsExpander: _propTypes2.default.bool,
|
13640 |
+
/**
|
13641 |
+
* Can be used to render elements inside the Card Title.
|
13642 |
+
*/
|
13643 |
+
children: _propTypes2.default.node,
|
13644 |
+
/**
|
13645 |
+
* Can be used to pass a closeIcon if you don't like the default expandable close Icon.
|
13646 |
+
*/
|
13647 |
+
closeIcon: _propTypes2.default.node,
|
13648 |
+
/**
|
13649 |
+
* If true, this card component is expandable.
|
13650 |
+
*/
|
13651 |
+
expandable: _propTypes2.default.bool,
|
13652 |
+
/**
|
13653 |
+
* If true, this card component will include a button to expand the card.
|
13654 |
+
*/
|
13655 |
+
showExpandableButton: _propTypes2.default.bool,
|
13656 |
+
/**
|
13657 |
+
* Override the inline-styles of the root element.
|
13658 |
+
*/
|
13659 |
+
style: _propTypes2.default.object,
|
13660 |
+
/**
|
13661 |
+
* Can be used to render a subtitle in the Card Title.
|
13662 |
+
*/
|
13663 |
+
subtitle: _propTypes2.default.node,
|
13664 |
+
/**
|
13665 |
+
* Override the subtitle color.
|
13666 |
+
*/
|
13667 |
+
subtitleColor: _propTypes2.default.string,
|
13668 |
+
/**
|
13669 |
+
* Override the inline-styles of the subtitle.
|
13670 |
+
*/
|
13671 |
+
subtitleStyle: _propTypes2.default.object,
|
13672 |
+
/**
|
13673 |
+
* Can be used to render a title in the Card Title.
|
13674 |
+
*/
|
13675 |
+
title: _propTypes2.default.node,
|
13676 |
+
/**
|
13677 |
+
* Override the title color.
|
13678 |
+
*/
|
13679 |
+
titleColor: _propTypes2.default.string,
|
13680 |
+
/**
|
13681 |
+
* Override the inline-styles of the title.
|
13682 |
+
*/
|
13683 |
+
titleStyle: _propTypes2.default.object
|
13684 |
+
} : {};
|
13685 |
+
exports.default = CardTitle;
|
13686 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
13687 |
+
|
13688 |
+
/***/ }),
|
13689 |
+
/* 185 */
|
13690 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13691 |
+
|
13692 |
+
"use strict";
|
13693 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
13694 |
+
|
13695 |
+
Object.defineProperty(exports, "__esModule", {
|
13696 |
+
value: true
|
13697 |
+
});
|
13698 |
+
|
13699 |
+
var _extends2 = __webpack_require__(9);
|
13700 |
+
|
13701 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
13702 |
+
|
13703 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
13704 |
+
|
13705 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
13706 |
+
|
13707 |
+
var _getPrototypeOf = __webpack_require__(5);
|
13708 |
+
|
13709 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
13710 |
+
|
13711 |
+
var _classCallCheck2 = __webpack_require__(3);
|
13712 |
+
|
13713 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
13714 |
+
|
13715 |
+
var _createClass2 = __webpack_require__(4);
|
13716 |
+
|
13717 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
13718 |
+
|
13719 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
13720 |
+
|
13721 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
13722 |
+
|
13723 |
+
var _inherits2 = __webpack_require__(7);
|
13724 |
+
|
13725 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
13726 |
+
|
13727 |
+
var _simpleAssign = __webpack_require__(8);
|
13728 |
+
|
13729 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
13730 |
+
|
13731 |
+
var _react = __webpack_require__(0);
|
13732 |
+
|
13733 |
+
var _react2 = _interopRequireDefault(_react);
|
13734 |
+
|
13735 |
+
var _propTypes = __webpack_require__(2);
|
13736 |
+
|
13737 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
13738 |
+
|
13739 |
+
function _interopRequireDefault(obj) {
|
13740 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
13741 |
+
}
|
13742 |
+
|
13743 |
+
function getStyles(props, context) {
|
13744 |
+
var cardMedia = context.muiTheme.cardMedia;
|
13745 |
+
|
13746 |
+
return {
|
13747 |
+
root: {
|
13748 |
+
position: 'relative'
|
13749 |
+
},
|
13750 |
+
overlayContainer: {
|
13751 |
+
position: 'absolute',
|
13752 |
+
top: 0,
|
13753 |
+
bottom: 0,
|
13754 |
+
right: 0,
|
13755 |
+
left: 0
|
13756 |
+
},
|
13757 |
+
overlay: {
|
13758 |
+
height: '100%',
|
13759 |
+
position: 'relative'
|
13760 |
+
},
|
13761 |
+
overlayContent: {
|
13762 |
+
position: 'absolute',
|
13763 |
+
bottom: 0,
|
13764 |
+
right: 0,
|
13765 |
+
left: 0,
|
13766 |
+
paddingTop: 8,
|
13767 |
+
background: cardMedia.overlayContentBackground
|
13768 |
+
},
|
13769 |
+
media: {},
|
13770 |
+
mediaChild: {
|
13771 |
+
verticalAlign: 'top',
|
13772 |
+
maxWidth: '100%',
|
13773 |
+
minWidth: '100%',
|
13774 |
+
width: '100%'
|
13775 |
+
}
|
13776 |
+
};
|
13777 |
+
}
|
13778 |
+
|
13779 |
+
var CardMedia = function (_Component) {
|
13780 |
+
(0, _inherits3.default)(CardMedia, _Component);
|
13781 |
+
|
13782 |
+
function CardMedia() {
|
13783 |
+
(0, _classCallCheck3.default)(this, CardMedia);
|
13784 |
+
return (0, _possibleConstructorReturn3.default)(this, (CardMedia.__proto__ || (0, _getPrototypeOf2.default)(CardMedia)).apply(this, arguments));
|
13785 |
+
}
|
13786 |
+
|
13787 |
+
(0, _createClass3.default)(CardMedia, [{
|
13788 |
+
key: 'render',
|
13789 |
+
value: function render() {
|
13790 |
+
var _props = this.props,
|
13791 |
+
actAsExpander = _props.actAsExpander,
|
13792 |
+
children = _props.children,
|
13793 |
+
expandable = _props.expandable,
|
13794 |
+
mediaStyle = _props.mediaStyle,
|
13795 |
+
overlay = _props.overlay,
|
13796 |
+
overlayContainerStyle = _props.overlayContainerStyle,
|
13797 |
+
overlayContentStyle = _props.overlayContentStyle,
|
13798 |
+
overlayStyle = _props.overlayStyle,
|
13799 |
+
style = _props.style,
|
13800 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['actAsExpander', 'children', 'expandable', 'mediaStyle', 'overlay', 'overlayContainerStyle', 'overlayContentStyle', 'overlayStyle', 'style']);
|
13801 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
13802 |
+
|
13803 |
+
var styles = getStyles(this.props, this.context);
|
13804 |
+
var rootStyle = (0, _simpleAssign2.default)(styles.root, style);
|
13805 |
+
var extendedMediaStyle = (0, _simpleAssign2.default)(styles.media, mediaStyle);
|
13806 |
+
var extendedOverlayContainerStyle = (0, _simpleAssign2.default)(styles.overlayContainer, overlayContainerStyle);
|
13807 |
+
var extendedOverlayContentStyle = (0, _simpleAssign2.default)(styles.overlayContent, overlayContentStyle);
|
13808 |
+
var extendedOverlayStyle = (0, _simpleAssign2.default)(styles.overlay, overlayStyle);
|
13809 |
+
var titleColor = this.context.muiTheme.cardMedia.titleColor;
|
13810 |
+
var subtitleColor = this.context.muiTheme.cardMedia.subtitleColor;
|
13811 |
+
var color = this.context.muiTheme.cardMedia.color;
|
13812 |
+
|
13813 |
+
var styledChildren = _react2.default.Children.map(children, function (child) {
|
13814 |
+
if (!child) {
|
13815 |
+
return child;
|
13816 |
+
}
|
13817 |
+
|
13818 |
+
return _react2.default.cloneElement(child, {
|
13819 |
+
style: prepareStyles((0, _simpleAssign2.default)({}, styles.mediaChild, child.props.style))
|
13820 |
+
});
|
13821 |
+
});
|
13822 |
+
|
13823 |
+
var overlayChildren = _react2.default.Children.map(overlay, function (child) {
|
13824 |
+
var childMuiName = child && child.type ? child.type.muiName : null;
|
13825 |
+
|
13826 |
+
if (childMuiName === 'CardHeader' || childMuiName === 'CardTitle') {
|
13827 |
+
return _react2.default.cloneElement(child, {
|
13828 |
+
titleColor: titleColor,
|
13829 |
+
subtitleColor: subtitleColor
|
13830 |
+
});
|
13831 |
+
} else if (childMuiName === 'CardText') {
|
13832 |
+
return _react2.default.cloneElement(child, {
|
13833 |
+
color: color
|
13834 |
+
});
|
13835 |
+
} else {
|
13836 |
+
return child;
|
13837 |
+
}
|
13838 |
+
});
|
13839 |
+
|
13840 |
+
return _react2.default.createElement('div', (0, _extends3.default)({}, other, { style: prepareStyles(rootStyle) }), _react2.default.createElement('div', { style: prepareStyles(extendedMediaStyle) }, styledChildren), overlay ? _react2.default.createElement('div', { style: prepareStyles(extendedOverlayContainerStyle) }, _react2.default.createElement('div', { style: prepareStyles(extendedOverlayStyle) }, _react2.default.createElement('div', { style: prepareStyles(extendedOverlayContentStyle) }, overlayChildren))) : '');
|
13841 |
+
}
|
13842 |
+
}]);
|
13843 |
+
return CardMedia;
|
13844 |
+
}(_react.Component);
|
13845 |
+
|
13846 |
+
CardMedia.contextTypes = {
|
13847 |
+
muiTheme: _propTypes2.default.object.isRequired
|
13848 |
+
};
|
13849 |
+
CardMedia.propTypes = process.env.NODE_ENV !== "production" ? {
|
13850 |
+
/**
|
13851 |
+
* If true, a click on this card component expands the card.
|
13852 |
+
*/
|
13853 |
+
actAsExpander: _propTypes2.default.bool,
|
13854 |
+
/**
|
13855 |
+
* Can be used to render elements inside the Card Media.
|
13856 |
+
*/
|
13857 |
+
children: _propTypes2.default.node,
|
13858 |
+
/**
|
13859 |
+
* If true, this card component is expandable.
|
13860 |
+
*/
|
13861 |
+
expandable: _propTypes2.default.bool,
|
13862 |
+
/**
|
13863 |
+
* Override the inline-styles of the Card Media.
|
13864 |
+
*/
|
13865 |
+
mediaStyle: _propTypes2.default.object,
|
13866 |
+
/**
|
13867 |
+
* Can be used to render overlay element in Card Media.
|
13868 |
+
*/
|
13869 |
+
overlay: _propTypes2.default.node,
|
13870 |
+
/**
|
13871 |
+
* Override the inline-styles of the overlay container.
|
13872 |
+
*/
|
13873 |
+
overlayContainerStyle: _propTypes2.default.object,
|
13874 |
+
/**
|
13875 |
+
* Override the inline-styles of the overlay content.
|
13876 |
+
*/
|
13877 |
+
overlayContentStyle: _propTypes2.default.object,
|
13878 |
+
/**
|
13879 |
+
* Override the inline-styles of the overlay element.
|
13880 |
+
*/
|
13881 |
+
overlayStyle: _propTypes2.default.object,
|
13882 |
+
/**
|
13883 |
+
* Override the inline-styles of the root element.
|
13884 |
+
*/
|
13885 |
+
style: _propTypes2.default.object
|
13886 |
+
} : {};
|
13887 |
+
exports.default = CardMedia;
|
13888 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
13889 |
+
|
13890 |
+
/***/ }),
|
13891 |
+
/* 186 */
|
13892 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13893 |
+
|
13894 |
+
"use strict";
|
13895 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
13896 |
+
|
13897 |
+
Object.defineProperty(exports, "__esModule", {
|
13898 |
+
value: true
|
13899 |
+
});
|
13900 |
+
|
13901 |
+
var _extends2 = __webpack_require__(9);
|
13902 |
+
|
13903 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
13904 |
+
|
13905 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
13906 |
+
|
13907 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
13908 |
+
|
13909 |
+
var _getPrototypeOf = __webpack_require__(5);
|
13910 |
+
|
13911 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
13912 |
+
|
13913 |
+
var _classCallCheck2 = __webpack_require__(3);
|
13914 |
+
|
13915 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
13916 |
+
|
13917 |
+
var _createClass2 = __webpack_require__(4);
|
13918 |
+
|
13919 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
13920 |
+
|
13921 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
13922 |
+
|
13923 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
13924 |
+
|
13925 |
+
var _inherits2 = __webpack_require__(7);
|
13926 |
+
|
13927 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
13928 |
+
|
13929 |
+
var _simpleAssign = __webpack_require__(8);
|
13930 |
+
|
13931 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
13932 |
+
|
13933 |
+
var _react = __webpack_require__(0);
|
13934 |
+
|
13935 |
+
var _react2 = _interopRequireDefault(_react);
|
13936 |
+
|
13937 |
+
var _propTypes = __webpack_require__(2);
|
13938 |
+
|
13939 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
13940 |
+
|
13941 |
+
function _interopRequireDefault(obj) {
|
13942 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
13943 |
+
}
|
13944 |
+
|
13945 |
+
function getStyles(props, context) {
|
13946 |
+
var cardText = context.muiTheme.cardText;
|
13947 |
+
|
13948 |
+
return {
|
13949 |
+
root: {
|
13950 |
+
padding: 16,
|
13951 |
+
fontSize: 14,
|
13952 |
+
color: props.color || cardText.textColor
|
13953 |
+
}
|
13954 |
+
};
|
13955 |
+
}
|
13956 |
+
|
13957 |
+
var CardText = function (_Component) {
|
13958 |
+
(0, _inherits3.default)(CardText, _Component);
|
13959 |
+
|
13960 |
+
function CardText() {
|
13961 |
+
(0, _classCallCheck3.default)(this, CardText);
|
13962 |
+
return (0, _possibleConstructorReturn3.default)(this, (CardText.__proto__ || (0, _getPrototypeOf2.default)(CardText)).apply(this, arguments));
|
13963 |
+
}
|
13964 |
+
|
13965 |
+
(0, _createClass3.default)(CardText, [{
|
13966 |
+
key: 'render',
|
13967 |
+
value: function render() {
|
13968 |
+
var _props = this.props,
|
13969 |
+
actAsExpander = _props.actAsExpander,
|
13970 |
+
children = _props.children,
|
13971 |
+
color = _props.color,
|
13972 |
+
expandable = _props.expandable,
|
13973 |
+
style = _props.style,
|
13974 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['actAsExpander', 'children', 'color', 'expandable', 'style']);
|
13975 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
13976 |
+
|
13977 |
+
var styles = getStyles(this.props, this.context);
|
13978 |
+
var rootStyle = (0, _simpleAssign2.default)(styles.root, style);
|
13979 |
+
|
13980 |
+
return _react2.default.createElement('div', (0, _extends3.default)({}, other, { style: prepareStyles(rootStyle) }), children);
|
13981 |
+
}
|
13982 |
+
}]);
|
13983 |
+
return CardText;
|
13984 |
+
}(_react.Component);
|
13985 |
+
|
13986 |
+
CardText.muiName = 'CardText';
|
13987 |
+
CardText.contextTypes = {
|
13988 |
+
muiTheme: _propTypes2.default.object.isRequired
|
13989 |
+
};
|
13990 |
+
CardText.propTypes = process.env.NODE_ENV !== "production" ? {
|
13991 |
+
/**
|
13992 |
+
* If true, a click on this card component expands the card.
|
13993 |
+
*/
|
13994 |
+
actAsExpander: _propTypes2.default.bool,
|
13995 |
+
/**
|
13996 |
+
* Can be used to render elements inside the Card Text.
|
13997 |
+
*/
|
13998 |
+
children: _propTypes2.default.node,
|
13999 |
+
/**
|
14000 |
+
* Override the CardText color.
|
14001 |
+
*/
|
14002 |
+
color: _propTypes2.default.string,
|
14003 |
+
/**
|
14004 |
+
* If true, this card component is expandable.
|
14005 |
+
*/
|
14006 |
+
expandable: _propTypes2.default.bool,
|
14007 |
+
/**
|
14008 |
+
* Override the inline-styles of the root element.
|
14009 |
+
*/
|
14010 |
+
style: _propTypes2.default.object
|
14011 |
+
} : {};
|
14012 |
+
exports.default = CardText;
|
14013 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
14014 |
+
|
14015 |
+
/***/ }),
|
14016 |
+
/* 187 */
|
14017 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14018 |
+
|
14019 |
+
"use strict";
|
14020 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
14021 |
+
|
14022 |
+
Object.defineProperty(exports, "__esModule", {
|
14023 |
+
value: true
|
14024 |
+
});
|
14025 |
+
|
14026 |
+
var _extends2 = __webpack_require__(9);
|
14027 |
+
|
14028 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
14029 |
+
|
14030 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
14031 |
+
|
14032 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
14033 |
+
|
14034 |
+
var _getPrototypeOf = __webpack_require__(5);
|
14035 |
+
|
14036 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
14037 |
+
|
14038 |
+
var _classCallCheck2 = __webpack_require__(3);
|
14039 |
+
|
14040 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
14041 |
+
|
14042 |
+
var _createClass2 = __webpack_require__(4);
|
14043 |
+
|
14044 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
14045 |
+
|
14046 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
14047 |
+
|
14048 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
14049 |
+
|
14050 |
+
var _inherits2 = __webpack_require__(7);
|
14051 |
+
|
14052 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
14053 |
+
|
14054 |
+
var _simpleAssign = __webpack_require__(8);
|
14055 |
+
|
14056 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
14057 |
+
|
14058 |
+
var _react = __webpack_require__(0);
|
14059 |
+
|
14060 |
+
var _react2 = _interopRequireDefault(_react);
|
14061 |
+
|
14062 |
+
var _propTypes = __webpack_require__(2);
|
14063 |
+
|
14064 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
14065 |
+
|
14066 |
+
function _interopRequireDefault(obj) {
|
14067 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
14068 |
+
}
|
14069 |
+
|
14070 |
+
function getStyles() {
|
14071 |
+
return {
|
14072 |
+
root: {
|
14073 |
+
padding: 8,
|
14074 |
+
position: 'relative'
|
14075 |
+
},
|
14076 |
+
action: {
|
14077 |
+
marginRight: 8
|
14078 |
+
}
|
14079 |
+
};
|
14080 |
+
}
|
14081 |
+
|
14082 |
+
var CardActions = function (_Component) {
|
14083 |
+
(0, _inherits3.default)(CardActions, _Component);
|
14084 |
+
|
14085 |
+
function CardActions() {
|
14086 |
+
(0, _classCallCheck3.default)(this, CardActions);
|
14087 |
+
return (0, _possibleConstructorReturn3.default)(this, (CardActions.__proto__ || (0, _getPrototypeOf2.default)(CardActions)).apply(this, arguments));
|
14088 |
+
}
|
14089 |
+
|
14090 |
+
(0, _createClass3.default)(CardActions, [{
|
14091 |
+
key: 'render',
|
14092 |
+
value: function render() {
|
14093 |
+
var _props = this.props,
|
14094 |
+
actAsExpander = _props.actAsExpander,
|
14095 |
+
children = _props.children,
|
14096 |
+
expandable = _props.expandable,
|
14097 |
+
showExpandableButton = _props.showExpandableButton,
|
14098 |
+
style = _props.style,
|
14099 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['actAsExpander', 'children', 'expandable', 'showExpandableButton', 'style']);
|
14100 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
14101 |
+
|
14102 |
+
var styles = getStyles(this.props, this.context);
|
14103 |
+
|
14104 |
+
var styledChildren = _react2.default.Children.map(children, function (child) {
|
14105 |
+
if (_react2.default.isValidElement(child)) {
|
14106 |
+
return _react2.default.cloneElement(child, {
|
14107 |
+
style: (0, _simpleAssign2.default)({}, styles.action, child.props.style)
|
14108 |
+
});
|
14109 |
+
}
|
14110 |
+
});
|
14111 |
+
|
14112 |
+
return _react2.default.createElement('div', (0, _extends3.default)({}, other, { style: prepareStyles((0, _simpleAssign2.default)(styles.root, style)) }), styledChildren);
|
14113 |
+
}
|
14114 |
+
}]);
|
14115 |
+
return CardActions;
|
14116 |
+
}(_react.Component);
|
14117 |
+
|
14118 |
+
CardActions.contextTypes = {
|
14119 |
+
muiTheme: _propTypes2.default.object.isRequired
|
14120 |
+
};
|
14121 |
+
CardActions.propTypes = process.env.NODE_ENV !== "production" ? {
|
14122 |
+
/**
|
14123 |
+
* If true, a click on this card component expands the card.
|
14124 |
+
*/
|
14125 |
+
actAsExpander: _propTypes2.default.bool,
|
14126 |
+
/**
|
14127 |
+
* Can be used to render elements inside the Card Action.
|
14128 |
+
*/
|
14129 |
+
children: _propTypes2.default.node,
|
14130 |
+
/**
|
14131 |
+
* If true, this card component is expandable.
|
14132 |
+
*/
|
14133 |
+
expandable: _propTypes2.default.bool,
|
14134 |
+
/**
|
14135 |
+
* If true, this card component will include a button to expand the card.
|
14136 |
+
*/
|
14137 |
+
showExpandableButton: _propTypes2.default.bool,
|
14138 |
+
/**
|
14139 |
+
* Override the inline-styles of the root element.
|
14140 |
+
*/
|
14141 |
+
style: _propTypes2.default.object
|
14142 |
+
} : {};
|
14143 |
+
exports.default = CardActions;
|
14144 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
14145 |
+
|
14146 |
+
/***/ }),
|
14147 |
+
/* 188 */
|
14148 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14149 |
+
|
14150 |
+
"use strict";
|
14151 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
14152 |
+
|
14153 |
+
Object.defineProperty(exports, "__esModule", {
|
14154 |
+
value: true
|
14155 |
+
});
|
14156 |
+
|
14157 |
+
var _extends2 = __webpack_require__(9);
|
14158 |
+
|
14159 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
14160 |
+
|
14161 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
14162 |
+
|
14163 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
14164 |
+
|
14165 |
+
var _getPrototypeOf = __webpack_require__(5);
|
14166 |
+
|
14167 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
14168 |
+
|
14169 |
+
var _classCallCheck2 = __webpack_require__(3);
|
14170 |
+
|
14171 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
14172 |
+
|
14173 |
+
var _createClass2 = __webpack_require__(4);
|
14174 |
+
|
14175 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
14176 |
+
|
14177 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
14178 |
+
|
14179 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
14180 |
+
|
14181 |
+
var _inherits2 = __webpack_require__(7);
|
14182 |
+
|
14183 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
14184 |
+
|
14185 |
+
var _simpleAssign = __webpack_require__(8);
|
14186 |
+
|
14187 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
14188 |
+
|
14189 |
+
var _react = __webpack_require__(0);
|
14190 |
+
|
14191 |
+
var _react2 = _interopRequireDefault(_react);
|
14192 |
+
|
14193 |
+
var _propTypes = __webpack_require__(2);
|
14194 |
+
|
14195 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
14196 |
+
|
14197 |
+
var _transitions = __webpack_require__(12);
|
14198 |
+
|
14199 |
+
var _transitions2 = _interopRequireDefault(_transitions);
|
14200 |
+
|
14201 |
+
var _AutoLockScrolling = __webpack_require__(396);
|
14202 |
+
|
14203 |
+
var _AutoLockScrolling2 = _interopRequireDefault(_AutoLockScrolling);
|
14204 |
+
|
14205 |
+
function _interopRequireDefault(obj) {
|
14206 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
14207 |
+
}
|
14208 |
+
|
14209 |
+
function getStyles(props, context) {
|
14210 |
+
var overlay = context.muiTheme.overlay;
|
14211 |
+
|
14212 |
+
var style = {
|
14213 |
+
root: {
|
14214 |
+
position: 'fixed',
|
14215 |
+
height: '100%',
|
14216 |
+
width: '100%',
|
14217 |
+
top: 0,
|
14218 |
+
left: '-100%',
|
14219 |
+
opacity: 0,
|
14220 |
+
backgroundColor: overlay.backgroundColor,
|
14221 |
+
WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)', // Remove mobile color flashing (deprecated)
|
14222 |
+
|
14223 |
+
// Two ways to promote overlay to its own render layer
|
14224 |
+
willChange: 'opacity',
|
14225 |
+
transform: 'translateZ(0)',
|
14226 |
+
|
14227 |
+
transition: props.transitionEnabled && _transitions2.default.easeOut('0ms', 'left', '400ms') + ', ' + _transitions2.default.easeOut('400ms', 'opacity')
|
14228 |
+
}
|
14229 |
+
};
|
14230 |
+
|
14231 |
+
if (props.show) {
|
14232 |
+
(0, _simpleAssign2.default)(style.root, {
|
14233 |
+
left: 0,
|
14234 |
+
opacity: 1,
|
14235 |
+
transition: _transitions2.default.easeOut('0ms', 'left') + ', ' + _transitions2.default.easeOut('400ms', 'opacity')
|
14236 |
+
});
|
14237 |
+
}
|
14238 |
+
|
14239 |
+
return style;
|
14240 |
+
}
|
14241 |
+
|
14242 |
+
var Overlay = function (_Component) {
|
14243 |
+
(0, _inherits3.default)(Overlay, _Component);
|
14244 |
+
|
14245 |
+
function Overlay() {
|
14246 |
+
(0, _classCallCheck3.default)(this, Overlay);
|
14247 |
+
return (0, _possibleConstructorReturn3.default)(this, (Overlay.__proto__ || (0, _getPrototypeOf2.default)(Overlay)).apply(this, arguments));
|
14248 |
+
}
|
14249 |
+
|
14250 |
+
(0, _createClass3.default)(Overlay, [{
|
14251 |
+
key: 'setOpacity',
|
14252 |
+
value: function setOpacity(opacity) {
|
14253 |
+
this.refs.overlay.style.opacity = opacity;
|
14254 |
+
}
|
14255 |
+
}, {
|
14256 |
+
key: 'render',
|
14257 |
+
value: function render() {
|
14258 |
+
var _props = this.props,
|
14259 |
+
autoLockScrolling = _props.autoLockScrolling,
|
14260 |
+
show = _props.show,
|
14261 |
+
style = _props.style,
|
14262 |
+
transitionEnabled = _props.transitionEnabled,
|
14263 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['autoLockScrolling', 'show', 'style', 'transitionEnabled']);
|
14264 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
14265 |
+
|
14266 |
+
var styles = getStyles(this.props, this.context);
|
14267 |
+
|
14268 |
+
return _react2.default.createElement('div', (0, _extends3.default)({}, other, { ref: 'overlay', style: prepareStyles((0, _simpleAssign2.default)(styles.root, style)) }), autoLockScrolling && _react2.default.createElement(_AutoLockScrolling2.default, { lock: show }));
|
14269 |
+
}
|
14270 |
+
}]);
|
14271 |
+
return Overlay;
|
14272 |
+
}(_react.Component);
|
14273 |
+
|
14274 |
+
Overlay.defaultProps = {
|
14275 |
+
autoLockScrolling: true,
|
14276 |
+
style: {},
|
14277 |
+
transitionEnabled: true
|
14278 |
+
};
|
14279 |
+
Overlay.contextTypes = {
|
14280 |
+
muiTheme: _propTypes2.default.object.isRequired
|
14281 |
+
};
|
14282 |
+
Overlay.propTypes = process.env.NODE_ENV !== "production" ? {
|
14283 |
+
autoLockScrolling: _propTypes2.default.bool,
|
14284 |
+
show: _propTypes2.default.bool.isRequired,
|
14285 |
+
/**
|
14286 |
+
* Override the inline-styles of the root element.
|
14287 |
+
*/
|
14288 |
+
style: _propTypes2.default.object,
|
14289 |
+
transitionEnabled: _propTypes2.default.bool
|
14290 |
+
} : {};
|
14291 |
+
exports.default = Overlay;
|
14292 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
14293 |
+
|
14294 |
+
/***/ }),
|
14295 |
+
/* 189 */
|
14296 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14297 |
+
|
14298 |
+
"use strict";
|
14299 |
+
|
14300 |
+
|
14301 |
+
Object.defineProperty(exports, "__esModule", {
|
14302 |
+
value: true
|
14303 |
+
});
|
14304 |
+
exports.default = exports.MenuItem = exports.DropDownMenu = undefined;
|
14305 |
+
|
14306 |
+
var _DropDownMenu2 = __webpack_require__(399);
|
14307 |
+
|
14308 |
+
var _DropDownMenu3 = _interopRequireDefault(_DropDownMenu2);
|
14309 |
+
|
14310 |
+
var _MenuItem2 = __webpack_require__(116);
|
14311 |
+
|
14312 |
+
var _MenuItem3 = _interopRequireDefault(_MenuItem2);
|
14313 |
+
|
14314 |
+
function _interopRequireDefault(obj) {
|
14315 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
14316 |
+
}
|
14317 |
+
|
14318 |
+
exports.DropDownMenu = _DropDownMenu3.default;
|
14319 |
+
exports.MenuItem = _MenuItem3.default;
|
14320 |
+
exports.default = _DropDownMenu3.default;
|
14321 |
+
|
14322 |
+
/***/ }),
|
14323 |
+
/* 190 */
|
14324 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14325 |
+
|
14326 |
+
"use strict";
|
14327 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
14328 |
+
|
14329 |
+
Object.defineProperty(exports, "__esModule", {
|
14330 |
+
value: true
|
14331 |
+
});
|
14332 |
+
|
14333 |
+
var _extends2 = __webpack_require__(9);
|
14334 |
+
|
14335 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
14336 |
+
|
14337 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
14338 |
+
|
14339 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
14340 |
+
|
14341 |
+
var _getPrototypeOf = __webpack_require__(5);
|
14342 |
+
|
14343 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
14344 |
+
|
14345 |
+
var _classCallCheck2 = __webpack_require__(3);
|
14346 |
+
|
14347 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
14348 |
+
|
14349 |
+
var _createClass2 = __webpack_require__(4);
|
14350 |
+
|
14351 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
14352 |
+
|
14353 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
14354 |
+
|
14355 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
14356 |
+
|
14357 |
+
var _inherits2 = __webpack_require__(7);
|
14358 |
+
|
14359 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
14360 |
+
|
14361 |
+
var _defineProperty2 = __webpack_require__(191);
|
14362 |
+
|
14363 |
+
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
|
14364 |
+
|
14365 |
+
var _simpleAssign = __webpack_require__(8);
|
14366 |
+
|
14367 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
14368 |
+
|
14369 |
+
var _react = __webpack_require__(0);
|
14370 |
+
|
14371 |
+
var _react2 = _interopRequireDefault(_react);
|
14372 |
+
|
14373 |
+
var _propTypes = __webpack_require__(2);
|
14374 |
+
|
14375 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
14376 |
+
|
14377 |
+
function _interopRequireDefault(obj) {
|
14378 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
14379 |
+
}
|
14380 |
+
|
14381 |
+
function getStyles(props, context) {
|
14382 |
+
var _titleBar;
|
14383 |
+
|
14384 |
+
var _context$muiTheme = context.muiTheme,
|
14385 |
+
baseTheme = _context$muiTheme.baseTheme,
|
14386 |
+
gridTile = _context$muiTheme.gridTile;
|
14387 |
+
|
14388 |
+
var actionPos = props.actionIcon && props.actionPosition;
|
14389 |
+
|
14390 |
+
var styles = {
|
14391 |
+
root: {
|
14392 |
+
position: 'relative',
|
14393 |
+
display: 'block',
|
14394 |
+
height: '100%',
|
14395 |
+
overflow: 'hidden'
|
14396 |
+
},
|
14397 |
+
titleBar: (_titleBar = {
|
14398 |
+
position: 'absolute',
|
14399 |
+
left: 0,
|
14400 |
+
right: 0
|
14401 |
+
}, (0, _defineProperty3.default)(_titleBar, props.titlePosition, 0), (0, _defineProperty3.default)(_titleBar, 'height', props.subtitle ? 68 : 48), (0, _defineProperty3.default)(_titleBar, 'background', props.titleBackground), (0, _defineProperty3.default)(_titleBar, 'display', 'flex'), (0, _defineProperty3.default)(_titleBar, 'alignItems', 'center'), _titleBar),
|
14402 |
+
titleWrap: {
|
14403 |
+
flexGrow: 1,
|
14404 |
+
marginLeft: actionPos !== 'left' ? baseTheme.spacing.desktopGutterLess : 0,
|
14405 |
+
marginRight: actionPos === 'left' ? baseTheme.spacing.desktopGutterLess : 0,
|
14406 |
+
color: gridTile.textColor,
|
14407 |
+
overflow: 'hidden'
|
14408 |
+
},
|
14409 |
+
title: {
|
14410 |
+
fontSize: '16px',
|
14411 |
+
textOverflow: 'ellipsis',
|
14412 |
+
overflow: 'hidden',
|
14413 |
+
whiteSpace: 'nowrap'
|
14414 |
+
},
|
14415 |
+
subtitle: {
|
14416 |
+
fontSize: '12px',
|
14417 |
+
textOverflow: 'ellipsis',
|
14418 |
+
overflow: 'hidden',
|
14419 |
+
whiteSpace: 'nowrap'
|
14420 |
+
},
|
14421 |
+
actionIcon: {
|
14422 |
+
order: actionPos === 'left' ? -1 : 1
|
14423 |
+
},
|
14424 |
+
childImg: {
|
14425 |
+
height: '100%',
|
14426 |
+
transform: 'translateX(-50%)',
|
14427 |
+
position: 'relative',
|
14428 |
+
left: '50%'
|
14429 |
+
}
|
14430 |
+
};
|
14431 |
+
return styles;
|
14432 |
+
}
|
14433 |
+
|
14434 |
+
var GridTile = function (_Component) {
|
14435 |
+
(0, _inherits3.default)(GridTile, _Component);
|
14436 |
+
|
14437 |
+
function GridTile() {
|
14438 |
+
(0, _classCallCheck3.default)(this, GridTile);
|
14439 |
+
return (0, _possibleConstructorReturn3.default)(this, (GridTile.__proto__ || (0, _getPrototypeOf2.default)(GridTile)).apply(this, arguments));
|
14440 |
+
}
|
14441 |
+
|
14442 |
+
(0, _createClass3.default)(GridTile, [{
|
14443 |
+
key: 'componentDidMount',
|
14444 |
+
value: function componentDidMount() {
|
14445 |
+
this.ensureImageCover();
|
14446 |
+
}
|
14447 |
+
}, {
|
14448 |
+
key: 'componentDidUpdate',
|
14449 |
+
value: function componentDidUpdate() {
|
14450 |
+
this.ensureImageCover();
|
14451 |
+
}
|
14452 |
+
}, {
|
14453 |
+
key: 'ensureImageCover',
|
14454 |
+
value: function ensureImageCover() {
|
14455 |
+
var _this2 = this;
|
14456 |
+
|
14457 |
+
var imgEl = this.refs.img;
|
14458 |
+
|
14459 |
+
if (imgEl) {
|
14460 |
+
var fit = function fit() {
|
14461 |
+
if (imgEl.offsetWidth < imgEl.parentNode.offsetWidth) {
|
14462 |
+
var isRtl = _this2.context.muiTheme.isRtl;
|
14463 |
+
|
14464 |
+
imgEl.style.height = 'auto';
|
14465 |
+
if (isRtl) {
|
14466 |
+
imgEl.style.right = '0';
|
14467 |
+
} else {
|
14468 |
+
imgEl.style.left = '0';
|
14469 |
+
}
|
14470 |
+
imgEl.style.width = '100%';
|
14471 |
+
imgEl.style.top = '50%';
|
14472 |
+
imgEl.style.transform = imgEl.style.WebkitTransform = 'translateY(-50%)';
|
14473 |
+
}
|
14474 |
+
imgEl.removeEventListener('load', fit);
|
14475 |
+
imgEl = null; // prevent closure memory leak
|
14476 |
+
};
|
14477 |
+
if (imgEl.complete) {
|
14478 |
+
fit();
|
14479 |
+
} else {
|
14480 |
+
imgEl.addEventListener('load', fit);
|
14481 |
+
}
|
14482 |
+
}
|
14483 |
+
}
|
14484 |
+
}, {
|
14485 |
+
key: 'render',
|
14486 |
+
value: function render() {
|
14487 |
+
var _props = this.props,
|
14488 |
+
title = _props.title,
|
14489 |
+
subtitle = _props.subtitle,
|
14490 |
+
titlePosition = _props.titlePosition,
|
14491 |
+
titleBackground = _props.titleBackground,
|
14492 |
+
titleStyle = _props.titleStyle,
|
14493 |
+
subtitleStyle = _props.subtitleStyle,
|
14494 |
+
actionIcon = _props.actionIcon,
|
14495 |
+
actionPosition = _props.actionPosition,
|
14496 |
+
style = _props.style,
|
14497 |
+
children = _props.children,
|
14498 |
+
containerElement = _props.containerElement,
|
14499 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['title', 'subtitle', 'titlePosition', 'titleBackground', 'titleStyle', 'subtitleStyle', 'actionIcon', 'actionPosition', 'style', 'children', 'containerElement']);
|
14500 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
14501 |
+
|
14502 |
+
var styles = getStyles(this.props, this.context);
|
14503 |
+
var mergedRootStyles = (0, _simpleAssign2.default)(styles.root, style);
|
14504 |
+
|
14505 |
+
var titleBar = null;
|
14506 |
+
|
14507 |
+
if (title) {
|
14508 |
+
titleBar = _react2.default.createElement('div', { key: 'titlebar', style: prepareStyles(styles.titleBar) }, _react2.default.createElement('div', { style: prepareStyles(styles.titleWrap) }, _react2.default.createElement('div', { style: prepareStyles((0, _simpleAssign2.default)(styles.title, titleStyle)) }, title), subtitle ? _react2.default.createElement('div', { style: prepareStyles((0, _simpleAssign2.default)(styles.subtitle, subtitleStyle)) }, subtitle) : null), actionIcon ? _react2.default.createElement('div', { style: prepareStyles(styles.actionIcon) }, actionIcon) : null);
|
14509 |
+
}
|
14510 |
+
|
14511 |
+
var newChildren = children;
|
14512 |
+
|
14513 |
+
// if there is a single image passed as children
|
14514 |
+
// clone it and add our styles
|
14515 |
+
if (_react2.default.Children.count(children) === 1) {
|
14516 |
+
newChildren = _react2.default.Children.map(children, function (child) {
|
14517 |
+
if (child.type === 'img') {
|
14518 |
+
return _react2.default.cloneElement(child, {
|
14519 |
+
key: 'img',
|
14520 |
+
ref: 'img',
|
14521 |
+
style: prepareStyles((0, _simpleAssign2.default)({}, styles.childImg, child.props.style))
|
14522 |
+
});
|
14523 |
+
} else {
|
14524 |
+
return child;
|
14525 |
+
}
|
14526 |
+
});
|
14527 |
+
}
|
14528 |
+
|
14529 |
+
var containerProps = (0, _extends3.default)({
|
14530 |
+
style: prepareStyles(mergedRootStyles)
|
14531 |
+
}, other);
|
14532 |
+
|
14533 |
+
return _react2.default.isValidElement(containerElement) ? _react2.default.cloneElement(containerElement, containerProps, [newChildren, titleBar]) : _react2.default.createElement(containerElement, containerProps, [newChildren, titleBar]);
|
14534 |
+
}
|
14535 |
+
}]);
|
14536 |
+
return GridTile;
|
14537 |
+
}(_react.Component);
|
14538 |
+
|
14539 |
+
GridTile.defaultProps = {
|
14540 |
+
titlePosition: 'bottom',
|
14541 |
+
titleBackground: 'rgba(0, 0, 0, 0.4)',
|
14542 |
+
actionPosition: 'right',
|
14543 |
+
cols: 1,
|
14544 |
+
rows: 1,
|
14545 |
+
containerElement: 'div'
|
14546 |
+
};
|
14547 |
+
GridTile.contextTypes = {
|
14548 |
+
muiTheme: _propTypes2.default.object.isRequired
|
14549 |
+
};
|
14550 |
+
GridTile.propTypes = process.env.NODE_ENV !== "production" ? {
|
14551 |
+
/**
|
14552 |
+
* An IconButton element to be used as secondary action target
|
14553 |
+
* (primary action target is the tile itself).
|
14554 |
+
*/
|
14555 |
+
actionIcon: _propTypes2.default.element,
|
14556 |
+
/**
|
14557 |
+
* Position of secondary action IconButton.
|
14558 |
+
*/
|
14559 |
+
actionPosition: _propTypes2.default.oneOf(['left', 'right']),
|
14560 |
+
/**
|
14561 |
+
* Theoretically you can pass any node as children, but the main use case is to pass an img,
|
14562 |
+
* in whichcase GridTile takes care of making the image "cover" available space
|
14563 |
+
* (similar to background-size: cover or to object-fit:cover).
|
14564 |
+
*/
|
14565 |
+
children: _propTypes2.default.node,
|
14566 |
+
/**
|
14567 |
+
* Width of the tile in number of grid cells.
|
14568 |
+
*/
|
14569 |
+
cols: _propTypes2.default.number,
|
14570 |
+
/**
|
14571 |
+
* Either a string used as tag name for the tile root element, or a ReactElement.
|
14572 |
+
* This is useful when you have, for example, a custom implementation of
|
14573 |
+
* a navigation link (that knows about your routes) and you want to use it as the primary tile action.
|
14574 |
+
* In case you pass a ReactElement, please ensure that it passes all props,
|
14575 |
+
* accepts styles overrides and render it's children.
|
14576 |
+
*/
|
14577 |
+
containerElement: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
|
14578 |
+
/**
|
14579 |
+
* Height of the tile in number of grid cells.
|
14580 |
+
*/
|
14581 |
+
rows: _propTypes2.default.number,
|
14582 |
+
/**
|
14583 |
+
* Override the inline-styles of the root element.
|
14584 |
+
*/
|
14585 |
+
style: _propTypes2.default.object,
|
14586 |
+
/**
|
14587 |
+
* String or element serving as subtitle (support text).
|
14588 |
+
*/
|
14589 |
+
subtitle: _propTypes2.default.node,
|
14590 |
+
/**
|
14591 |
+
* Override the inline-styles of the subtitle element.
|
14592 |
+
*/
|
14593 |
+
subtitleStyle: _propTypes2.default.object,
|
14594 |
+
/**
|
14595 |
+
* Title to be displayed on tile.
|
14596 |
+
*/
|
14597 |
+
title: _propTypes2.default.node,
|
14598 |
+
/**
|
14599 |
+
* Style used for title bar background.
|
14600 |
+
* Useful for setting custom gradients for example
|
14601 |
+
*/
|
14602 |
+
titleBackground: _propTypes2.default.string,
|
14603 |
+
/**
|
14604 |
+
* Position of the title bar (container of title, subtitle and action icon).
|
14605 |
+
*/
|
14606 |
+
titlePosition: _propTypes2.default.oneOf(['top', 'bottom']),
|
14607 |
+
/**
|
14608 |
+
* Override the inline-styles of the title element.
|
14609 |
+
*/
|
14610 |
+
titleStyle: _propTypes2.default.object
|
14611 |
+
} : {};
|
14612 |
+
exports.default = GridTile;
|
14613 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
14614 |
+
|
14615 |
+
/***/ }),
|
14616 |
+
/* 191 */
|
14617 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14618 |
+
|
14619 |
+
"use strict";
|
14620 |
+
|
14621 |
+
|
14622 |
+
exports.__esModule = true;
|
14623 |
+
|
14624 |
+
var _defineProperty = __webpack_require__(102);
|
14625 |
+
|
14626 |
+
var _defineProperty2 = _interopRequireDefault(_defineProperty);
|
14627 |
+
|
14628 |
+
function _interopRequireDefault(obj) {
|
14629 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
14630 |
+
}
|
14631 |
+
|
14632 |
+
exports.default = function (obj, key, value) {
|
14633 |
+
if (key in obj) {
|
14634 |
+
(0, _defineProperty2.default)(obj, key, {
|
14635 |
+
value: value,
|
14636 |
+
enumerable: true,
|
14637 |
+
configurable: true,
|
14638 |
+
writable: true
|
14639 |
+
});
|
14640 |
+
} else {
|
14641 |
+
obj[key] = value;
|
14642 |
+
}
|
14643 |
+
|
14644 |
+
return obj;
|
14645 |
+
};
|
14646 |
+
|
14647 |
+
/***/ }),
|
14648 |
+
/* 192 */
|
14649 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14650 |
+
|
14651 |
+
"use strict";
|
14652 |
+
|
14653 |
+
|
14654 |
+
Object.defineProperty(exports, "__esModule", {
|
14655 |
+
value: true
|
14656 |
+
});
|
14657 |
+
exports.makeSelectable = undefined;
|
14658 |
+
|
14659 |
+
var _extends2 = __webpack_require__(9);
|
14660 |
+
|
14661 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
14662 |
+
|
14663 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
14664 |
+
|
14665 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
14666 |
+
|
14667 |
+
var _getPrototypeOf = __webpack_require__(5);
|
14668 |
+
|
14669 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
14670 |
+
|
14671 |
+
var _classCallCheck2 = __webpack_require__(3);
|
14672 |
+
|
14673 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
14674 |
+
|
14675 |
+
var _createClass2 = __webpack_require__(4);
|
14676 |
+
|
14677 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
14678 |
+
|
14679 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
14680 |
+
|
14681 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
14682 |
+
|
14683 |
+
var _inherits2 = __webpack_require__(7);
|
14684 |
+
|
14685 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
14686 |
+
|
14687 |
+
var _simpleAssign = __webpack_require__(8);
|
14688 |
+
|
14689 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
14690 |
+
|
14691 |
+
var _react = __webpack_require__(0);
|
14692 |
+
|
14693 |
+
var _react2 = _interopRequireDefault(_react);
|
14694 |
+
|
14695 |
+
var _propTypes = __webpack_require__(2);
|
14696 |
+
|
14697 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
14698 |
+
|
14699 |
+
var _colorManipulator = __webpack_require__(38);
|
14700 |
+
|
14701 |
+
function _interopRequireDefault(obj) {
|
14702 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
14703 |
+
}
|
14704 |
+
|
14705 |
+
var makeSelectable = function makeSelectable(MyComponent) {
|
14706 |
+
var _class, _temp2;
|
14707 |
+
|
14708 |
+
return _temp2 = _class = function (_Component) {
|
14709 |
+
(0, _inherits3.default)(_class, _Component);
|
14710 |
+
|
14711 |
+
function _class() {
|
14712 |
+
var _ref;
|
14713 |
+
|
14714 |
+
var _temp, _this, _ret;
|
14715 |
+
|
14716 |
+
(0, _classCallCheck3.default)(this, _class);
|
14717 |
+
|
14718 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
14719 |
+
args[_key] = arguments[_key];
|
14720 |
+
}
|
14721 |
+
|
14722 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = _class.__proto__ || (0, _getPrototypeOf2.default)(_class)).call.apply(_ref, [this].concat(args))), _this), _this.hasSelectedDescendant = function (previousValue, child) {
|
14723 |
+
if (_react2.default.isValidElement(child) && child.props.nestedItems && child.props.nestedItems.length > 0) {
|
14724 |
+
return child.props.nestedItems.reduce(_this.hasSelectedDescendant, previousValue);
|
14725 |
+
}
|
14726 |
+
return previousValue || _this.isChildSelected(child, _this.props);
|
14727 |
+
}, _this.handleItemClick = function (event, item) {
|
14728 |
+
var itemValue = item.props.value;
|
14729 |
+
|
14730 |
+
if (itemValue !== _this.props.value) {
|
14731 |
+
if (_this.props.onChange) {
|
14732 |
+
_this.props.onChange(event, itemValue);
|
14733 |
+
}
|
14734 |
+
}
|
14735 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
14736 |
+
}
|
14737 |
+
|
14738 |
+
(0, _createClass3.default)(_class, [{
|
14739 |
+
key: 'extendChild',
|
14740 |
+
value: function extendChild(child, styles, selectedItemStyle) {
|
14741 |
+
var _this2 = this;
|
14742 |
+
|
14743 |
+
if (child && child.type && child.type.muiName === 'ListItem') {
|
14744 |
+
var selected = this.isChildSelected(child, this.props);
|
14745 |
+
var selectedChildrenStyles = void 0;
|
14746 |
+
if (selected) {
|
14747 |
+
selectedChildrenStyles = (0, _simpleAssign2.default)({}, styles, selectedItemStyle);
|
14748 |
+
}
|
14749 |
+
|
14750 |
+
var mergedChildrenStyles = (0, _simpleAssign2.default)({}, child.props.style, selectedChildrenStyles);
|
14751 |
+
|
14752 |
+
this.keyIndex += 1;
|
14753 |
+
|
14754 |
+
return _react2.default.cloneElement(child, {
|
14755 |
+
onClick: function onClick(event) {
|
14756 |
+
_this2.handleItemClick(event, child);
|
14757 |
+
if (child.props.onClick) {
|
14758 |
+
child.props.onClick(event);
|
14759 |
+
}
|
14760 |
+
},
|
14761 |
+
key: this.keyIndex,
|
14762 |
+
style: mergedChildrenStyles,
|
14763 |
+
nestedItems: child.props.nestedItems.map(function (child) {
|
14764 |
+
return _this2.extendChild(child, styles, selectedItemStyle);
|
14765 |
+
}),
|
14766 |
+
initiallyOpen: this.isInitiallyOpen(child)
|
14767 |
+
});
|
14768 |
+
} else {
|
14769 |
+
return child;
|
14770 |
+
}
|
14771 |
+
}
|
14772 |
+
}, {
|
14773 |
+
key: 'isInitiallyOpen',
|
14774 |
+
value: function isInitiallyOpen(child) {
|
14775 |
+
if (child.props.initiallyOpen) {
|
14776 |
+
return child.props.initiallyOpen;
|
14777 |
+
}
|
14778 |
+
return this.hasSelectedDescendant(false, child);
|
14779 |
+
}
|
14780 |
+
}, {
|
14781 |
+
key: 'isChildSelected',
|
14782 |
+
value: function isChildSelected(child, props) {
|
14783 |
+
return props.value === child.props.value;
|
14784 |
+
}
|
14785 |
+
}, {
|
14786 |
+
key: 'render',
|
14787 |
+
value: function render() {
|
14788 |
+
var _this3 = this;
|
14789 |
+
|
14790 |
+
var _props = this.props,
|
14791 |
+
children = _props.children,
|
14792 |
+
selectedItemStyle = _props.selectedItemStyle,
|
14793 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['children', 'selectedItemStyle']);
|
14794 |
+
|
14795 |
+
this.keyIndex = 0;
|
14796 |
+
var styles = {};
|
14797 |
+
|
14798 |
+
if (!selectedItemStyle) {
|
14799 |
+
var textColor = this.context.muiTheme.baseTheme.palette.textColor;
|
14800 |
+
styles.backgroundColor = (0, _colorManipulator.fade)(textColor, 0.2);
|
14801 |
+
}
|
14802 |
+
|
14803 |
+
return _react2.default.createElement(MyComponent, (0, _extends3.default)({}, other, this.state), _react.Children.map(children, function (child) {
|
14804 |
+
return _this3.extendChild(child, styles, selectedItemStyle);
|
14805 |
+
}));
|
14806 |
+
}
|
14807 |
+
}]);
|
14808 |
+
return _class;
|
14809 |
+
}(_react.Component), _class.propTypes = {
|
14810 |
+
children: _propTypes2.default.node,
|
14811 |
+
onChange: _propTypes2.default.func,
|
14812 |
+
selectedItemStyle: _propTypes2.default.object,
|
14813 |
+
value: _propTypes2.default.any
|
14814 |
+
}, _class.contextTypes = {
|
14815 |
+
muiTheme: _propTypes2.default.object.isRequired
|
14816 |
+
}, _temp2;
|
14817 |
+
};
|
14818 |
+
|
14819 |
+
exports.makeSelectable = makeSelectable;
|
14820 |
+
exports.default = makeSelectable;
|
14821 |
+
|
14822 |
+
/***/ }),
|
14823 |
+
/* 193 */
|
14824 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14825 |
+
|
14826 |
+
"use strict";
|
14827 |
+
|
14828 |
+
|
14829 |
+
Object.defineProperty(exports, "__esModule", {
|
14830 |
+
value: true
|
14831 |
+
});
|
14832 |
+
exports.default = prefixValue;
|
14833 |
+
function prefixValue(plugins, property, value, style, metaData) {
|
14834 |
+
for (var i = 0, len = plugins.length; i < len; ++i) {
|
14835 |
+
var processedValue = plugins[i](property, value, style, metaData);
|
14836 |
+
|
14837 |
+
// we can stop processing if a value is returned
|
14838 |
+
// as all plugin criteria are unique
|
14839 |
+
if (processedValue) {
|
14840 |
+
return processedValue;
|
14841 |
+
}
|
14842 |
+
}
|
14843 |
+
}
|
14844 |
+
module.exports = exports["default"];
|
14845 |
+
|
14846 |
+
/***/ }),
|
14847 |
+
/* 194 */
|
14848 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14849 |
+
|
14850 |
+
"use strict";
|
14851 |
+
|
14852 |
+
|
14853 |
+
Object.defineProperty(exports, "__esModule", {
|
14854 |
+
value: true
|
14855 |
+
});
|
14856 |
+
exports.default = addNewValuesOnly;
|
14857 |
+
function addIfNew(list, value) {
|
14858 |
+
if (list.indexOf(value) === -1) {
|
14859 |
+
list.push(value);
|
14860 |
+
}
|
14861 |
+
}
|
14862 |
+
|
14863 |
+
function addNewValuesOnly(list, values) {
|
14864 |
+
if (Array.isArray(values)) {
|
14865 |
+
for (var i = 0, len = values.length; i < len; ++i) {
|
14866 |
+
addIfNew(list, values[i]);
|
14867 |
+
}
|
14868 |
+
} else {
|
14869 |
+
addIfNew(list, values);
|
14870 |
+
}
|
14871 |
+
}
|
14872 |
+
module.exports = exports["default"];
|
14873 |
+
|
14874 |
+
/***/ }),
|
14875 |
+
/* 195 */
|
14876 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14877 |
+
|
14878 |
+
"use strict";
|
14879 |
+
|
14880 |
+
|
14881 |
+
Object.defineProperty(exports, "__esModule", {
|
14882 |
+
value: true
|
14883 |
+
});
|
14884 |
+
exports.default = isObject;
|
14885 |
+
function isObject(value) {
|
14886 |
+
return value instanceof Object && !Array.isArray(value);
|
14887 |
+
}
|
14888 |
+
module.exports = exports["default"];
|
14889 |
+
|
14890 |
+
/***/ }),
|
14891 |
+
/* 196 */
|
14892 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14893 |
+
|
14894 |
+
"use strict";
|
14895 |
+
|
14896 |
+
|
14897 |
+
Object.defineProperty(exports, "__esModule", {
|
14898 |
+
value: true
|
14899 |
+
});
|
14900 |
+
exports.default = hyphenateProperty;
|
14901 |
+
|
14902 |
+
var _hyphenateStyleName = __webpack_require__(433);
|
14903 |
+
|
14904 |
+
var _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);
|
14905 |
+
|
14906 |
+
function _interopRequireDefault(obj) {
|
14907 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
14908 |
+
}
|
14909 |
+
|
14910 |
+
function hyphenateProperty(property) {
|
14911 |
+
return (0, _hyphenateStyleName2.default)(property);
|
14912 |
+
}
|
14913 |
+
module.exports = exports['default'];
|
14914 |
+
|
14915 |
+
/***/ }),
|
14916 |
+
/* 197 */
|
14917 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14918 |
+
|
14919 |
+
"use strict";
|
14920 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
14921 |
+
|
14922 |
+
Object.defineProperty(exports, "__esModule", {
|
14923 |
+
value: true
|
14924 |
+
});
|
14925 |
+
|
14926 |
+
var _extends2 = __webpack_require__(9);
|
14927 |
+
|
14928 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
14929 |
+
|
14930 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
14931 |
+
|
14932 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
14933 |
+
|
14934 |
+
var _getPrototypeOf = __webpack_require__(5);
|
14935 |
+
|
14936 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
14937 |
+
|
14938 |
+
var _classCallCheck2 = __webpack_require__(3);
|
14939 |
+
|
14940 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
14941 |
+
|
14942 |
+
var _createClass2 = __webpack_require__(4);
|
14943 |
+
|
14944 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
14945 |
+
|
14946 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
14947 |
+
|
14948 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
14949 |
+
|
14950 |
+
var _inherits2 = __webpack_require__(7);
|
14951 |
+
|
14952 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
14953 |
+
|
14954 |
+
var _simpleAssign = __webpack_require__(8);
|
14955 |
+
|
14956 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
14957 |
+
|
14958 |
+
var _react = __webpack_require__(0);
|
14959 |
+
|
14960 |
+
var _react2 = _interopRequireDefault(_react);
|
14961 |
+
|
14962 |
+
var _propTypes = __webpack_require__(2);
|
14963 |
+
|
14964 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
14965 |
+
|
14966 |
+
var _transitions = __webpack_require__(12);
|
14967 |
+
|
14968 |
+
var _transitions2 = _interopRequireDefault(_transitions);
|
14969 |
+
|
14970 |
+
var _EnhancedSwitch = __webpack_require__(119);
|
14971 |
+
|
14972 |
+
var _EnhancedSwitch2 = _interopRequireDefault(_EnhancedSwitch);
|
14973 |
+
|
14974 |
+
var _radioButtonUnchecked = __webpack_require__(448);
|
14975 |
+
|
14976 |
+
var _radioButtonUnchecked2 = _interopRequireDefault(_radioButtonUnchecked);
|
14977 |
+
|
14978 |
+
var _radioButtonChecked = __webpack_require__(449);
|
14979 |
+
|
14980 |
+
var _radioButtonChecked2 = _interopRequireDefault(_radioButtonChecked);
|
14981 |
+
|
14982 |
+
function _interopRequireDefault(obj) {
|
14983 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
14984 |
+
}
|
14985 |
+
|
14986 |
+
function getStyles(props, context) {
|
14987 |
+
var radioButton = context.muiTheme.radioButton;
|
14988 |
+
|
14989 |
+
return {
|
14990 |
+
icon: {
|
14991 |
+
height: radioButton.size,
|
14992 |
+
width: radioButton.size
|
14993 |
+
},
|
14994 |
+
target: {
|
14995 |
+
transition: _transitions2.default.easeOut(),
|
14996 |
+
position: 'absolute',
|
14997 |
+
opacity: 1,
|
14998 |
+
transform: 'scale(1)',
|
14999 |
+
fill: radioButton.borderColor
|
15000 |
+
},
|
15001 |
+
fill: {
|
15002 |
+
position: 'absolute',
|
15003 |
+
opacity: 1,
|
15004 |
+
transform: 'scale(0)',
|
15005 |
+
transformOrigin: '50% 50%',
|
15006 |
+
transition: _transitions2.default.easeOut(),
|
15007 |
+
fill: radioButton.checkedColor
|
15008 |
+
},
|
15009 |
+
targetWhenChecked: {
|
15010 |
+
opacity: 0,
|
15011 |
+
transform: 'scale(0)'
|
15012 |
+
},
|
15013 |
+
fillWhenChecked: {
|
15014 |
+
opacity: 1,
|
15015 |
+
transform: 'scale(1)'
|
15016 |
+
},
|
15017 |
+
targetWhenDisabled: {
|
15018 |
+
fill: radioButton.disabledColor
|
15019 |
+
},
|
15020 |
+
fillWhenDisabled: {
|
15021 |
+
fill: radioButton.disabledColor
|
15022 |
+
},
|
15023 |
+
label: {
|
15024 |
+
color: props.disabled ? radioButton.labelDisabledColor : radioButton.labelColor
|
15025 |
+
},
|
15026 |
+
ripple: {
|
15027 |
+
color: props.checked ? radioButton.checkedColor : radioButton.borderColor
|
15028 |
+
}
|
15029 |
+
};
|
15030 |
+
}
|
15031 |
+
|
15032 |
+
var RadioButton = function (_Component) {
|
15033 |
+
(0, _inherits3.default)(RadioButton, _Component);
|
15034 |
+
|
15035 |
+
function RadioButton() {
|
15036 |
+
var _ref;
|
15037 |
+
|
15038 |
+
var _temp, _this, _ret;
|
15039 |
+
|
15040 |
+
(0, _classCallCheck3.default)(this, RadioButton);
|
15041 |
+
|
15042 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
15043 |
+
args[_key] = arguments[_key];
|
15044 |
+
}
|
15045 |
+
|
15046 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = RadioButton.__proto__ || (0, _getPrototypeOf2.default)(RadioButton)).call.apply(_ref, [this].concat(args))), _this), _this.handleSwitch = function (event) {
|
15047 |
+
if (_this.props.onCheck) {
|
15048 |
+
_this.props.onCheck(event, _this.props.value);
|
15049 |
+
}
|
15050 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
15051 |
+
}
|
15052 |
+
|
15053 |
+
// Only called when selected, not when unselected.
|
15054 |
+
|
15055 |
+
|
15056 |
+
(0, _createClass3.default)(RadioButton, [{
|
15057 |
+
key: 'isChecked',
|
15058 |
+
value: function isChecked() {
|
15059 |
+
return this.refs.enhancedSwitch.isSwitched();
|
15060 |
+
}
|
15061 |
+
|
15062 |
+
// Use RadioButtonGroup.setSelectedValue(newSelectionValue) to set a
|
15063 |
+
// RadioButton's checked value.
|
15064 |
+
|
15065 |
+
}, {
|
15066 |
+
key: 'setChecked',
|
15067 |
+
value: function setChecked(newCheckedValue) {
|
15068 |
+
this.refs.enhancedSwitch.setSwitched(newCheckedValue);
|
15069 |
+
}
|
15070 |
+
}, {
|
15071 |
+
key: 'getValue',
|
15072 |
+
value: function getValue() {
|
15073 |
+
return this.refs.enhancedSwitch.getValue();
|
15074 |
+
}
|
15075 |
+
}, {
|
15076 |
+
key: 'render',
|
15077 |
+
value: function render() {
|
15078 |
+
var _props = this.props,
|
15079 |
+
checkedIcon = _props.checkedIcon,
|
15080 |
+
checked = _props.checked,
|
15081 |
+
iconStyle = _props.iconStyle,
|
15082 |
+
labelStyle = _props.labelStyle,
|
15083 |
+
labelPosition = _props.labelPosition,
|
15084 |
+
onCheck = _props.onCheck,
|
15085 |
+
uncheckedIcon = _props.uncheckedIcon,
|
15086 |
+
disabled = _props.disabled,
|
15087 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['checkedIcon', 'checked', 'iconStyle', 'labelStyle', 'labelPosition', 'onCheck', 'uncheckedIcon', 'disabled']);
|
15088 |
+
|
15089 |
+
var styles = getStyles(this.props, this.context);
|
15090 |
+
|
15091 |
+
var uncheckedStyles = (0, _simpleAssign2.default)(styles.target, checked && styles.targetWhenChecked, iconStyle, disabled && styles.targetWhenDisabled);
|
15092 |
+
|
15093 |
+
var checkedStyles = (0, _simpleAssign2.default)(styles.fill, checked && styles.fillWhenChecked, iconStyle, disabled && styles.fillWhenDisabled);
|
15094 |
+
|
15095 |
+
var uncheckedElement = _react2.default.isValidElement(uncheckedIcon) ? _react2.default.cloneElement(uncheckedIcon, {
|
15096 |
+
style: (0, _simpleAssign2.default)(uncheckedStyles, uncheckedIcon.props.style)
|
15097 |
+
}) : _react2.default.createElement(_radioButtonUnchecked2.default, { style: uncheckedStyles });
|
15098 |
+
|
15099 |
+
var checkedElement = _react2.default.isValidElement(checkedIcon) ? _react2.default.cloneElement(checkedIcon, {
|
15100 |
+
style: (0, _simpleAssign2.default)(checkedStyles, checkedIcon.props.style)
|
15101 |
+
}) : _react2.default.createElement(_radioButtonChecked2.default, { style: checkedStyles });
|
15102 |
+
|
15103 |
+
var mergedIconStyle = (0, _simpleAssign2.default)(styles.icon, iconStyle);
|
15104 |
+
var mergedLabelStyle = (0, _simpleAssign2.default)(styles.label, labelStyle);
|
15105 |
+
|
15106 |
+
return _react2.default.createElement(_EnhancedSwitch2.default, (0, _extends3.default)({}, other, {
|
15107 |
+
ref: 'enhancedSwitch',
|
15108 |
+
inputType: 'radio',
|
15109 |
+
checked: checked,
|
15110 |
+
switched: checked,
|
15111 |
+
disabled: disabled,
|
15112 |
+
rippleColor: styles.ripple.color,
|
15113 |
+
iconStyle: mergedIconStyle,
|
15114 |
+
labelStyle: mergedLabelStyle,
|
15115 |
+
labelPosition: labelPosition,
|
15116 |
+
onSwitch: this.handleSwitch,
|
15117 |
+
switchElement: _react2.default.createElement('div', null, uncheckedElement, checkedElement)
|
15118 |
+
}));
|
15119 |
+
}
|
15120 |
+
}]);
|
15121 |
+
return RadioButton;
|
15122 |
+
}(_react.Component);
|
15123 |
+
|
15124 |
+
RadioButton.defaultProps = {
|
15125 |
+
checked: false,
|
15126 |
+
disabled: false,
|
15127 |
+
labelPosition: 'right'
|
15128 |
+
};
|
15129 |
+
RadioButton.contextTypes = {
|
15130 |
+
muiTheme: _propTypes2.default.object.isRequired
|
15131 |
+
};
|
15132 |
+
RadioButton.propTypes = process.env.NODE_ENV !== "production" ? {
|
15133 |
+
/**
|
15134 |
+
* @ignore
|
15135 |
+
* checked if true
|
15136 |
+
* Used internally by `RadioButtonGroup`.
|
15137 |
+
*/
|
15138 |
+
checked: _propTypes2.default.bool,
|
15139 |
+
/**
|
15140 |
+
* The icon element to show when the radio button is checked.
|
15141 |
+
*/
|
15142 |
+
checkedIcon: _propTypes2.default.element,
|
15143 |
+
/**
|
15144 |
+
* If true, the radio button is disabled.
|
15145 |
+
*/
|
15146 |
+
disabled: _propTypes2.default.bool,
|
15147 |
+
/**
|
15148 |
+
* Override the inline-styles of the icon element.
|
15149 |
+
*/
|
15150 |
+
iconStyle: _propTypes2.default.object,
|
15151 |
+
/**
|
15152 |
+
* Override the inline-styles of the input element.
|
15153 |
+
*/
|
15154 |
+
inputStyle: _propTypes2.default.object,
|
15155 |
+
/**
|
15156 |
+
* @ignore
|
15157 |
+
* Used internally by `RadioButtonGroup`. Use the `labelPosition` property of `RadioButtonGroup` instead.
|
15158 |
+
* Where the label will be placed next to the radio button.
|
15159 |
+
*/
|
15160 |
+
labelPosition: _propTypes2.default.oneOf(['left', 'right']),
|
15161 |
+
/**
|
15162 |
+
* Override the inline-styles of the label element.
|
15163 |
+
*/
|
15164 |
+
labelStyle: _propTypes2.default.object,
|
15165 |
+
/**
|
15166 |
+
* @ignore
|
15167 |
+
* Callback function fired when the radio button is checked. Note that this
|
15168 |
+
* function will not be called if the radio button is part of a
|
15169 |
+
* radio button group: in this case, use the `onChange` property of
|
15170 |
+
* `RadioButtonGroup`.
|
15171 |
+
*
|
15172 |
+
* @param {object} event `change` event targeting the element.
|
15173 |
+
* @param {string} value The element's `value`.
|
15174 |
+
*/
|
15175 |
+
onCheck: _propTypes2.default.func,
|
15176 |
+
/**
|
15177 |
+
* Override the inline-styles of the root element.
|
15178 |
+
*/
|
15179 |
+
style: _propTypes2.default.object,
|
15180 |
+
/**
|
15181 |
+
* The icon element to show when the radio button is unchecked.
|
15182 |
+
*/
|
15183 |
+
uncheckedIcon: _propTypes2.default.element,
|
15184 |
+
/**
|
15185 |
+
* The value of the radio button.
|
15186 |
+
*/
|
15187 |
+
value: _propTypes2.default.any
|
15188 |
+
} : {};
|
15189 |
+
exports.default = RadioButton;
|
15190 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
15191 |
+
|
15192 |
+
/***/ }),
|
15193 |
+
/* 198 */
|
15194 |
+
/***/ (function(module, exports, __webpack_require__) {
|
15195 |
+
|
15196 |
+
"use strict";
|
15197 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
15198 |
+
|
15199 |
+
Object.defineProperty(exports, "__esModule", {
|
15200 |
+
value: true
|
15201 |
+
});
|
15202 |
+
|
15203 |
+
var _extends2 = __webpack_require__(9);
|
15204 |
+
|
15205 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
15206 |
+
|
15207 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
15208 |
+
|
15209 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
15210 |
+
|
15211 |
+
var _getPrototypeOf = __webpack_require__(5);
|
15212 |
+
|
15213 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
15214 |
+
|
15215 |
+
var _classCallCheck2 = __webpack_require__(3);
|
15216 |
+
|
15217 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
15218 |
+
|
15219 |
+
var _createClass2 = __webpack_require__(4);
|
15220 |
+
|
15221 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
15222 |
+
|
15223 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
15224 |
+
|
15225 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
15226 |
+
|
15227 |
+
var _inherits2 = __webpack_require__(7);
|
15228 |
+
|
15229 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
15230 |
+
|
15231 |
+
var _simpleAssign = __webpack_require__(8);
|
15232 |
+
|
15233 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
15234 |
+
|
15235 |
+
var _react = __webpack_require__(0);
|
15236 |
+
|
15237 |
+
var _react2 = _interopRequireDefault(_react);
|
15238 |
+
|
15239 |
+
var _propTypes = __webpack_require__(2);
|
15240 |
+
|
15241 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
15242 |
+
|
15243 |
+
var _RadioButton = __webpack_require__(197);
|
15244 |
+
|
15245 |
+
var _RadioButton2 = _interopRequireDefault(_RadioButton);
|
15246 |
+
|
15247 |
+
var _warning = __webpack_require__(16);
|
15248 |
+
|
15249 |
+
var _warning2 = _interopRequireDefault(_warning);
|
15250 |
+
|
15251 |
+
function _interopRequireDefault(obj) {
|
15252 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
15253 |
+
}
|
15254 |
+
|
15255 |
+
var RadioButtonGroup = function (_Component) {
|
15256 |
+
(0, _inherits3.default)(RadioButtonGroup, _Component);
|
15257 |
+
|
15258 |
+
function RadioButtonGroup() {
|
15259 |
+
var _ref;
|
15260 |
+
|
15261 |
+
var _temp, _this, _ret;
|
15262 |
+
|
15263 |
+
(0, _classCallCheck3.default)(this, RadioButtonGroup);
|
15264 |
+
|
15265 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
15266 |
+
args[_key] = arguments[_key];
|
15267 |
+
}
|
15268 |
+
|
15269 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = RadioButtonGroup.__proto__ || (0, _getPrototypeOf2.default)(RadioButtonGroup)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
|
15270 |
+
numberCheckedRadioButtons: 0,
|
15271 |
+
selected: ''
|
15272 |
+
}, _this.handleChange = function (event, newSelection) {
|
15273 |
+
_this.updateRadioButtons(newSelection);
|
15274 |
+
|
15275 |
+
// Successful update
|
15276 |
+
if (_this.state.numberCheckedRadioButtons === 0) {
|
15277 |
+
if (_this.props.onChange) _this.props.onChange(event, newSelection);
|
15278 |
+
}
|
15279 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
15280 |
+
}
|
15281 |
+
|
15282 |
+
(0, _createClass3.default)(RadioButtonGroup, [{
|
15283 |
+
key: 'componentWillMount',
|
15284 |
+
value: function componentWillMount() {
|
15285 |
+
var _this2 = this;
|
15286 |
+
|
15287 |
+
var cnt = 0;
|
15288 |
+
var selected = '';
|
15289 |
+
var _props = this.props,
|
15290 |
+
valueSelected = _props.valueSelected,
|
15291 |
+
defaultSelected = _props.defaultSelected;
|
15292 |
+
|
15293 |
+
if (valueSelected !== undefined) {
|
15294 |
+
selected = valueSelected;
|
15295 |
+
} else if (defaultSelected !== undefined) {
|
15296 |
+
selected = defaultSelected;
|
15297 |
+
}
|
15298 |
+
|
15299 |
+
_react2.default.Children.forEach(this.props.children, function (option) {
|
15300 |
+
if (_this2.hasCheckAttribute(option)) cnt++;
|
15301 |
+
}, this);
|
15302 |
+
|
15303 |
+
this.setState({
|
15304 |
+
numberCheckedRadioButtons: cnt,
|
15305 |
+
selected: selected
|
15306 |
+
});
|
15307 |
+
}
|
15308 |
+
}, {
|
15309 |
+
key: 'componentWillReceiveProps',
|
15310 |
+
value: function componentWillReceiveProps(nextProps) {
|
15311 |
+
if (nextProps.hasOwnProperty('valueSelected')) {
|
15312 |
+
this.setState({
|
15313 |
+
selected: nextProps.valueSelected
|
15314 |
+
});
|
15315 |
+
}
|
15316 |
+
}
|
15317 |
+
}, {
|
15318 |
+
key: 'hasCheckAttribute',
|
15319 |
+
value: function hasCheckAttribute(radioButton) {
|
15320 |
+
return radioButton.props.hasOwnProperty('checked') && radioButton.props.checked;
|
15321 |
+
}
|
15322 |
+
}, {
|
15323 |
+
key: 'updateRadioButtons',
|
15324 |
+
value: function updateRadioButtons(newSelection) {
|
15325 |
+
if (this.state.numberCheckedRadioButtons === 0) {
|
15326 |
+
this.setState({ selected: newSelection });
|
15327 |
+
} else {
|
15328 |
+
process.env.NODE_ENV !== "production" ? (0, _warning2.default)(false, 'Material-UI: Cannot select a different radio button while another radio button\n has the \'checked\' property set to true.') : void 0;
|
15329 |
+
}
|
15330 |
+
}
|
15331 |
+
}, {
|
15332 |
+
key: 'getSelectedValue',
|
15333 |
+
value: function getSelectedValue() {
|
15334 |
+
return this.state.selected;
|
15335 |
+
}
|
15336 |
+
}, {
|
15337 |
+
key: 'setSelectedValue',
|
15338 |
+
value: function setSelectedValue(newSelectionValue) {
|
15339 |
+
this.updateRadioButtons(newSelectionValue);
|
15340 |
+
}
|
15341 |
+
}, {
|
15342 |
+
key: 'clearValue',
|
15343 |
+
value: function clearValue() {
|
15344 |
+
this.setSelectedValue('');
|
15345 |
+
}
|
15346 |
+
}, {
|
15347 |
+
key: 'render',
|
15348 |
+
value: function render() {
|
15349 |
+
var _this3 = this;
|
15350 |
+
|
15351 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
15352 |
+
|
15353 |
+
var options = _react2.default.Children.map(this.props.children, function (option) {
|
15354 |
+
var _option$props = option.props,
|
15355 |
+
name = _option$props.name,
|
15356 |
+
value = _option$props.value,
|
15357 |
+
label = _option$props.label,
|
15358 |
+
onCheck = _option$props.onCheck,
|
15359 |
+
other = (0, _objectWithoutProperties3.default)(_option$props, ['name', 'value', 'label', 'onCheck']);
|
15360 |
+
|
15361 |
+
return _react2.default.createElement(_RadioButton2.default, (0, _extends3.default)({}, other, {
|
15362 |
+
ref: option.props.value,
|
15363 |
+
name: _this3.props.name,
|
15364 |
+
key: option.props.value,
|
15365 |
+
value: option.props.value,
|
15366 |
+
label: option.props.label,
|
15367 |
+
labelPosition: _this3.props.labelPosition,
|
15368 |
+
onCheck: _this3.handleChange,
|
15369 |
+
checked: option.props.value === _this3.state.selected
|
15370 |
+
}));
|
15371 |
+
}, this);
|
15372 |
+
|
15373 |
+
return _react2.default.createElement('div', {
|
15374 |
+
style: prepareStyles((0, _simpleAssign2.default)({}, this.props.style)),
|
15375 |
+
className: this.props.className
|
15376 |
+
}, options);
|
15377 |
+
}
|
15378 |
+
}]);
|
15379 |
+
return RadioButtonGroup;
|
15380 |
+
}(_react.Component);
|
15381 |
+
|
15382 |
+
RadioButtonGroup.defaultProps = {
|
15383 |
+
style: {}
|
15384 |
+
};
|
15385 |
+
RadioButtonGroup.contextTypes = {
|
15386 |
+
muiTheme: _propTypes2.default.object.isRequired
|
15387 |
+
};
|
15388 |
+
RadioButtonGroup.propTypes = process.env.NODE_ENV !== "production" ? {
|
15389 |
+
/**
|
15390 |
+
* Should be used to pass `RadioButton` components.
|
15391 |
+
*/
|
15392 |
+
children: _propTypes2.default.node,
|
15393 |
+
/**
|
15394 |
+
* The CSS class name of the root element.
|
15395 |
+
*/
|
15396 |
+
className: _propTypes2.default.string,
|
15397 |
+
/**
|
15398 |
+
* The `value` property of the radio button that will be
|
15399 |
+
* selected by default. This takes precedence over the `checked` property
|
15400 |
+
* of the `RadioButton` elements.
|
15401 |
+
*/
|
15402 |
+
defaultSelected: _propTypes2.default.any,
|
15403 |
+
/**
|
15404 |
+
* Where the label will be placed for all child radio buttons.
|
15405 |
+
* This takes precedence over the `labelPosition` property of the
|
15406 |
+
* `RadioButton` elements.
|
15407 |
+
*/
|
15408 |
+
labelPosition: _propTypes2.default.oneOf(['left', 'right']),
|
15409 |
+
/**
|
15410 |
+
* The name that will be applied to all child radio buttons.
|
15411 |
+
*/
|
15412 |
+
name: _propTypes2.default.string.isRequired,
|
15413 |
+
/**
|
15414 |
+
* Callback function that is fired when a radio button has
|
15415 |
+
* been checked.
|
15416 |
+
*
|
15417 |
+
* @param {object} event `change` event targeting the selected
|
15418 |
+
* radio button.
|
15419 |
+
* @param {*} value The `value` of the selected radio button.
|
15420 |
+
*/
|
15421 |
+
onChange: _propTypes2.default.func,
|
15422 |
+
/**
|
15423 |
+
* Override the inline-styles of the root element.
|
15424 |
+
*/
|
15425 |
+
style: _propTypes2.default.object,
|
15426 |
+
/**
|
15427 |
+
* The `value` of the currently selected radio button.
|
15428 |
+
*/
|
15429 |
+
valueSelected: _propTypes2.default.any
|
15430 |
+
} : {};
|
15431 |
+
exports.default = RadioButtonGroup;
|
15432 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
15433 |
+
|
15434 |
+
/***/ }),
|
15435 |
+
/* 199 */
|
15436 |
+
/***/ (function(module, exports, __webpack_require__) {
|
15437 |
+
|
15438 |
+
"use strict";
|
15439 |
+
|
15440 |
+
|
15441 |
+
Object.defineProperty(exports, "__esModule", {
|
15442 |
+
value: true
|
15443 |
+
});
|
15444 |
+
exports.default = undefined;
|
15445 |
+
|
15446 |
+
var _RaisedButton = __webpack_require__(450);
|
15447 |
+
|
15448 |
+
var _RaisedButton2 = _interopRequireDefault(_RaisedButton);
|
15449 |
+
|
15450 |
+
function _interopRequireDefault(obj) {
|
15451 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
15452 |
+
}
|
15453 |
+
|
15454 |
+
exports.default = _RaisedButton2.default;
|
15455 |
+
|
15456 |
+
/***/ }),
|
15457 |
+
/* 200 */
|
15458 |
+
/***/ (function(module, exports, __webpack_require__) {
|
15459 |
+
|
15460 |
+
"use strict";
|
15461 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
15462 |
+
|
15463 |
+
Object.defineProperty(exports, "__esModule", {
|
15464 |
+
value: true
|
15465 |
+
});
|
15466 |
+
|
15467 |
+
var _extends2 = __webpack_require__(9);
|
15468 |
+
|
15469 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
15470 |
+
|
15471 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
15472 |
+
|
15473 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
15474 |
+
|
15475 |
+
var _typeof2 = __webpack_require__(52);
|
15476 |
+
|
15477 |
+
var _typeof3 = _interopRequireDefault(_typeof2);
|
15478 |
+
|
15479 |
+
var _simpleAssign = __webpack_require__(8);
|
15480 |
+
|
15481 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
15482 |
+
|
15483 |
+
var _react = __webpack_require__(0);
|
15484 |
+
|
15485 |
+
var _react2 = _interopRequireDefault(_react);
|
15486 |
+
|
15487 |
+
var _propTypes = __webpack_require__(2);
|
15488 |
+
|
15489 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
15490 |
+
|
15491 |
+
var _checkCircle = __webpack_require__(465);
|
15492 |
+
|
15493 |
+
var _checkCircle2 = _interopRequireDefault(_checkCircle);
|
15494 |
+
|
15495 |
+
var _SvgIcon = __webpack_require__(15);
|
15496 |
+
|
15497 |
+
var _SvgIcon2 = _interopRequireDefault(_SvgIcon);
|
15498 |
+
|
15499 |
+
function _interopRequireDefault(obj) {
|
15500 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
15501 |
+
}
|
15502 |
+
|
15503 |
+
var getStyles = function getStyles(_ref, _ref2) {
|
15504 |
+
var active = _ref.active,
|
15505 |
+
completed = _ref.completed,
|
15506 |
+
disabled = _ref.disabled;
|
15507 |
+
var muiTheme = _ref2.muiTheme,
|
15508 |
+
stepper = _ref2.stepper;
|
15509 |
+
var _muiTheme$stepper = muiTheme.stepper,
|
15510 |
+
textColor = _muiTheme$stepper.textColor,
|
15511 |
+
disabledTextColor = _muiTheme$stepper.disabledTextColor,
|
15512 |
+
iconColor = _muiTheme$stepper.iconColor,
|
15513 |
+
inactiveIconColor = _muiTheme$stepper.inactiveIconColor;
|
15514 |
+
var baseTheme = muiTheme.baseTheme;
|
15515 |
+
var orientation = stepper.orientation;
|
15516 |
+
|
15517 |
+
var styles = {
|
15518 |
+
root: {
|
15519 |
+
height: orientation === 'horizontal' ? 72 : 64,
|
15520 |
+
color: textColor,
|
15521 |
+
display: 'flex',
|
15522 |
+
alignItems: 'center',
|
15523 |
+
fontFamily: baseTheme.fontFamily,
|
15524 |
+
fontSize: 14,
|
15525 |
+
paddingLeft: 14,
|
15526 |
+
paddingRight: 14
|
15527 |
+
},
|
15528 |
+
icon: {
|
15529 |
+
color: iconColor,
|
15530 |
+
display: 'block',
|
15531 |
+
fontSize: 24,
|
15532 |
+
width: 24,
|
15533 |
+
height: 24
|
15534 |
+
},
|
15535 |
+
iconContainer: {
|
15536 |
+
paddingRight: 8
|
15537 |
+
}
|
15538 |
+
};
|
15539 |
+
|
15540 |
+
if (active) {
|
15541 |
+
styles.root.fontWeight = 500;
|
15542 |
+
}
|
15543 |
+
|
15544 |
+
if (!completed && !active) {
|
15545 |
+
styles.icon.color = inactiveIconColor;
|
15546 |
+
}
|
15547 |
+
|
15548 |
+
if (disabled) {
|
15549 |
+
styles.icon.color = inactiveIconColor;
|
15550 |
+
styles.root.color = disabledTextColor;
|
15551 |
+
styles.root.cursor = 'default';
|
15552 |
+
}
|
15553 |
+
|
15554 |
+
return styles;
|
15555 |
+
};
|
15556 |
+
|
15557 |
+
var renderIcon = function renderIcon(completed, icon, styles) {
|
15558 |
+
var iconType = typeof icon === 'undefined' ? 'undefined' : (0, _typeof3.default)(icon);
|
15559 |
+
|
15560 |
+
if (iconType === 'number' || iconType === 'string') {
|
15561 |
+
if (completed) {
|
15562 |
+
return _react2.default.createElement(_checkCircle2.default, {
|
15563 |
+
color: styles.icon.color,
|
15564 |
+
style: styles.icon
|
15565 |
+
});
|
15566 |
+
}
|
15567 |
+
|
15568 |
+
return _react2.default.createElement(_SvgIcon2.default, { color: styles.icon.color, style: styles.icon }, _react2.default.createElement('circle', { cx: '12', cy: '12', r: '10' }), _react2.default.createElement('text', {
|
15569 |
+
x: '12',
|
15570 |
+
y: '16',
|
15571 |
+
textAnchor: 'middle',
|
15572 |
+
fontSize: '12',
|
15573 |
+
fill: '#fff'
|
15574 |
+
}, icon));
|
15575 |
+
}
|
15576 |
+
|
15577 |
+
return icon;
|
15578 |
+
};
|
15579 |
+
|
15580 |
+
var StepLabel = function StepLabel(props, context) {
|
15581 |
+
var active = props.active,
|
15582 |
+
children = props.children,
|
15583 |
+
completed = props.completed,
|
15584 |
+
userIcon = props.icon,
|
15585 |
+
iconContainerStyle = props.iconContainerStyle,
|
15586 |
+
last = props.last,
|
15587 |
+
style = props.style,
|
15588 |
+
other = (0, _objectWithoutProperties3.default)(props, ['active', 'children', 'completed', 'icon', 'iconContainerStyle', 'last', 'style']);
|
15589 |
+
var prepareStyles = context.muiTheme.prepareStyles;
|
15590 |
+
|
15591 |
+
var styles = getStyles(props, context);
|
15592 |
+
var icon = renderIcon(completed, userIcon, styles);
|
15593 |
+
|
15594 |
+
return _react2.default.createElement('span', (0, _extends3.default)({ style: prepareStyles((0, _simpleAssign2.default)(styles.root, style)) }, other), icon && _react2.default.createElement('span', { style: prepareStyles((0, _simpleAssign2.default)(styles.iconContainer, iconContainerStyle)) }, icon), children);
|
15595 |
+
};
|
15596 |
+
|
15597 |
+
StepLabel.muiName = 'StepLabel';
|
15598 |
+
|
15599 |
+
StepLabel.propTypes = process.env.NODE_ENV !== "production" ? {
|
15600 |
+
/**
|
15601 |
+
* Sets active styling. Overrides disabled coloring.
|
15602 |
+
*/
|
15603 |
+
active: _propTypes2.default.bool,
|
15604 |
+
/**
|
15605 |
+
* The label text node
|
15606 |
+
*/
|
15607 |
+
children: _propTypes2.default.node,
|
15608 |
+
/**
|
15609 |
+
* Sets completed styling. Overrides disabled coloring.
|
15610 |
+
*/
|
15611 |
+
completed: _propTypes2.default.bool,
|
15612 |
+
/**
|
15613 |
+
* Sets disabled styling.
|
15614 |
+
*/
|
15615 |
+
disabled: _propTypes2.default.bool,
|
15616 |
+
/**
|
15617 |
+
* The icon displayed by the step label.
|
15618 |
+
*/
|
15619 |
+
icon: _propTypes2.default.oneOfType([_propTypes2.default.element, _propTypes2.default.string, _propTypes2.default.number]),
|
15620 |
+
/**
|
15621 |
+
* Override the inline-styles of the icon container element.
|
15622 |
+
*/
|
15623 |
+
iconContainerStyle: _propTypes2.default.object,
|
15624 |
+
/**
|
15625 |
+
* @ignore
|
15626 |
+
*/
|
15627 |
+
last: _propTypes2.default.bool,
|
15628 |
+
/**
|
15629 |
+
* Override the inline-style of the root element.
|
15630 |
+
*/
|
15631 |
+
style: _propTypes2.default.object
|
15632 |
+
} : {};
|
15633 |
+
|
15634 |
+
StepLabel.contextTypes = {
|
15635 |
+
muiTheme: _propTypes2.default.object.isRequired,
|
15636 |
+
stepper: _propTypes2.default.object
|
15637 |
+
};
|
15638 |
+
|
15639 |
+
exports.default = StepLabel;
|
15640 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
15641 |
+
|
15642 |
+
/***/ }),
|
15643 |
+
/* 201 */
|
15644 |
+
/***/ (function(module, exports, __webpack_require__) {
|
15645 |
+
|
15646 |
+
"use strict";
|
15647 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
15648 |
+
|
15649 |
+
Object.defineProperty(exports, "__esModule", {
|
15650 |
+
value: true
|
15651 |
+
});
|
15652 |
+
|
15653 |
+
var _extends2 = __webpack_require__(9);
|
15654 |
+
|
15655 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
15656 |
+
|
15657 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
15658 |
+
|
15659 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
15660 |
+
|
15661 |
+
var _getPrototypeOf = __webpack_require__(5);
|
15662 |
+
|
15663 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
15664 |
+
|
15665 |
+
var _classCallCheck2 = __webpack_require__(3);
|
15666 |
+
|
15667 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
15668 |
+
|
15669 |
+
var _createClass2 = __webpack_require__(4);
|
15670 |
+
|
15671 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
15672 |
+
|
15673 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
15674 |
+
|
15675 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
15676 |
+
|
15677 |
+
var _inherits2 = __webpack_require__(7);
|
15678 |
+
|
15679 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
15680 |
+
|
15681 |
+
var _simpleAssign = __webpack_require__(8);
|
15682 |
+
|
15683 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
15684 |
+
|
15685 |
+
var _react = __webpack_require__(0);
|
15686 |
+
|
15687 |
+
var _react2 = _interopRequireDefault(_react);
|
15688 |
+
|
15689 |
+
var _propTypes = __webpack_require__(2);
|
15690 |
+
|
15691 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
15692 |
+
|
15693 |
+
var _EnhancedButton = __webpack_require__(27);
|
15694 |
+
|
15695 |
+
var _EnhancedButton2 = _interopRequireDefault(_EnhancedButton);
|
15696 |
+
|
15697 |
+
function _interopRequireDefault(obj) {
|
15698 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
15699 |
+
}
|
15700 |
+
|
15701 |
+
function getStyles(props, context) {
|
15702 |
+
var tabs = context.muiTheme.tabs;
|
15703 |
+
|
15704 |
+
return {
|
15705 |
+
root: {
|
15706 |
+
color: props.selected ? tabs.selectedTextColor : tabs.textColor,
|
15707 |
+
fontWeight: 500,
|
15708 |
+
fontSize: 14,
|
15709 |
+
width: props.width,
|
15710 |
+
textTransform: 'uppercase',
|
15711 |
+
padding: 0
|
15712 |
+
},
|
15713 |
+
button: {
|
15714 |
+
display: 'flex',
|
15715 |
+
flexDirection: 'column',
|
15716 |
+
alignItems: 'center',
|
15717 |
+
justifyContent: 'center',
|
15718 |
+
height: props.label && props.icon ? 72 : 48
|
15719 |
+
}
|
15720 |
+
};
|
15721 |
+
}
|
15722 |
+
|
15723 |
+
var Tab = function (_Component) {
|
15724 |
+
(0, _inherits3.default)(Tab, _Component);
|
15725 |
+
|
15726 |
+
function Tab() {
|
15727 |
+
var _ref;
|
15728 |
+
|
15729 |
+
var _temp, _this, _ret;
|
15730 |
+
|
15731 |
+
(0, _classCallCheck3.default)(this, Tab);
|
15732 |
+
|
15733 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
15734 |
+
args[_key] = arguments[_key];
|
15735 |
+
}
|
15736 |
+
|
15737 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Tab.__proto__ || (0, _getPrototypeOf2.default)(Tab)).call.apply(_ref, [this].concat(args))), _this), _this.handleClick = function (event) {
|
15738 |
+
if (_this.props.onClick) {
|
15739 |
+
_this.props.onClick(_this.props.value, event, _this);
|
15740 |
+
}
|
15741 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
15742 |
+
}
|
15743 |
+
|
15744 |
+
(0, _createClass3.default)(Tab, [{
|
15745 |
+
key: 'render',
|
15746 |
+
value: function render() {
|
15747 |
+
var _props = this.props,
|
15748 |
+
icon = _props.icon,
|
15749 |
+
index = _props.index,
|
15750 |
+
onActive = _props.onActive,
|
15751 |
+
onClick = _props.onClick,
|
15752 |
+
selected = _props.selected,
|
15753 |
+
label = _props.label,
|
15754 |
+
buttonStyle = _props.buttonStyle,
|
15755 |
+
style = _props.style,
|
15756 |
+
value = _props.value,
|
15757 |
+
width = _props.width,
|
15758 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['icon', 'index', 'onActive', 'onClick', 'selected', 'label', 'buttonStyle', 'style', 'value', 'width']);
|
15759 |
+
|
15760 |
+
var styles = getStyles(this.props, this.context);
|
15761 |
+
|
15762 |
+
var iconElement = void 0;
|
15763 |
+
if (icon && _react2.default.isValidElement(icon)) {
|
15764 |
+
iconElement = _react2.default.cloneElement(icon, {
|
15765 |
+
style: {
|
15766 |
+
fontSize: 24,
|
15767 |
+
color: icon.props && icon.props.style && icon.props.style.color ? icon.props.style.color : styles.root.color,
|
15768 |
+
marginBottom: label ? 5 : 0
|
15769 |
+
}
|
15770 |
+
});
|
15771 |
+
}
|
15772 |
+
|
15773 |
+
var rippleOpacity = 0.3;
|
15774 |
+
var rippleColor = this.context.muiTheme.tabs.selectedTextColor;
|
15775 |
+
|
15776 |
+
return _react2.default.createElement(_EnhancedButton2.default, (0, _extends3.default)({}, other, {
|
15777 |
+
style: (0, _simpleAssign2.default)(styles.root, style),
|
15778 |
+
focusRippleColor: rippleColor,
|
15779 |
+
touchRippleColor: rippleColor,
|
15780 |
+
focusRippleOpacity: rippleOpacity,
|
15781 |
+
touchRippleOpacity: rippleOpacity,
|
15782 |
+
onClick: this.handleClick
|
15783 |
+
}), _react2.default.createElement('div', { style: (0, _simpleAssign2.default)(styles.button, buttonStyle) }, iconElement, label));
|
15784 |
+
}
|
15785 |
+
}]);
|
15786 |
+
return Tab;
|
15787 |
+
}(_react.Component);
|
15788 |
+
|
15789 |
+
Tab.muiName = 'Tab';
|
15790 |
+
Tab.contextTypes = {
|
15791 |
+
muiTheme: _propTypes2.default.object.isRequired
|
15792 |
+
};
|
15793 |
+
Tab.propTypes = process.env.NODE_ENV !== "production" ? {
|
15794 |
+
/**
|
15795 |
+
* Override the inline-styles of the button element.
|
15796 |
+
*/
|
15797 |
+
buttonStyle: _propTypes2.default.object,
|
15798 |
+
/**
|
15799 |
+
* The css class name of the root element.
|
15800 |
+
*/
|
15801 |
+
className: _propTypes2.default.string,
|
15802 |
+
/**
|
15803 |
+
* Sets the icon of the tab, you can pass `FontIcon` or `SvgIcon` elements.
|
15804 |
+
*/
|
15805 |
+
icon: _propTypes2.default.node,
|
15806 |
+
/**
|
15807 |
+
* @ignore
|
15808 |
+
*/
|
15809 |
+
index: _propTypes2.default.any,
|
15810 |
+
/**
|
15811 |
+
* Sets the text value of the tab item to the string specified.
|
15812 |
+
*/
|
15813 |
+
label: _propTypes2.default.node,
|
15814 |
+
/**
|
15815 |
+
* Fired when the active tab changes by touch or tap.
|
15816 |
+
* Use this event to specify any functionality when an active tab changes.
|
15817 |
+
* For example - we are using this to route to home when the third tab becomes active.
|
15818 |
+
* This function will always recieve the active tab as it\'s first argument.
|
15819 |
+
*/
|
15820 |
+
onActive: _propTypes2.default.func,
|
15821 |
+
/**
|
15822 |
+
* @ignore
|
15823 |
+
* This property is overriden by the Tabs component.
|
15824 |
+
*/
|
15825 |
+
onClick: _propTypes2.default.func,
|
15826 |
+
/**
|
15827 |
+
* @ignore
|
15828 |
+
* Defines if the current tab is selected or not.
|
15829 |
+
* The Tabs component is responsible for setting this property.
|
15830 |
+
*/
|
15831 |
+
selected: _propTypes2.default.bool,
|
15832 |
+
/**
|
15833 |
+
* Override the inline-styles of the root element.
|
15834 |
+
*/
|
15835 |
+
style: _propTypes2.default.object,
|
15836 |
+
/**
|
15837 |
+
* If value prop passed to Tabs component, this value prop is also required.
|
15838 |
+
* It assigns a value to the tab so that it can be selected by the Tabs.
|
15839 |
+
*/
|
15840 |
+
value: _propTypes2.default.any,
|
15841 |
+
/**
|
15842 |
+
* @ignore
|
15843 |
+
* This property is overriden by the Tabs component.
|
15844 |
+
*/
|
15845 |
+
width: _propTypes2.default.string
|
15846 |
+
} : {};
|
15847 |
+
exports.default = Tab;
|
15848 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
15849 |
+
|
15850 |
+
/***/ }),
|
15851 |
+
/* 202 */
|
15852 |
+
/***/ (function(module, exports, __webpack_require__) {
|
15853 |
+
|
15854 |
+
"use strict";
|
15855 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
15856 |
+
|
15857 |
+
Object.defineProperty(exports, "__esModule", {
|
15858 |
+
value: true
|
15859 |
+
});
|
15860 |
+
|
15861 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
15862 |
+
|
15863 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
15864 |
+
|
15865 |
+
var _toConsumableArray2 = __webpack_require__(65);
|
15866 |
+
|
15867 |
+
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
|
15868 |
+
|
15869 |
+
var _typeof2 = __webpack_require__(52);
|
15870 |
+
|
15871 |
+
var _typeof3 = _interopRequireDefault(_typeof2);
|
15872 |
+
|
15873 |
+
var _extends2 = __webpack_require__(9);
|
15874 |
+
|
15875 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
15876 |
+
|
15877 |
+
var _getPrototypeOf = __webpack_require__(5);
|
15878 |
+
|
15879 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
15880 |
+
|
15881 |
+
var _classCallCheck2 = __webpack_require__(3);
|
15882 |
+
|
15883 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
15884 |
+
|
15885 |
+
var _createClass2 = __webpack_require__(4);
|
15886 |
+
|
15887 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
15888 |
+
|
15889 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
15890 |
+
|
15891 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
15892 |
+
|
15893 |
+
var _inherits2 = __webpack_require__(7);
|
15894 |
+
|
15895 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
15896 |
+
|
15897 |
+
var _simpleAssign = __webpack_require__(8);
|
15898 |
+
|
15899 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
15900 |
+
|
15901 |
+
var _react = __webpack_require__(0);
|
15902 |
+
|
15903 |
+
var _react2 = _interopRequireDefault(_react);
|
15904 |
+
|
15905 |
+
var _propTypes = __webpack_require__(2);
|
15906 |
+
|
15907 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
15908 |
+
|
15909 |
+
var _Checkbox = __webpack_require__(118);
|
15910 |
+
|
15911 |
+
var _Checkbox2 = _interopRequireDefault(_Checkbox);
|
15912 |
+
|
15913 |
+
var _TableRowColumn = __webpack_require__(80);
|
15914 |
+
|
15915 |
+
var _TableRowColumn2 = _interopRequireDefault(_TableRowColumn);
|
15916 |
+
|
15917 |
+
var _ClickAwayListener = __webpack_require__(113);
|
15918 |
+
|
15919 |
+
var _ClickAwayListener2 = _interopRequireDefault(_ClickAwayListener);
|
15920 |
+
|
15921 |
+
function _interopRequireDefault(obj) {
|
15922 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
15923 |
+
}
|
15924 |
+
|
15925 |
+
var TableBody = function (_Component) {
|
15926 |
+
(0, _inherits3.default)(TableBody, _Component);
|
15927 |
+
|
15928 |
+
function TableBody() {
|
15929 |
+
var _ref;
|
15930 |
+
|
15931 |
+
var _temp, _this, _ret;
|
15932 |
+
|
15933 |
+
(0, _classCallCheck3.default)(this, TableBody);
|
15934 |
+
|
15935 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
15936 |
+
args[_key] = arguments[_key];
|
15937 |
+
}
|
15938 |
+
|
15939 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = TableBody.__proto__ || (0, _getPrototypeOf2.default)(TableBody)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
|
15940 |
+
selectedRows: []
|
15941 |
+
}, _this.isControlled = false, _this.handleClickAway = function () {
|
15942 |
+
if (_this.props.deselectOnClickaway && _this.state.selectedRows.length > 0) {
|
15943 |
+
var selectedRows = [];
|
15944 |
+
_this.setState({ selectedRows: selectedRows });
|
15945 |
+
if (_this.props.onRowSelection) {
|
15946 |
+
_this.props.onRowSelection(selectedRows);
|
15947 |
+
}
|
15948 |
+
}
|
15949 |
+
}, _this.onRowClick = function (event, rowNumber) {
|
15950 |
+
event.stopPropagation();
|
15951 |
+
|
15952 |
+
if (_this.props.selectable) {
|
15953 |
+
// Prevent text selection while selecting rows.
|
15954 |
+
if (window.getSelection().rangeCount > 0 && window.getSelection().getRangeAt(0).getClientRects.length > 0) {
|
15955 |
+
window.getSelection().removeAllRanges();
|
15956 |
+
}
|
15957 |
+
_this.processRowSelection(event, rowNumber);
|
15958 |
+
}
|
15959 |
+
}, _this.onCellClick = function (event, rowNumber, columnNumber) {
|
15960 |
+
event.stopPropagation();
|
15961 |
+
if (_this.props.onCellClick) {
|
15962 |
+
_this.props.onCellClick(rowNumber, _this.getColumnId(columnNumber), event);
|
15963 |
+
}
|
15964 |
+
}, _this.onCellHover = function (event, rowNumber, columnNumber) {
|
15965 |
+
if (_this.props.onCellHover) {
|
15966 |
+
_this.props.onCellHover(rowNumber, _this.getColumnId(columnNumber), event);
|
15967 |
+
}
|
15968 |
+
_this.onRowHover(event, rowNumber);
|
15969 |
+
}, _this.onCellHoverExit = function (event, rowNumber, columnNumber) {
|
15970 |
+
if (_this.props.onCellHoverExit) {
|
15971 |
+
_this.props.onCellHoverExit(rowNumber, _this.getColumnId(columnNumber), event);
|
15972 |
+
}
|
15973 |
+
_this.onRowHoverExit(event, rowNumber);
|
15974 |
+
}, _this.onRowHover = function (event, rowNumber) {
|
15975 |
+
if (_this.props.onRowHover) {
|
15976 |
+
_this.props.onRowHover(rowNumber);
|
15977 |
+
}
|
15978 |
+
}, _this.onRowHoverExit = function (event, rowNumber) {
|
15979 |
+
if (_this.props.onRowHoverExit) {
|
15980 |
+
_this.props.onRowHoverExit(rowNumber);
|
15981 |
+
}
|
15982 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
15983 |
+
}
|
15984 |
+
|
15985 |
+
(0, _createClass3.default)(TableBody, [{
|
15986 |
+
key: 'componentWillMount',
|
15987 |
+
value: function componentWillMount() {
|
15988 |
+
if (this.props.preScanRows) {
|
15989 |
+
this.setState({
|
15990 |
+
selectedRows: this.getSelectedRows(this.props)
|
15991 |
+
});
|
15992 |
+
}
|
15993 |
+
}
|
15994 |
+
}, {
|
15995 |
+
key: 'componentDidMount',
|
15996 |
+
value: function componentDidMount() {
|
15997 |
+
if (!this.props.preScanRows) {
|
15998 |
+
this.setState({ // eslint-disable-line react/no-did-mount-set-state
|
15999 |
+
selectedRows: this.getSelectedRows(this.props)
|
16000 |
+
});
|
16001 |
+
}
|
16002 |
+
}
|
16003 |
+
}, {
|
16004 |
+
key: 'componentWillReceiveProps',
|
16005 |
+
value: function componentWillReceiveProps(nextProps) {
|
16006 |
+
if (this.props.allRowsSelected !== nextProps.allRowsSelected) {
|
16007 |
+
if (!nextProps.allRowsSelected) {
|
16008 |
+
this.setState({
|
16009 |
+
selectedRows: []
|
16010 |
+
});
|
16011 |
+
return;
|
16012 |
+
}
|
16013 |
+
}
|
16014 |
+
|
16015 |
+
this.setState({
|
16016 |
+
selectedRows: this.getSelectedRows(nextProps)
|
16017 |
+
});
|
16018 |
+
}
|
16019 |
+
}, {
|
16020 |
+
key: 'createRows',
|
16021 |
+
value: function createRows() {
|
16022 |
+
var _this2 = this;
|
16023 |
+
|
16024 |
+
var numChildren = _react2.default.Children.count(this.props.children);
|
16025 |
+
var rowNumber = 0;
|
16026 |
+
var handlers = {
|
16027 |
+
onCellClick: this.onCellClick,
|
16028 |
+
onCellHover: this.onCellHover,
|
16029 |
+
onCellHoverExit: this.onCellHoverExit,
|
16030 |
+
onRowHover: this.onRowHover,
|
16031 |
+
onRowHoverExit: this.onRowHoverExit,
|
16032 |
+
onRowClick: this.onRowClick
|
16033 |
+
};
|
16034 |
+
|
16035 |
+
return _react2.default.Children.map(this.props.children, function (child) {
|
16036 |
+
if (_react2.default.isValidElement(child)) {
|
16037 |
+
var props = {
|
16038 |
+
hoverable: _this2.props.showRowHover,
|
16039 |
+
selected: _this2.isRowSelected(rowNumber),
|
16040 |
+
striped: _this2.props.stripedRows && rowNumber % 2 === 0,
|
16041 |
+
rowNumber: rowNumber++
|
16042 |
+
};
|
16043 |
+
|
16044 |
+
if (rowNumber === numChildren) {
|
16045 |
+
props.displayBorder = false;
|
16046 |
+
}
|
16047 |
+
|
16048 |
+
var children = [_this2.createRowCheckboxColumn(props)];
|
16049 |
+
|
16050 |
+
_react2.default.Children.forEach(child.props.children, function (child) {
|
16051 |
+
children.push(child);
|
16052 |
+
});
|
16053 |
+
|
16054 |
+
return _react2.default.cloneElement(child, (0, _extends3.default)({}, props, handlers), children);
|
16055 |
+
}
|
16056 |
+
});
|
16057 |
+
}
|
16058 |
+
}, {
|
16059 |
+
key: 'createRowCheckboxColumn',
|
16060 |
+
value: function createRowCheckboxColumn(rowProps) {
|
16061 |
+
if (!this.props.displayRowCheckbox) {
|
16062 |
+
return null;
|
16063 |
+
}
|
16064 |
+
|
16065 |
+
var name = rowProps.rowNumber + '-cb';
|
16066 |
+
var disabled = !this.props.selectable;
|
16067 |
+
|
16068 |
+
return _react2.default.createElement(_TableRowColumn2.default, {
|
16069 |
+
key: name,
|
16070 |
+
columnNumber: 0,
|
16071 |
+
style: {
|
16072 |
+
width: 24,
|
16073 |
+
cursor: disabled ? 'default' : 'inherit'
|
16074 |
+
}
|
16075 |
+
}, _react2.default.createElement(_Checkbox2.default, {
|
16076 |
+
name: name,
|
16077 |
+
value: 'selected',
|
16078 |
+
disabled: disabled,
|
16079 |
+
checked: rowProps.selected
|
16080 |
+
}));
|
16081 |
+
}
|
16082 |
+
}, {
|
16083 |
+
key: 'getSelectedRows',
|
16084 |
+
value: function getSelectedRows(props) {
|
16085 |
+
var _this3 = this;
|
16086 |
+
|
16087 |
+
var selectedRows = [];
|
16088 |
+
|
16089 |
+
if (props.selectable) {
|
16090 |
+
var index = 0;
|
16091 |
+
_react2.default.Children.forEach(props.children, function (child) {
|
16092 |
+
if (_react2.default.isValidElement(child)) {
|
16093 |
+
if (child.props.selected !== undefined) {
|
16094 |
+
_this3.isControlled = true;
|
16095 |
+
}
|
16096 |
+
|
16097 |
+
if (child.props.selected && (selectedRows.length === 0 || props.multiSelectable)) {
|
16098 |
+
selectedRows.push(index);
|
16099 |
+
}
|
16100 |
+
|
16101 |
+
index++;
|
16102 |
+
}
|
16103 |
+
});
|
16104 |
+
}
|
16105 |
+
|
16106 |
+
return selectedRows;
|
16107 |
+
}
|
16108 |
+
}, {
|
16109 |
+
key: 'isRowSelected',
|
16110 |
+
value: function isRowSelected(rowNumber) {
|
16111 |
+
var _this4 = this;
|
16112 |
+
|
16113 |
+
if (this.props.allRowsSelected) {
|
16114 |
+
return true;
|
16115 |
+
}
|
16116 |
+
|
16117 |
+
return this.state.selectedRows.some(function (row) {
|
16118 |
+
if ((typeof row === 'undefined' ? 'undefined' : (0, _typeof3.default)(row)) === 'object') {
|
16119 |
+
if (_this4.isValueInRange(rowNumber, row)) {
|
16120 |
+
return true;
|
16121 |
+
}
|
16122 |
+
} else {
|
16123 |
+
if (row === rowNumber) {
|
16124 |
+
return true;
|
16125 |
+
}
|
16126 |
+
}
|
16127 |
+
|
16128 |
+
return false;
|
16129 |
+
});
|
16130 |
+
}
|
16131 |
+
}, {
|
16132 |
+
key: 'isValueInRange',
|
16133 |
+
value: function isValueInRange(value, range) {
|
16134 |
+
if (!range) return false;
|
16135 |
+
|
16136 |
+
if (range.start <= value && value <= range.end || range.end <= value && value <= range.start) {
|
16137 |
+
return true;
|
16138 |
+
}
|
16139 |
+
|
16140 |
+
return false;
|
16141 |
+
}
|
16142 |
+
}, {
|
16143 |
+
key: 'processRowSelection',
|
16144 |
+
value: function processRowSelection(event, rowNumber) {
|
16145 |
+
var selectedRows = [].concat((0, _toConsumableArray3.default)(this.state.selectedRows));
|
16146 |
+
|
16147 |
+
if (event.shiftKey && this.props.multiSelectable && selectedRows.length > 0) {
|
16148 |
+
var lastIndex = selectedRows.length - 1;
|
16149 |
+
var lastSelection = selectedRows[lastIndex];
|
16150 |
+
|
16151 |
+
if ((typeof lastSelection === 'undefined' ? 'undefined' : (0, _typeof3.default)(lastSelection)) === 'object') {
|
16152 |
+
lastSelection.end = rowNumber;
|
16153 |
+
} else {
|
16154 |
+
selectedRows.splice(lastIndex, 1, {
|
16155 |
+
start: lastSelection,
|
16156 |
+
end: rowNumber
|
16157 |
+
});
|
16158 |
+
}
|
16159 |
+
} else if ((event.ctrlKey && !event.metaKey || event.metaKey && !event.ctrlKey) && this.props.multiSelectable) {
|
16160 |
+
var idx = selectedRows.indexOf(rowNumber);
|
16161 |
+
if (idx < 0) {
|
16162 |
+
var foundRange = false;
|
16163 |
+
for (var i = 0; i < selectedRows.length; i++) {
|
16164 |
+
var range = selectedRows[i];
|
16165 |
+
if ((typeof range === 'undefined' ? 'undefined' : (0, _typeof3.default)(range)) !== 'object') continue;
|
16166 |
+
|
16167 |
+
if (this.isValueInRange(rowNumber, range)) {
|
16168 |
+
var _selectedRows;
|
16169 |
+
|
16170 |
+
foundRange = true;
|
16171 |
+
var values = this.splitRange(range, rowNumber);
|
16172 |
+
(_selectedRows = selectedRows).splice.apply(_selectedRows, [i, 1].concat((0, _toConsumableArray3.default)(values)));
|
16173 |
+
}
|
16174 |
+
}
|
16175 |
+
|
16176 |
+
if (!foundRange) selectedRows.push(rowNumber);
|
16177 |
+
} else {
|
16178 |
+
selectedRows.splice(idx, 1);
|
16179 |
+
}
|
16180 |
+
} else {
|
16181 |
+
if (selectedRows.length === 1 && selectedRows[0] === rowNumber) {
|
16182 |
+
selectedRows = [];
|
16183 |
+
} else {
|
16184 |
+
selectedRows = [rowNumber];
|
16185 |
+
}
|
16186 |
+
}
|
16187 |
+
|
16188 |
+
if (!this.isControlled) {
|
16189 |
+
this.setState({ selectedRows: selectedRows });
|
16190 |
+
}
|
16191 |
+
|
16192 |
+
if (this.props.onRowSelection) {
|
16193 |
+
this.props.onRowSelection(this.flattenRanges(selectedRows));
|
16194 |
+
}
|
16195 |
+
}
|
16196 |
+
}, {
|
16197 |
+
key: 'splitRange',
|
16198 |
+
value: function splitRange(range, splitPoint) {
|
16199 |
+
var splitValues = [];
|
16200 |
+
var startOffset = range.start - splitPoint;
|
16201 |
+
var endOffset = range.end - splitPoint;
|
16202 |
+
|
16203 |
+
// Process start half
|
16204 |
+
splitValues.push.apply(splitValues, (0, _toConsumableArray3.default)(this.genRangeOfValues(splitPoint, startOffset)));
|
16205 |
+
|
16206 |
+
// Process end half
|
16207 |
+
splitValues.push.apply(splitValues, (0, _toConsumableArray3.default)(this.genRangeOfValues(splitPoint, endOffset)));
|
16208 |
+
|
16209 |
+
return splitValues;
|
16210 |
+
}
|
16211 |
+
}, {
|
16212 |
+
key: 'genRangeOfValues',
|
16213 |
+
value: function genRangeOfValues(start, offset) {
|
16214 |
+
var values = [];
|
16215 |
+
var dir = offset > 0 ? -1 : 1; // This forces offset to approach 0 from either direction.
|
16216 |
+
while (offset !== 0) {
|
16217 |
+
values.push(start + offset);
|
16218 |
+
offset += dir;
|
16219 |
+
}
|
16220 |
+
|
16221 |
+
return values;
|
16222 |
+
}
|
16223 |
+
}, {
|
16224 |
+
key: 'flattenRanges',
|
16225 |
+
value: function flattenRanges(selectedRows) {
|
16226 |
+
var _this5 = this;
|
16227 |
+
|
16228 |
+
return selectedRows.reduce(function (rows, row) {
|
16229 |
+
if ((typeof row === 'undefined' ? 'undefined' : (0, _typeof3.default)(row)) === 'object') {
|
16230 |
+
var values = _this5.genRangeOfValues(row.end, row.start - row.end);
|
16231 |
+
rows.push.apply(rows, [row.end].concat((0, _toConsumableArray3.default)(values)));
|
16232 |
+
} else {
|
16233 |
+
rows.push(row);
|
16234 |
+
}
|
16235 |
+
|
16236 |
+
return rows;
|
16237 |
+
}, []).sort();
|
16238 |
+
}
|
16239 |
+
}, {
|
16240 |
+
key: 'getColumnId',
|
16241 |
+
value: function getColumnId(columnNumber) {
|
16242 |
+
return columnNumber - 1;
|
16243 |
+
}
|
16244 |
+
}, {
|
16245 |
+
key: 'render',
|
16246 |
+
value: function render() {
|
16247 |
+
var _props = this.props,
|
16248 |
+
style = _props.style,
|
16249 |
+
allRowsSelected = _props.allRowsSelected,
|
16250 |
+
multiSelectable = _props.multiSelectable,
|
16251 |
+
onCellClick = _props.onCellClick,
|
16252 |
+
onCellHover = _props.onCellHover,
|
16253 |
+
onCellHoverExit = _props.onCellHoverExit,
|
16254 |
+
onRowHover = _props.onRowHover,
|
16255 |
+
onRowHoverExit = _props.onRowHoverExit,
|
16256 |
+
onRowSelection = _props.onRowSelection,
|
16257 |
+
selectable = _props.selectable,
|
16258 |
+
deselectOnClickaway = _props.deselectOnClickaway,
|
16259 |
+
showRowHover = _props.showRowHover,
|
16260 |
+
stripedRows = _props.stripedRows,
|
16261 |
+
displayRowCheckbox = _props.displayRowCheckbox,
|
16262 |
+
preScanRows = _props.preScanRows,
|
16263 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['style', 'allRowsSelected', 'multiSelectable', 'onCellClick', 'onCellHover', 'onCellHoverExit', 'onRowHover', 'onRowHoverExit', 'onRowSelection', 'selectable', 'deselectOnClickaway', 'showRowHover', 'stripedRows', 'displayRowCheckbox', 'preScanRows']);
|
16264 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
16265 |
+
|
16266 |
+
return _react2.default.createElement(_ClickAwayListener2.default, { onClickAway: this.handleClickAway }, _react2.default.createElement('tbody', (0, _extends3.default)({ style: prepareStyles((0, _simpleAssign2.default)({}, style)) }, other), this.createRows()));
|
16267 |
+
}
|
16268 |
+
}]);
|
16269 |
+
return TableBody;
|
16270 |
+
}(_react.Component);
|
16271 |
+
|
16272 |
+
TableBody.muiName = 'TableBody';
|
16273 |
+
TableBody.defaultProps = {
|
16274 |
+
allRowsSelected: false,
|
16275 |
+
deselectOnClickaway: true,
|
16276 |
+
displayRowCheckbox: true,
|
16277 |
+
multiSelectable: false,
|
16278 |
+
preScanRows: true,
|
16279 |
+
selectable: true,
|
16280 |
+
style: {}
|
16281 |
+
};
|
16282 |
+
TableBody.contextTypes = {
|
16283 |
+
muiTheme: _propTypes2.default.object.isRequired
|
16284 |
+
};
|
16285 |
+
TableBody.propTypes = process.env.NODE_ENV !== "production" ? {
|
16286 |
+
/**
|
16287 |
+
* @ignore
|
16288 |
+
* Set to true to indicate that all rows should be selected.
|
16289 |
+
*/
|
16290 |
+
allRowsSelected: _propTypes2.default.bool,
|
16291 |
+
/**
|
16292 |
+
* Children passed to table body.
|
16293 |
+
*/
|
16294 |
+
children: _propTypes2.default.node,
|
16295 |
+
/**
|
16296 |
+
* The css class name of the root element.
|
16297 |
+
*/
|
16298 |
+
className: _propTypes2.default.string,
|
16299 |
+
/**
|
16300 |
+
* Controls whether or not to deselect all selected
|
16301 |
+
* rows after clicking outside the table.
|
16302 |
+
*/
|
16303 |
+
deselectOnClickaway: _propTypes2.default.bool,
|
16304 |
+
/**
|
16305 |
+
* Controls the display of the row checkbox. The default value is true.
|
16306 |
+
*/
|
16307 |
+
displayRowCheckbox: _propTypes2.default.bool,
|
16308 |
+
/**
|
16309 |
+
* @ignore
|
16310 |
+
* If true, multiple table rows can be selected.
|
16311 |
+
* CTRL/CMD+Click and SHIFT+Click are valid actions.
|
16312 |
+
* The default value is false.
|
16313 |
+
*/
|
16314 |
+
multiSelectable: _propTypes2.default.bool,
|
16315 |
+
/**
|
16316 |
+
* @ignore
|
16317 |
+
* Callback function for when a cell is clicked.
|
16318 |
+
*/
|
16319 |
+
onCellClick: _propTypes2.default.func,
|
16320 |
+
/**
|
16321 |
+
* @ignore
|
16322 |
+
* Called when a table cell is hovered. rowNumber
|
16323 |
+
* is the row number of the hovered row and columnId
|
16324 |
+
* is the column number or the column key of the cell.
|
16325 |
+
*/
|
16326 |
+
onCellHover: _propTypes2.default.func,
|
16327 |
+
/**
|
16328 |
+
* @ignore
|
16329 |
+
* Called when a table cell is no longer hovered.
|
16330 |
+
* rowNumber is the row number of the row and columnId
|
16331 |
+
* is the column number or the column key of the cell.
|
16332 |
+
*/
|
16333 |
+
onCellHoverExit: _propTypes2.default.func,
|
16334 |
+
/**
|
16335 |
+
* @ignore
|
16336 |
+
* Called when a table row is hovered.
|
16337 |
+
* rowNumber is the row number of the hovered row.
|
16338 |
+
*/
|
16339 |
+
onRowHover: _propTypes2.default.func,
|
16340 |
+
/**
|
16341 |
+
* @ignore
|
16342 |
+
* Called when a table row is no longer
|
16343 |
+
* hovered. rowNumber is the row number of the row
|
16344 |
+
* that is no longer hovered.
|
16345 |
+
*/
|
16346 |
+
onRowHoverExit: _propTypes2.default.func,
|
16347 |
+
/**
|
16348 |
+
* @ignore
|
16349 |
+
* Called when a row is selected. selectedRows is an
|
16350 |
+
* array of all row selections. If all rows have been selected,
|
16351 |
+
* the string "all" will be returned instead to indicate that
|
16352 |
+
* all rows have been selected.
|
16353 |
+
*/
|
16354 |
+
onRowSelection: _propTypes2.default.func,
|
16355 |
+
/**
|
16356 |
+
* Controls whether or not the rows are pre-scanned to determine
|
16357 |
+
* initial state. If your table has a large number of rows and
|
16358 |
+
* you are experiencing a delay in rendering, turn off this property.
|
16359 |
+
*/
|
16360 |
+
preScanRows: _propTypes2.default.bool,
|
16361 |
+
/**
|
16362 |
+
* @ignore
|
16363 |
+
* If true, table rows can be selected. If multiple
|
16364 |
+
* row selection is desired, enable multiSelectable.
|
16365 |
+
* The default value is true.
|
16366 |
+
*/
|
16367 |
+
selectable: _propTypes2.default.bool,
|
16368 |
+
/**
|
16369 |
+
* If true, table rows will be highlighted when
|
16370 |
+
* the cursor is hovering over the row. The default
|
16371 |
+
* value is false.
|
16372 |
+
*/
|
16373 |
+
showRowHover: _propTypes2.default.bool,
|
16374 |
+
/**
|
16375 |
+
* If true, every other table row starting
|
16376 |
+
* with the first row will be striped. The default value is false.
|
16377 |
+
*/
|
16378 |
+
stripedRows: _propTypes2.default.bool,
|
16379 |
+
/**
|
16380 |
+
* Override the inline-styles of the root element.
|
16381 |
+
*/
|
16382 |
+
style: _propTypes2.default.object
|
16383 |
+
} : {};
|
16384 |
+
exports.default = TableBody;
|
16385 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
16386 |
+
|
16387 |
+
/***/ }),
|
16388 |
+
/* 203 */
|
16389 |
+
/***/ (function(module, exports, __webpack_require__) {
|
16390 |
+
|
16391 |
+
"use strict";
|
16392 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
16393 |
+
|
16394 |
+
Object.defineProperty(exports, "__esModule", {
|
16395 |
+
value: true
|
16396 |
+
});
|
16397 |
+
|
16398 |
+
var _extends2 = __webpack_require__(9);
|
16399 |
+
|
16400 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
16401 |
+
|
16402 |
+
var _toConsumableArray2 = __webpack_require__(65);
|
16403 |
+
|
16404 |
+
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
|
16405 |
+
|
16406 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
16407 |
+
|
16408 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
16409 |
+
|
16410 |
+
var _getPrototypeOf = __webpack_require__(5);
|
16411 |
+
|
16412 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
16413 |
+
|
16414 |
+
var _classCallCheck2 = __webpack_require__(3);
|
16415 |
+
|
16416 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
16417 |
+
|
16418 |
+
var _createClass2 = __webpack_require__(4);
|
16419 |
+
|
16420 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
16421 |
+
|
16422 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
16423 |
+
|
16424 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
16425 |
+
|
16426 |
+
var _inherits2 = __webpack_require__(7);
|
16427 |
+
|
16428 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
16429 |
+
|
16430 |
+
var _simpleAssign = __webpack_require__(8);
|
16431 |
+
|
16432 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
16433 |
+
|
16434 |
+
var _react = __webpack_require__(0);
|
16435 |
+
|
16436 |
+
var _react2 = _interopRequireDefault(_react);
|
16437 |
+
|
16438 |
+
var _propTypes = __webpack_require__(2);
|
16439 |
+
|
16440 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
16441 |
+
|
16442 |
+
var _TableRowColumn = __webpack_require__(80);
|
16443 |
+
|
16444 |
+
var _TableRowColumn2 = _interopRequireDefault(_TableRowColumn);
|
16445 |
+
|
16446 |
+
function _interopRequireDefault(obj) {
|
16447 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
16448 |
+
}
|
16449 |
+
|
16450 |
+
function getStyles(props, context) {
|
16451 |
+
var tableFooter = context.muiTheme.tableFooter;
|
16452 |
+
|
16453 |
+
return {
|
16454 |
+
cell: {
|
16455 |
+
borderTop: '1px solid ' + tableFooter.borderColor,
|
16456 |
+
verticalAlign: 'bottom',
|
16457 |
+
padding: 20,
|
16458 |
+
textAlign: 'left',
|
16459 |
+
whiteSpace: 'nowrap'
|
16460 |
+
}
|
16461 |
+
};
|
16462 |
+
}
|
16463 |
+
|
16464 |
+
var TableFooter = function (_Component) {
|
16465 |
+
(0, _inherits3.default)(TableFooter, _Component);
|
16466 |
+
|
16467 |
+
function TableFooter() {
|
16468 |
+
(0, _classCallCheck3.default)(this, TableFooter);
|
16469 |
+
return (0, _possibleConstructorReturn3.default)(this, (TableFooter.__proto__ || (0, _getPrototypeOf2.default)(TableFooter)).apply(this, arguments));
|
16470 |
+
}
|
16471 |
+
|
16472 |
+
(0, _createClass3.default)(TableFooter, [{
|
16473 |
+
key: 'render',
|
16474 |
+
value: function render() {
|
16475 |
+
var _props = this.props,
|
16476 |
+
adjustForCheckbox = _props.adjustForCheckbox,
|
16477 |
+
children = _props.children,
|
16478 |
+
className = _props.className,
|
16479 |
+
style = _props.style,
|
16480 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['adjustForCheckbox', 'children', 'className', 'style']);
|
16481 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
16482 |
+
|
16483 |
+
var styles = getStyles(this.props, this.context);
|
16484 |
+
|
16485 |
+
var footerRows = _react2.default.Children.map(children, function (child, rowNumber) {
|
16486 |
+
var newChildProps = {
|
16487 |
+
displayBorder: false,
|
16488 |
+
key: 'f-' + rowNumber,
|
16489 |
+
rowNumber: rowNumber,
|
16490 |
+
style: (0, _simpleAssign2.default)({}, styles.cell, child.props.style)
|
16491 |
+
};
|
16492 |
+
|
16493 |
+
var newDescendants = void 0;
|
16494 |
+
|
16495 |
+
if (adjustForCheckbox) {
|
16496 |
+
newDescendants = [_react2.default.createElement(_TableRowColumn2.default, { key: 'fpcb' + rowNumber, style: { width: 24 } })].concat((0, _toConsumableArray3.default)(_react2.default.Children.toArray(child.props.children)));
|
16497 |
+
} else {
|
16498 |
+
newDescendants = child.props.children;
|
16499 |
+
}
|
16500 |
+
|
16501 |
+
return _react2.default.cloneElement(child, newChildProps, newDescendants);
|
16502 |
+
});
|
16503 |
+
|
16504 |
+
return _react2.default.createElement('tfoot', (0, _extends3.default)({ className: className, style: prepareStyles((0, _simpleAssign2.default)({}, style)) }, other), footerRows);
|
16505 |
+
}
|
16506 |
+
}]);
|
16507 |
+
return TableFooter;
|
16508 |
+
}(_react.Component);
|
16509 |
+
|
16510 |
+
TableFooter.muiName = 'TableFooter';
|
16511 |
+
TableFooter.defaultProps = {
|
16512 |
+
adjustForCheckbox: true,
|
16513 |
+
style: {}
|
16514 |
+
};
|
16515 |
+
TableFooter.contextTypes = {
|
16516 |
+
muiTheme: _propTypes2.default.object.isRequired
|
16517 |
+
};
|
16518 |
+
TableFooter.propTypes = process.env.NODE_ENV !== "production" ? {
|
16519 |
+
/**
|
16520 |
+
* @ignore
|
16521 |
+
* Controls whether or not header rows should be adjusted
|
16522 |
+
* for a checkbox column. If the select all checkbox is true,
|
16523 |
+
* this property will not influence the number of columns.
|
16524 |
+
* This is mainly useful for "super header" rows so that
|
16525 |
+
* the checkbox column does not create an offset that needs
|
16526 |
+
* to be accounted for manually.
|
16527 |
+
*/
|
16528 |
+
adjustForCheckbox: _propTypes2.default.bool,
|
16529 |
+
/**
|
16530 |
+
* Children passed to table footer.
|
16531 |
+
*/
|
16532 |
+
children: _propTypes2.default.node,
|
16533 |
+
/**
|
16534 |
+
* The css class name of the root element.
|
16535 |
+
*/
|
16536 |
+
className: _propTypes2.default.string,
|
16537 |
+
/**
|
16538 |
+
* Override the inline-styles of the root element.
|
16539 |
+
*/
|
16540 |
+
style: _propTypes2.default.object
|
16541 |
+
} : {};
|
16542 |
+
exports.default = TableFooter;
|
16543 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
16544 |
+
|
16545 |
+
/***/ }),
|
16546 |
+
/* 204 */
|
16547 |
+
/***/ (function(module, exports, __webpack_require__) {
|
16548 |
+
|
16549 |
+
"use strict";
|
16550 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
16551 |
+
|
16552 |
+
Object.defineProperty(exports, "__esModule", {
|
16553 |
+
value: true
|
16554 |
+
});
|
16555 |
+
|
16556 |
+
var _getPrototypeOf = __webpack_require__(5);
|
16557 |
+
|
16558 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
16559 |
+
|
16560 |
+
var _classCallCheck2 = __webpack_require__(3);
|
16561 |
+
|
16562 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
16563 |
+
|
16564 |
+
var _createClass2 = __webpack_require__(4);
|
16565 |
+
|
16566 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
16567 |
+
|
16568 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
16569 |
+
|
16570 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
16571 |
+
|
16572 |
+
var _inherits2 = __webpack_require__(7);
|
16573 |
+
|
16574 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
16575 |
+
|
16576 |
+
var _simpleAssign = __webpack_require__(8);
|
16577 |
+
|
16578 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
16579 |
+
|
16580 |
+
var _react = __webpack_require__(0);
|
16581 |
+
|
16582 |
+
var _react2 = _interopRequireDefault(_react);
|
16583 |
+
|
16584 |
+
var _propTypes = __webpack_require__(2);
|
16585 |
+
|
16586 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
16587 |
+
|
16588 |
+
var _Checkbox = __webpack_require__(118);
|
16589 |
+
|
16590 |
+
var _Checkbox2 = _interopRequireDefault(_Checkbox);
|
16591 |
+
|
16592 |
+
var _TableHeaderColumn = __webpack_require__(128);
|
16593 |
+
|
16594 |
+
var _TableHeaderColumn2 = _interopRequireDefault(_TableHeaderColumn);
|
16595 |
+
|
16596 |
+
function _interopRequireDefault(obj) {
|
16597 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
16598 |
+
}
|
16599 |
+
|
16600 |
+
function getStyles(props, context) {
|
16601 |
+
var tableHeader = context.muiTheme.tableHeader;
|
16602 |
+
|
16603 |
+
return {
|
16604 |
+
root: {
|
16605 |
+
borderBottom: '1px solid ' + tableHeader.borderColor
|
16606 |
+
}
|
16607 |
+
};
|
16608 |
+
}
|
16609 |
+
|
16610 |
+
var TableHeader = function (_Component) {
|
16611 |
+
(0, _inherits3.default)(TableHeader, _Component);
|
16612 |
+
|
16613 |
+
function TableHeader() {
|
16614 |
+
var _ref;
|
16615 |
+
|
16616 |
+
var _temp, _this, _ret;
|
16617 |
+
|
16618 |
+
(0, _classCallCheck3.default)(this, TableHeader);
|
16619 |
+
|
16620 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
16621 |
+
args[_key] = arguments[_key];
|
16622 |
+
}
|
16623 |
+
|
16624 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = TableHeader.__proto__ || (0, _getPrototypeOf2.default)(TableHeader)).call.apply(_ref, [this].concat(args))), _this), _this.handleCheckAll = function (event, checked) {
|
16625 |
+
if (_this.props.onSelectAll) {
|
16626 |
+
_this.props.onSelectAll(checked);
|
16627 |
+
}
|
16628 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
16629 |
+
}
|
16630 |
+
|
16631 |
+
(0, _createClass3.default)(TableHeader, [{
|
16632 |
+
key: 'createSuperHeaderRows',
|
16633 |
+
value: function createSuperHeaderRows() {
|
16634 |
+
var numChildren = _react2.default.Children.count(this.props.children);
|
16635 |
+
if (numChildren === 1) return undefined;
|
16636 |
+
|
16637 |
+
var superHeaders = [];
|
16638 |
+
for (var index = 0; index < numChildren - 1; index++) {
|
16639 |
+
var child = this.props.children[index];
|
16640 |
+
|
16641 |
+
if (!_react2.default.isValidElement(child)) continue;
|
16642 |
+
|
16643 |
+
var props = {
|
16644 |
+
key: 'sh' + index,
|
16645 |
+
rowNumber: index
|
16646 |
+
};
|
16647 |
+
superHeaders.push(this.createSuperHeaderRow(child, props));
|
16648 |
+
}
|
16649 |
+
|
16650 |
+
if (superHeaders.length) return superHeaders;
|
16651 |
+
}
|
16652 |
+
}, {
|
16653 |
+
key: 'createSuperHeaderRow',
|
16654 |
+
value: function createSuperHeaderRow(child, props) {
|
16655 |
+
var children = [];
|
16656 |
+
if (this.props.adjustForCheckbox) {
|
16657 |
+
children.push(this.getCheckboxPlaceholder(props));
|
16658 |
+
}
|
16659 |
+
_react2.default.Children.forEach(child.props.children, function (child) {
|
16660 |
+
children.push(child);
|
16661 |
+
});
|
16662 |
+
|
16663 |
+
return _react2.default.cloneElement(child, props, children);
|
16664 |
+
}
|
16665 |
+
}, {
|
16666 |
+
key: 'createBaseHeaderRow',
|
16667 |
+
value: function createBaseHeaderRow() {
|
16668 |
+
var childrenArray = _react2.default.Children.toArray(this.props.children);
|
16669 |
+
var numChildren = childrenArray.length;
|
16670 |
+
if (numChildren < 1) {
|
16671 |
+
return null;
|
16672 |
+
}
|
16673 |
+
|
16674 |
+
var child = childrenArray[numChildren - 1];
|
16675 |
+
|
16676 |
+
var props = {
|
16677 |
+
key: 'h' + numChildren,
|
16678 |
+
rowNumber: numChildren
|
16679 |
+
};
|
16680 |
+
|
16681 |
+
var children = [this.getSelectAllCheckboxColumn(props)];
|
16682 |
+
_react2.default.Children.forEach(child.props.children, function (child) {
|
16683 |
+
children.push(child);
|
16684 |
+
});
|
16685 |
+
|
16686 |
+
return _react2.default.cloneElement(child, props, children);
|
16687 |
+
}
|
16688 |
+
}, {
|
16689 |
+
key: 'getCheckboxPlaceholder',
|
16690 |
+
value: function getCheckboxPlaceholder(props) {
|
16691 |
+
if (!this.props.adjustForCheckbox) return null;
|
16692 |
+
|
16693 |
+
var disabled = !this.props.enableSelectAll;
|
16694 |
+
var key = 'hpcb' + props.rowNumber;
|
16695 |
+
return _react2.default.createElement(_TableHeaderColumn2.default, {
|
16696 |
+
key: key,
|
16697 |
+
style: {
|
16698 |
+
width: 24,
|
16699 |
+
cursor: disabled ? 'default' : 'inherit'
|
16700 |
+
}
|
16701 |
+
});
|
16702 |
+
}
|
16703 |
+
}, {
|
16704 |
+
key: 'getSelectAllCheckboxColumn',
|
16705 |
+
value: function getSelectAllCheckboxColumn(props) {
|
16706 |
+
if (!this.props.displaySelectAll) return this.getCheckboxPlaceholder(props);
|
16707 |
+
|
16708 |
+
var disabled = !this.props.enableSelectAll;
|
16709 |
+
var checkbox = _react2.default.createElement(_Checkbox2.default, {
|
16710 |
+
key: 'selectallcb',
|
16711 |
+
name: 'selectallcb',
|
16712 |
+
value: 'selected',
|
16713 |
+
disabled: disabled,
|
16714 |
+
checked: this.props.selectAllSelected,
|
16715 |
+
onCheck: this.handleCheckAll
|
16716 |
+
});
|
16717 |
+
|
16718 |
+
var key = 'hpcb' + props.rowNumber;
|
16719 |
+
return _react2.default.createElement(_TableHeaderColumn2.default, {
|
16720 |
+
key: key,
|
16721 |
+
style: {
|
16722 |
+
width: 24,
|
16723 |
+
cursor: disabled ? 'not-allowed' : 'inherit'
|
16724 |
+
}
|
16725 |
+
}, checkbox);
|
16726 |
+
}
|
16727 |
+
}, {
|
16728 |
+
key: 'render',
|
16729 |
+
value: function render() {
|
16730 |
+
var _props = this.props,
|
16731 |
+
className = _props.className,
|
16732 |
+
style = _props.style;
|
16733 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
16734 |
+
|
16735 |
+
var styles = getStyles(this.props, this.context);
|
16736 |
+
var superHeaderRows = this.createSuperHeaderRows();
|
16737 |
+
var baseHeaderRow = this.createBaseHeaderRow();
|
16738 |
+
|
16739 |
+
return _react2.default.createElement('thead', { className: className, style: prepareStyles((0, _simpleAssign2.default)(styles.root, style)) }, superHeaderRows, baseHeaderRow);
|
16740 |
+
}
|
16741 |
+
}]);
|
16742 |
+
return TableHeader;
|
16743 |
+
}(_react.Component);
|
16744 |
+
|
16745 |
+
TableHeader.muiName = 'TableHeader';
|
16746 |
+
TableHeader.defaultProps = {
|
16747 |
+
adjustForCheckbox: true,
|
16748 |
+
displaySelectAll: true,
|
16749 |
+
enableSelectAll: true,
|
16750 |
+
selectAllSelected: false
|
16751 |
+
};
|
16752 |
+
TableHeader.contextTypes = {
|
16753 |
+
muiTheme: _propTypes2.default.object.isRequired
|
16754 |
+
};
|
16755 |
+
TableHeader.propTypes = process.env.NODE_ENV !== "production" ? {
|
16756 |
+
/**
|
16757 |
+
* Controls whether or not header rows should be
|
16758 |
+
* adjusted for a checkbox column. If the select all
|
16759 |
+
* checkbox is true, this property will not influence
|
16760 |
+
* the number of columns. This is mainly useful for
|
16761 |
+
* "super header" rows so that the checkbox column
|
16762 |
+
* does not create an offset that needs to be accounted
|
16763 |
+
* for manually.
|
16764 |
+
*/
|
16765 |
+
adjustForCheckbox: _propTypes2.default.bool,
|
16766 |
+
/**
|
16767 |
+
* Children passed to table header.
|
16768 |
+
*/
|
16769 |
+
children: _propTypes2.default.node,
|
16770 |
+
/**
|
16771 |
+
* The css class name of the root element.
|
16772 |
+
*/
|
16773 |
+
className: _propTypes2.default.string,
|
16774 |
+
/**
|
16775 |
+
* Controls whether or not the select all checkbox is displayed.
|
16776 |
+
*/
|
16777 |
+
displaySelectAll: _propTypes2.default.bool,
|
16778 |
+
/**
|
16779 |
+
* If set to true, the select all button will be interactable.
|
16780 |
+
* If set to false, the button will not be interactable.
|
16781 |
+
* To hide the checkbox, set displaySelectAll to false.
|
16782 |
+
*/
|
16783 |
+
enableSelectAll: _propTypes2.default.bool,
|
16784 |
+
/**
|
16785 |
+
* @ignore
|
16786 |
+
* Callback when select all has been checked.
|
16787 |
+
*/
|
16788 |
+
onSelectAll: _propTypes2.default.func,
|
16789 |
+
/**
|
16790 |
+
* @ignore
|
16791 |
+
* True when select all has been checked.
|
16792 |
+
*/
|
16793 |
+
selectAllSelected: _propTypes2.default.bool,
|
16794 |
+
/**
|
16795 |
+
* Override the inline-styles of the root element.
|
16796 |
+
*/
|
16797 |
+
style: _propTypes2.default.object
|
16798 |
+
} : {};
|
16799 |
+
exports.default = TableHeader;
|
16800 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
16801 |
+
|
16802 |
+
/***/ }),
|
16803 |
+
/* 205 */
|
16804 |
+
/***/ (function(module, exports, __webpack_require__) {
|
16805 |
+
|
16806 |
+
"use strict";
|
16807 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
16808 |
+
|
16809 |
+
Object.defineProperty(exports, "__esModule", {
|
16810 |
+
value: true
|
16811 |
+
});
|
16812 |
+
|
16813 |
+
var _extends2 = __webpack_require__(9);
|
16814 |
+
|
16815 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
16816 |
+
|
16817 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
16818 |
+
|
16819 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
16820 |
+
|
16821 |
+
var _getPrototypeOf = __webpack_require__(5);
|
16822 |
+
|
16823 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
16824 |
+
|
16825 |
+
var _classCallCheck2 = __webpack_require__(3);
|
16826 |
+
|
16827 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
16828 |
+
|
16829 |
+
var _createClass2 = __webpack_require__(4);
|
16830 |
+
|
16831 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
16832 |
+
|
16833 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
16834 |
+
|
16835 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
16836 |
+
|
16837 |
+
var _inherits2 = __webpack_require__(7);
|
16838 |
+
|
16839 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
16840 |
+
|
16841 |
+
var _simpleAssign = __webpack_require__(8);
|
16842 |
+
|
16843 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
16844 |
+
|
16845 |
+
var _react = __webpack_require__(0);
|
16846 |
+
|
16847 |
+
var _react2 = _interopRequireDefault(_react);
|
16848 |
+
|
16849 |
+
var _propTypes = __webpack_require__(2);
|
16850 |
+
|
16851 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
16852 |
+
|
16853 |
+
function _interopRequireDefault(obj) {
|
16854 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
16855 |
+
}
|
16856 |
+
|
16857 |
+
function getStyles(props, context, state) {
|
16858 |
+
var tableRow = context.muiTheme.tableRow;
|
16859 |
+
|
16860 |
+
var cellBgColor = 'inherit';
|
16861 |
+
if (props.hovered || state.hovered) {
|
16862 |
+
cellBgColor = tableRow.hoverColor;
|
16863 |
+
} else if (props.selected) {
|
16864 |
+
cellBgColor = tableRow.selectedColor;
|
16865 |
+
} else if (props.striped) {
|
16866 |
+
cellBgColor = tableRow.stripeColor;
|
16867 |
+
}
|
16868 |
+
|
16869 |
+
return {
|
16870 |
+
root: {
|
16871 |
+
borderBottom: props.displayBorder && '1px solid ' + tableRow.borderColor,
|
16872 |
+
color: tableRow.textColor,
|
16873 |
+
height: tableRow.height
|
16874 |
+
},
|
16875 |
+
cell: {
|
16876 |
+
backgroundColor: cellBgColor
|
16877 |
+
}
|
16878 |
+
};
|
16879 |
+
}
|
16880 |
+
|
16881 |
+
var TableRow = function (_Component) {
|
16882 |
+
(0, _inherits3.default)(TableRow, _Component);
|
16883 |
+
|
16884 |
+
function TableRow() {
|
16885 |
+
var _ref;
|
16886 |
+
|
16887 |
+
var _temp, _this, _ret;
|
16888 |
+
|
16889 |
+
(0, _classCallCheck3.default)(this, TableRow);
|
16890 |
+
|
16891 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
16892 |
+
args[_key] = arguments[_key];
|
16893 |
+
}
|
16894 |
+
|
16895 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = TableRow.__proto__ || (0, _getPrototypeOf2.default)(TableRow)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
|
16896 |
+
hovered: false
|
16897 |
+
}, _this.onCellClick = function (event, columnIndex) {
|
16898 |
+
if (_this.props.selectable && _this.props.onCellClick) {
|
16899 |
+
_this.props.onCellClick(event, _this.props.rowNumber, columnIndex);
|
16900 |
+
}
|
16901 |
+
event.ctrlKey = true;
|
16902 |
+
_this.onRowClick(event);
|
16903 |
+
}, _this.onCellHover = function (event, columnIndex) {
|
16904 |
+
if (_this.props.hoverable) {
|
16905 |
+
_this.setState({ hovered: true });
|
16906 |
+
if (_this.props.onCellHover) _this.props.onCellHover(event, _this.props.rowNumber, columnIndex);
|
16907 |
+
_this.onRowHover(event);
|
16908 |
+
}
|
16909 |
+
}, _this.onCellHoverExit = function (event, columnIndex) {
|
16910 |
+
if (_this.props.hoverable) {
|
16911 |
+
_this.setState({ hovered: false });
|
16912 |
+
if (_this.props.onCellHoverExit) _this.props.onCellHoverExit(event, _this.props.rowNumber, columnIndex);
|
16913 |
+
_this.onRowHoverExit(event);
|
16914 |
+
}
|
16915 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
16916 |
+
}
|
16917 |
+
|
16918 |
+
(0, _createClass3.default)(TableRow, [{
|
16919 |
+
key: 'onRowClick',
|
16920 |
+
value: function onRowClick(event) {
|
16921 |
+
if (this.props.selectable && this.props.onRowClick) {
|
16922 |
+
this.props.onRowClick(event, this.props.rowNumber);
|
16923 |
+
}
|
16924 |
+
}
|
16925 |
+
}, {
|
16926 |
+
key: 'onRowHover',
|
16927 |
+
value: function onRowHover(event) {
|
16928 |
+
if (this.props.onRowHover) {
|
16929 |
+
this.props.onRowHover(event, this.props.rowNumber);
|
16930 |
+
}
|
16931 |
+
}
|
16932 |
+
}, {
|
16933 |
+
key: 'onRowHoverExit',
|
16934 |
+
value: function onRowHoverExit(event) {
|
16935 |
+
if (this.props.onRowHoverExit) {
|
16936 |
+
this.props.onRowHoverExit(event, this.props.rowNumber);
|
16937 |
+
}
|
16938 |
+
}
|
16939 |
+
}, {
|
16940 |
+
key: 'render',
|
16941 |
+
value: function render() {
|
16942 |
+
var _this2 = this;
|
16943 |
+
|
16944 |
+
var _props = this.props,
|
16945 |
+
className = _props.className,
|
16946 |
+
displayBorder = _props.displayBorder,
|
16947 |
+
hoverable = _props.hoverable,
|
16948 |
+
hovered = _props.hovered,
|
16949 |
+
onCellClick = _props.onCellClick,
|
16950 |
+
onCellHover = _props.onCellHover,
|
16951 |
+
onCellHoverExit = _props.onCellHoverExit,
|
16952 |
+
onRowClick = _props.onRowClick,
|
16953 |
+
onRowHover = _props.onRowHover,
|
16954 |
+
onRowHoverExit = _props.onRowHoverExit,
|
16955 |
+
rowNumber = _props.rowNumber,
|
16956 |
+
selectable = _props.selectable,
|
16957 |
+
selected = _props.selected,
|
16958 |
+
striped = _props.striped,
|
16959 |
+
style = _props.style,
|
16960 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['className', 'displayBorder', 'hoverable', 'hovered', 'onCellClick', 'onCellHover', 'onCellHoverExit', 'onRowClick', 'onRowHover', 'onRowHoverExit', 'rowNumber', 'selectable', 'selected', 'striped', 'style']);
|
16961 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
16962 |
+
|
16963 |
+
var styles = getStyles(this.props, this.context, this.state);
|
16964 |
+
|
16965 |
+
var rowColumns = _react2.default.Children.map(this.props.children, function (child, columnNumber) {
|
16966 |
+
if (_react2.default.isValidElement(child)) {
|
16967 |
+
return _react2.default.cloneElement(child, {
|
16968 |
+
columnNumber: columnNumber,
|
16969 |
+
hoverable: _this2.props.hoverable,
|
16970 |
+
key: _this2.props.rowNumber + '-' + columnNumber,
|
16971 |
+
onClick: _this2.onCellClick,
|
16972 |
+
onHover: _this2.onCellHover,
|
16973 |
+
onHoverExit: _this2.onCellHoverExit,
|
16974 |
+
style: (0, _simpleAssign2.default)({}, styles.cell, child.props.style)
|
16975 |
+
});
|
16976 |
+
}
|
16977 |
+
});
|
16978 |
+
|
16979 |
+
return _react2.default.createElement('tr', (0, _extends3.default)({
|
16980 |
+
className: className,
|
16981 |
+
style: prepareStyles((0, _simpleAssign2.default)(styles.root, style))
|
16982 |
+
}, other), rowColumns);
|
16983 |
+
}
|
16984 |
+
}]);
|
16985 |
+
return TableRow;
|
16986 |
+
}(_react.Component);
|
16987 |
+
|
16988 |
+
TableRow.defaultProps = {
|
16989 |
+
displayBorder: true,
|
16990 |
+
hoverable: false,
|
16991 |
+
hovered: false,
|
16992 |
+
selectable: true,
|
16993 |
+
striped: false
|
16994 |
+
};
|
16995 |
+
TableRow.contextTypes = {
|
16996 |
+
muiTheme: _propTypes2.default.object.isRequired
|
16997 |
+
};
|
16998 |
+
TableRow.propTypes = process.env.NODE_ENV !== "production" ? {
|
16999 |
+
/**
|
17000 |
+
* Children passed to table row.
|
17001 |
+
*/
|
17002 |
+
children: _propTypes2.default.node,
|
17003 |
+
/**
|
17004 |
+
* The css class name of the root element.
|
17005 |
+
*/
|
17006 |
+
className: _propTypes2.default.string,
|
17007 |
+
/**
|
17008 |
+
* If true, row border will be displayed for the row.
|
17009 |
+
* If false, no border will be drawn.
|
17010 |
+
*/
|
17011 |
+
displayBorder: _propTypes2.default.bool,
|
17012 |
+
/**
|
17013 |
+
* Controls whether or not the row responds to hover events.
|
17014 |
+
*/
|
17015 |
+
hoverable: _propTypes2.default.bool,
|
17016 |
+
/**
|
17017 |
+
* Controls whether or not the row should be rendered as being
|
17018 |
+
* hovered. This property is evaluated in addition to this.state.hovered
|
17019 |
+
* and can be used to synchronize the hovered state with some other
|
17020 |
+
* external events.
|
17021 |
+
*/
|
17022 |
+
hovered: _propTypes2.default.bool,
|
17023 |
+
/**
|
17024 |
+
* @ignore
|
17025 |
+
* Called when a row cell is clicked.
|
17026 |
+
* rowNumber is the row number and columnId is
|
17027 |
+
* the column number or the column key.
|
17028 |
+
*/
|
17029 |
+
onCellClick: _propTypes2.default.func,
|
17030 |
+
/**
|
17031 |
+
* @ignore
|
17032 |
+
* Called when a table cell is hovered.
|
17033 |
+
* rowNumber is the row number of the hovered row
|
17034 |
+
* and columnId is the column number or the column key of the cell.
|
17035 |
+
*/
|
17036 |
+
onCellHover: _propTypes2.default.func,
|
17037 |
+
/**
|
17038 |
+
* @ignore
|
17039 |
+
* Called when a table cell is no longer hovered.
|
17040 |
+
* rowNumber is the row number of the row and columnId
|
17041 |
+
* is the column number or the column key of the cell.
|
17042 |
+
*/
|
17043 |
+
onCellHoverExit: _propTypes2.default.func,
|
17044 |
+
/**
|
17045 |
+
* @ignore
|
17046 |
+
* Called when row is clicked.
|
17047 |
+
*/
|
17048 |
+
onRowClick: _propTypes2.default.func,
|
17049 |
+
/**
|
17050 |
+
* @ignore
|
17051 |
+
* Called when a table row is hovered.
|
17052 |
+
* rowNumber is the row number of the hovered row.
|
17053 |
+
*/
|
17054 |
+
onRowHover: _propTypes2.default.func,
|
17055 |
+
/**
|
17056 |
+
* @ignore
|
17057 |
+
* Called when a table row is no longer hovered.
|
17058 |
+
* rowNumber is the row number of the row that is no longer hovered.
|
17059 |
+
*/
|
17060 |
+
onRowHoverExit: _propTypes2.default.func,
|
17061 |
+
/**
|
17062 |
+
* Number to identify the row. This property is
|
17063 |
+
* automatically populated when used with the TableBody component.
|
17064 |
+
*/
|
17065 |
+
rowNumber: _propTypes2.default.number,
|
17066 |
+
/**
|
17067 |
+
* If true, table rows can be selected. If multiple row
|
17068 |
+
* selection is desired, enable multiSelectable.
|
17069 |
+
* The default value is true.
|
17070 |
+
*/
|
17071 |
+
selectable: _propTypes2.default.bool,
|
17072 |
+
/**
|
17073 |
+
* Indicates that a particular row is selected.
|
17074 |
+
* This property can be used to programmatically select rows.
|
17075 |
+
*/
|
17076 |
+
selected: _propTypes2.default.bool,
|
17077 |
+
/**
|
17078 |
+
* Indicates whether or not the row is striped.
|
17079 |
+
*/
|
17080 |
+
striped: _propTypes2.default.bool,
|
17081 |
+
/**
|
17082 |
+
* Override the inline-styles of the root element.
|
17083 |
+
*/
|
17084 |
+
style: _propTypes2.default.object
|
17085 |
+
} : {};
|
17086 |
+
exports.default = TableRow;
|
17087 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
17088 |
+
|
17089 |
+
/***/ }),
|
17090 |
+
/* 206 */
|
17091 |
+
/***/ (function(module, exports, __webpack_require__) {
|
17092 |
+
|
17093 |
+
"use strict";
|
17094 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
17095 |
+
|
17096 |
+
Object.defineProperty(exports, "__esModule", {
|
17097 |
+
value: true
|
17098 |
+
});
|
17099 |
+
|
17100 |
+
var _getPrototypeOf = __webpack_require__(5);
|
17101 |
+
|
17102 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
17103 |
+
|
17104 |
+
var _classCallCheck2 = __webpack_require__(3);
|
17105 |
+
|
17106 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
17107 |
+
|
17108 |
+
var _createClass2 = __webpack_require__(4);
|
17109 |
+
|
17110 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
17111 |
+
|
17112 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
17113 |
+
|
17114 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
17115 |
+
|
17116 |
+
var _inherits2 = __webpack_require__(7);
|
17117 |
+
|
17118 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
17119 |
+
|
17120 |
+
var _slicedToArray2 = __webpack_require__(127);
|
17121 |
+
|
17122 |
+
var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
|
17123 |
+
|
17124 |
+
var _react = __webpack_require__(0);
|
17125 |
+
|
17126 |
+
var _react2 = _interopRequireDefault(_react);
|
17127 |
+
|
17128 |
+
var _propTypes = __webpack_require__(2);
|
17129 |
+
|
17130 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
17131 |
+
|
17132 |
+
var _timeUtils = __webpack_require__(68);
|
17133 |
+
|
17134 |
+
function _interopRequireDefault(obj) {
|
17135 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
17136 |
+
}
|
17137 |
+
|
17138 |
+
function getStyles(props, context) {
|
17139 |
+
var styles = {
|
17140 |
+
root: {
|
17141 |
+
directionInvariant: true,
|
17142 |
+
display: 'inline-block',
|
17143 |
+
position: 'absolute',
|
17144 |
+
width: 32,
|
17145 |
+
height: 32,
|
17146 |
+
borderRadius: '100%',
|
17147 |
+
left: 'calc(50% - 16px)',
|
17148 |
+
top: 10,
|
17149 |
+
textAlign: 'center',
|
17150 |
+
paddingTop: 5,
|
17151 |
+
userSelect: 'none', /* Chrome all / Safari all */
|
17152 |
+
fontSize: '1.1em',
|
17153 |
+
pointerEvents: 'none',
|
17154 |
+
boxSizing: 'border-box'
|
17155 |
+
}
|
17156 |
+
};
|
17157 |
+
|
17158 |
+
var muiTheme = context.muiTheme;
|
17159 |
+
|
17160 |
+
var pos = props.value;
|
17161 |
+
|
17162 |
+
if (props.type === 'hour') {
|
17163 |
+
pos %= 12;
|
17164 |
+
} else {
|
17165 |
+
pos = pos / 5;
|
17166 |
+
}
|
17167 |
+
|
17168 |
+
var positions = [[0, 5], [54.5, 16.6], [94.4, 59.5], [109, 114], [94.4, 168.5], [54.5, 208.4], [0, 223], [-54.5, 208.4], [-94.4, 168.5], [-109, 114], [-94.4, 59.5], [-54.5, 19.6]];
|
17169 |
+
|
17170 |
+
var innerPositions = [[0, 40], [36.9, 49.9], [64, 77], [74, 114], [64, 151], [37, 178], [0, 188], [-37, 178], [-64, 151], [-74, 114], [-64, 77], [-37, 50]];
|
17171 |
+
|
17172 |
+
if (props.isSelected) {
|
17173 |
+
styles.root.backgroundColor = muiTheme.timePicker.accentColor;
|
17174 |
+
styles.root.color = muiTheme.timePicker.selectTextColor;
|
17175 |
+
}
|
17176 |
+
|
17177 |
+
var transformPos = positions[pos];
|
17178 |
+
|
17179 |
+
if ((0, _timeUtils.isInner)(props)) {
|
17180 |
+
styles.root.width = 28;
|
17181 |
+
styles.root.height = 28;
|
17182 |
+
styles.root.left = 'calc(50% - 14px)';
|
17183 |
+
transformPos = innerPositions[pos];
|
17184 |
+
}
|
17185 |
+
|
17186 |
+
var _transformPos = transformPos,
|
17187 |
+
_transformPos2 = (0, _slicedToArray3.default)(_transformPos, 2),
|
17188 |
+
x = _transformPos2[0],
|
17189 |
+
y = _transformPos2[1];
|
17190 |
+
|
17191 |
+
styles.root.transform = 'translate(' + x + 'px, ' + y + 'px)';
|
17192 |
+
|
17193 |
+
return styles;
|
17194 |
+
}
|
17195 |
+
|
17196 |
+
var ClockNumber = function (_Component) {
|
17197 |
+
(0, _inherits3.default)(ClockNumber, _Component);
|
17198 |
+
|
17199 |
+
function ClockNumber() {
|
17200 |
+
(0, _classCallCheck3.default)(this, ClockNumber);
|
17201 |
+
return (0, _possibleConstructorReturn3.default)(this, (ClockNumber.__proto__ || (0, _getPrototypeOf2.default)(ClockNumber)).apply(this, arguments));
|
17202 |
+
}
|
17203 |
+
|
17204 |
+
(0, _createClass3.default)(ClockNumber, [{
|
17205 |
+
key: 'render',
|
17206 |
+
value: function render() {
|
17207 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
17208 |
+
|
17209 |
+
var styles = getStyles(this.props, this.context);
|
17210 |
+
var clockNumber = this.props.value === 0 ? '00' : this.props.value;
|
17211 |
+
|
17212 |
+
return _react2.default.createElement('span', { style: prepareStyles(styles.root) }, clockNumber);
|
17213 |
+
}
|
17214 |
+
}]);
|
17215 |
+
return ClockNumber;
|
17216 |
+
}(_react.Component);
|
17217 |
+
|
17218 |
+
ClockNumber.defaultProps = {
|
17219 |
+
value: 0,
|
17220 |
+
type: 'minute',
|
17221 |
+
isSelected: false
|
17222 |
+
};
|
17223 |
+
ClockNumber.contextTypes = {
|
17224 |
+
muiTheme: _propTypes2.default.object.isRequired
|
17225 |
+
};
|
17226 |
+
ClockNumber.propTypes = process.env.NODE_ENV !== "production" ? {
|
17227 |
+
isSelected: _propTypes2.default.bool,
|
17228 |
+
onSelected: _propTypes2.default.func,
|
17229 |
+
type: _propTypes2.default.oneOf(['hour', 'minute']),
|
17230 |
+
value: _propTypes2.default.number
|
17231 |
+
} : {};
|
17232 |
+
exports.default = ClockNumber;
|
17233 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
17234 |
+
|
17235 |
+
/***/ }),
|
17236 |
+
/* 207 */
|
17237 |
+
/***/ (function(module, exports, __webpack_require__) {
|
17238 |
+
|
17239 |
+
"use strict";
|
17240 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
17241 |
+
|
17242 |
+
Object.defineProperty(exports, "__esModule", {
|
17243 |
+
value: true
|
17244 |
+
});
|
17245 |
+
|
17246 |
+
var _getPrototypeOf = __webpack_require__(5);
|
17247 |
+
|
17248 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
17249 |
+
|
17250 |
+
var _classCallCheck2 = __webpack_require__(3);
|
17251 |
+
|
17252 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
17253 |
+
|
17254 |
+
var _createClass2 = __webpack_require__(4);
|
17255 |
+
|
17256 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
17257 |
+
|
17258 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
17259 |
+
|
17260 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
17261 |
+
|
17262 |
+
var _inherits2 = __webpack_require__(7);
|
17263 |
+
|
17264 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
17265 |
+
|
17266 |
+
var _react = __webpack_require__(0);
|
17267 |
+
|
17268 |
+
var _react2 = _interopRequireDefault(_react);
|
17269 |
+
|
17270 |
+
var _propTypes = __webpack_require__(2);
|
17271 |
+
|
17272 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
17273 |
+
|
17274 |
+
var _timeUtils = __webpack_require__(68);
|
17275 |
+
|
17276 |
+
function _interopRequireDefault(obj) {
|
17277 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
17278 |
+
}
|
17279 |
+
|
17280 |
+
function calcAngle(value, base) {
|
17281 |
+
value %= base;
|
17282 |
+
var angle = 360 / base * value;
|
17283 |
+
return angle;
|
17284 |
+
}
|
17285 |
+
|
17286 |
+
function getStyles(props, context, state) {
|
17287 |
+
var hasSelected = props.hasSelected,
|
17288 |
+
type = props.type,
|
17289 |
+
value = props.value;
|
17290 |
+
var inner = state.inner;
|
17291 |
+
var timePicker = context.muiTheme.timePicker;
|
17292 |
+
|
17293 |
+
var angle = type === 'hour' ? calcAngle(value, 12) : calcAngle(value, 60);
|
17294 |
+
|
17295 |
+
var styles = {
|
17296 |
+
root: {
|
17297 |
+
height: inner ? '30%' : '40%',
|
17298 |
+
background: timePicker.accentColor,
|
17299 |
+
width: 2,
|
17300 |
+
left: 'calc(50% - 1px)',
|
17301 |
+
position: 'absolute',
|
17302 |
+
bottom: '50%',
|
17303 |
+
transformOrigin: 'bottom',
|
17304 |
+
pointerEvents: 'none',
|
17305 |
+
transform: 'rotateZ(' + angle + 'deg)'
|
17306 |
+
},
|
17307 |
+
mark: {
|
17308 |
+
boxSizing: 'content-box',
|
17309 |
+
background: timePicker.selectTextColor,
|
17310 |
+
border: '4px solid ' + timePicker.accentColor,
|
17311 |
+
display: hasSelected && 'none',
|
17312 |
+
width: 7,
|
17313 |
+
height: 7,
|
17314 |
+
position: 'absolute',
|
17315 |
+
top: -5,
|
17316 |
+
left: -6,
|
17317 |
+
borderRadius: '100%'
|
17318 |
+
}
|
17319 |
+
};
|
17320 |
+
|
17321 |
+
return styles;
|
17322 |
+
}
|
17323 |
+
|
17324 |
+
var ClockPointer = function (_Component) {
|
17325 |
+
(0, _inherits3.default)(ClockPointer, _Component);
|
17326 |
+
|
17327 |
+
function ClockPointer() {
|
17328 |
+
var _ref;
|
17329 |
+
|
17330 |
+
var _temp, _this, _ret;
|
17331 |
+
|
17332 |
+
(0, _classCallCheck3.default)(this, ClockPointer);
|
17333 |
+
|
17334 |
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
17335 |
+
args[_key] = arguments[_key];
|
17336 |
+
}
|
17337 |
+
|
17338 |
+
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = ClockPointer.__proto__ || (0, _getPrototypeOf2.default)(ClockPointer)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
|
17339 |
+
inner: false
|
17340 |
+
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
|
17341 |
+
}
|
17342 |
+
|
17343 |
+
(0, _createClass3.default)(ClockPointer, [{
|
17344 |
+
key: 'componentWillMount',
|
17345 |
+
value: function componentWillMount() {
|
17346 |
+
this.setState({
|
17347 |
+
inner: (0, _timeUtils.isInner)(this.props)
|
17348 |
+
});
|
17349 |
+
}
|
17350 |
+
}, {
|
17351 |
+
key: 'componentWillReceiveProps',
|
17352 |
+
value: function componentWillReceiveProps(nextProps) {
|
17353 |
+
this.setState({
|
17354 |
+
inner: (0, _timeUtils.isInner)(nextProps)
|
17355 |
+
});
|
17356 |
+
}
|
17357 |
+
}, {
|
17358 |
+
key: 'render',
|
17359 |
+
value: function render() {
|
17360 |
+
if (this.props.value === null) {
|
17361 |
+
return _react2.default.createElement('span', null);
|
17362 |
+
}
|
17363 |
+
|
17364 |
+
var styles = getStyles(this.props, this.context, this.state);
|
17365 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
17366 |
+
|
17367 |
+
return _react2.default.createElement('div', { style: prepareStyles(styles.root) }, _react2.default.createElement('div', { style: prepareStyles(styles.mark) }));
|
17368 |
+
}
|
17369 |
+
}]);
|
17370 |
+
return ClockPointer;
|
17371 |
+
}(_react.Component);
|
17372 |
+
|
17373 |
+
ClockPointer.defaultProps = {
|
17374 |
+
hasSelected: false,
|
17375 |
+
value: null,
|
17376 |
+
type: 'minute'
|
17377 |
+
};
|
17378 |
+
ClockPointer.contextTypes = {
|
17379 |
+
muiTheme: _propTypes2.default.object.isRequired
|
17380 |
+
};
|
17381 |
+
ClockPointer.propTypes = process.env.NODE_ENV !== "production" ? {
|
17382 |
+
hasSelected: _propTypes2.default.bool,
|
17383 |
+
type: _propTypes2.default.oneOf(['hour', 'minute']),
|
17384 |
+
value: _propTypes2.default.number
|
17385 |
+
} : {};
|
17386 |
+
exports.default = ClockPointer;
|
17387 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
17388 |
+
|
17389 |
+
/***/ }),
|
17390 |
+
/* 208 */
|
17391 |
+
/***/ (function(module, exports, __webpack_require__) {
|
17392 |
+
|
17393 |
+
"use strict";
|
17394 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
17395 |
+
|
17396 |
+
Object.defineProperty(exports, "__esModule", {
|
17397 |
+
value: true
|
17398 |
+
});
|
17399 |
+
|
17400 |
+
var _extends2 = __webpack_require__(9);
|
17401 |
+
|
17402 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
17403 |
+
|
17404 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
17405 |
+
|
17406 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
17407 |
+
|
17408 |
+
var _getPrototypeOf = __webpack_require__(5);
|
17409 |
+
|
17410 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
17411 |
+
|
17412 |
+
var _classCallCheck2 = __webpack_require__(3);
|
17413 |
+
|
17414 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
17415 |
+
|
17416 |
+
var _createClass2 = __webpack_require__(4);
|
17417 |
+
|
17418 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
17419 |
+
|
17420 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
17421 |
+
|
17422 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
17423 |
+
|
17424 |
+
var _inherits2 = __webpack_require__(7);
|
17425 |
+
|
17426 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
17427 |
+
|
17428 |
+
var _simpleAssign = __webpack_require__(8);
|
17429 |
+
|
17430 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
17431 |
+
|
17432 |
+
var _react = __webpack_require__(0);
|
17433 |
+
|
17434 |
+
var _react2 = _interopRequireDefault(_react);
|
17435 |
+
|
17436 |
+
var _propTypes = __webpack_require__(2);
|
17437 |
+
|
17438 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
17439 |
+
|
17440 |
+
function _interopRequireDefault(obj) {
|
17441 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
17442 |
+
}
|
17443 |
+
|
17444 |
+
function getStyles(props, context) {
|
17445 |
+
var firstChild = props.firstChild,
|
17446 |
+
lastChild = props.lastChild;
|
17447 |
+
var _context$muiTheme = context.muiTheme,
|
17448 |
+
baseTheme = _context$muiTheme.baseTheme,
|
17449 |
+
button = _context$muiTheme.button,
|
17450 |
+
toolbar = _context$muiTheme.toolbar;
|
17451 |
+
|
17452 |
+
var marginHorizontal = baseTheme.spacing.desktopGutter;
|
17453 |
+
var marginVertical = (toolbar.height - button.height) / 2;
|
17454 |
+
|
17455 |
+
var styles = {
|
17456 |
+
root: {
|
17457 |
+
position: 'relative',
|
17458 |
+
marginLeft: firstChild ? -marginHorizontal : undefined,
|
17459 |
+
marginRight: lastChild ? -marginHorizontal : undefined,
|
17460 |
+
display: 'flex',
|
17461 |
+
justifyContent: 'space-between',
|
17462 |
+
alignItems: 'center'
|
17463 |
+
},
|
17464 |
+
dropDownMenu: {
|
17465 |
+
root: {
|
17466 |
+
color: toolbar.color, // removes hover color change, we want to keep it
|
17467 |
+
marginRight: baseTheme.spacing.desktopGutter,
|
17468 |
+
flex: 1,
|
17469 |
+
whiteSpace: 'nowrap'
|
17470 |
+
},
|
17471 |
+
controlBg: {
|
17472 |
+
backgroundColor: toolbar.menuHoverColor,
|
17473 |
+
borderRadius: 0
|
17474 |
+
},
|
17475 |
+
underline: {
|
17476 |
+
display: 'none'
|
17477 |
+
}
|
17478 |
+
},
|
17479 |
+
button: {
|
17480 |
+
margin: marginVertical + 'px ' + marginHorizontal + 'px',
|
17481 |
+
position: 'relative'
|
17482 |
+
},
|
17483 |
+
icon: {
|
17484 |
+
root: {
|
17485 |
+
cursor: 'pointer',
|
17486 |
+
lineHeight: toolbar.height + 'px',
|
17487 |
+
paddingLeft: baseTheme.spacing.desktopGutter
|
17488 |
+
}
|
17489 |
+
},
|
17490 |
+
span: {
|
17491 |
+
color: toolbar.iconColor,
|
17492 |
+
lineHeight: toolbar.height + 'px'
|
17493 |
+
}
|
17494 |
+
};
|
17495 |
+
|
17496 |
+
return styles;
|
17497 |
+
}
|
17498 |
+
|
17499 |
+
var ToolbarGroup = function (_Component) {
|
17500 |
+
(0, _inherits3.default)(ToolbarGroup, _Component);
|
17501 |
+
|
17502 |
+
function ToolbarGroup() {
|
17503 |
+
(0, _classCallCheck3.default)(this, ToolbarGroup);
|
17504 |
+
return (0, _possibleConstructorReturn3.default)(this, (ToolbarGroup.__proto__ || (0, _getPrototypeOf2.default)(ToolbarGroup)).apply(this, arguments));
|
17505 |
+
}
|
17506 |
+
|
17507 |
+
(0, _createClass3.default)(ToolbarGroup, [{
|
17508 |
+
key: 'handleMouseLeaveFontIcon',
|
17509 |
+
value: function handleMouseLeaveFontIcon(style) {
|
17510 |
+
return function (event) {
|
17511 |
+
event.target.style.zIndex = 'auto';
|
17512 |
+
event.target.style.color = style.root.color;
|
17513 |
+
};
|
17514 |
+
}
|
17515 |
+
}, {
|
17516 |
+
key: 'render',
|
17517 |
+
value: function render() {
|
17518 |
+
var _this2 = this;
|
17519 |
+
|
17520 |
+
var _props = this.props,
|
17521 |
+
children = _props.children,
|
17522 |
+
className = _props.className,
|
17523 |
+
firstChild = _props.firstChild,
|
17524 |
+
lastChild = _props.lastChild,
|
17525 |
+
style = _props.style,
|
17526 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['children', 'className', 'firstChild', 'lastChild', 'style']);
|
17527 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
17528 |
+
|
17529 |
+
var styles = getStyles(this.props, this.context);
|
17530 |
+
|
17531 |
+
var newChildren = _react2.default.Children.map(children, function (currentChild) {
|
17532 |
+
if (!currentChild) {
|
17533 |
+
return null;
|
17534 |
+
}
|
17535 |
+
if (!currentChild.type) {
|
17536 |
+
return currentChild;
|
17537 |
+
}
|
17538 |
+
switch (currentChild.type.muiName) {
|
17539 |
+
case 'DropDownMenu':
|
17540 |
+
return _react2.default.cloneElement(currentChild, {
|
17541 |
+
style: (0, _simpleAssign2.default)({}, styles.dropDownMenu.root, currentChild.props.style),
|
17542 |
+
underlineStyle: styles.dropDownMenu.underline
|
17543 |
+
});
|
17544 |
+
case 'RaisedButton':
|
17545 |
+
case 'FlatButton':
|
17546 |
+
return _react2.default.cloneElement(currentChild, {
|
17547 |
+
style: (0, _simpleAssign2.default)({}, styles.button, currentChild.props.style)
|
17548 |
+
});
|
17549 |
+
case 'FontIcon':
|
17550 |
+
return _react2.default.cloneElement(currentChild, {
|
17551 |
+
style: (0, _simpleAssign2.default)({}, styles.icon.root, currentChild.props.style),
|
17552 |
+
color: currentChild.props.color || _this2.context.muiTheme.toolbar.iconColor,
|
17553 |
+
hoverColor: currentChild.props.hoverColor || _this2.context.muiTheme.toolbar.hoverColor
|
17554 |
+
});
|
17555 |
+
case 'ToolbarSeparator':
|
17556 |
+
case 'ToolbarTitle':
|
17557 |
+
return _react2.default.cloneElement(currentChild, {
|
17558 |
+
style: (0, _simpleAssign2.default)({}, styles.span, currentChild.props.style)
|
17559 |
+
});
|
17560 |
+
default:
|
17561 |
+
return currentChild;
|
17562 |
+
}
|
17563 |
+
}, this);
|
17564 |
+
|
17565 |
+
return _react2.default.createElement('div', (0, _extends3.default)({}, other, { className: className, style: prepareStyles((0, _simpleAssign2.default)({}, styles.root, style)) }), newChildren);
|
17566 |
+
}
|
17567 |
+
}]);
|
17568 |
+
return ToolbarGroup;
|
17569 |
+
}(_react.Component);
|
17570 |
+
|
17571 |
+
ToolbarGroup.defaultProps = {
|
17572 |
+
firstChild: false,
|
17573 |
+
lastChild: false
|
17574 |
+
};
|
17575 |
+
ToolbarGroup.contextTypes = {
|
17576 |
+
muiTheme: _propTypes2.default.object.isRequired
|
17577 |
+
};
|
17578 |
+
ToolbarGroup.propTypes = process.env.NODE_ENV !== "production" ? {
|
17579 |
+
/**
|
17580 |
+
* Can be any node or number of nodes.
|
17581 |
+
*/
|
17582 |
+
children: _propTypes2.default.node,
|
17583 |
+
/**
|
17584 |
+
* The css class name of the root element.
|
17585 |
+
*/
|
17586 |
+
className: _propTypes2.default.string,
|
17587 |
+
/**
|
17588 |
+
* Set this to true for if the `ToolbarGroup` is the first child of `Toolbar`
|
17589 |
+
* to prevent setting the left gap.
|
17590 |
+
*/
|
17591 |
+
firstChild: _propTypes2.default.bool,
|
17592 |
+
/**
|
17593 |
+
* Set this to true for if the `ToolbarGroup` is the last child of `Toolbar`
|
17594 |
+
* to prevent setting the right gap.
|
17595 |
+
*/
|
17596 |
+
lastChild: _propTypes2.default.bool,
|
17597 |
+
/**
|
17598 |
+
* Override the inline-styles of the root element.
|
17599 |
+
*/
|
17600 |
+
style: _propTypes2.default.object
|
17601 |
+
} : {};
|
17602 |
+
exports.default = ToolbarGroup;
|
17603 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
17604 |
+
|
17605 |
+
/***/ }),
|
17606 |
+
/* 209 */
|
17607 |
+
/***/ (function(module, exports, __webpack_require__) {
|
17608 |
+
|
17609 |
+
"use strict";
|
17610 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
17611 |
+
|
17612 |
+
Object.defineProperty(exports, "__esModule", {
|
17613 |
+
value: true
|
17614 |
+
});
|
17615 |
+
|
17616 |
+
var _extends2 = __webpack_require__(9);
|
17617 |
+
|
17618 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
17619 |
+
|
17620 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
17621 |
+
|
17622 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
17623 |
+
|
17624 |
+
var _getPrototypeOf = __webpack_require__(5);
|
17625 |
+
|
17626 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
17627 |
+
|
17628 |
+
var _classCallCheck2 = __webpack_require__(3);
|
17629 |
+
|
17630 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
17631 |
+
|
17632 |
+
var _createClass2 = __webpack_require__(4);
|
17633 |
+
|
17634 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
17635 |
+
|
17636 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
17637 |
+
|
17638 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
17639 |
+
|
17640 |
+
var _inherits2 = __webpack_require__(7);
|
17641 |
+
|
17642 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
17643 |
+
|
17644 |
+
var _simpleAssign = __webpack_require__(8);
|
17645 |
+
|
17646 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
17647 |
+
|
17648 |
+
var _react = __webpack_require__(0);
|
17649 |
+
|
17650 |
+
var _react2 = _interopRequireDefault(_react);
|
17651 |
+
|
17652 |
+
var _propTypes = __webpack_require__(2);
|
17653 |
+
|
17654 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
17655 |
+
|
17656 |
+
function _interopRequireDefault(obj) {
|
17657 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
17658 |
+
}
|
17659 |
+
|
17660 |
+
function getStyles(props, context) {
|
17661 |
+
var _context$muiTheme = context.muiTheme,
|
17662 |
+
baseTheme = _context$muiTheme.baseTheme,
|
17663 |
+
toolbar = _context$muiTheme.toolbar;
|
17664 |
+
|
17665 |
+
return {
|
17666 |
+
root: {
|
17667 |
+
backgroundColor: toolbar.separatorColor,
|
17668 |
+
display: 'block',
|
17669 |
+
height: baseTheme.spacing.desktopGutterMore,
|
17670 |
+
marginLeft: baseTheme.spacing.desktopGutter,
|
17671 |
+
width: 1
|
17672 |
+
}
|
17673 |
+
};
|
17674 |
+
}
|
17675 |
+
|
17676 |
+
var ToolbarSeparator = function (_Component) {
|
17677 |
+
(0, _inherits3.default)(ToolbarSeparator, _Component);
|
17678 |
+
|
17679 |
+
function ToolbarSeparator() {
|
17680 |
+
(0, _classCallCheck3.default)(this, ToolbarSeparator);
|
17681 |
+
return (0, _possibleConstructorReturn3.default)(this, (ToolbarSeparator.__proto__ || (0, _getPrototypeOf2.default)(ToolbarSeparator)).apply(this, arguments));
|
17682 |
+
}
|
17683 |
+
|
17684 |
+
(0, _createClass3.default)(ToolbarSeparator, [{
|
17685 |
+
key: 'render',
|
17686 |
+
value: function render() {
|
17687 |
+
var _props = this.props,
|
17688 |
+
className = _props.className,
|
17689 |
+
style = _props.style,
|
17690 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['className', 'style']);
|
17691 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
17692 |
+
|
17693 |
+
var styles = getStyles(this.props, this.context);
|
17694 |
+
|
17695 |
+
return _react2.default.createElement('span', (0, _extends3.default)({}, other, { className: className, style: prepareStyles((0, _simpleAssign2.default)({}, styles.root, style)) }));
|
17696 |
+
}
|
17697 |
+
}]);
|
17698 |
+
return ToolbarSeparator;
|
17699 |
+
}(_react.Component);
|
17700 |
+
|
17701 |
+
ToolbarSeparator.muiName = 'ToolbarSeparator';
|
17702 |
+
ToolbarSeparator.contextTypes = {
|
17703 |
+
muiTheme: _propTypes2.default.object.isRequired
|
17704 |
+
};
|
17705 |
+
ToolbarSeparator.propTypes = process.env.NODE_ENV !== "production" ? {
|
17706 |
+
/**
|
17707 |
+
* The css class name of the root element.
|
17708 |
+
*/
|
17709 |
+
className: _propTypes2.default.string,
|
17710 |
+
/**
|
17711 |
+
* Override the inline-styles of the root element.
|
17712 |
+
*/
|
17713 |
+
style: _propTypes2.default.object
|
17714 |
+
} : {};
|
17715 |
+
exports.default = ToolbarSeparator;
|
17716 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
17717 |
+
|
17718 |
+
/***/ }),
|
17719 |
+
/* 210 */
|
17720 |
+
/***/ (function(module, exports, __webpack_require__) {
|
17721 |
+
|
17722 |
+
"use strict";
|
17723 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
17724 |
+
|
17725 |
+
Object.defineProperty(exports, "__esModule", {
|
17726 |
+
value: true
|
17727 |
+
});
|
17728 |
+
|
17729 |
+
var _extends2 = __webpack_require__(9);
|
17730 |
+
|
17731 |
+
var _extends3 = _interopRequireDefault(_extends2);
|
17732 |
+
|
17733 |
+
var _objectWithoutProperties2 = __webpack_require__(10);
|
17734 |
+
|
17735 |
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
17736 |
+
|
17737 |
+
var _getPrototypeOf = __webpack_require__(5);
|
17738 |
+
|
17739 |
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
17740 |
+
|
17741 |
+
var _classCallCheck2 = __webpack_require__(3);
|
17742 |
+
|
17743 |
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
17744 |
+
|
17745 |
+
var _createClass2 = __webpack_require__(4);
|
17746 |
+
|
17747 |
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
17748 |
+
|
17749 |
+
var _possibleConstructorReturn2 = __webpack_require__(6);
|
17750 |
+
|
17751 |
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
17752 |
+
|
17753 |
+
var _inherits2 = __webpack_require__(7);
|
17754 |
+
|
17755 |
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
17756 |
+
|
17757 |
+
var _simpleAssign = __webpack_require__(8);
|
17758 |
+
|
17759 |
+
var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
|
17760 |
+
|
17761 |
+
var _react = __webpack_require__(0);
|
17762 |
+
|
17763 |
+
var _react2 = _interopRequireDefault(_react);
|
17764 |
+
|
17765 |
+
var _propTypes = __webpack_require__(2);
|
17766 |
+
|
17767 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
17768 |
+
|
17769 |
+
function _interopRequireDefault(obj) {
|
17770 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
17771 |
+
}
|
17772 |
+
|
17773 |
+
function getStyles(props, context) {
|
17774 |
+
var _context$muiTheme = context.muiTheme,
|
17775 |
+
baseTheme = _context$muiTheme.baseTheme,
|
17776 |
+
toolbar = _context$muiTheme.toolbar;
|
17777 |
+
|
17778 |
+
return {
|
17779 |
+
root: {
|
17780 |
+
paddingRight: baseTheme.spacing.desktopGutterLess,
|
17781 |
+
lineHeight: toolbar.height + 'px',
|
17782 |
+
fontSize: toolbar.titleFontSize,
|
17783 |
+
fontFamily: baseTheme.fontFamily,
|
17784 |
+
position: 'relative',
|
17785 |
+
textOverflow: 'ellipsis',
|
17786 |
+
whiteSpace: 'nowrap',
|
17787 |
+
overflow: 'hidden'
|
17788 |
+
}
|
17789 |
+
};
|
17790 |
+
}
|
17791 |
+
|
17792 |
+
var ToolbarTitle = function (_Component) {
|
17793 |
+
(0, _inherits3.default)(ToolbarTitle, _Component);
|
17794 |
+
|
17795 |
+
function ToolbarTitle() {
|
17796 |
+
(0, _classCallCheck3.default)(this, ToolbarTitle);
|
17797 |
+
return (0, _possibleConstructorReturn3.default)(this, (ToolbarTitle.__proto__ || (0, _getPrototypeOf2.default)(ToolbarTitle)).apply(this, arguments));
|
17798 |
+
}
|
17799 |
+
|
17800 |
+
(0, _createClass3.default)(ToolbarTitle, [{
|
17801 |
+
key: 'render',
|
17802 |
+
value: function render() {
|
17803 |
+
var _props = this.props,
|
17804 |
+
style = _props.style,
|
17805 |
+
text = _props.text,
|
17806 |
+
other = (0, _objectWithoutProperties3.default)(_props, ['style', 'text']);
|
17807 |
+
var prepareStyles = this.context.muiTheme.prepareStyles;
|
17808 |
+
|
17809 |
+
var styles = getStyles(this.props, this.context);
|
17810 |
+
|
17811 |
+
return _react2.default.createElement('span', (0, _extends3.default)({
|
17812 |
+
style: prepareStyles((0, _simpleAssign2.default)({}, styles.root, style))
|
17813 |
+
}, other), text);
|
17814 |
+
}
|
17815 |
+
}]);
|
17816 |
+
return ToolbarTitle;
|
17817 |
+
}(_react.Component);
|
17818 |
+
|
17819 |
+
ToolbarTitle.muiName = 'ToolbarTitle';
|
17820 |
+
ToolbarTitle.contextTypes = {
|
17821 |
+
muiTheme: _propTypes2.default.object.isRequired
|
17822 |
+
};
|
17823 |
+
ToolbarTitle.propTypes = process.env.NODE_ENV !== "production" ? {
|
17824 |
+
/**
|
17825 |
+
* The css class name of the root element.
|
17826 |
+
*/
|
17827 |
+
className: _propTypes2.default.string,
|
17828 |
+
/**
|
17829 |
+
* Override the inline-styles of the root element.
|
17830 |
+
*/
|
17831 |
+
style: _propTypes2.default.object,
|
17832 |
+
/**
|
17833 |
+
* The text to be displayed.
|
17834 |
+
*/
|
17835 |
+
text: _propTypes2.default.node
|
17836 |
+
} : {};
|
17837 |
+
exports.default = ToolbarTitle;
|
17838 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
17839 |
+
|
17840 |
+
/***/ }),
|
17841 |
+
/* 211 */
|
17842 |
+
/***/ (function(module, exports, __webpack_require__) {
|
17843 |
+
|
17844 |
+
/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */
|
17845 |
+
var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
|
17846 |
+
|
17847 |
+
module.exports = freeGlobal;
|
17848 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(57)))
|
17849 |
+
|
17850 |
+
/***/ }),
|
17851 |
+
/* 212 */
|
17852 |
+
/***/ (function(module, exports, __webpack_require__) {
|
17853 |
+
|
17854 |
+
var baseFor = __webpack_require__(498),
|
17855 |
+
keys = __webpack_require__(70);
|
17856 |
+
|
17857 |
+
/**
|
17858 |
+
* The base implementation of `_.forOwn` without support for iteratee shorthands.
|
17859 |
+
*
|
17860 |
+
* @private
|
17861 |
+
* @param {Object} object The object to iterate over.
|
17862 |
+
* @param {Function} iteratee The function invoked per iteration.
|
17863 |
+
* @returns {Object} Returns `object`.
|
17864 |
+
*/
|
17865 |
+
function baseForOwn(object, iteratee) {
|
17866 |
+
return object && baseFor(object, iteratee, keys);
|
17867 |
+
}
|
17868 |
+
|
17869 |
+
module.exports = baseForOwn;
|
17870 |
+
|
17871 |
+
/***/ }),
|
17872 |
+
/* 213 */
|
17873 |
+
/***/ (function(module, exports, __webpack_require__) {
|
17874 |
+
|
17875 |
+
var baseTimes = __webpack_require__(500),
|
17876 |
+
isArguments = __webpack_require__(214),
|
17877 |
+
isArray = __webpack_require__(23),
|
17878 |
+
isBuffer = __webpack_require__(130),
|
17879 |
+
isIndex = __webpack_require__(215),
|
17880 |
+
isTypedArray = __webpack_require__(216);
|
17881 |
+
|
17882 |
+
/** Used for built-in method references. */
|
17883 |
+
var objectProto = Object.prototype;
|
17884 |
+
|
17885 |
+
/** Used to check objects for own properties. */
|
17886 |
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
17887 |
+
|
17888 |
+
/**
|
17889 |
+
* Creates an array of the enumerable property names of the array-like `value`.
|
17890 |
+
*
|
17891 |
+
* @private
|
17892 |
+
* @param {*} value The value to query.
|
17893 |
+
* @param {boolean} inherited Specify returning inherited property names.
|
17894 |
+
* @returns {Array} Returns the array of property names.
|
17895 |
+
*/
|
17896 |
+
function arrayLikeKeys(value, inherited) {
|
17897 |
+
var isArr = isArray(value),
|
17898 |
+
isArg = !isArr && isArguments(value),
|
17899 |
+
isBuff = !isArr && !isArg && isBuffer(value),
|
17900 |
+
isType = !isArr && !isArg && !isBuff && isTypedArray(value),
|
17901 |
+
skipIndexes = isArr || isArg || isBuff || isType,
|
17902 |
+
result = skipIndexes ? baseTimes(value.length, String) : [],
|
17903 |
+
length = result.length;
|
17904 |
+
|
17905 |
+
for (var key in value) {
|
17906 |
+
if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (
|
17907 |
+
// Safari 9 has enumerable `arguments.length` in strict mode.
|
17908 |
+
key == 'length' ||
|
17909 |
+
// Node.js 0.10 has enumerable non-index properties on buffers.
|
17910 |
+
isBuff && (key == 'offset' || key == 'parent') ||
|
17911 |
+
// PhantomJS 2 has enumerable non-index properties on typed arrays.
|
17912 |
+
isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') ||
|
17913 |
+
// Skip index properties.
|
17914 |
+
isIndex(key, length)))) {
|
17915 |
+
result.push(key);
|
17916 |
+
}
|
17917 |
+
}
|
17918 |
+
return result;
|
17919 |
+
}
|
17920 |
+
|
17921 |
+
module.exports = arrayLikeKeys;
|
17922 |
+
|
17923 |
+
/***/ }),
|
17924 |
+
/* 214 */
|
17925 |
+
/***/ (function(module, exports, __webpack_require__) {
|
17926 |
+
|
17927 |
+
var baseIsArguments = __webpack_require__(501),
|
17928 |
+
isObjectLike = __webpack_require__(32);
|
17929 |
+
|
17930 |
+
/** Used for built-in method references. */
|
17931 |
+
var objectProto = Object.prototype;
|
17932 |
+
|
17933 |
+
/** Used to check objects for own properties. */
|
17934 |
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
17935 |
+
|
17936 |
+
/** Built-in value references. */
|
17937 |
+
var propertyIsEnumerable = objectProto.propertyIsEnumerable;
|
17938 |
+
|
17939 |
+
/**
|
17940 |
+
* Checks if `value` is likely an `arguments` object.
|
17941 |
+
*
|
17942 |
+
* @static
|
17943 |
+
* @memberOf _
|
17944 |
+
* @since 0.1.0
|
17945 |
+
* @category Lang
|
17946 |
+
* @param {*} value The value to check.
|
17947 |
+
* @returns {boolean} Returns `true` if `value` is an `arguments` object,
|
17948 |
+
* else `false`.
|
17949 |
+
* @example
|
17950 |
+
*
|
17951 |
+
* _.isArguments(function() { return arguments; }());
|
17952 |
+
* // => true
|
17953 |
+
*
|
17954 |
+
* _.isArguments([1, 2, 3]);
|
17955 |
+
* // => false
|
17956 |
+
*/
|
17957 |
+
var isArguments = baseIsArguments(function () {
|
17958 |
+
return arguments;
|
17959 |
+
}()) ? baseIsArguments : function (value) {
|
17960 |
+
return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
|
17961 |
+
};
|
17962 |
+
|
17963 |
+
module.exports = isArguments;
|
17964 |
+
|
17965 |
+
/***/ }),
|
17966 |
+
/* 215 */
|
17967 |
+
/***/ (function(module, exports) {
|
17968 |
+
|
17969 |
+
/** Used as references for various `Number` constants. */
|
17970 |
+
var MAX_SAFE_INTEGER = 9007199254740991;
|
17971 |
+
|
17972 |
+
/** Used to detect unsigned integer values. */
|
17973 |
+
var reIsUint = /^(?:0|[1-9]\d*)$/;
|
17974 |
+
|
17975 |
+
/**
|
17976 |
+
* Checks if `value` is a valid array-like index.
|
17977 |
+
*
|
17978 |
+
* @private
|
17979 |
+
* @param {*} value The value to check.
|
17980 |
+
* @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
|
17981 |
+
* @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
|
17982 |
+
*/
|
17983 |
+
function isIndex(value, length) {
|
17984 |
+
var type = typeof value;
|
17985 |
+
length = length == null ? MAX_SAFE_INTEGER : length;
|
17986 |
+
|
17987 |
+
return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
|
17988 |
+
}
|
17989 |
+
|
17990 |
+
module.exports = isIndex;
|
17991 |
+
|
17992 |
+
/***/ }),
|
17993 |
+
/* 216 */
|
17994 |
+
/***/ (function(module, exports, __webpack_require__) {
|
17995 |
+
|
17996 |
+
var baseIsTypedArray = __webpack_require__(503),
|
17997 |
+
baseUnary = __webpack_require__(132),
|
17998 |
+
nodeUtil = __webpack_require__(133);
|
17999 |
+
|
18000 |
+
/* Node.js helper references. */
|
18001 |
+
var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
|
18002 |
+
|
18003 |
+
/**
|
18004 |
+
* Checks if `value` is classified as a typed array.
|
18005 |
+
*
|
18006 |
+
* @static
|
18007 |
+
* @memberOf _
|
18008 |
+
* @since 3.0.0
|
18009 |
+
* @category Lang
|
18010 |
+
* @param {*} value The value to check.
|
18011 |
+
* @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
|
18012 |
+
* @example
|
18013 |
+
*
|
18014 |
+
* _.isTypedArray(new Uint8Array);
|
18015 |
+
* // => true
|
18016 |
+
*
|
18017 |
+
* _.isTypedArray([]);
|
18018 |
+
* // => false
|
18019 |
+
*/
|
18020 |
+
var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
|
18021 |
+
|
18022 |
+
module.exports = isTypedArray;
|
18023 |
+
|
18024 |
+
/***/ }),
|
18025 |
+
/* 217 */
|
18026 |
+
/***/ (function(module, exports) {
|
18027 |
+
|
18028 |
+
/**
|
18029 |
+
* Creates a unary function that invokes `func` with its argument transformed.
|
18030 |
+
*
|
18031 |
+
* @private
|
18032 |
+
* @param {Function} func The function to wrap.
|
18033 |
+
* @param {Function} transform The argument transform.
|
18034 |
+
* @returns {Function} Returns the new function.
|
18035 |
+
*/
|
18036 |
+
function overArg(func, transform) {
|
18037 |
+
return function (arg) {
|
18038 |
+
return func(transform(arg));
|
18039 |
+
};
|
18040 |
+
}
|
18041 |
+
|
18042 |
+
module.exports = overArg;
|
18043 |
+
|
18044 |
+
/***/ }),
|
18045 |
+
/* 218 */
|
18046 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18047 |
+
|
18048 |
+
var baseGetTag = __webpack_require__(45),
|
18049 |
+
isObject = __webpack_require__(33);
|
18050 |
+
|
18051 |
+
/** `Object#toString` result references. */
|
18052 |
+
var asyncTag = '[object AsyncFunction]',
|
18053 |
+
funcTag = '[object Function]',
|
18054 |
+
genTag = '[object GeneratorFunction]',
|
18055 |
+
proxyTag = '[object Proxy]';
|
18056 |
+
|
18057 |
+
/**
|
18058 |
+
* Checks if `value` is classified as a `Function` object.
|
18059 |
+
*
|
18060 |
+
* @static
|
18061 |
+
* @memberOf _
|
18062 |
+
* @since 0.1.0
|
18063 |
+
* @category Lang
|
18064 |
+
* @param {*} value The value to check.
|
18065 |
+
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
|
18066 |
+
* @example
|
18067 |
+
*
|
18068 |
+
* _.isFunction(_);
|
18069 |
+
* // => true
|
18070 |
+
*
|
18071 |
+
* _.isFunction(/abc/);
|
18072 |
+
* // => false
|
18073 |
+
*/
|
18074 |
+
function isFunction(value) {
|
18075 |
+
if (!isObject(value)) {
|
18076 |
+
return false;
|
18077 |
+
}
|
18078 |
+
// The use of `Object#toString` avoids issues with the `typeof` operator
|
18079 |
+
// in Safari 9 which returns 'object' for typed arrays and other constructors.
|
18080 |
+
var tag = baseGetTag(value);
|
18081 |
+
return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
|
18082 |
+
}
|
18083 |
+
|
18084 |
+
module.exports = isFunction;
|
18085 |
+
|
18086 |
+
/***/ }),
|
18087 |
+
/* 219 */
|
18088 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18089 |
+
|
18090 |
+
var identity = __webpack_require__(220);
|
18091 |
+
|
18092 |
+
/**
|
18093 |
+
* Casts `value` to `identity` if it's not a function.
|
18094 |
+
*
|
18095 |
+
* @private
|
18096 |
+
* @param {*} value The value to inspect.
|
18097 |
+
* @returns {Function} Returns cast function.
|
18098 |
+
*/
|
18099 |
+
function castFunction(value) {
|
18100 |
+
return typeof value == 'function' ? value : identity;
|
18101 |
+
}
|
18102 |
+
|
18103 |
+
module.exports = castFunction;
|
18104 |
+
|
18105 |
+
/***/ }),
|
18106 |
+
/* 220 */
|
18107 |
+
/***/ (function(module, exports) {
|
18108 |
+
|
18109 |
+
/**
|
18110 |
+
* This method returns the first argument it receives.
|
18111 |
+
*
|
18112 |
+
* @static
|
18113 |
+
* @since 0.1.0
|
18114 |
+
* @memberOf _
|
18115 |
+
* @category Util
|
18116 |
+
* @param {*} value Any value.
|
18117 |
+
* @returns {*} Returns `value`.
|
18118 |
+
* @example
|
18119 |
+
*
|
18120 |
+
* var object = { 'a': 1 };
|
18121 |
+
*
|
18122 |
+
* console.log(_.identity(object) === object);
|
18123 |
+
* // => true
|
18124 |
+
*/
|
18125 |
+
function identity(value) {
|
18126 |
+
return value;
|
18127 |
+
}
|
18128 |
+
|
18129 |
+
module.exports = identity;
|
18130 |
+
|
18131 |
+
/***/ }),
|
18132 |
+
/* 221 */
|
18133 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18134 |
+
|
18135 |
+
var baseGetTag = __webpack_require__(45),
|
18136 |
+
getPrototype = __webpack_require__(135),
|
18137 |
+
isObjectLike = __webpack_require__(32);
|
18138 |
+
|
18139 |
+
/** `Object#toString` result references. */
|
18140 |
+
var objectTag = '[object Object]';
|
18141 |
+
|
18142 |
+
/** Used for built-in method references. */
|
18143 |
+
var funcProto = Function.prototype,
|
18144 |
+
objectProto = Object.prototype;
|
18145 |
+
|
18146 |
+
/** Used to resolve the decompiled source of functions. */
|
18147 |
+
var funcToString = funcProto.toString;
|
18148 |
+
|
18149 |
+
/** Used to check objects for own properties. */
|
18150 |
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
18151 |
+
|
18152 |
+
/** Used to infer the `Object` constructor. */
|
18153 |
+
var objectCtorString = funcToString.call(Object);
|
18154 |
+
|
18155 |
+
/**
|
18156 |
+
* Checks if `value` is a plain object, that is, an object created by the
|
18157 |
+
* `Object` constructor or one with a `[[Prototype]]` of `null`.
|
18158 |
+
*
|
18159 |
+
* @static
|
18160 |
+
* @memberOf _
|
18161 |
+
* @since 0.8.0
|
18162 |
+
* @category Lang
|
18163 |
+
* @param {*} value The value to check.
|
18164 |
+
* @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
|
18165 |
+
* @example
|
18166 |
+
*
|
18167 |
+
* function Foo() {
|
18168 |
+
* this.a = 1;
|
18169 |
+
* }
|
18170 |
+
*
|
18171 |
+
* _.isPlainObject(new Foo);
|
18172 |
+
* // => false
|
18173 |
+
*
|
18174 |
+
* _.isPlainObject([1, 2, 3]);
|
18175 |
+
* // => false
|
18176 |
+
*
|
18177 |
+
* _.isPlainObject({ 'x': 0, 'y': 0 });
|
18178 |
+
* // => true
|
18179 |
+
*
|
18180 |
+
* _.isPlainObject(Object.create(null));
|
18181 |
+
* // => true
|
18182 |
+
*/
|
18183 |
+
function isPlainObject(value) {
|
18184 |
+
if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
|
18185 |
+
return false;
|
18186 |
+
}
|
18187 |
+
var proto = getPrototype(value);
|
18188 |
+
if (proto === null) {
|
18189 |
+
return true;
|
18190 |
+
}
|
18191 |
+
var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
|
18192 |
+
return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
|
18193 |
+
}
|
18194 |
+
|
18195 |
+
module.exports = isPlainObject;
|
18196 |
+
|
18197 |
+
/***/ }),
|
18198 |
+
/* 222 */
|
18199 |
+
/***/ (function(module, exports) {
|
18200 |
+
|
18201 |
+
/**
|
18202 |
+
* A specialized version of `_.map` for arrays without support for iteratee
|
18203 |
+
* shorthands.
|
18204 |
+
*
|
18205 |
+
* @private
|
18206 |
+
* @param {Array} [array] The array to iterate over.
|
18207 |
+
* @param {Function} iteratee The function invoked per iteration.
|
18208 |
+
* @returns {Array} Returns the new mapped array.
|
18209 |
+
*/
|
18210 |
+
function arrayMap(array, iteratee) {
|
18211 |
+
var index = -1,
|
18212 |
+
length = array == null ? 0 : array.length,
|
18213 |
+
result = Array(length);
|
18214 |
+
|
18215 |
+
while (++index < length) {
|
18216 |
+
result[index] = iteratee(array[index], index, array);
|
18217 |
+
}
|
18218 |
+
return result;
|
18219 |
+
}
|
18220 |
+
|
18221 |
+
module.exports = arrayMap;
|
18222 |
+
|
18223 |
+
/***/ }),
|
18224 |
+
/* 223 */
|
18225 |
+
/***/ (function(module, exports) {
|
18226 |
+
|
18227 |
+
/** Used for built-in method references. */
|
18228 |
+
var funcProto = Function.prototype;
|
18229 |
+
|
18230 |
+
/** Used to resolve the decompiled source of functions. */
|
18231 |
+
var funcToString = funcProto.toString;
|
18232 |
+
|
18233 |
+
/**
|
18234 |
+
* Converts `func` to its source code.
|
18235 |
+
*
|
18236 |
+
* @private
|
18237 |
+
* @param {Function} func The function to convert.
|
18238 |
+
* @returns {string} Returns the source code.
|
18239 |
+
*/
|
18240 |
+
function toSource(func) {
|
18241 |
+
if (func != null) {
|
18242 |
+
try {
|
18243 |
+
return funcToString.call(func);
|
18244 |
+
} catch (e) {}
|
18245 |
+
try {
|
18246 |
+
return func + '';
|
18247 |
+
} catch (e) {}
|
18248 |
+
}
|
18249 |
+
return '';
|
18250 |
+
}
|
18251 |
+
|
18252 |
+
module.exports = toSource;
|
18253 |
+
|
18254 |
+
/***/ }),
|
18255 |
+
/* 224 */
|
18256 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18257 |
+
|
18258 |
+
var baseIsEqualDeep = __webpack_require__(535),
|
18259 |
+
isObjectLike = __webpack_require__(32);
|
18260 |
+
|
18261 |
+
/**
|
18262 |
+
* The base implementation of `_.isEqual` which supports partial comparisons
|
18263 |
+
* and tracks traversed objects.
|
18264 |
+
*
|
18265 |
+
* @private
|
18266 |
+
* @param {*} value The value to compare.
|
18267 |
+
* @param {*} other The other value to compare.
|
18268 |
+
* @param {boolean} bitmask The bitmask flags.
|
18269 |
+
* 1 - Unordered comparison
|
18270 |
+
* 2 - Partial comparison
|
18271 |
+
* @param {Function} [customizer] The function to customize comparisons.
|
18272 |
+
* @param {Object} [stack] Tracks traversed `value` and `other` objects.
|
18273 |
+
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
18274 |
+
*/
|
18275 |
+
function baseIsEqual(value, other, bitmask, customizer, stack) {
|
18276 |
+
if (value === other) {
|
18277 |
+
return true;
|
18278 |
+
}
|
18279 |
+
if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {
|
18280 |
+
return value !== value && other !== other;
|
18281 |
+
}
|
18282 |
+
return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
|
18283 |
+
}
|
18284 |
+
|
18285 |
+
module.exports = baseIsEqual;
|
18286 |
+
|
18287 |
+
/***/ }),
|
18288 |
+
/* 225 */
|
18289 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18290 |
+
|
18291 |
+
var SetCache = __webpack_require__(536),
|
18292 |
+
arraySome = __webpack_require__(539),
|
18293 |
+
cacheHas = __webpack_require__(540);
|
18294 |
+
|
18295 |
+
/** Used to compose bitmasks for value comparisons. */
|
18296 |
+
var COMPARE_PARTIAL_FLAG = 1,
|
18297 |
+
COMPARE_UNORDERED_FLAG = 2;
|
18298 |
+
|
18299 |
+
/**
|
18300 |
+
* A specialized version of `baseIsEqualDeep` for arrays with support for
|
18301 |
+
* partial deep comparisons.
|
18302 |
+
*
|
18303 |
+
* @private
|
18304 |
+
* @param {Array} array The array to compare.
|
18305 |
+
* @param {Array} other The other array to compare.
|
18306 |
+
* @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
|
18307 |
+
* @param {Function} customizer The function to customize comparisons.
|
18308 |
+
* @param {Function} equalFunc The function to determine equivalents of values.
|
18309 |
+
* @param {Object} stack Tracks traversed `array` and `other` objects.
|
18310 |
+
* @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
|
18311 |
+
*/
|
18312 |
+
function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
|
18313 |
+
var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
|
18314 |
+
arrLength = array.length,
|
18315 |
+
othLength = other.length;
|
18316 |
+
|
18317 |
+
if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
|
18318 |
+
return false;
|
18319 |
+
}
|
18320 |
+
// Assume cyclic values are equal.
|
18321 |
+
var stacked = stack.get(array);
|
18322 |
+
if (stacked && stack.get(other)) {
|
18323 |
+
return stacked == other;
|
18324 |
+
}
|
18325 |
+
var index = -1,
|
18326 |
+
result = true,
|
18327 |
+
seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined;
|
18328 |
+
|
18329 |
+
stack.set(array, other);
|
18330 |
+
stack.set(other, array);
|
18331 |
+
|
18332 |
+
// Ignore non-index properties.
|
18333 |
+
while (++index < arrLength) {
|
18334 |
+
var arrValue = array[index],
|
18335 |
+
othValue = other[index];
|
18336 |
+
|
18337 |
+
if (customizer) {
|
18338 |
+
var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
|
18339 |
+
}
|
18340 |
+
if (compared !== undefined) {
|
18341 |
+
if (compared) {
|
18342 |
+
continue;
|
18343 |
+
}
|
18344 |
+
result = false;
|
18345 |
+
break;
|
18346 |
+
}
|
18347 |
+
// Recursively compare arrays (susceptible to call stack limits).
|
18348 |
+
if (seen) {
|
18349 |
+
if (!arraySome(other, function (othValue, othIndex) {
|
18350 |
+
if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
|
18351 |
+
return seen.push(othIndex);
|
18352 |
+
}
|
18353 |
+
})) {
|
18354 |
+
result = false;
|
18355 |
+
break;
|
18356 |
+
}
|
18357 |
+
} else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
|
18358 |
+
result = false;
|
18359 |
+
break;
|
18360 |
+
}
|
18361 |
+
}
|
18362 |
+
stack['delete'](array);
|
18363 |
+
stack['delete'](other);
|
18364 |
+
return result;
|
18365 |
+
}
|
18366 |
+
|
18367 |
+
module.exports = equalArrays;
|
18368 |
+
|
18369 |
+
/***/ }),
|
18370 |
+
/* 226 */
|
18371 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18372 |
+
|
18373 |
+
var root = __webpack_require__(28);
|
18374 |
+
|
18375 |
+
/** Built-in value references. */
|
18376 |
+
var Uint8Array = root.Uint8Array;
|
18377 |
+
|
18378 |
+
module.exports = Uint8Array;
|
18379 |
+
|
18380 |
+
/***/ }),
|
18381 |
+
/* 227 */
|
18382 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18383 |
+
|
18384 |
+
var baseGetAllKeys = __webpack_require__(228),
|
18385 |
+
getSymbols = __webpack_require__(140),
|
18386 |
+
keys = __webpack_require__(70);
|
18387 |
+
|
18388 |
+
/**
|
18389 |
+
* Creates an array of own enumerable property names and symbols of `object`.
|
18390 |
+
*
|
18391 |
+
* @private
|
18392 |
+
* @param {Object} object The object to query.
|
18393 |
+
* @returns {Array} Returns the array of property names and symbols.
|
18394 |
+
*/
|
18395 |
+
function getAllKeys(object) {
|
18396 |
+
return baseGetAllKeys(object, keys, getSymbols);
|
18397 |
+
}
|
18398 |
+
|
18399 |
+
module.exports = getAllKeys;
|
18400 |
+
|
18401 |
+
/***/ }),
|
18402 |
+
/* 228 */
|
18403 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18404 |
+
|
18405 |
+
var arrayPush = __webpack_require__(229),
|
18406 |
+
isArray = __webpack_require__(23);
|
18407 |
+
|
18408 |
+
/**
|
18409 |
+
* The base implementation of `getAllKeys` and `getAllKeysIn` which uses
|
18410 |
+
* `keysFunc` and `symbolsFunc` to get the enumerable property names and
|
18411 |
+
* symbols of `object`.
|
18412 |
+
*
|
18413 |
+
* @private
|
18414 |
+
* @param {Object} object The object to query.
|
18415 |
+
* @param {Function} keysFunc The function to get the keys of `object`.
|
18416 |
+
* @param {Function} symbolsFunc The function to get the symbols of `object`.
|
18417 |
+
* @returns {Array} Returns the array of property names and symbols.
|
18418 |
+
*/
|
18419 |
+
function baseGetAllKeys(object, keysFunc, symbolsFunc) {
|
18420 |
+
var result = keysFunc(object);
|
18421 |
+
return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
|
18422 |
+
}
|
18423 |
+
|
18424 |
+
module.exports = baseGetAllKeys;
|
18425 |
+
|
18426 |
+
/***/ }),
|
18427 |
+
/* 229 */
|
18428 |
+
/***/ (function(module, exports) {
|
18429 |
+
|
18430 |
+
/**
|
18431 |
+
* Appends the elements of `values` to `array`.
|
18432 |
+
*
|
18433 |
+
* @private
|
18434 |
+
* @param {Array} array The array to modify.
|
18435 |
+
* @param {Array} values The values to append.
|
18436 |
+
* @returns {Array} Returns `array`.
|
18437 |
+
*/
|
18438 |
+
function arrayPush(array, values) {
|
18439 |
+
var index = -1,
|
18440 |
+
length = values.length,
|
18441 |
+
offset = array.length;
|
18442 |
+
|
18443 |
+
while (++index < length) {
|
18444 |
+
array[offset + index] = values[index];
|
18445 |
+
}
|
18446 |
+
return array;
|
18447 |
+
}
|
18448 |
+
|
18449 |
+
module.exports = arrayPush;
|
18450 |
+
|
18451 |
+
/***/ }),
|
18452 |
+
/* 230 */
|
18453 |
+
/***/ (function(module, exports) {
|
18454 |
+
|
18455 |
+
/**
|
18456 |
+
* This method returns a new empty array.
|
18457 |
+
*
|
18458 |
+
* @static
|
18459 |
+
* @memberOf _
|
18460 |
+
* @since 4.13.0
|
18461 |
+
* @category Util
|
18462 |
+
* @returns {Array} Returns the new empty array.
|
18463 |
+
* @example
|
18464 |
+
*
|
18465 |
+
* var arrays = _.times(2, _.stubArray);
|
18466 |
+
*
|
18467 |
+
* console.log(arrays);
|
18468 |
+
* // => [[], []]
|
18469 |
+
*
|
18470 |
+
* console.log(arrays[0] === arrays[1]);
|
18471 |
+
* // => false
|
18472 |
+
*/
|
18473 |
+
function stubArray() {
|
18474 |
+
return [];
|
18475 |
+
}
|
18476 |
+
|
18477 |
+
module.exports = stubArray;
|
18478 |
+
|
18479 |
+
/***/ }),
|
18480 |
+
/* 231 */
|
18481 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18482 |
+
|
18483 |
+
var isObject = __webpack_require__(33);
|
18484 |
+
|
18485 |
+
/**
|
18486 |
+
* Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
|
18487 |
+
*
|
18488 |
+
* @private
|
18489 |
+
* @param {*} value The value to check.
|
18490 |
+
* @returns {boolean} Returns `true` if `value` if suitable for strict
|
18491 |
+
* equality comparisons, else `false`.
|
18492 |
+
*/
|
18493 |
+
function isStrictComparable(value) {
|
18494 |
+
return value === value && !isObject(value);
|
18495 |
+
}
|
18496 |
+
|
18497 |
+
module.exports = isStrictComparable;
|
18498 |
+
|
18499 |
+
/***/ }),
|
18500 |
+
/* 232 */
|
18501 |
+
/***/ (function(module, exports) {
|
18502 |
+
|
18503 |
+
/**
|
18504 |
+
* A specialized version of `matchesProperty` for source values suitable
|
18505 |
+
* for strict equality comparisons, i.e. `===`.
|
18506 |
+
*
|
18507 |
+
* @private
|
18508 |
+
* @param {string} key The key of the property to get.
|
18509 |
+
* @param {*} srcValue The value to match.
|
18510 |
+
* @returns {Function} Returns the new spec function.
|
18511 |
+
*/
|
18512 |
+
function matchesStrictComparable(key, srcValue) {
|
18513 |
+
return function (object) {
|
18514 |
+
if (object == null) {
|
18515 |
+
return false;
|
18516 |
+
}
|
18517 |
+
return object[key] === srcValue && (srcValue !== undefined || key in Object(object));
|
18518 |
+
};
|
18519 |
+
}
|
18520 |
+
|
18521 |
+
module.exports = matchesStrictComparable;
|
18522 |
+
|
18523 |
+
/***/ }),
|
18524 |
+
/* 233 */
|
18525 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18526 |
+
|
18527 |
+
var castPath = __webpack_require__(234),
|
18528 |
+
toKey = __webpack_require__(88);
|
18529 |
+
|
18530 |
+
/**
|
18531 |
+
* The base implementation of `_.get` without support for default values.
|
18532 |
+
*
|
18533 |
+
* @private
|
18534 |
+
* @param {Object} object The object to query.
|
18535 |
+
* @param {Array|string} path The path of the property to get.
|
18536 |
+
* @returns {*} Returns the resolved value.
|
18537 |
+
*/
|
18538 |
+
function baseGet(object, path) {
|
18539 |
+
path = castPath(path, object);
|
18540 |
+
|
18541 |
+
var index = 0,
|
18542 |
+
length = path.length;
|
18543 |
+
|
18544 |
+
while (object != null && index < length) {
|
18545 |
+
object = object[toKey(path[index++])];
|
18546 |
+
}
|
18547 |
+
return index && index == length ? object : undefined;
|
18548 |
+
}
|
18549 |
+
|
18550 |
+
module.exports = baseGet;
|
18551 |
+
|
18552 |
+
/***/ }),
|
18553 |
+
/* 234 */
|
18554 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18555 |
+
|
18556 |
+
var isArray = __webpack_require__(23),
|
18557 |
+
isKey = __webpack_require__(141),
|
18558 |
+
stringToPath = __webpack_require__(553),
|
18559 |
+
toString = __webpack_require__(556);
|
18560 |
+
|
18561 |
+
/**
|
18562 |
+
* Casts `value` to a path array if it's not one.
|
18563 |
+
*
|
18564 |
+
* @private
|
18565 |
+
* @param {*} value The value to inspect.
|
18566 |
+
* @param {Object} [object] The object to query keys on.
|
18567 |
+
* @returns {Array} Returns the cast property path array.
|
18568 |
+
*/
|
18569 |
+
function castPath(value, object) {
|
18570 |
+
if (isArray(value)) {
|
18571 |
+
return value;
|
18572 |
+
}
|
18573 |
+
return isKey(value, object) ? [value] : stringToPath(toString(value));
|
18574 |
+
}
|
18575 |
+
|
18576 |
+
module.exports = castPath;
|
18577 |
+
|
18578 |
+
/***/ }),
|
18579 |
+
/* 235 */
|
18580 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18581 |
+
|
18582 |
+
var baseForOwn = __webpack_require__(212),
|
18583 |
+
createBaseEach = __webpack_require__(565);
|
18584 |
+
|
18585 |
+
/**
|
18586 |
+
* The base implementation of `_.forEach` without support for iteratee shorthands.
|
18587 |
+
*
|
18588 |
+
* @private
|
18589 |
+
* @param {Array|Object} collection The collection to iterate over.
|
18590 |
+
* @param {Function} iteratee The function invoked per iteration.
|
18591 |
+
* @returns {Array|Object} Returns `collection`.
|
18592 |
+
*/
|
18593 |
+
var baseEach = createBaseEach(baseForOwn);
|
18594 |
+
|
18595 |
+
module.exports = baseEach;
|
18596 |
+
|
18597 |
+
/***/ }),
|
18598 |
+
/* 236 */
|
18599 |
+
/***/ (function(module, exports) {
|
18600 |
+
|
18601 |
+
/**
|
18602 |
+
* A specialized version of `_.forEach` for arrays without support for
|
18603 |
+
* iteratee shorthands.
|
18604 |
+
*
|
18605 |
+
* @private
|
18606 |
+
* @param {Array} [array] The array to iterate over.
|
18607 |
+
* @param {Function} iteratee The function invoked per iteration.
|
18608 |
+
* @returns {Array} Returns `array`.
|
18609 |
+
*/
|
18610 |
+
function arrayEach(array, iteratee) {
|
18611 |
+
var index = -1,
|
18612 |
+
length = array == null ? 0 : array.length;
|
18613 |
+
|
18614 |
+
while (++index < length) {
|
18615 |
+
if (iteratee(array[index], index, array) === false) {
|
18616 |
+
break;
|
18617 |
+
}
|
18618 |
+
}
|
18619 |
+
return array;
|
18620 |
+
}
|
18621 |
+
|
18622 |
+
module.exports = arrayEach;
|
18623 |
+
|
18624 |
+
/***/ }),
|
18625 |
+
/* 237 */
|
18626 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18627 |
+
|
18628 |
+
var baseAssignValue = __webpack_require__(238),
|
18629 |
+
eq = __webpack_require__(137);
|
18630 |
+
|
18631 |
+
/** Used for built-in method references. */
|
18632 |
+
var objectProto = Object.prototype;
|
18633 |
+
|
18634 |
+
/** Used to check objects for own properties. */
|
18635 |
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
18636 |
+
|
18637 |
+
/**
|
18638 |
+
* Assigns `value` to `key` of `object` if the existing value is not equivalent
|
18639 |
+
* using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
|
18640 |
+
* for equality comparisons.
|
18641 |
+
*
|
18642 |
+
* @private
|
18643 |
+
* @param {Object} object The object to modify.
|
18644 |
+
* @param {string} key The key of the property to assign.
|
18645 |
+
* @param {*} value The value to assign.
|
18646 |
+
*/
|
18647 |
+
function assignValue(object, key, value) {
|
18648 |
+
var objValue = object[key];
|
18649 |
+
if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || value === undefined && !(key in object)) {
|
18650 |
+
baseAssignValue(object, key, value);
|
18651 |
+
}
|
18652 |
+
}
|
18653 |
+
|
18654 |
+
module.exports = assignValue;
|
18655 |
+
|
18656 |
+
/***/ }),
|
18657 |
+
/* 238 */
|
18658 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18659 |
+
|
18660 |
+
var defineProperty = __webpack_require__(569);
|
18661 |
+
|
18662 |
+
/**
|
18663 |
+
* The base implementation of `assignValue` and `assignMergeValue` without
|
18664 |
+
* value checks.
|
18665 |
+
*
|
18666 |
+
* @private
|
18667 |
+
* @param {Object} object The object to modify.
|
18668 |
+
* @param {string} key The key of the property to assign.
|
18669 |
+
* @param {*} value The value to assign.
|
18670 |
+
*/
|
18671 |
+
function baseAssignValue(object, key, value) {
|
18672 |
+
if (key == '__proto__' && defineProperty) {
|
18673 |
+
defineProperty(object, key, {
|
18674 |
+
'configurable': true,
|
18675 |
+
'enumerable': true,
|
18676 |
+
'value': value,
|
18677 |
+
'writable': true
|
18678 |
+
});
|
18679 |
+
} else {
|
18680 |
+
object[key] = value;
|
18681 |
+
}
|
18682 |
+
}
|
18683 |
+
|
18684 |
+
module.exports = baseAssignValue;
|
18685 |
+
|
18686 |
+
/***/ }),
|
18687 |
+
/* 239 */
|
18688 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18689 |
+
|
18690 |
+
var arrayLikeKeys = __webpack_require__(213),
|
18691 |
+
baseKeysIn = __webpack_require__(572),
|
18692 |
+
isArrayLike = __webpack_require__(81);
|
18693 |
+
|
18694 |
+
/**
|
18695 |
+
* Creates an array of the own and inherited enumerable property names of `object`.
|
18696 |
+
*
|
18697 |
+
* **Note:** Non-object values are coerced to objects.
|
18698 |
+
*
|
18699 |
+
* @static
|
18700 |
+
* @memberOf _
|
18701 |
+
* @since 3.0.0
|
18702 |
+
* @category Object
|
18703 |
+
* @param {Object} object The object to query.
|
18704 |
+
* @returns {Array} Returns the array of property names.
|
18705 |
+
* @example
|
18706 |
+
*
|
18707 |
+
* function Foo() {
|
18708 |
+
* this.a = 1;
|
18709 |
+
* this.b = 2;
|
18710 |
+
* }
|
18711 |
+
*
|
18712 |
+
* Foo.prototype.c = 3;
|
18713 |
+
*
|
18714 |
+
* _.keysIn(new Foo);
|
18715 |
+
* // => ['a', 'b', 'c'] (iteration order is not guaranteed)
|
18716 |
+
*/
|
18717 |
+
function keysIn(object) {
|
18718 |
+
return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
|
18719 |
+
}
|
18720 |
+
|
18721 |
+
module.exports = keysIn;
|
18722 |
+
|
18723 |
+
/***/ }),
|
18724 |
+
/* 240 */
|
18725 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18726 |
+
|
18727 |
+
var arrayPush = __webpack_require__(229),
|
18728 |
+
getPrototype = __webpack_require__(135),
|
18729 |
+
getSymbols = __webpack_require__(140),
|
18730 |
+
stubArray = __webpack_require__(230);
|
18731 |
+
|
18732 |
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
18733 |
+
var nativeGetSymbols = Object.getOwnPropertySymbols;
|
18734 |
+
|
18735 |
+
/**
|
18736 |
+
* Creates an array of the own and inherited enumerable symbols of `object`.
|
18737 |
+
*
|
18738 |
+
* @private
|
18739 |
+
* @param {Object} object The object to query.
|
18740 |
+
* @returns {Array} Returns the array of symbols.
|
18741 |
+
*/
|
18742 |
+
var getSymbolsIn = !nativeGetSymbols ? stubArray : function (object) {
|
18743 |
+
var result = [];
|
18744 |
+
while (object) {
|
18745 |
+
arrayPush(result, getSymbols(object));
|
18746 |
+
object = getPrototype(object);
|
18747 |
+
}
|
18748 |
+
return result;
|
18749 |
+
};
|
18750 |
+
|
18751 |
+
module.exports = getSymbolsIn;
|
18752 |
+
|
18753 |
+
/***/ }),
|
18754 |
+
/* 241 */
|
18755 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18756 |
+
|
18757 |
+
"use strict";
|
18758 |
+
|
18759 |
+
|
18760 |
+
Object.defineProperty(exports, "__esModule", {
|
18761 |
+
value: true
|
18762 |
+
});
|
18763 |
+
exports.Checkboard = undefined;
|
18764 |
+
|
18765 |
+
var _react = __webpack_require__(0);
|
18766 |
+
|
18767 |
+
var _react2 = _interopRequireDefault(_react);
|
18768 |
+
|
18769 |
+
var _reactcss = __webpack_require__(11);
|
18770 |
+
|
18771 |
+
var _reactcss2 = _interopRequireDefault(_reactcss);
|
18772 |
+
|
18773 |
+
var _checkboard = __webpack_require__(597);
|
18774 |
+
|
18775 |
+
var checkboard = _interopRequireWildcard(_checkboard);
|
18776 |
+
|
18777 |
+
function _interopRequireWildcard(obj) {
|
18778 |
+
if (obj && obj.__esModule) {
|
18779 |
+
return obj;
|
18780 |
+
} else {
|
18781 |
+
var newObj = {};if (obj != null) {
|
18782 |
+
for (var key in obj) {
|
18783 |
+
if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];
|
18784 |
+
}
|
18785 |
+
}newObj.default = obj;return newObj;
|
18786 |
+
}
|
18787 |
+
}
|
18788 |
+
|
18789 |
+
function _interopRequireDefault(obj) {
|
18790 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
18791 |
+
}
|
18792 |
+
|
18793 |
+
var Checkboard = exports.Checkboard = function Checkboard(_ref) {
|
18794 |
+
var white = _ref.white,
|
18795 |
+
grey = _ref.grey,
|
18796 |
+
size = _ref.size,
|
18797 |
+
renderers = _ref.renderers,
|
18798 |
+
borderRadius = _ref.borderRadius,
|
18799 |
+
boxShadow = _ref.boxShadow;
|
18800 |
+
|
18801 |
+
var styles = (0, _reactcss2.default)({
|
18802 |
+
'default': {
|
18803 |
+
grid: {
|
18804 |
+
borderRadius: borderRadius,
|
18805 |
+
boxShadow: boxShadow,
|
18806 |
+
absolute: '0px 0px 0px 0px',
|
18807 |
+
background: 'url(' + checkboard.get(white, grey, size, renderers.canvas) + ') center left'
|
18808 |
+
}
|
18809 |
+
}
|
18810 |
+
});
|
18811 |
+
|
18812 |
+
return _react2.default.createElement('div', { style: styles.grid });
|
18813 |
+
};
|
18814 |
+
|
18815 |
+
Checkboard.defaultProps = {
|
18816 |
+
size: 8,
|
18817 |
+
white: 'transparent',
|
18818 |
+
grey: 'rgba(0,0,0,.08)',
|
18819 |
+
renderers: {}
|
18820 |
+
};
|
18821 |
+
|
18822 |
+
exports.default = Checkboard;
|
18823 |
+
|
18824 |
+
/***/ }),
|
18825 |
+
/* 242 */
|
18826 |
+
/***/ (function(module, exports, __webpack_require__) {
|
18827 |
+
|
18828 |
+
var isObject = __webpack_require__(33),
|
18829 |
+
now = __webpack_require__(604),
|
18830 |
+
toNumber = __webpack_require__(605);
|
18831 |
+
|
18832 |
+
/** Error message constants. */
|
18833 |
+
var FUNC_ERROR_TEXT = 'Expected a function';
|
18834 |
+
|
18835 |
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
18836 |
+
var nativeMax = Math.max,
|
18837 |
+
nativeMin = Math.min;
|
18838 |
+
|
18839 |
+
/**
|
18840 |
+
* Creates a debounced function that delays invoking `func` until after `wait`
|
18841 |
+
* milliseconds have elapsed since the last time the debounced function was
|
18842 |
+
* invoked. The debounced function comes with a `cancel` method to cancel
|
18843 |
+
* delayed `func` invocations and a `flush` method to immediately invoke them.
|
18844 |
+
* Provide `options` to indicate whether `func` should be invoked on the
|
18845 |
+
* leading and/or trailing edge of the `wait` timeout. The `func` is invoked
|
18846 |
+
* with the last arguments provided to the debounced function. Subsequent
|
18847 |
+
* calls to the debounced function return the result of the last `func`
|
18848 |
+
* invocation.
|
18849 |
+
*
|
18850 |
+
* **Note:** If `leading` and `trailing` options are `true`, `func` is
|
18851 |
+
* invoked on the trailing edge of the timeout only if the debounced function
|
18852 |
+
* is invoked more than once during the `wait` timeout.
|
18853 |
+
*
|
18854 |
+
* If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
|
18855 |
+
* until to the next tick, similar to `setTimeout` with a timeout of `0`.
|
18856 |
+
*
|
18857 |
+
* See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
|
18858 |
+
* for details over the differences between `_.debounce` and `_.throttle`.
|
18859 |
+
*
|
18860 |
+
* @static
|
18861 |
+
* @memberOf _
|
18862 |
+
* @since 0.1.0
|
18863 |
+
* @category Function
|
18864 |
+
* @param {Function} func The function to debounce.
|
18865 |
+
* @param {number} [wait=0] The number of milliseconds to delay.
|
18866 |
+
* @param {Object} [options={}] The options object.
|
18867 |
+
* @param {boolean} [options.leading=false]
|
18868 |
+
* Specify invoking on the leading edge of the timeout.
|
18869 |
+
* @param {number} [options.maxWait]
|
18870 |
+
* The maximum time `func` is allowed to be delayed before it's invoked.
|
18871 |
+
* @param {boolean} [options.trailing=true]
|
18872 |
+
* Specify invoking on the trailing edge of the timeout.
|
18873 |
+
* @returns {Function} Returns the new debounced function.
|
18874 |
+
* @example
|
18875 |
+
*
|
18876 |
+
* // Avoid costly calculations while the window size is in flux.
|
18877 |
+
* jQuery(window).on('resize', _.debounce(calculateLayout, 150));
|
18878 |
+
*
|
18879 |
+
* // Invoke `sendMail` when clicked, debouncing subsequent calls.
|
18880 |
+
* jQuery(element).on('click', _.debounce(sendMail, 300, {
|
18881 |
+
* 'leading': true,
|
18882 |
+
* 'trailing': false
|
18883 |
+
* }));
|
18884 |
+
*
|
18885 |
+
* // Ensure `batchLog` is invoked once after 1 second of debounced calls.
|
18886 |
+
* var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
|
18887 |
+
* var source = new EventSource('/stream');
|
18888 |
+
* jQuery(source).on('message', debounced);
|
18889 |
+
*
|
18890 |
+
* // Cancel the trailing debounced invocation.
|
18891 |
+
* jQuery(window).on('popstate', debounced.cancel);
|
18892 |
+
*/
|
18893 |
+
function debounce(func, wait, options) {
|
18894 |
+
var lastArgs,
|
18895 |
+
lastThis,
|
18896 |
+
maxWait,
|
18897 |
+
result,
|
18898 |
+
timerId,
|
18899 |
+
lastCallTime,
|
18900 |
+
lastInvokeTime = 0,
|
18901 |
+
leading = false,
|
18902 |
+
maxing = false,
|
18903 |
+
trailing = true;
|
18904 |
+
|
18905 |
+
if (typeof func != 'function') {
|
18906 |
+
throw new TypeError(FUNC_ERROR_TEXT);
|
18907 |
+
}
|
18908 |
+
wait = toNumber(wait) || 0;
|
18909 |
+
if (isObject(options)) {
|
18910 |
+
leading = !!options.leading;
|
18911 |
+
maxing = 'maxWait' in options;
|
18912 |
+
maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
|
18913 |
+
trailing = 'trailing' in options ? !!options.trailing : trailing;
|
18914 |
+
}
|
18915 |
+
|
18916 |
+
function invokeFunc(time) {
|
18917 |
+
var args = lastArgs,
|
18918 |
+
thisArg = lastThis;
|
18919 |
+
|
18920 |
+
lastArgs = lastThis = undefined;
|
18921 |
+
lastInvokeTime = time;
|
18922 |
+
result = func.apply(thisArg, args);
|
18923 |
+
return result;
|
18924 |
+
}
|
18925 |
+
|
18926 |
+
function leadingEdge(time) {
|
18927 |
+
// Reset any `maxWait` timer.
|
18928 |
+
lastInvokeTime = time;
|
18929 |
+
// Start the timer for the trailing edge.
|
18930 |
+
timerId = setTimeout(timerExpired, wait);
|
18931 |
+
// Invoke the leading edge.
|
18932 |
+
return leading ? invokeFunc(time) : result;
|
18933 |
+
}
|
18934 |
+
|
18935 |
+
function remainingWait(time) {
|
18936 |
+
var timeSinceLastCall = time - lastCallTime,
|
18937 |
+
timeSinceLastInvoke = time - lastInvokeTime,
|
18938 |
+
timeWaiting = wait - timeSinceLastCall;
|
18939 |
+
|
18940 |
+
return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
|
18941 |
+
}
|
18942 |
+
|
18943 |
+
function shouldInvoke(time) {
|
18944 |
+
var timeSinceLastCall = time - lastCallTime,
|
18945 |
+
timeSinceLastInvoke = time - lastInvokeTime;
|
18946 |
+
|
18947 |
+
// Either this is the first call, activity has stopped and we're at the
|
18948 |
+
// trailing edge, the system time has gone backwards and we're treating
|
18949 |
+
// it as the trailing edge, or we've hit the `maxWait` limit.
|
18950 |
+
return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
|
18951 |
+
}
|
18952 |
+
|
18953 |
+
function timerExpired() {
|
18954 |
+
var time = now();
|
18955 |
+
if (shouldInvoke(time)) {
|
18956 |
+
return trailingEdge(time);
|
18957 |
+
}
|
18958 |
+
// Restart the timer.
|
18959 |
+
timerId = setTimeout(timerExpired, remainingWait(time));
|
18960 |
+
}
|
18961 |
+
|
18962 |
+
function trailingEdge(time) {
|
18963 |
+
timerId = undefined;
|
18964 |
+
|
18965 |
+
// Only invoke if we have `lastArgs` which means `func` has been
|
18966 |
+
// debounced at least once.
|
18967 |
+
if (trailing && lastArgs) {
|
18968 |
+
return invokeFunc(time);
|
18969 |
+
}
|
18970 |
+
lastArgs = lastThis = undefined;
|
18971 |
+
return result;
|
18972 |
+
}
|
18973 |
+
|
18974 |
+
function cancel() {
|
18975 |
+
if (timerId !== undefined) {
|
18976 |
+
clearTimeout(timerId);
|
18977 |
+
}
|
18978 |
+
lastInvokeTime = 0;
|
18979 |
+
lastArgs = lastCallTime = lastThis = timerId = undefined;
|
18980 |
+
}
|
18981 |
+
|
18982 |
+
function flush() {
|
18983 |
+
return timerId === undefined ? result : trailingEdge(now());
|
18984 |
+
}
|
18985 |
+
|
18986 |
+
function debounced() {
|
18987 |
+
var time = now(),
|
18988 |
+
isInvoking = shouldInvoke(time);
|
18989 |
+
|
18990 |
+
lastArgs = arguments;
|
18991 |
+
lastThis = this;
|
18992 |
+
lastCallTime = time;
|
18993 |
+
|
18994 |
+
if (isInvoking) {
|
18995 |
+
if (timerId === undefined) {
|
18996 |
+
return leadingEdge(lastCallTime);
|
18997 |
+
}
|
18998 |
+
if (maxing) {
|
18999 |
+
// Handle invocations in a tight loop.
|
19000 |
+
timerId = setTimeout(timerExpired, wait);
|
19001 |
+
return invokeFunc(lastCallTime);
|
19002 |
+
}
|
19003 |
+
}
|
19004 |
+
if (timerId === undefined) {
|
19005 |
+
timerId = setTimeout(timerExpired, wait);
|
19006 |
+
}
|
19007 |
+
return result;
|
19008 |
+
}
|
19009 |
+
debounced.cancel = cancel;
|
19010 |
+
debounced.flush = flush;
|
19011 |
+
return debounced;
|
19012 |
+
}
|
19013 |
+
|
19014 |
+
module.exports = debounce;
|
19015 |
+
|
19016 |
+
/***/ }),
|
19017 |
+
/* 243 */
|
19018 |
+
/***/ (function(module, exports, __webpack_require__) {
|
19019 |
+
|
19020 |
+
"use strict";
|
19021 |
+
|
19022 |
+
|
19023 |
+
Object.defineProperty(exports, "__esModule", {
|
19024 |
+
value: true
|
19025 |
+
});
|
19026 |
+
exports.ColorWrap = undefined;
|
19027 |
+
|
19028 |
+
var _extends = Object.assign || function (target) {
|
19029 |
+
for (var i = 1; i < arguments.length; i++) {
|
19030 |
+
var source = arguments[i];for (var key in source) {
|
19031 |
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
19032 |
+
target[key] = source[key];
|
19033 |
+
}
|
19034 |
+
}
|
19035 |
+
}return target;
|
19036 |
+
};
|
19037 |
+
|
19038 |
+
var _createClass = function () {
|
19039 |
+
function defineProperties(target, props) {
|
19040 |
+
for (var i = 0; i < props.length; i++) {
|
19041 |
+
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);
|
19042 |
+
}
|
19043 |
+
}return function (Constructor, protoProps, staticProps) {
|
19044 |
+
if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;
|
19045 |
+
};
|
19046 |
+
}();
|
19047 |
+
|
19048 |
+
var _react = __webpack_require__(0);
|
19049 |
+
|
19050 |
+
var _react2 = _interopRequireDefault(_react);
|
19051 |
+
|
19052 |
+
var _debounce = __webpack_require__(242);
|
19053 |
+
|
19054 |
+
var _debounce2 = _interopRequireDefault(_debounce);
|
19055 |
+
|
19056 |
+
var _color = __webpack_require__(29);
|
19057 |
+
|
19058 |
+
var _color2 = _interopRequireDefault(_color);
|
19059 |
+
|
19060 |
+
function _interopRequireDefault(obj) {
|
19061 |
+
return obj && obj.__esModule ? obj : { default: obj };
|
19062 |
+
}
|
19063 |
+
|
19064 |
+
function _classCallCheck(instance, Constructor) {
|
19065 |
+
if (!(instance instanceof Constructor)) {
|
19066 |
+
throw new TypeError("Cannot call a class as a function");
|
19067 |
+
}
|
19068 |
+
}
|
19069 |
+
|
19070 |
+
function _possibleConstructorReturn(self, call) {
|
19071 |
+
if (!self) {
|
19072 |
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
19073 |
+
}return call && (typeof call === "object" || typeof call === "function") ? call : self;
|
19074 |
+
}
|
19075 |
+
|
19076 |
+
function _inherits(subClass, superClass) {
|
19077 |
+
if (typeof superClass !== "function" && superClass !== null) {
|
19078 |
+
throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
|
19079 |
+
}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;
|
19080 |
+
}
|
19081 |
+
|
19082 |
+
var ColorWrap = exports.ColorWrap = function ColorWrap(Picker) {
|
19083 |
+
var ColorPicker = function (_ref) {
|
19084 |
+
_inherits(ColorPicker, _ref);
|
19085 |
+
|
19086 |
+
function ColorPicker(props) {
|
19087 |
+
_classCallCheck(this, ColorPicker);
|
19088 |
+
|
19089 |
+
var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this));
|
19090 |
+
|
19091 |
+
_this.handleChange = function (data, event) {
|
19092 |
+
var isValidColor = _color2.default.simpleCheckForValidColor(data);
|
19093 |
+
if (isValidColor) {
|
19094 |
+
var colors = _color2.default.toState(data, data.h || _this.state.oldHue);
|
19095 |
+
_this.setState(colors);
|
19096 |
+
_this.props.onChangeComplete && _this.debounce(_this.props.onChangeComplete, colors, event);
|
19097 |
+
_this.props.onChange && _this.props.onChange(colors, event);
|
19098 |
+
}
|
19099 |
+
};
|
19100 |
+
|
19101 |
+
_this.handleSwatchHover = function (data, event) {
|
19102 |
+
var isValidColor = _color2.default.simpleCheckForValidColor(data);
|
19103 |
+
if (isValidColor) {
|
19104 |
+
var colors = _color2.default.toState(data, data.h || _this.state.oldHue);
|
19105 |
+
_this.setState(colors);
|
19106 |
+
_this.props.onSwatchHover && _this.props.onSwatchHover(colors, event);
|
19107 |
+
}
|
19108 |
+
};
|
19109 |
+
|
19110 |
+
_this.state = _extends({}, _color2.default.toState(props.color, 0));
|
19111 |
+
|
19112 |
+
_this.debounce = (0, _debounce2.default)(function (fn, data, event) {
|
19113 |
+
fn(data, event);
|
19114 |
+
}, 100);
|
19115 |
+
return _this;
|
19116 |
+
}
|
19117 |
+
|
19118 |
+
_createClass(ColorPicker, [{
|
19119 |
+
key: 'componentWillReceiveProps',
|
19120 |
+
value: function componentWillReceiveProps(nextProps) {
|
19121 |
+
this.setState(_extends({}, _color2.default.toState(nextProps.color, this.state.oldHue)));
|
19122 |
+
}
|
19123 |
+
}, {
|
19124 |
+
key: 'render',
|
19125 |
+
value: function render() {
|
19126 |
+
var optionalEvents = {};
|
19127 |
+
if (this.props.onSwatchHover) {
|
19128 |
+
optionalEvents.onSwatchHover = this.handleSwatchHover;
|
19129 |
+
}
|
19130 |
+
|
19131 |
+
return _react2.default.createElement(Picker, _extends({}, this.props, this.state, {
|
19132 |
+
onChange: this.handleChange
|
19133 |
+
}, optionalEvents));
|
19134 |
+
}
|
19135 |
+
}]);
|
19136 |
+
|
19137 |
+
return ColorPicker;
|
19138 |
+
}(_react.PureComponent || _react.Component);
|
19139 |
+
|
19140 |
+
ColorPicker.propTypes = _extends({}, Picker.propTypes);
|
19141 |
+
|
19142 |
+
ColorPicker.defaultProps = _extends({}, Picker.defaultProps, {
|
19143 |
+
color: {
|
19144 |
+
h: 250,
|
19145 |
+
s: 0.50,
|
19146 |
+
l: 0.20,
|
19147 |
+
a: 1
|
19148 |
+
}
|
19149 |
+
});
|
19150 |
+
|
19151 |
+
return ColorPicker;
|
19152 |
+
};
|
19153 |
+
|
19154 |
+
exports.default = ColorWrap;
|
19155 |
+
|
19156 |
+
/***/ }),
|
19157 |
+
/* 244 */
|
19158 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
19159 |
+
|
19160 |
+
"use strict";
|
19161 |
+
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
19162 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "red", function() { return red; });
|
19163 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pink", function() { return pink; });
|
19164 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "purple", function() { return purple; });
|
19165 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "deepPurple", function() { return deepPurple; });
|
19166 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "indigo", function() { return indigo; });
|
19167 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "blue", function() { return blue; });
|
19168 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lightBlue", function() { return lightBlue; });
|
19169 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cyan", function() { return cyan; });
|
19170 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "teal", function() { return teal; });
|
19171 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "green", function() { return green; });
|
19172 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lightGreen", function() { return lightGreen; });
|
19173 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lime", function() { return lime; });
|
19174 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "yellow", function() { return yellow; });
|
19175 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "amber", function() { return amber; });
|
19176 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "orange", function() { return orange; });
|
19177 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "deepOrange", function() { return deepOrange; });
|
19178 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "brown", function() { return brown; });
|
19179 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "grey", function() { return grey; });
|
19180 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "blueGrey", function() { return blueGrey; });
|
19181 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "darkText", function() { return darkText; });
|
19182 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lightText", function() { return lightText; });
|
19183 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "darkIcons", function() { return darkIcons; });
|
19184 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "lightIcons", function() { return lightIcons; });
|
19185 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "white", function() { return white; });
|
19186 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "black", function() { return black; });
|
19187 |
+
var red = { "50": "#ffebee", "100": "#ffcdd2", "200": "#ef9a9a", "300": "#e57373", "400": "#ef5350", "500": "#f44336", "600": "#e53935", "700": "#d32f2f", "800": "#c62828", "900": "#b71c1c", "a100": "#ff8a80", "a200": "#ff5252", "a400": "#ff1744", "a700": "#d50000" };
|
19188 |
+
var pink = { "50": "#fce4ec", "100": "#f8bbd0", "200": "#f48fb1", "300": "#f06292", "400": "#ec407a", "500": "#e91e63", "600": "#d81b60", "700": "#c2185b", "800": "#ad1457", "900": "#880e4f", "a100": "#ff80ab", "a200": "#ff4081", "a400": "#f50057", "a700": "#c51162" };
|
19189 |
+
var purple = { "50": "#f3e5f5", "100": "#e1bee7", "200": "#ce93d8", "300": "#ba68c8", "400": "#ab47bc", "500": "#9c27b0", "600": "#8e24aa", "700": "#7b1fa2", "800": "#6a1b9a", "900": "#4a148c", "a100": "#ea80fc", "a200": "#e040fb", "a400": "#d500f9", "a700": "#aa00ff" };
|
19190 |
+
var deepPurple = { "50": "#ede7f6", "100": "#d1c4e9", "200": "#b39ddb", "300": "#9575cd", "400": "#7e57c2", "500": "#673ab7", "600": "#5e35b1", "700": "#512da8", "800": "#4527a0", "900": "#311b92", "a100": "#b388ff", "a200": "#7c4dff", "a400": "#651fff", "a700": "#6200ea" };
|
19191 |
+
var indigo = { "50": "#e8eaf6", "100": "#c5cae9", "200": "#9fa8da", "300": "#7986cb", "400": "#5c6bc0", "500": "#3f51b5", "600": "#3949ab", "700": "#303f9f", "800": "#283593", "900": "#1a237e", "a100": "#8c9eff", "a200": "#536dfe", "a400": "#3d5afe", "a700": "#304ffe" };
|
19192 |
+
var blue = { "50": "#e3f2fd", "100": "#bbdefb", "200": "#90caf9", "300": "#64b5f6", "400": "#42a5f5", "500": "#2196f3", "600": "#1e88e5", "700": "#1976d2", "800": "#1565c0", "900": "#0d47a1", "a100": "#82b1ff", "a200": "#448aff", "a400": "#2979ff", "a700": "#2962ff" };
|
19193 |
+
var lightBlue = { "50": "#e1f5fe", "100": "#b3e5fc", "200": "#81d4fa", "300": "#4fc3f7", "400": "#29b6f6", "500": "#03a9f4", "600": "#039be5", "700": "#0288d1", "800": "#0277bd", "900": "#01579b", "a100": "#80d8ff", "a200": "#40c4ff", "a400": "#00b0ff", "a700": "#0091ea" };
|
19194 |
+
var cyan = { "50": "#e0f7fa", "100": "#b2ebf2", "200": "#80deea", "300": "#4dd0e1", "400": "#26c6da", "500": "#00bcd4", "600": "#00acc1", "700": "#0097a7", "800": "#00838f", "900": "#006064", "a100": "#84ffff", "a200": "#18ffff", "a400": "#00e5ff", "a700": "#00b8d4" };
|
19195 |
+
var teal = { "50": "#e0f2f1", "100": "#b2dfdb", "200": "#80cbc4", "300": "#4db6ac", "400": "#26a69a", "500": "#009688", "600": "#00897b", "700": "#00796b", "800": "#00695c", "900": "#004d40", "a100": "#a7ffeb", "a200": "#64ffda", "a400": "#1de9b6", "a700": "#00bfa5" };
|
19196 |
+
var green = { "50": "#e8f5e9", "100": "#c8e6c9", "200": "#a5d6a7", "300": "#81c784", "400": "#66bb6a", "500": "#4caf50", "600": "#43a047", "700": "#388e3c", "800": "#2e7d32", "900": "#1b5e20", "a100": "#b9f6ca", "a200": "#69f0ae", "a400": "#00e676", "a700": "#00c853" };
|
19197 |
+
var lightGreen = { "50": "#f1f8e9", "100": "#dcedc8", "200": "#c5e1a5", "300": "#aed581", "400": "#9ccc65", "500": "#8bc34a", "600": "#7cb342", "700": "#689f38", "800": "#558b2f", "900": "#33691e", "a100": "#ccff90", "a200": "#b2ff59", "a400": "#76ff03", "a700": "#64dd17" };
|
19198 |
+
var lime = { "50": "#f9fbe7", "100": "#f0f4c3", "200": "#e6ee9c", "300": "#dce775", "400": "#d4e157", "500": "#cddc39", "600": "#c0ca33", "700": "#afb42b", "800": "#9e9d24", "900": "#827717", "a100": "#f4ff81", "a200": "#eeff41", "a400": "#c6ff00", "a700": "#aeea00" };
|
19199 |
+
var yellow = { "50": "#fffde7", "100": "#fff9c4", "200": "#fff59d", "300": "#fff176", "400": "#ffee58", "500": "#ffeb3b", "600": "#fdd835", "700": "#fbc02d", "800": "#f9a825", "900": "#f57f17", "a100": "#ffff8d", "a200": "#ffff00", "a400": "#ffea00", "a700": "#ffd600" };
|
19200 |
+
var amber = { "50": "#fff8e1", "100": "#ffecb3", "200": "#ffe082", "300": "#ffd54f", "400": "#ffca28", "500": "#ffc107", "600": "#ffb300", "700": "#ffa000", "800": "#ff8f00", "900": "#ff6f00", "a100": "#ffe57f", "a200": "#ffd740", "a400": "#ffc400", "a700": "#ffab00" };
|
19201 |
+
var orange = { "50": "#fff3e0", "100": "#ffe0b2", "200": "#ffcc80", "300": "#ffb74d", "400": "#ffa726", "500": "#ff9800", "600": "#fb8c00", "700": "#f57c00", "800": "#ef6c00", "900": "#e65100", "a100": "#ffd180", "a200": "#ffab40", "a400": "#ff9100", "a700": "#ff6d00" };
|
19202 |
+
var deepOrange = { "50": "#fbe9e7", "100": "#ffccbc", "200": "#ffab91", "300": "#ff8a65", "400": "#ff7043", "500": "#ff5722", "600": "#f4511e", "700": "#e64a19", "800": "#d84315", "900": "#bf360c", "a100": "#ff9e80", "a200": "#ff6e40", "a400": "#ff3d00", "a700": "#dd2c00" };
|
19203 |
+
var brown = { "50": "#efebe9", "100": "#d7ccc8", "200": "#bcaaa4", "300": "#a1887f", "400": "#8d6e63", "500": "#795548", "600": "#6d4c41", "700": "#5d4037", "800": "#4e342e", "900": "#3e2723" };
|
19204 |
+
var grey = { "50": "#fafafa", "100": "#f5f5f5", "200": "#eeeeee", "300": "#e0e0e0", "400": "#bdbdbd", "500": "#9e9e9e", "600": "#757575", "700": "#616161", "800": "#424242", "900": "#212121" };
|
19205 |
+
var blueGrey = { "50": "#eceff1", "100": "#cfd8dc", "200": "#b0bec5", "300": "#90a4ae", "400": "#78909c", "500": "#607d8b", "600": "#546e7a", "700": "#455a64", "800": "#37474f", "900": "#263238" };
|
19206 |
+
var darkText = { "primary": "rgba(0, 0, 0, 0.87)", "secondary": "rgba(0, 0, 0, 0.54)", "disabled": "rgba(0, 0, 0, 0.38)", "dividers": "rgba(0, 0, 0, 0.12)" };
|
19207 |
+
var lightText = { "primary": "rgba(255, 255, 255, 1)", "secondary": "rgba(255, 255, 255, 0.7)", "disabled": "rgba(255, 255, 255, 0.5)", "dividers": "rgba(255, 255, 255, 0.12)" };
|
19208 |
+
var darkIcons = { "active": "rgba(0, 0, 0, 0.54)", "inactive": "rgba(0, 0, 0, 0.38)" };
|
19209 |
+
var lightIcons = { "active": "rgba(255, 255, 255, 1)", "inactive": "rgba(255, 255, 255, 0.5)" };
|
19210 |
+
var white = "#ffffff";
|
19211 |
+
var black = "#000000";
|
19212 |
+
|
19213 |
+
/* harmony default export */ __webpack_exports__["default"] = ({
|
19214 |
+
red: red,
|
19215 |
+
pink: pink,
|
19216 |
+
purple: purple,
|
19217 |
+
deepPurple: deepPurple,
|
19218 |
+
indigo: indigo,
|
19219 |
+
blue: blue,
|
19220 |
+
lightBlue: lightBlue,
|
19221 |
+
cyan: cyan,
|
19222 |
+
teal: teal,
|
19223 |
+
green: green,
|
19224 |
+
lightGreen: lightGreen,
|
19225 |
+
lime: lime,
|
19226 |
+
yellow: yellow,
|
19227 |
+
amber: amber,
|
19228 |
+
orange: orange,
|
19229 |
+
deepOrange: deepOrange,
|
19230 |
+
brown: brown,
|
19231 |
+
grey: grey,
|
19232 |
+
blueGrey: blueGrey,
|
19233 |
+
darkText: darkText,
|
19234 |
+
lightText: lightText,
|
19235 |
+
darkIcons: darkIcons,
|
19236 |
+
lightIcons: lightIcons,
|
19237 |
+
white: white,
|
19238 |
+
black: black
|
19239 |
+
});
|
19240 |
+
|
19241 |
+
/***/ }),
|
19242 |
+
/* 245 */
|
19243 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
19244 |
+
|
19245 |
+
"use strict";
|
19246 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ActionTypes; });
|
19247 |
+
/* harmony export (immutable) */ __webpack_exports__["b"] = createStore;
|
19248 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__ = __webpack_require__(246);
|
19249 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_symbol_observable__ = __webpack_require__(659);
|
19250 |
+
|
19251 |
+
|
19252 |
+
|
19253 |
+
/**
|
19254 |
+
* These are private action types reserved by Redux.
|
19255 |
+
* For any unknown actions, you must return the current state.
|
19256 |
+
* If the current state is undefined, you must return the initial state.
|
19257 |
+
* Do not reference these action types directly in your code.
|
19258 |
+
*/
|
19259 |
+
var ActionTypes = {
|
19260 |
+
INIT: '@@redux/INIT'
|
19261 |
+
|
19262 |
+
/**
|
19263 |
+
* Creates a Redux store that holds the state tree.
|
19264 |
+
* The only way to change the data in the store is to call `dispatch()` on it.
|
19265 |
+
*
|
19266 |
+
* There should only be a single store in your app. To specify how different
|
19267 |
+
* parts of the state tree respond to actions, you may combine several reducers
|
19268 |
+
* into a single reducer function by using `combineReducers`.
|
19269 |
+
*
|
19270 |
+
* @param {Function} reducer A function that returns the next state tree, given
|
19271 |
+
* the current state tree and the action to handle.
|
19272 |
+
*
|
19273 |
+
* @param {any} [preloadedState] The initial state. You may optionally specify it
|
19274 |
+
* to hydrate the state from the server in universal apps, or to restore a
|
19275 |
+
* previously serialized user session.
|
19276 |
+
* If you use `combineReducers` to produce the root reducer function, this must be
|
19277 |
+
* an object with the same shape as `combineReducers` keys.
|
19278 |
+
*
|
19279 |
+
* @param {Function} [enhancer] The store enhancer. You may optionally specify it
|
19280 |
+
* to enhance the store with third-party capabilities such as middleware,
|
19281 |
+
* time travel, persistence, etc. The only store enhancer that ships with Redux
|
19282 |
+
* is `applyMiddleware()`.
|
19283 |
+
*
|
19284 |
+
* @returns {Store} A Redux store that lets you read the state, dispatch actions
|
19285 |
+
* and subscribe to changes.
|
19286 |
+
*/
|
19287 |
+
};function createStore(reducer, preloadedState, enhancer) {
|
19288 |
+
var _ref2;
|
19289 |
+
|
19290 |
+
if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {
|
19291 |
+
enhancer = preloadedState;
|
19292 |
+
preloadedState = undefined;
|
19293 |
+
}
|
19294 |
+
|
19295 |
+
if (typeof enhancer !== 'undefined') {
|
19296 |
+
if (typeof enhancer !== 'function') {
|
19297 |
+
throw new Error('Expected the enhancer to be a function.');
|
19298 |
+
}
|
19299 |
+
|
19300 |
+
return enhancer(createStore)(reducer, preloadedState);
|
19301 |
+
}
|
19302 |
+
|
19303 |
+
if (typeof reducer !== 'function') {
|
19304 |
+
throw new Error('Expected the reducer to be a function.');
|
19305 |
+
}
|
19306 |
+
|
19307 |
+
var currentReducer = reducer;
|
19308 |
+
var currentState = preloadedState;
|
19309 |
+
var currentListeners = [];
|
19310 |
+
var nextListeners = currentListeners;
|
19311 |
+
var isDispatching = false;
|
19312 |
+
|
19313 |
+
function ensureCanMutateNextListeners() {
|
19314 |
+
if (nextListeners === currentListeners) {
|
19315 |
+
nextListeners = currentListeners.slice();
|
19316 |
+
}
|
19317 |
+
}
|
19318 |
+
|
19319 |
+
/**
|
19320 |
+
* Reads the state tree managed by the store.
|
19321 |
+
*
|
19322 |
+
* @returns {any} The current state tree of your application.
|
19323 |
+
*/
|
19324 |
+
function getState() {
|
19325 |
+
return currentState;
|
19326 |
+
}
|
19327 |
+
|
19328 |
+
/**
|
19329 |
+
* Adds a change listener. It will be called any time an action is dispatched,
|
19330 |
+
* and some part of the state tree may potentially have changed. You may then
|
19331 |
+
* call `getState()` to read the current state tree inside the callback.
|
19332 |
+
*
|
19333 |
+
* You may call `dispatch()` from a change listener, with the following
|
19334 |
+
* caveats:
|
19335 |
+
*
|
19336 |
+
* 1. The subscriptions are snapshotted just before every `dispatch()` call.
|
19337 |
+
* If you subscribe or unsubscribe while the listeners are being invoked, this
|
19338 |
+
* will not have any effect on the `dispatch()` that is currently in progress.
|
19339 |
+
* However, the next `dispatch()` call, whether nested or not, will use a more
|
19340 |
+
* recent snapshot of the subscription list.
|
19341 |
+
*
|
19342 |
+
* 2. The listener should not expect to see all state changes, as the state
|
19343 |
+
* might have been updated multiple times during a nested `dispatch()` before
|
19344 |
+
* the listener is called. It is, however, guaranteed that all subscribers
|
19345 |
+
* registered before the `dispatch()` started will be called with the latest
|
19346 |
+
* state by the time it exits.
|
19347 |
+
*
|
19348 |
+
* @param {Function} listener A callback to be invoked on every dispatch.
|
19349 |
+
* @returns {Function} A function to remove this change listener.
|
19350 |
+
*/
|
19351 |
+
function subscribe(listener) {
|
19352 |
+
if (typeof listener !== 'function') {
|
19353 |
+
throw new Error('Expected listener to be a function.');
|
19354 |
+
}
|
19355 |
+
|
19356 |
+
var isSubscribed = true;
|
19357 |
+
|
19358 |
+
ensureCanMutateNextListeners();
|
19359 |
+
nextListeners.push(listener);
|
19360 |
+
|
19361 |
+
return function unsubscribe() {
|
19362 |
+
if (!isSubscribed) {
|
19363 |
+
return;
|
19364 |
+
}
|
19365 |
+
|
19366 |
+
isSubscribed = false;
|
19367 |
+
|
19368 |
+
ensureCanMutateNextListeners();
|
19369 |
+
var index = nextListeners.indexOf(listener);
|
19370 |
+
nextListeners.splice(index, 1);
|
19371 |
+
};
|
19372 |
+
}
|
19373 |
+
|
19374 |
+
/**
|
19375 |
+
* Dispatches an action. It is the only way to trigger a state change.
|
19376 |
+
*
|
19377 |
+
* The `reducer` function, used to create the store, will be called with the
|
19378 |
+
* current state tree and the given `action`. Its return value will
|
19379 |
+
* be considered the **next** state of the tree, and the change listeners
|
19380 |
+
* will be notified.
|
19381 |
+
*
|
19382 |
+
* The base implementation only supports plain object actions. If you want to
|
19383 |
+
* dispatch a Promise, an Observable, a thunk, or something else, you need to
|
19384 |
+
* wrap your store creating function into the corresponding middleware. For
|
19385 |
+
* example, see the documentation for the `redux-thunk` package. Even the
|
19386 |
+
* middleware will eventually dispatch plain object actions using this method.
|
19387 |
+
*
|
19388 |
+
* @param {Object} action A plain object representing “what changed”. It is
|
19389 |
+
* a good idea to keep actions serializable so you can record and replay user
|
19390 |
+
* sessions, or use the time travelling `redux-devtools`. An action must have
|
19391 |
+
* a `type` property which may not be `undefined`. It is a good idea to use
|
19392 |
+
* string constants for action types.
|
19393 |
+
*
|
19394 |
+
* @returns {Object} For convenience, the same action object you dispatched.
|
19395 |
+
*
|
19396 |
+
* Note that, if you use a custom middleware, it may wrap `dispatch()` to
|
19397 |
+
* return something else (for example, a Promise you can await).
|
19398 |
+
*/
|
19399 |
+
function dispatch(action) {
|
19400 |
+
if (!Object(__WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__["a" /* default */])(action)) {
|
19401 |
+
throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');
|
19402 |
+
}
|
19403 |
+
|
19404 |
+
if (typeof action.type === 'undefined') {
|
19405 |
+
throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?');
|
19406 |
+
}
|
19407 |
+
|
19408 |
+
if (isDispatching) {
|
19409 |
+
throw new Error('Reducers may not dispatch actions.');
|
19410 |
+
}
|
19411 |
+
|
19412 |
+
try {
|
19413 |
+
isDispatching = true;
|
19414 |
+
currentState = currentReducer(currentState, action);
|
19415 |
+
} finally {
|
19416 |
+
isDispatching = false;
|
19417 |
+
}
|
19418 |
+
|
19419 |
+
var listeners = currentListeners = nextListeners;
|
19420 |
+
for (var i = 0; i < listeners.length; i++) {
|
19421 |
+
var listener = listeners[i];
|
19422 |
+
listener();
|
19423 |
+
}
|
19424 |
+
|
19425 |
+
return action;
|
19426 |
+
}
|
19427 |
+
|
19428 |
+
/**
|
19429 |
+
* Replaces the reducer currently used by the store to calculate the state.
|
19430 |
+
*
|
19431 |
+
* You might need this if your app implements code splitting and you want to
|
19432 |
+
* load some of the reducers dynamically. You might also need this if you
|
19433 |
+
* implement a hot reloading mechanism for Redux.
|
19434 |
+
*
|
19435 |
+
* @param {Function} nextReducer The reducer for the store to use instead.
|
19436 |
+
* @returns {void}
|
19437 |
+
*/
|
19438 |
+
function replaceReducer(nextReducer) {
|
19439 |
+
if (typeof nextReducer !== 'function') {
|
19440 |
+
throw new Error('Expected the nextReducer to be a function.');
|
19441 |
+
}
|
19442 |
+
|
19443 |
+
currentReducer = nextReducer;
|
19444 |
+
dispatch({ type: ActionTypes.INIT });
|
19445 |
+
}
|
19446 |
+
|
19447 |
+
/**
|
19448 |
+
* Interoperability point for observable/reactive libraries.
|
19449 |
+
* @returns {observable} A minimal observable of state changes.
|
19450 |
+
* For more information, see the observable proposal:
|
19451 |
+
* https://github.com/tc39/proposal-observable
|
19452 |
+
*/
|
19453 |
+
function observable() {
|
19454 |
+
var _ref;
|
19455 |
+
|
19456 |
+
var outerSubscribe = subscribe;
|
19457 |
+
return _ref = {
|
19458 |
+
/**
|
19459 |
+
* The minimal observable subscription method.
|
19460 |
+
* @param {Object} observer Any object that can be used as an observer.
|
19461 |
+
* The observer object should have a `next` method.
|
19462 |
+
* @returns {subscription} An object with an `unsubscribe` method that can
|
19463 |
+
* be used to unsubscribe the observable from the store, and prevent further
|
19464 |
+
* emission of values from the observable.
|
19465 |
+
*/
|
19466 |
+
subscribe: function subscribe(observer) {
|
19467 |
+
if (typeof observer !== 'object') {
|
19468 |
+
throw new TypeError('Expected the observer to be an object.');
|
19469 |
+
}
|
19470 |
+
|
19471 |
+
function observeState() {
|
19472 |
+
if (observer.next) {
|
19473 |
+
observer.next(getState());
|
19474 |
+
}
|
19475 |
+
}
|
19476 |
+
|
19477 |
+
observeState();
|
19478 |
+
var unsubscribe = outerSubscribe(observeState);
|
19479 |
+
return { unsubscribe: unsubscribe };
|
19480 |
+
}
|
19481 |
+
}, _ref[__WEBPACK_IMPORTED_MODULE_1_symbol_observable__["a" /* default */]] = function () {
|
19482 |
+
return this;
|
19483 |
+
}, _ref;
|
19484 |
+
}
|
19485 |
+
|
19486 |
+
// When a store is created, an "INIT" action is dispatched so that every
|
19487 |
+
// reducer returns their initial state. This effectively populates
|
19488 |
+
// the initial state tree.
|
19489 |
+
dispatch({ type: ActionTypes.INIT });
|
19490 |
+
|
19491 |
+
return _ref2 = {
|
19492 |
+
dispatch: dispatch,
|
19493 |
+
subscribe: subscribe,
|
19494 |
+
getState: getState,
|
19495 |
+
replaceReducer: replaceReducer
|
19496 |
+
}, _ref2[__WEBPACK_IMPORTED_MODULE_1_symbol_observable__["a" /* default */]] = observable, _ref2;
|
19497 |
+
}
|
19498 |
+
|
19499 |
+
/***/ }),
|
19500 |
+
/* 246 */
|
19501 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
19502 |
+
|
19503 |
+
"use strict";
|
19504 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__baseGetTag_js__ = __webpack_require__(651);
|
19505 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__getPrototype_js__ = __webpack_require__(656);
|
19506 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__isObjectLike_js__ = __webpack_require__(658);
|
19507 |
+
|
19508 |
+
|
19509 |
+
|
19510 |
+
|
19511 |
+
/** `Object#toString` result references. */
|
19512 |
+
var objectTag = '[object Object]';
|
19513 |
+
|
19514 |
+
/** Used for built-in method references. */
|
19515 |
+
var funcProto = Function.prototype,
|
19516 |
+
objectProto = Object.prototype;
|
19517 |
+
|
19518 |
+
/** Used to resolve the decompiled source of functions. */
|
19519 |
+
var funcToString = funcProto.toString;
|
19520 |
+
|
19521 |
+
/** Used to check objects for own properties. */
|
19522 |
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
19523 |
+
|
19524 |
+
/** Used to infer the `Object` constructor. */
|
19525 |
+
var objectCtorString = funcToString.call(Object);
|
19526 |
+
|
19527 |
+
/**
|
19528 |
+
* Checks if `value` is a plain object, that is, an object created by the
|
19529 |
+
* `Object` constructor or one with a `[[Prototype]]` of `null`.
|
19530 |
+
*
|
19531 |
+
* @static
|
19532 |
+
* @memberOf _
|
19533 |
+
* @since 0.8.0
|
19534 |
+
* @category Lang
|
19535 |
+
* @param {*} value The value to check.
|
19536 |
+
* @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
|
19537 |
+
* @example
|
19538 |
+
*
|
19539 |
+
* function Foo() {
|
19540 |
+
* this.a = 1;
|
19541 |
+
* }
|
19542 |
+
*
|
19543 |
+
* _.isPlainObject(new Foo);
|
19544 |
+
* // => false
|
19545 |
+
*
|
19546 |
+
* _.isPlainObject([1, 2, 3]);
|
19547 |
+
* // => false
|
19548 |
+
*
|
19549 |
+
* _.isPlainObject({ 'x': 0, 'y': 0 });
|
19550 |
+
* // => true
|
19551 |
+
*
|
19552 |
+
* _.isPlainObject(Object.create(null));
|
19553 |
+
* // => true
|
19554 |
+
*/
|
19555 |
+
function isPlainObject(value) {
|
19556 |
+
if (!Object(__WEBPACK_IMPORTED_MODULE_2__isObjectLike_js__["a" /* default */])(value) || Object(__WEBPACK_IMPORTED_MODULE_0__baseGetTag_js__["a" /* default */])(value) != objectTag) {
|
19557 |
+
return false;
|
19558 |
+
}
|
19559 |
+
var proto = Object(__WEBPACK_IMPORTED_MODULE_1__getPrototype_js__["a" /* default */])(value);
|
19560 |
+
if (proto === null) {
|
19561 |
+
return true;
|
19562 |
+
}
|
19563 |
+
var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
|
19564 |
+
return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
|
19565 |
+
}
|
19566 |
+
|
19567 |
+
/* harmony default export */ __webpack_exports__["a"] = (isPlainObject);
|
19568 |
+
|
19569 |
+
/***/ }),
|
19570 |
+
/* 247 */
|
19571 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
19572 |
+
|
19573 |
+
"use strict";
|
19574 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__root_js__ = __webpack_require__(652);
|
19575 |
+
|
19576 |
+
|
19577 |
+
/** Built-in value references. */
|
19578 |
+
var Symbol = __WEBPACK_IMPORTED_MODULE_0__root_js__["a" /* default */].Symbol;
|
19579 |
+
|
19580 |
+
/* harmony default export */ __webpack_exports__["a"] = (Symbol);
|
19581 |
+
|
19582 |
+
/***/ }),
|
19583 |
+
/* 248 */
|
19584 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
19585 |
+
|
19586 |
+
"use strict";
|
19587 |
+
/* harmony export (immutable) */ __webpack_exports__["a"] = warning;
|
19588 |
+
/**
|
19589 |
+
* Prints a warning in the console if it exists.
|
19590 |
+
*
|
19591 |
+
* @param {String} message The warning message.
|
19592 |
+
* @returns {void}
|
19593 |
+
*/
|
19594 |
+
function warning(message) {
|
19595 |
+
/* eslint-disable no-console */
|
19596 |
+
if (typeof console !== 'undefined' && typeof console.error === 'function') {
|
19597 |
+
console.error(message);
|
19598 |
+
}
|
19599 |
+
/* eslint-enable no-console */
|
19600 |
+
try {
|
19601 |
+
// This error was thrown as a convenience so that if you enable
|
19602 |
+
// "break on all exceptions" in your console,
|
19603 |
+
// it would pause the execution at this line.
|
19604 |
+
throw new Error(message);
|
19605 |
+
/* eslint-disable no-empty */
|
19606 |
+
} catch (e) {}
|
19607 |
+
/* eslint-enable no-empty */
|
19608 |
+
}
|
19609 |
+
|
19610 |
+
/***/ }),
|
19611 |
+
/* 249 */
|
19612 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
19613 |
+
|
19614 |
+
"use strict";
|
19615 |
+
/* harmony export (immutable) */ __webpack_exports__["a"] = compose;
|
19616 |
+
/**
|
19617 |
+
* Composes single-argument functions from right to left. The rightmost
|
19618 |
+
* function can take multiple arguments as it provides the signature for
|
19619 |
+
* the resulting composite function.
|
19620 |
+
*
|
19621 |
+
* @param {...Function} funcs The functions to compose.
|
19622 |
+
* @returns {Function} A function obtained by composing the argument functions
|
19623 |
+
* from right to left. For example, compose(f, g, h) is identical to doing
|
19624 |
+
* (...args) => f(g(h(...args))).
|
19625 |
+
*/
|
19626 |
+
|
19627 |
+
function compose() {
|
19628 |
+
for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
|
19629 |
+
funcs[_key] = arguments[_key];
|
19630 |
+
}
|
19631 |
+
|
19632 |
+
if (funcs.length === 0) {
|
19633 |
+
return function (arg) {
|
19634 |
+
return arg;
|
19635 |
+
};
|
19636 |
+
}
|
19637 |
+
|
19638 |
+
if (funcs.length === 1) {
|
19639 |
+
return funcs[0];
|
19640 |
+
}
|
19641 |
+
|
19642 |
+
return funcs.reduce(function (a, b) {
|
19643 |
+
return function () {
|
19644 |
+
return a(b.apply(undefined, arguments));
|
19645 |
+
};
|
19646 |
+
});
|
19647 |
+
}
|
19648 |
+
|
19649 |
+
/***/ }),
|
19650 |
+
/* 250 */
|
19651 |
+
/***/ (function(module, exports, __webpack_require__) {
|
19652 |
+
|
19653 |
+
"use strict";
|
19654 |
+
|
19655 |
+
|
19656 |
+
exports.__esModule = true;
|
19657 |
+
|
19658 |
+
var _propTypes = __webpack_require__(2);
|
19659 |
+
|
19660 |
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
19661 |
+
|
19662 |
+
function _interopRequireDefault(obj) {
|
19663 |
+
return obj && obj.__esModule ? obj : { "default": obj };
|
19664 |
+
}
|
19665 |
+
|
19666 |
+
exports["default"] = _propTypes2["default"].shape({
|
19667 |
+
subscribe: _propTypes2["default"].func.isRequired,
|
19668 |
+
dispatch: _propTypes2["default"].func.isRequired,
|
19669 |
+
getState: _propTypes2["default"].func.isRequired
|
19670 |
+
});
|
19671 |
+
|
19672 |
+
/***/ }),
|
19673 |
+
/* 251 */
|
19674 |
+
/***/ (function(module, exports, __webpack_require__) {
|
19675 |
+
|
19676 |
+
"use strict";
|
19677 |
+
|
19678 |
+
|
19679 |
+
exports.__esModule = true;
|
19680 |
+
exports["default"] = warning;
|
19681 |
+
/**
|
19682 |
+
* Prints a warning in the console if it exists.
|
19683 |
+
*
|
19684 |
+
* @param {String} message The warning message.
|
19685 |
+
* @returns {void}
|
19686 |
+
*/
|
19687 |
+
function warning(message) {
|
19688 |
+
/* eslint-disable no-console */
|
19689 |
+
if (typeof console !== 'undefined' && typeof console.error === 'function') {
|
19690 |
+
console.error(message);
|
19691 |
+
}
|
19692 |
+
/* eslint-enable no-console */
|
19693 |
+
try {
|
19694 |
+
// This error was thrown as a convenience so that if you enable
|
19695 |
+
// "break on all exceptions" in your console,
|
19696 |
+
// it would pause the execution at this line.
|
19697 |
+
throw new Error(message);
|
19698 |
+
/* eslint-disable no-empty */
|
19699 |
+
} catch (e) {}
|
19700 |
+
/* eslint-enable no-empty */
|
19701 |
+
}
|
19702 |
+
|
19703 |
+
/***/ }),
|
19704 |
+
/* 252 */
|
19705 |
+
/***/ (function(module, exports) {
|
19706 |
+
|
19707 |
+
/**
|
19708 |
+
* lodash (Custom Build) <https://lodash.com/>
|
19709 |
+
* Build: `lodash modularize exports="npm" -o ./`
|
19710 |
+
* Copyright jQuery Foundation and other contributors <https://jquery.org/>
|
19711 |
+
* Released under MIT license <https://lodash.com/license>
|
19712 |
+
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
19713 |
+
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
19714 |
+
*/
|
19715 |
+
|
19716 |
+
/** Used as references for various `Number` constants. */
|
19717 |
+
var MAX_SAFE_INTEGER = 9007199254740991;
|
19718 |
+
|
19719 |
+
/** `Object#toString` result references. */
|
19720 |
+
var argsTag = '[object Arguments]',
|
19721 |
+
funcTag = '[object Function]',
|
19722 |
+
genTag = '[object GeneratorFunction]';
|
19723 |
+
|
19724 |
+
/** Used for built-in method references. */
|
19725 |
+
var objectProto = Object.prototype;
|
19726 |
+
|
19727 |
+
/** Used to check objects for own properties. */
|
19728 |
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
19729 |
+
|
19730 |
+
/**
|
19731 |
+
* Used to resolve the
|
19732 |
+
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
19733 |
+
* of values.
|
19734 |
+
*/
|
19735 |
+
var objectToString = objectProto.toString;
|
19736 |
+
|
19737 |
+
/** Built-in value references. */
|
19738 |
+
var propertyIsEnumerable = objectProto.propertyIsEnumerable;
|
19739 |
+
|
19740 |
+
/**
|
19741 |
+
* Checks if `value` is likely an `arguments` object.
|
19742 |
+
*
|
19743 |
+
* @static
|
19744 |
+
* @memberOf _
|
19745 |
+
* @since 0.1.0
|
19746 |
+
* @category Lang
|
19747 |
+
* @param {*} value The value to check.
|
19748 |
+
* @returns {boolean} Returns `true` if `value` is an `arguments` object,
|
19749 |
+
* else `false`.
|
19750 |
+
* @example
|
19751 |
+
*
|
19752 |
+
* _.isArguments(function() { return arguments; }());
|
19753 |
+
* // => true
|
19754 |
+
*
|
19755 |
+
* _.isArguments([1, 2, 3]);
|
19756 |
+
* // => false
|
19757 |
+
*/
|
19758 |
+
function isArguments(value) {
|
19759 |
+
// Safari 8.1 makes `arguments.callee` enumerable in strict mode.
|
19760 |
+
return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);
|
19761 |
+
}
|
19762 |
+
|
19763 |
+
/**
|
19764 |
+
* Checks if `value` is array-like. A value is considered array-like if it's
|
19765 |
+
* not a function and has a `value.length` that's an integer greater than or
|
19766 |
+
* equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
|
19767 |
+
*
|
19768 |
+
* @static
|
19769 |
+
* @memberOf _
|
19770 |
+
* @since 4.0.0
|
19771 |
+
* @category Lang
|
19772 |
+
* @param {*} value The value to check.
|
19773 |
+
* @returns {boolean} Returns `true` if `value` is array-like, else `false`.
|
19774 |
+
* @example
|
19775 |
+
*
|
19776 |
+
* _.isArrayLike([1, 2, 3]);
|
19777 |
+
* // => true
|
19778 |
+
*
|
19779 |
+
* _.isArrayLike(document.body.children);
|
19780 |
+
* // => true
|
19781 |
+
*
|
19782 |
+
* _.isArrayLike('abc');
|
19783 |
+
* // => true
|
19784 |
+
*
|
19785 |
+
* _.isArrayLike(_.noop);
|
19786 |
+
* // => false
|
19787 |
+
*/
|
19788 |
+
function isArrayLike(value) {
|
19789 |
+
return value != null && isLength(value.length) && !isFunction(value);
|
19790 |
+
}
|
19791 |
+
|
19792 |
+
/**
|
19793 |
+
* This method is like `_.isArrayLike` except that it also checks if `value`
|
19794 |
+
* is an object.
|
19795 |
+
*
|
19796 |
+
* @static
|
19797 |
+
* @memberOf _
|
19798 |
+
* @since 4.0.0
|
19799 |
+
* @category Lang
|
19800 |
+
* @param {*} value The value to check.
|
19801 |
+
* @returns {boolean} Returns `true` if `value` is an array-like object,
|
19802 |
+
* else `false`.
|
19803 |
+
* @example
|
19804 |
+
*
|
19805 |
+
* _.isArrayLikeObject([1, 2, 3]);
|
19806 |
+
* // => true
|
19807 |
+
*
|
19808 |
+
* _.isArrayLikeObject(document.body.children);
|
19809 |
+
* // => true
|
19810 |
+
*
|
19811 |
+
* _.isArrayLikeObject('abc');
|
19812 |
+
* // => false
|
19813 |
+
*
|
19814 |
+
* _.isArrayLikeObject(_.noop);
|
19815 |
+
* // => false
|
19816 |
+
*/
|
19817 |
+
function isArrayLikeObject(value) {
|
19818 |
+
return isObjectLike(value) && isArrayLike(value);
|
19819 |
+
}
|
19820 |
+
|
19821 |
+
/**
|
19822 |
+
* Checks if `value` is classified as a `Function` object.
|
19823 |
+
*
|
19824 |
+
* @static
|
19825 |
+
* @memberOf _
|
19826 |
+
* @since 0.1.0
|
19827 |
+
* @category Lang
|
19828 |
+
* @param {*} value The value to check.
|
19829 |
+
* @returns {boolean} Returns `true` if `value` is a function, else `false`.
|
19830 |
+
* @example
|
19831 |
+
*
|
19832 |
+
* _.isFunction(_);
|
19833 |
+
* // => true
|
19834 |
+
*
|
19835 |
+
* _.isFunction(/abc/);
|
19836 |
+
* // => false
|
19837 |
+
*/
|
19838 |
+
function isFunction(value) {
|
19839 |
+
// The use of `Object#toString` avoids issues with the `typeof` operator
|
19840 |
+
// in Safari 8-9 which returns 'object' for typed array and other constructors.
|
19841 |
+
var tag = isObject(value) ? objectToString.call(value) : '';
|
19842 |
+
return tag == funcTag || tag == genTag;
|
19843 |
+
}
|
19844 |
+
|
19845 |
+
/**
|
19846 |
+
* Checks if `value` is a valid array-like length.
|
19847 |
+
*
|
19848 |
+
* **Note:** This method is loosely based on
|
19849 |
+
* [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
|
19850 |
+
*
|
19851 |
+
* @static
|
19852 |
+
* @memberOf _
|
19853 |
+
* @since 4.0.0
|
19854 |
+
* @category Lang
|
19855 |
+
* @param {*} value The value to check.
|
19856 |
+
* @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
|
19857 |
+
* @example
|
19858 |
+
*
|
19859 |
+
* _.isLength(3);
|
19860 |
+
* // => true
|
19861 |
+
*
|
19862 |
+
* _.isLength(Number.MIN_VALUE);
|
19863 |
+
* // => false
|
19864 |
+
*
|
19865 |
+
* _.isLength(Infinity);
|
19866 |
+
* // => false
|
19867 |
+
*
|
19868 |
+
* _.isLength('3');
|
19869 |
+
* // => false
|
19870 |
+
*/
|
19871 |
+
function isLength(value) {
|
19872 |
+
return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
|
19873 |
+
}
|
19874 |
+
|
19875 |
+
/**
|
19876 |
+
* Checks if `value` is the
|
19877 |
+
* [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
|
19878 |
+
* of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
|
19879 |
+
*
|
19880 |
+
* @static
|
19881 |
+
* @memberOf _
|
19882 |
+
* @since 0.1.0
|
19883 |
+
* @category Lang
|
19884 |
+
* @param {*} value The value to check.
|
19885 |
+
* @returns {boolean} Returns `true` if `value` is an object, else `false`.
|
19886 |
+
* @example
|
19887 |
+
*
|
19888 |
+
* _.isObject({});
|
19889 |
+
* // => true
|
19890 |
+
*
|
19891 |
+
* _.isObject([1, 2, 3]);
|
19892 |
+
* // => true
|
19893 |
+
*
|
19894 |
+
* _.isObject(_.noop);
|
19895 |
+
* // => true
|
19896 |
+
*
|
19897 |
+
* _.isObject(null);
|
19898 |
+
* // => false
|
19899 |
+
*/
|
19900 |
+
function isObject(value) {
|
19901 |
+
var type = typeof value;
|
19902 |
+
return !!value && (type == 'object' || type == 'function');
|
19903 |
+
}
|
19904 |
+
|
19905 |
+
/**
|
19906 |
+
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
19907 |
+
* and has a `typeof` result of "object".
|
19908 |
+
*
|
19909 |
+
* @static
|
19910 |
+
* @memberOf _
|
19911 |
+
* @since 4.0.0
|
19912 |
+
* @category Lang
|
19913 |
+
* @param {*} value The value to check.
|
19914 |
+
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
19915 |
+
* @example
|
19916 |
+
*
|
19917 |
+
* _.isObjectLike({});
|
19918 |
+
* // => true
|
19919 |
+
*
|
19920 |
+
* _.isObjectLike([1, 2, 3]);
|
19921 |
+
* // => true
|
19922 |
+
*
|
19923 |
+
* _.isObjectLike(_.noop);
|
19924 |
+
* // => false
|
19925 |
+
*
|
19926 |
+
* _.isObjectLike(null);
|
19927 |
+
* // => false
|
19928 |
+
*/
|
19929 |
+
function isObjectLike(value) {
|
19930 |
+
return !!value && typeof value == 'object';
|
19931 |
+
}
|
19932 |
+
|
19933 |
+
module.exports = isArguments;
|
19934 |
+
|
19935 |
+
/***/ }),
|
19936 |
+
/* 253 */
|
19937 |
+
/***/ (function(module, exports, __webpack_require__) {
|
19938 |
+
|
19939 |
+
"use strict";
|
19940 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
19941 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
19942 |
+
*
|
19943 |
+
* This source code is licensed under the MIT license found in the
|
19944 |
+
* LICENSE file in the root directory of this source tree.
|
19945 |
+
*
|
19946 |
+
*/
|
19947 |
+
|
19948 |
+
|
19949 |
+
|
19950 |
+
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; };
|
19951 |
+
|
19952 |
+
var _prodInvariant = __webpack_require__(60),
|
19953 |
+
_assign = __webpack_require__(30);
|
19954 |
+
|
19955 |
+
var ReactNoopUpdateQueue = __webpack_require__(254);
|
19956 |
+
|
19957 |
+
var canDefineProperty = __webpack_require__(90);
|
19958 |
+
var emptyObject = __webpack_require__(54);
|
19959 |
+
var invariant = __webpack_require__(21);
|
19960 |
+
var lowPriorityWarning = __webpack_require__(143);
|
19961 |
+
|
19962 |
+
/**
|
19963 |
+
* Base class helpers for the updating state of a component.
|
19964 |
+
*/
|
19965 |
+
function ReactComponent(props, context, updater) {
|
19966 |
+
this.props = props;
|
19967 |
+
this.context = context;
|
19968 |
+
this.refs = emptyObject;
|
19969 |
+
// We initialize the default updater but the real one gets injected by the
|
19970 |
+
// renderer.
|
19971 |
+
this.updater = updater || ReactNoopUpdateQueue;
|
19972 |
+
}
|
19973 |
+
|
19974 |
+
ReactComponent.prototype.isReactComponent = {};
|
19975 |
+
|
19976 |
+
/**
|
19977 |
+
* Sets a subset of the state. Always use this to mutate
|
19978 |
+
* state. You should treat `this.state` as immutable.
|
19979 |
+
*
|
19980 |
+
* There is no guarantee that `this.state` will be immediately updated, so
|
19981 |
+
* accessing `this.state` after calling this method may return the old value.
|
19982 |
+
*
|
19983 |
+
* There is no guarantee that calls to `setState` will run synchronously,
|
19984 |
+
* as they may eventually be batched together. You can provide an optional
|
19985 |
+
* callback that will be executed when the call to setState is actually
|
19986 |
+
* completed.
|
19987 |
+
*
|
19988 |
+
* When a function is provided to setState, it will be called at some point in
|
19989 |
+
* the future (not synchronously). It will be called with the up to date
|
19990 |
+
* component arguments (state, props, context). These values can be different
|
19991 |
+
* from this.* because your function may be called after receiveProps but before
|
19992 |
+
* shouldComponentUpdate, and this new state, props, and context will not yet be
|
19993 |
+
* assigned to this.
|
19994 |
+
*
|
19995 |
+
* @param {object|function} partialState Next partial state or function to
|
19996 |
+
* produce next partial state to be merged with current state.
|
19997 |
+
* @param {?function} callback Called after state is updated.
|
19998 |
+
* @final
|
19999 |
+
* @protected
|
20000 |
+
*/
|
20001 |
+
ReactComponent.prototype.setState = function (partialState, callback) {
|
20002 |
+
!((typeof partialState === 'undefined' ? 'undefined' : _typeof(partialState)) === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0;
|
20003 |
+
this.updater.enqueueSetState(this, partialState);
|
20004 |
+
if (callback) {
|
20005 |
+
this.updater.enqueueCallback(this, callback, 'setState');
|
20006 |
+
}
|
20007 |
+
};
|
20008 |
+
|
20009 |
+
/**
|
20010 |
+
* Forces an update. This should only be invoked when it is known with
|
20011 |
+
* certainty that we are **not** in a DOM transaction.
|
20012 |
+
*
|
20013 |
+
* You may want to call this when you know that some deeper aspect of the
|
20014 |
+
* component's state has changed but `setState` was not called.
|
20015 |
+
*
|
20016 |
+
* This will not invoke `shouldComponentUpdate`, but it will invoke
|
20017 |
+
* `componentWillUpdate` and `componentDidUpdate`.
|
20018 |
+
*
|
20019 |
+
* @param {?function} callback Called after update is complete.
|
20020 |
+
* @final
|
20021 |
+
* @protected
|
20022 |
+
*/
|
20023 |
+
ReactComponent.prototype.forceUpdate = function (callback) {
|
20024 |
+
this.updater.enqueueForceUpdate(this);
|
20025 |
+
if (callback) {
|
20026 |
+
this.updater.enqueueCallback(this, callback, 'forceUpdate');
|
20027 |
+
}
|
20028 |
+
};
|
20029 |
+
|
20030 |
+
/**
|
20031 |
+
* Deprecated APIs. These APIs used to exist on classic React classes but since
|
20032 |
+
* we would like to deprecate them, we're not going to move them over to this
|
20033 |
+
* modern base class. Instead, we define a getter that warns if it's accessed.
|
20034 |
+
*/
|
20035 |
+
if (process.env.NODE_ENV !== 'production') {
|
20036 |
+
var deprecatedAPIs = {
|
20037 |
+
isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],
|
20038 |
+
replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']
|
20039 |
+
};
|
20040 |
+
var defineDeprecationWarning = function defineDeprecationWarning(methodName, info) {
|
20041 |
+
if (canDefineProperty) {
|
20042 |
+
Object.defineProperty(ReactComponent.prototype, methodName, {
|
20043 |
+
get: function get() {
|
20044 |
+
lowPriorityWarning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);
|
20045 |
+
return undefined;
|
20046 |
+
}
|
20047 |
+
});
|
20048 |
+
}
|
20049 |
+
};
|
20050 |
+
for (var fnName in deprecatedAPIs) {
|
20051 |
+
if (deprecatedAPIs.hasOwnProperty(fnName)) {
|
20052 |
+
defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
|
20053 |
+
}
|
20054 |
+
}
|
20055 |
+
}
|
20056 |
+
|
20057 |
+
/**
|
20058 |
+
* Base class helpers for the updating state of a component.
|
20059 |
+
*/
|
20060 |
+
function ReactPureComponent(props, context, updater) {
|
20061 |
+
// Duplicated from ReactComponent.
|
20062 |
+
this.props = props;
|
20063 |
+
this.context = context;
|
20064 |
+
this.refs = emptyObject;
|
20065 |
+
// We initialize the default updater but the real one gets injected by the
|
20066 |
+
// renderer.
|
20067 |
+
this.updater = updater || ReactNoopUpdateQueue;
|
20068 |
+
}
|
20069 |
+
|
20070 |
+
function ComponentDummy() {}
|
20071 |
+
ComponentDummy.prototype = ReactComponent.prototype;
|
20072 |
+
ReactPureComponent.prototype = new ComponentDummy();
|
20073 |
+
ReactPureComponent.prototype.constructor = ReactPureComponent;
|
20074 |
+
// Avoid an extra prototype jump for these methods.
|
20075 |
+
_assign(ReactPureComponent.prototype, ReactComponent.prototype);
|
20076 |
+
ReactPureComponent.prototype.isPureReactComponent = true;
|
20077 |
+
|
20078 |
+
module.exports = {
|
20079 |
+
Component: ReactComponent,
|
20080 |
+
PureComponent: ReactPureComponent
|
20081 |
+
};
|
20082 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
20083 |
+
|
20084 |
+
/***/ }),
|
20085 |
+
/* 254 */
|
20086 |
+
/***/ (function(module, exports, __webpack_require__) {
|
20087 |
+
|
20088 |
+
"use strict";
|
20089 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
20090 |
+
* Copyright (c) 2015-present, Facebook, Inc.
|
20091 |
+
*
|
20092 |
+
* This source code is licensed under the MIT license found in the
|
20093 |
+
* LICENSE file in the root directory of this source tree.
|
20094 |
+
*
|
20095 |
+
*/
|
20096 |
+
|
20097 |
+
|
20098 |
+
|
20099 |
+
var warning = __webpack_require__(26);
|
20100 |
+
|
20101 |
+
function warnNoop(publicInstance, callerName) {
|
20102 |
+
if (process.env.NODE_ENV !== 'production') {
|
20103 |
+
var constructor = publicInstance.constructor;
|
20104 |
+
process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;
|
20105 |
+
}
|
20106 |
+
}
|
20107 |
+
|
20108 |
+
/**
|
20109 |
+
* This is the abstract API for an update queue.
|
20110 |
+
*/
|
20111 |
+
var ReactNoopUpdateQueue = {
|
20112 |
+
/**
|
20113 |
+
* Checks whether or not this composite component is mounted.
|
20114 |
+
* @param {ReactClass} publicInstance The instance we want to test.
|
20115 |
+
* @return {boolean} True if mounted, false otherwise.
|
20116 |
+
* @protected
|
20117 |
+
* @final
|
20118 |
+
*/
|
20119 |
+
isMounted: function isMounted(publicInstance) {
|
20120 |
+
return false;
|
20121 |
+
},
|
20122 |
+
|
20123 |
+
/**
|
20124 |
+
* Enqueue a callback that will be executed after all the pending updates
|
20125 |
+
* have processed.
|
20126 |
+
*
|
20127 |
+
* @param {ReactClass} publicInstance The instance to use as `this` context.
|
20128 |
+
* @param {?function} callback Called after state is updated.
|
20129 |
+
* @internal
|
20130 |
+
*/
|
20131 |
+
enqueueCallback: function enqueueCallback(publicInstance, callback) {},
|
20132 |
+
|
20133 |
+
/**
|
20134 |
+
* Forces an update. This should only be invoked when it is known with
|
20135 |
+
* certainty that we are **not** in a DOM transaction.
|
20136 |
+
*
|
20137 |
+
* You may want to call this when you know that some deeper aspect of the
|
20138 |
+
* component's state has changed but `setState` was not called.
|
20139 |
+
*
|
20140 |
+
* This will not invoke `shouldComponentUpdate`, but it will invoke
|
20141 |
+
* `componentWillUpdate` and `componentDidUpdate`.
|
20142 |
+
*
|
20143 |
+
* @param {ReactClass} publicInstance The instance that should rerender.
|
20144 |
+
* @internal
|
20145 |
+
*/
|
20146 |
+
enqueueForceUpdate: function enqueueForceUpdate(publicInstance) {
|
20147 |
+
warnNoop(publicInstance, 'forceUpdate');
|
20148 |
+
},
|
20149 |
+
|
20150 |
+
/**
|
20151 |
+
* Replaces all of the state. Always use this or `setState` to mutate state.
|
20152 |
+
* You should treat `this.state` as immutable.
|
20153 |
+
*
|
20154 |
+
* There is no guarantee that `this.state` will be immediately updated, so
|
20155 |
+
* accessing `this.state` after calling this method may return the old value.
|
20156 |
+
*
|
20157 |
+
* @param {ReactClass} publicInstance The instance that should rerender.
|
20158 |
+
* @param {object} completeState Next state.
|
20159 |
+
* @internal
|
20160 |
+
*/
|
20161 |
+
enqueueReplaceState: function enqueueReplaceState(publicInstance, completeState) {
|
20162 |
+
warnNoop(publicInstance, 'replaceState');
|
20163 |
+
},
|
20164 |
+
|
20165 |
+
/**
|
20166 |
+
* Sets a subset of the state. This only exists because _pendingState is
|
20167 |
+
* internal. This provides a merging strategy that is not available to deep
|
20168 |
+
* properties which is confusing. TODO: Expose pendingState or don't use it
|
20169 |
+
* during the merge.
|
20170 |
+
*
|
20171 |
+
* @param {ReactClass} publicInstance The instance that should rerender.
|
20172 |
+
* @param {object} partialState Next partial state to be merged with state.
|
20173 |
+
* @internal
|
20174 |
+
*/
|
20175 |
+
enqueueSetState: function enqueueSetState(publicInstance, partialState) {
|
20176 |
+
warnNoop(publicInstance, 'setState');
|
20177 |
+
}
|
20178 |
+
};
|
20179 |
+
|
20180 |
+
module.exports = ReactNoopUpdateQueue;
|
20181 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
20182 |
+
|
20183 |
+
/***/ }),
|
20184 |
+
/* 255 */
|
20185 |
+
/***/ (function(module, exports, __webpack_require__) {
|
20186 |
+
|
20187 |
+
"use strict";
|
20188 |
+
/**
|
20189 |
+
* Copyright (c) 2014-present, Facebook, Inc.
|
20190 |
+
*
|
20191 |
+
* This source code is licensed under the MIT license found in the
|
20192 |
+
* LICENSE file in the root directory of this source tree.
|
20193 |
+
*
|
20194 |
+
*
|
20195 |
+
*/
|
20196 |
+
|
20197 |
+
|
20198 |
+
|
20199 |
+
// The Symbol used to tag the ReactElement type. If there is no native Symbol
|
20200 |
+
// nor polyfill, then a plain number is used for performance.
|
20201 |
+
|
20202 |
+
var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;
|
20203 |
+
|
20204 |
+
module.exports = REACT_ELEMENT_TYPE;
|
20205 |
+
|
20206 |
+
/***/ }),
|
20207 |
+
/* 256 */
|
20208 |
+
/***/ (function(module, exports, __webpack_require__) {
|
20209 |
+
|
20210 |
+
"use strict";
|
20211 |
+
/**
|
20212 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
20213 |
+
*
|
20214 |
+
* This source code is licensed under the MIT license found in the
|
20215 |
+
* LICENSE file in the root directory of this source tree.
|
20216 |
+
*
|
20217 |
+
*
|
20218 |
+
*/
|
20219 |
+
|
20220 |
+
|
20221 |
+
|
20222 |
+
/* global Symbol */
|
20223 |
+
|
20224 |
+
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
|
20225 |
+
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
|
20226 |
+
|
20227 |
+
/**
|
20228 |
+
* Returns the iterator method function contained on the iterable object.
|
20229 |
+
*
|
20230 |
+
* Be sure to invoke the function with the iterable as context:
|
20231 |
+
*
|
20232 |
+
* var iteratorFn = getIteratorFn(myIterable);
|
20233 |
+
* if (iteratorFn) {
|
20234 |
+
* var iterator = iteratorFn.call(myIterable);
|
20235 |
+
* ...
|
20236 |
+
* }
|
20237 |
+
*
|
20238 |
+
* @param {?object} maybeIterable
|
20239 |
+
* @return {?function}
|
20240 |
+
*/
|
20241 |
+
function getIteratorFn(maybeIterable) {
|
20242 |
+
var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
|
20243 |
+
if (typeof iteratorFn === 'function') {
|
20244 |
+
return iteratorFn;
|
20245 |
+
}
|
20246 |
+
}
|
20247 |
+
|
20248 |
+
module.exports = getIteratorFn;
|
20249 |
+
|
20250 |
+
/***/ }),
|
20251 |
+
/* 257 */
|
20252 |
+
/***/ (function(module, exports, __webpack_require__) {
|
20253 |
+
|
20254 |
+
"use strict";
|
20255 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
20256 |
+
* Copyright (c) 2014-present, Facebook, Inc.
|
20257 |
+
*
|
20258 |
+
* This source code is licensed under the MIT license found in the
|
20259 |
+
* LICENSE file in the root directory of this source tree.
|
20260 |
+
*
|
20261 |
+
*/
|
20262 |
+
|
20263 |
+
/**
|
20264 |
+
* ReactElementValidator provides a wrapper around a element factory
|
20265 |
+
* which validates the props passed to the element. This is intended to be
|
20266 |
+
* used only in DEV and could be replaced by a static type checker for languages
|
20267 |
+
* that support it.
|
20268 |
+
*/
|
20269 |
+
|
20270 |
+
|
20271 |
+
|
20272 |
+
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; };
|
20273 |
+
|
20274 |
+
var ReactCurrentOwner = __webpack_require__(91);
|
20275 |
+
var ReactComponentTreeHook = __webpack_require__(144);
|
20276 |
+
var ReactElement = __webpack_require__(47);
|
20277 |
+
|
20278 |
+
var checkReactTypeSpec = __webpack_require__(695);
|
20279 |
+
|
20280 |
+
var canDefineProperty = __webpack_require__(90);
|
20281 |
+
var getIteratorFn = __webpack_require__(256);
|
20282 |
+
var warning = __webpack_require__(26);
|
20283 |
+
var lowPriorityWarning = __webpack_require__(143);
|
20284 |
+
|
20285 |
+
function getDeclarationErrorAddendum() {
|
20286 |
+
if (ReactCurrentOwner.current) {
|
20287 |
+
var name = ReactCurrentOwner.current.getName();
|
20288 |
+
if (name) {
|
20289 |
+
return ' Check the render method of `' + name + '`.';
|
20290 |
+
}
|
20291 |
+
}
|
20292 |
+
return '';
|
20293 |
+
}
|
20294 |
+
|
20295 |
+
function getSourceInfoErrorAddendum(elementProps) {
|
20296 |
+
if (elementProps !== null && elementProps !== undefined && elementProps.__source !== undefined) {
|
20297 |
+
var source = elementProps.__source;
|
20298 |
+
var fileName = source.fileName.replace(/^.*[\\\/]/, '');
|
20299 |
+
var lineNumber = source.lineNumber;
|
20300 |
+
return ' Check your code at ' + fileName + ':' + lineNumber + '.';
|
20301 |
+
}
|
20302 |
+
return '';
|
20303 |
+
}
|
20304 |
+
|
20305 |
+
/**
|
20306 |
+
* Warn if there's no key explicitly set on dynamic arrays of children or
|
20307 |
+
* object keys are not valid. This allows us to keep track of children between
|
20308 |
+
* updates.
|
20309 |
+
*/
|
20310 |
+
var ownerHasKeyUseWarning = {};
|
20311 |
+
|
20312 |
+
function getCurrentComponentErrorInfo(parentType) {
|
20313 |
+
var info = getDeclarationErrorAddendum();
|
20314 |
+
|
20315 |
+
if (!info) {
|
20316 |
+
var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;
|
20317 |
+
if (parentName) {
|
20318 |
+
info = ' Check the top-level render call using <' + parentName + '>.';
|
20319 |
+
}
|
20320 |
+
}
|
20321 |
+
return info;
|
20322 |
+
}
|
20323 |
+
|
20324 |
+
/**
|
20325 |
+
* Warn if the element doesn't have an explicit key assigned to it.
|
20326 |
+
* This element is in an array. The array could grow and shrink or be
|
20327 |
+
* reordered. All children that haven't already been validated are required to
|
20328 |
+
* have a "key" property assigned to it. Error statuses are cached so a warning
|
20329 |
+
* will only be shown once.
|
20330 |
+
*
|
20331 |
+
* @internal
|
20332 |
+
* @param {ReactElement} element Element that requires a key.
|
20333 |
+
* @param {*} parentType element's parent's type.
|
20334 |
+
*/
|
20335 |
+
function validateExplicitKey(element, parentType) {
|
20336 |
+
if (!element._store || element._store.validated || element.key != null) {
|
20337 |
+
return;
|
20338 |
+
}
|
20339 |
+
element._store.validated = true;
|
20340 |
+
|
20341 |
+
var memoizer = ownerHasKeyUseWarning.uniqueKey || (ownerHasKeyUseWarning.uniqueKey = {});
|
20342 |
+
|
20343 |
+
var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);
|
20344 |
+
if (memoizer[currentComponentErrorInfo]) {
|
20345 |
+
return;
|
20346 |
+
}
|
20347 |
+
memoizer[currentComponentErrorInfo] = true;
|
20348 |
+
|
20349 |
+
// Usually the current owner is the offender, but if it accepts children as a
|
20350 |
+
// property, it may be the creator of the child that's responsible for
|
20351 |
+
// assigning it a key.
|
20352 |
+
var childOwner = '';
|
20353 |
+
if (element && element._owner && element._owner !== ReactCurrentOwner.current) {
|
20354 |
+
// Give the component that originally created this child.
|
20355 |
+
childOwner = ' It was passed a child from ' + element._owner.getName() + '.';
|
20356 |
+
}
|
20357 |
+
|
20358 |
+
process.env.NODE_ENV !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.%s', currentComponentErrorInfo, childOwner, ReactComponentTreeHook.getCurrentStackAddendum(element)) : void 0;
|
20359 |
+
}
|
20360 |
+
|
20361 |
+
/**
|
20362 |
+
* Ensure that every element either is passed in a static location, in an
|
20363 |
+
* array with an explicit keys property defined, or in an object literal
|
20364 |
+
* with valid key property.
|
20365 |
+
*
|
20366 |
+
* @internal
|
20367 |
+
* @param {ReactNode} node Statically passed child of any type.
|
20368 |
+
* @param {*} parentType node's parent's type.
|
20369 |
+
*/
|
20370 |
+
function validateChildKeys(node, parentType) {
|
20371 |
+
if ((typeof node === 'undefined' ? 'undefined' : _typeof(node)) !== 'object') {
|
20372 |
+
return;
|
20373 |
+
}
|
20374 |
+
if (Array.isArray(node)) {
|
20375 |
+
for (var i = 0; i < node.length; i++) {
|
20376 |
+
var child = node[i];
|
20377 |
+
if (ReactElement.isValidElement(child)) {
|
20378 |
+
validateExplicitKey(child, parentType);
|
20379 |
+
}
|
20380 |
+
}
|
20381 |
+
} else if (ReactElement.isValidElement(node)) {
|
20382 |
+
// This element was passed in a valid location.
|
20383 |
+
if (node._store) {
|
20384 |
+
node._store.validated = true;
|
20385 |
+
}
|
20386 |
+
} else if (node) {
|
20387 |
+
var iteratorFn = getIteratorFn(node);
|
20388 |
+
// Entry iterators provide implicit keys.
|
20389 |
+
if (iteratorFn) {
|
20390 |
+
if (iteratorFn !== node.entries) {
|
20391 |
+
var iterator = iteratorFn.call(node);
|
20392 |
+
var step;
|
20393 |
+
while (!(step = iterator.next()).done) {
|
20394 |
+
if (ReactElement.isValidElement(step.value)) {
|
20395 |
+
validateExplicitKey(step.value, parentType);
|
20396 |
+
}
|
20397 |
+
}
|
20398 |
+
}
|
20399 |
+
}
|
20400 |
+
}
|
20401 |
+
}
|
20402 |
+
|
20403 |
+
/**
|
20404 |
+
* Given an element, validate that its props follow the propTypes definition,
|
20405 |
+
* provided by the type.
|
20406 |
+
*
|
20407 |
+
* @param {ReactElement} element
|
20408 |
+
*/
|
20409 |
+
function validatePropTypes(element) {
|
20410 |
+
var componentClass = element.type;
|
20411 |
+
if (typeof componentClass !== 'function') {
|
20412 |
+
return;
|
20413 |
+
}
|
20414 |
+
var name = componentClass.displayName || componentClass.name;
|
20415 |
+
if (componentClass.propTypes) {
|
20416 |
+
checkReactTypeSpec(componentClass.propTypes, element.props, 'prop', name, element, null);
|
20417 |
+
}
|
20418 |
+
if (typeof componentClass.getDefaultProps === 'function') {
|
20419 |
+
process.env.NODE_ENV !== 'production' ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0;
|
20420 |
+
}
|
20421 |
+
}
|
20422 |
+
|
20423 |
+
var ReactElementValidator = {
|
20424 |
+
createElement: function createElement(type, props, children) {
|
20425 |
+
var validType = typeof type === 'string' || typeof type === 'function';
|
20426 |
+
// We warn in this case but don't throw. We expect the element creation to
|
20427 |
+
// succeed and there will likely be errors in render.
|
20428 |
+
if (!validType) {
|
20429 |
+
if (typeof type !== 'function' && typeof type !== 'string') {
|
20430 |
+
var info = '';
|
20431 |
+
if (type === undefined || (typeof type === 'undefined' ? 'undefined' : _typeof(type)) === 'object' && type !== null && Object.keys(type).length === 0) {
|
20432 |
+
info += ' You likely forgot to export your component from the file ' + "it's defined in.";
|
20433 |
+
}
|
20434 |
+
|
20435 |
+
var sourceInfo = getSourceInfoErrorAddendum(props);
|
20436 |
+
if (sourceInfo) {
|
20437 |
+
info += sourceInfo;
|
20438 |
+
} else {
|
20439 |
+
info += getDeclarationErrorAddendum();
|
20440 |
+
}
|
20441 |
+
|
20442 |
+
info += ReactComponentTreeHook.getCurrentStackAddendum();
|
20443 |
+
|
20444 |
+
var currentSource = props !== null && props !== undefined && props.__source !== undefined ? props.__source : null;
|
20445 |
+
ReactComponentTreeHook.pushNonStandardWarningStack(true, currentSource);
|
20446 |
+
process.env.NODE_ENV !== 'production' ? warning(false, 'React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', type == null ? type : typeof type === 'undefined' ? 'undefined' : _typeof(type), info) : void 0;
|
20447 |
+
ReactComponentTreeHook.popNonStandardWarningStack();
|
20448 |
+
}
|
20449 |
+
}
|
20450 |
+
|
20451 |
+
var element = ReactElement.createElement.apply(this, arguments);
|
20452 |
+
|
20453 |
+
// The result can be nullish if a mock or a custom function is used.
|
20454 |
+
// TODO: Drop this when these are no longer allowed as the type argument.
|
20455 |
+
if (element == null) {
|
20456 |
+
return element;
|
20457 |
+
}
|
20458 |
+
|
20459 |
+
// Skip key warning if the type isn't valid since our key validation logic
|
20460 |
+
// doesn't expect a non-string/function type and can throw confusing errors.
|
20461 |
+
// We don't want exception behavior to differ between dev and prod.
|
20462 |
+
// (Rendering will throw with a helpful message and as soon as the type is
|
20463 |
+
// fixed, the key warnings will appear.)
|
20464 |
+
if (validType) {
|
20465 |
+
for (var i = 2; i < arguments.length; i++) {
|
20466 |
+
validateChildKeys(arguments[i], type);
|
20467 |
+
}
|
20468 |
+
}
|
20469 |
+
|
20470 |
+
validatePropTypes(element);
|
20471 |
+
|
20472 |
+
return element;
|
20473 |
+
},
|
20474 |
+
|
20475 |
+
createFactory: function createFactory(type) {
|
20476 |
+
var validatedFactory = ReactElementValidator.createElement.bind(null, type);
|
20477 |
+
// Legacy hook TODO: Warn if this is accessed
|
20478 |
+
validatedFactory.type = type;
|
20479 |
+
|
20480 |
+
if (process.env.NODE_ENV !== 'production') {
|
20481 |
+
if (canDefineProperty) {
|
20482 |
+
Object.defineProperty(validatedFactory, 'type', {
|
20483 |
+
enumerable: false,
|
20484 |
+
get: function get() {
|
20485 |
+
lowPriorityWarning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');
|
20486 |
+
Object.defineProperty(this, 'type', {
|
20487 |
+
value: type
|
20488 |
+
});
|
20489 |
+
return type;
|
20490 |
+
}
|
20491 |
+
});
|
20492 |
+
}
|
20493 |
+
}
|
20494 |
+
|
20495 |
+
return validatedFactory;
|
20496 |
+
},
|
20497 |
+
|
20498 |
+
cloneElement: function cloneElement(element, props, children) {
|
20499 |
+
var newElement = ReactElement.cloneElement.apply(this, arguments);
|
20500 |
+
for (var i = 2; i < arguments.length; i++) {
|
20501 |
+
validateChildKeys(arguments[i], newElement.type);
|
20502 |
+
}
|
20503 |
+
validatePropTypes(newElement);
|
20504 |
+
return newElement;
|
20505 |
+
}
|
20506 |
+
};
|
20507 |
+
|
20508 |
+
module.exports = ReactElementValidator;
|
20509 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
20510 |
+
|
20511 |
+
/***/ }),
|
20512 |
+
/* 258 */
|
20513 |
+
/***/ (function(module, exports, __webpack_require__) {
|
20514 |
+
|
20515 |
+
"use strict";
|
20516 |
+
|
20517 |
+
|
20518 |
+
module.exports = function bind(fn, thisArg) {
|
20519 |
+
return function wrap() {
|
20520 |
+
var args = new Array(arguments.length);
|
20521 |
+
for (var i = 0; i < args.length; i++) {
|
20522 |
+
args[i] = arguments[i];
|
20523 |
+
}
|
20524 |
+
return fn.apply(thisArg, args);
|
20525 |
+
};
|
20526 |
+
};
|
20527 |
+
|
20528 |
+
/***/ }),
|
20529 |
+
/* 259 */
|
20530 |
+
/***/ (function(module, exports, __webpack_require__) {
|
20531 |
+
|
20532 |
+
"use strict";
|
20533 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
20534 |
+
|
20535 |
+
var utils = __webpack_require__(24);
|
20536 |
+
var settle = __webpack_require__(711);
|
20537 |
+
var buildURL = __webpack_require__(713);
|
20538 |
+
var parseHeaders = __webpack_require__(714);
|
20539 |
+
var isURLSameOrigin = __webpack_require__(715);
|
20540 |
+
var createError = __webpack_require__(260);
|
20541 |
+
var btoa = typeof window !== 'undefined' && window.btoa && window.btoa.bind(window) || __webpack_require__(716);
|
20542 |
+
|
20543 |
+
module.exports = function xhrAdapter(config) {
|
20544 |
+
return new Promise(function dispatchXhrRequest(resolve, reject) {
|
20545 |
+
var requestData = config.data;
|
20546 |
+
var requestHeaders = config.headers;
|
20547 |
+
|
20548 |
+
if (utils.isFormData(requestData)) {
|
20549 |
+
delete requestHeaders['Content-Type']; // Let the browser set it
|
20550 |
+
}
|
20551 |
+
|
20552 |
+
var request = new XMLHttpRequest();
|
20553 |
+
var loadEvent = 'onreadystatechange';
|
20554 |
+
var xDomain = false;
|
20555 |
+
|
20556 |
+
// For IE 8/9 CORS support
|
20557 |
+
// Only supports POST and GET calls and doesn't returns the response headers.
|
20558 |
+
// DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.
|
20559 |
+
if (process.env.NODE_ENV !== 'test' && typeof window !== 'undefined' && window.XDomainRequest && !('withCredentials' in request) && !isURLSameOrigin(config.url)) {
|
20560 |
+
request = new window.XDomainRequest();
|
20561 |
+
loadEvent = 'onload';
|
20562 |
+
xDomain = true;
|
20563 |
+
request.onprogress = function handleProgress() {};
|
20564 |
+
request.ontimeout = function handleTimeout() {};
|
20565 |
+
}
|
20566 |
+
|
20567 |
+
// HTTP basic authentication
|
20568 |
+
if (config.auth) {
|
20569 |
+
var username = config.auth.username || '';
|
20570 |
+
var password = config.auth.password || '';
|
20571 |
+
requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
|
20572 |
+
}
|
20573 |
+
|
20574 |
+
request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);
|
20575 |
+
|
20576 |
+
// Set the request timeout in MS
|
20577 |
+
request.timeout = config.timeout;
|
20578 |
+
|
20579 |
+
// Listen for ready state
|
20580 |
+
request[loadEvent] = function handleLoad() {
|
20581 |
+
if (!request || request.readyState !== 4 && !xDomain) {
|
20582 |
+
return;
|
20583 |
+
}
|
20584 |
+
|
20585 |
+
// The request errored out and we didn't get a response, this will be
|
20586 |
+
// handled by onerror instead
|
20587 |
+
// With one exception: request that using file: protocol, most browsers
|
20588 |
+
// will return status as 0 even though it's a successful request
|
20589 |
+
if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
|
20590 |
+
return;
|
20591 |
+
}
|
20592 |
+
|
20593 |
+
// Prepare the response
|
20594 |
+
var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
|
20595 |
+
var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
|
20596 |
+
var response = {
|
20597 |
+
data: responseData,
|
20598 |
+
// IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)
|
20599 |
+
status: request.status === 1223 ? 204 : request.status,
|
20600 |
+
statusText: request.status === 1223 ? 'No Content' : request.statusText,
|
20601 |
+
headers: responseHeaders,
|
20602 |
+
config: config,
|
20603 |
+
request: request
|
20604 |
+
};
|
20605 |
+
|
20606 |
+
settle(resolve, reject, response);
|
20607 |
+
|
20608 |
+
// Clean up request
|
20609 |
+
request = null;
|
20610 |
+
};
|
20611 |
+
|
20612 |
+
// Handle low level network errors
|
20613 |
+
request.onerror = function handleError() {
|
20614 |
+
// Real errors are hidden from us by the browser
|
20615 |
+
// onerror should only fire if it's a network error
|
20616 |
+
reject(createError('Network Error', config, null, request));
|
20617 |
+
|
20618 |
+
// Clean up request
|
20619 |
+
request = null;
|
20620 |
+
};
|
20621 |
+
|
20622 |
+
// Handle timeout
|
20623 |
+
request.ontimeout = function handleTimeout() {
|
20624 |
+
reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request));
|
20625 |
+
|
20626 |
+
// Clean up request
|
20627 |
+
request = null;
|
20628 |
+
};
|
20629 |
+
|
20630 |
+
// Add xsrf header
|
20631 |
+
// This is only done if running in a standard browser environment.
|
20632 |
+
// Specifically not if we're in a web worker, or react-native.
|
20633 |
+
if (utils.isStandardBrowserEnv()) {
|
20634 |
+
var cookies = __webpack_require__(717);
|
20635 |
+
|
20636 |
+
// Add xsrf header
|
20637 |
+
var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;
|
20638 |
+
|
20639 |
+
if (xsrfValue) {
|
20640 |
+
requestHeaders[config.xsrfHeaderName] = xsrfValue;
|
20641 |
+
}
|
20642 |
+
}
|
20643 |
+
|
20644 |
+
// Add headers to the request
|
20645 |
+
if ('setRequestHeader' in request) {
|
20646 |
+
utils.forEach(requestHeaders, function setRequestHeader(val, key) {
|
20647 |
+
if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
|
20648 |
+
// Remove Content-Type if data is undefined
|
20649 |
+
delete requestHeaders[key];
|
20650 |
+
} else {
|
20651 |
+
// Otherwise add header to the request
|
20652 |
+
request.setRequestHeader(key, val);
|
20653 |
+
}
|
20654 |
+
});
|
20655 |
+
}
|
20656 |
+
|
20657 |
+
// Add withCredentials to request if needed
|
20658 |
+
if (config.withCredentials) {
|
20659 |
+
request.withCredentials = true;
|
20660 |
+
}
|
20661 |
+
|
20662 |
+
// Add responseType to request if needed
|
20663 |
+
if (config.responseType) {
|
20664 |
+
try {
|
20665 |
+
request.responseType = config.responseType;
|
20666 |
+
} catch (e) {
|
20667 |
+
// Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.
|
20668 |
+
// But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.
|
20669 |
+
if (config.responseType !== 'json') {
|
20670 |
+
throw e;
|
20671 |
+
}
|
20672 |
+
}
|
20673 |
+
}
|
20674 |
+
|
20675 |
+
// Handle progress if needed
|
20676 |
+
if (typeof config.onDownloadProgress === 'function') {
|
20677 |
+
request.addEventListener('progress', config.onDownloadProgress);
|
20678 |
+
}
|
20679 |
+
|
20680 |
+
// Not all browsers support upload events
|
20681 |
+
if (typeof config.onUploadProgress === 'function' && request.upload) {
|
20682 |
+
request.upload.addEventListener('progress', config.onUploadProgress);
|
20683 |
+
}
|
20684 |
+
|
20685 |
+
if (config.cancelToken) {
|
20686 |
+
// Handle cancellation
|
20687 |
+
config.cancelToken.promise.then(function onCanceled(cancel) {
|
20688 |
+
if (!request) {
|
20689 |
+
return;
|
20690 |
+
}
|
20691 |
+
|
20692 |
+
request.abort();
|
20693 |
+
reject(cancel);
|
20694 |
+
// Clean up request
|
20695 |
+
request = null;
|
20696 |
+
});
|
20697 |
+
}
|
20698 |
+
|
20699 |
+
if (requestData === undefined) {
|
20700 |
+
requestData = null;
|
20701 |
+
}
|
20702 |
+
|
20703 |
+
// Send the request
|
20704 |
+
request.send(requestData);
|
20705 |
+
});
|
20706 |
+
};
|
20707 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)))
|
20708 |
+
|
20709 |
+
/***/ }),
|
20710 |
+
/* 260 */
|
20711 |
+
/***/ (function(module, exports, __webpack_require__) {
|
20712 |
+
|
20713 |
+
"use strict";
|
20714 |
+
|
20715 |
+
|
20716 |
+
var enhanceError = __webpack_require__(712);
|
20717 |
+
|
20718 |
+
/**
|
20719 |
+
* Create an Error with the specified message, config, error code, request and response.
|
20720 |
+
*
|
20721 |
+
* @param {string} message The error message.
|
20722 |
+
* @param {Object} config The config.
|
20723 |
+
* @param {string} [code] The error code (for example, 'ECONNABORTED').
|
20724 |
+
* @param {Object} [request] The request.
|
20725 |
+
* @param {Object} [response] The response.
|
20726 |
+
* @returns {Error} The created error.
|
20727 |
+
*/
|
20728 |
+
module.exports = function createError(message, config, code, request, response) {
|
20729 |
+
var error = new Error(message);
|
20730 |
+
return enhanceError(error, config, code, request, response);
|
20731 |
+
};
|
20732 |
+
|
20733 |
+
/***/ }),
|
20734 |
+
/* 261 */
|
20735 |
+
/***/ (function(module, exports, __webpack_require__) {
|
20736 |
+
|
20737 |
+
"use strict";
|
20738 |
+
|
20739 |
+
|
20740 |
+
module.exports = function isCancel(value) {
|
20741 |
+
return !!(value && value.__CANCEL__);
|
20742 |
+
};
|
20743 |
+
|
20744 |
+
/***/ }),
|
20745 |
+
/* 262 */
|
20746 |
+
/***/ (function(module, exports, __webpack_require__) {
|
20747 |
+
|
20748 |
+
"use strict";
|
20749 |
+
|
20750 |
+
|
20751 |
+
/**
|
20752 |
+
* A `Cancel` is an object that is thrown when an operation is canceled.
|
20753 |
+
*
|
20754 |
+
* @class
|
20755 |
+
* @param {string=} message The message.
|
20756 |
+
*/
|
20757 |
+
|
20758 |
+
function Cancel(message) {
|
20759 |
+
this.message = message;
|
20760 |
+
}
|
20761 |
+
|
20762 |
+
Cancel.prototype.toString = function toString() {
|
20763 |
+
return 'Cancel' + (this.message ? ': ' + this.message : '');
|
20764 |
+
};
|
20765 |
+
|
20766 |
+
Cancel.prototype.__CANCEL__ = true;
|
20767 |
+
|
20768 |
+
module.exports = Cancel;
|
20769 |
+
|
20770 |
+
/***/ }),
|
20771 |
+
/* 263 */
|
20772 |
+
/***/ (function(module, exports, __webpack_require__) {
|
20773 |
+
|
20774 |
+
module.exports = __webpack_require__(264);
|
20775 |
+
|
20776 |
+
|
20777 |
+
/***/ }),
|
20778 |
+
/* 264 */
|
20779 |
+
/***/ (function(module, exports, __webpack_require__) {
|
20780 |
+
|
20781 |
+
"use strict";
|
20782 |
+
|
20783 |
+
|
20784 |
+
__webpack_require__(265);
|
20785 |
+
|
20786 |
+
__webpack_require__(266);
|
20787 |
+
|
20788 |
+
__webpack_require__(274);
|
20789 |
+
|
20790 |
+
__webpack_require__(123);
|
20791 |
+
|
20792 |
+
__webpack_require__(492);
|
20793 |
+
|
20794 |
+
__webpack_require__(646);
|
20795 |
+
|
20796 |
+
__webpack_require__(11);
|
20797 |
+
|
20798 |
+
__webpack_require__(647);
|
20799 |
+
|
20800 |
+
__webpack_require__(648);
|
20801 |
+
|
20802 |
+
__webpack_require__(650);
|
20803 |
+
|
20804 |
+
/***/ }),
|
20805 |
+
/* 265 */
|
20806 |
+
/***/ (function(module, exports) {
|
20807 |
+
|
20808 |
+
module.exports = "<!DOCTYPE html>\r\n<html >\r\n\r\n<head>\r\n <meta charset='utf-8'>\r\n <title>Regenerate Thumbnails Advanced</title>\r\n</head>\r\n\r\n<body>\r\n <div id=\"rtaContent\">\r\n </div>\r\n <script type=\"text/javascript\">\r\n var RTArestUrl=\"http://localhost/wordpress/wp-json/rta/regenerate\"\r\n </script>\r\n \r\n <!-- <script src=\"dist/commons.js\"></script> -->\r\n <script src='dist/bundle.js'>\r\n </script>\r\n</body>\r\n\r\n</html>";
|
20809 |
+
|
20810 |
+
/***/ }),
|
20811 |
+
/* 266 */
|
20812 |
+
/***/ (function(module, exports, __webpack_require__) {
|
20813 |
+
|
20814 |
+
// style-loader: Adds some css to the DOM by adding a <style> tag
|
20815 |
+
|
20816 |
+
// load the styles
|
20817 |
+
var content = __webpack_require__(267);
|
20818 |
+
if(typeof content === 'string') content = [[module.i, content, '']];
|
20819 |
+
// Prepare cssTransformation
|
20820 |
+
var transform;
|
20821 |
+
|
20822 |
+
var options = {}
|
20823 |
+
options.transform = transform
|
20824 |
+
// add the styles to the DOM
|
20825 |
+
var update = __webpack_require__(149)(content, options);
|
20826 |
+
if(content.locals) module.exports = content.locals;
|
20827 |
+
// Hot Module Replacement
|
20828 |
+
if(false) {
|
20829 |
+
// When the styles change, update the <style> tags
|
20830 |
+
if(!content.locals) {
|
20831 |
+
module.hot.accept("!!../../../css-loader/index.js!./bootstrap.min.css", function() {
|
20832 |
+
var newContent = require("!!../../../css-loader/index.js!./bootstrap.min.css");
|
20833 |
+
if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
|
20834 |
+
update(newContent);
|
20835 |
+
});
|
20836 |
+
}
|
20837 |
+
// When the module is disposed, remove the <style> tags
|
20838 |
+
module.hot.dispose(function() { update(); });
|
20839 |
+
}
|
20840 |
+
|
20841 |
+
/***/ }),
|
20842 |
+
/* 267 */
|
20843 |
+
/***/ (function(module, exports, __webpack_require__) {
|
20844 |
+
|
20845 |
+
var escape = __webpack_require__(268);
|
20846 |
+
exports = module.exports = __webpack_require__(147)(false);
|
20847 |
+
// imports
|
20848 |
+
|
20849 |
+
|
20850 |
+
// module
|
20851 |
+
exports.push([module.i, "/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:\" (\" attr(href) \")\"}abbr[title]:after{content:\" (\" attr(title) \")\"}a[href^=\"javascript:\"]:after,a[href^=\"#\"]:after{content:\"\"}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(" + escape(__webpack_require__(148)) + ");src:url(" + escape(__webpack_require__(148)) + "?#iefix) format('embedded-opentype'),url(" + escape(__webpack_require__(269)) + ") format('woff2'),url(" + escape(__webpack_require__(270)) + ") format('woff'),url(" + escape(__webpack_require__(271)) + ") format('truetype'),url(" + escape(__webpack_require__(272)) + "#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:\"*\"}.glyphicon-plus:before{content:\"+\"}.glyphicon-eur:before,.glyphicon-euro:before{content:\"\\20AC\"}.glyphicon-minus:before{content:\"\\2212\"}.glyphicon-cloud:before{content:\"\\2601\"}.glyphicon-envelope:before{content:\"\\2709\"}.glyphicon-pencil:before{content:\"\\270F\"}.glyphicon-glass:before{content:\"\\E001\"}.glyphicon-music:before{content:\"\\E002\"}.glyphicon-search:before{content:\"\\E003\"}.glyphicon-heart:before{content:\"\\E005\"}.glyphicon-star:before{content:\"\\E006\"}.glyphicon-star-empty:before{content:\"\\E007\"}.glyphicon-user:before{content:\"\\E008\"}.glyphicon-film:before{content:\"\\E009\"}.glyphicon-th-large:before{content:\"\\E010\"}.glyphicon-th:before{content:\"\\E011\"}.glyphicon-th-list:before{content:\"\\E012\"}.glyphicon-ok:before{content:\"\\E013\"}.glyphicon-remove:before{content:\"\\E014\"}.glyphicon-zoom-in:before{content:\"\\E015\"}.glyphicon-zoom-out:before{content:\"\\E016\"}.glyphicon-off:before{content:\"\\E017\"}.glyphicon-signal:before{content:\"\\E018\"}.glyphicon-cog:before{content:\"\\E019\"}.glyphicon-trash:before{content:\"\\E020\"}.glyphicon-home:before{content:\"\\E021\"}.glyphicon-file:before{content:\"\\E022\"}.glyphicon-time:before{content:\"\\E023\"}.glyphicon-road:before{content:\"\\E024\"}.glyphicon-download-alt:before{content:\"\\E025\"}.glyphicon-download:before{content:\"\\E026\"}.glyphicon-upload:before{content:\"\\E027\"}.glyphicon-inbox:before{content:\"\\E028\"}.glyphicon-play-circle:before{content:\"\\E029\"}.glyphicon-repeat:before{content:\"\\E030\"}.glyphicon-refresh:before{content:\"\\E031\"}.glyphicon-list-alt:before{content:\"\\E032\"}.glyphicon-lock:before{content:\"\\E033\"}.glyphicon-flag:before{content:\"\\E034\"}.glyphicon-headphones:before{content:\"\\E035\"}.glyphicon-volume-off:before{content:\"\\E036\"}.glyphicon-volume-down:before{content:\"\\E037\"}.glyphicon-volume-up:before{content:\"\\E038\"}.glyphicon-qrcode:before{content:\"\\E039\"}.glyphicon-barcode:before{content:\"\\E040\"}.glyphicon-tag:before{content:\"\\E041\"}.glyphicon-tags:before{content:\"\\E042\"}.glyphicon-book:before{content:\"\\E043\"}.glyphicon-bookmark:before{content:\"\\E044\"}.glyphicon-print:before{content:\"\\E045\"}.glyphicon-camera:before{content:\"\\E046\"}.glyphicon-font:before{content:\"\\E047\"}.glyphicon-bold:before{content:\"\\E048\"}.glyphicon-italic:before{content:\"\\E049\"}.glyphicon-text-height:before{content:\"\\E050\"}.glyphicon-text-width:before{content:\"\\E051\"}.glyphicon-align-left:before{content:\"\\E052\"}.glyphicon-align-center:before{content:\"\\E053\"}.glyphicon-align-right:before{content:\"\\E054\"}.glyphicon-align-justify:before{content:\"\\E055\"}.glyphicon-list:before{content:\"\\E056\"}.glyphicon-indent-left:before{content:\"\\E057\"}.glyphicon-indent-right:before{content:\"\\E058\"}.glyphicon-facetime-video:before{content:\"\\E059\"}.glyphicon-picture:before{content:\"\\E060\"}.glyphicon-map-marker:before{content:\"\\E062\"}.glyphicon-adjust:before{content:\"\\E063\"}.glyphicon-tint:before{content:\"\\E064\"}.glyphicon-edit:before{content:\"\\E065\"}.glyphicon-share:before{content:\"\\E066\"}.glyphicon-check:before{content:\"\\E067\"}.glyphicon-move:before{content:\"\\E068\"}.glyphicon-step-backward:before{content:\"\\E069\"}.glyphicon-fast-backward:before{content:\"\\E070\"}.glyphicon-backward:before{content:\"\\E071\"}.glyphicon-play:before{content:\"\\E072\"}.glyphicon-pause:before{content:\"\\E073\"}.glyphicon-stop:before{content:\"\\E074\"}.glyphicon-forward:before{content:\"\\E075\"}.glyphicon-fast-forward:before{content:\"\\E076\"}.glyphicon-step-forward:before{content:\"\\E077\"}.glyphicon-eject:before{content:\"\\E078\"}.glyphicon-chevron-left:before{content:\"\\E079\"}.glyphicon-chevron-right:before{content:\"\\E080\"}.glyphicon-plus-sign:before{content:\"\\E081\"}.glyphicon-minus-sign:before{content:\"\\E082\"}.glyphicon-remove-sign:before{content:\"\\E083\"}.glyphicon-ok-sign:before{content:\"\\E084\"}.glyphicon-question-sign:before{content:\"\\E085\"}.glyphicon-info-sign:before{content:\"\\E086\"}.glyphicon-screenshot:before{content:\"\\E087\"}.glyphicon-remove-circle:before{content:\"\\E088\"}.glyphicon-ok-circle:before{content:\"\\E089\"}.glyphicon-ban-circle:before{content:\"\\E090\"}.glyphicon-arrow-left:before{content:\"\\E091\"}.glyphicon-arrow-right:before{content:\"\\E092\"}.glyphicon-arrow-up:before{content:\"\\E093\"}.glyphicon-arrow-down:before{content:\"\\E094\"}.glyphicon-share-alt:before{content:\"\\E095\"}.glyphicon-resize-full:before{content:\"\\E096\"}.glyphicon-resize-small:before{content:\"\\E097\"}.glyphicon-exclamation-sign:before{content:\"\\E101\"}.glyphicon-gift:before{content:\"\\E102\"}.glyphicon-leaf:before{content:\"\\E103\"}.glyphicon-fire:before{content:\"\\E104\"}.glyphicon-eye-open:before{content:\"\\E105\"}.glyphicon-eye-close:before{content:\"\\E106\"}.glyphicon-warning-sign:before{content:\"\\E107\"}.glyphicon-plane:before{content:\"\\E108\"}.glyphicon-calendar:before{content:\"\\E109\"}.glyphicon-random:before{content:\"\\E110\"}.glyphicon-comment:before{content:\"\\E111\"}.glyphicon-magnet:before{content:\"\\E112\"}.glyphicon-chevron-up:before{content:\"\\E113\"}.glyphicon-chevron-down:before{content:\"\\E114\"}.glyphicon-retweet:before{content:\"\\E115\"}.glyphicon-shopping-cart:before{content:\"\\E116\"}.glyphicon-folder-close:before{content:\"\\E117\"}.glyphicon-folder-open:before{content:\"\\E118\"}.glyphicon-resize-vertical:before{content:\"\\E119\"}.glyphicon-resize-horizontal:before{content:\"\\E120\"}.glyphicon-hdd:before{content:\"\\E121\"}.glyphicon-bullhorn:before{content:\"\\E122\"}.glyphicon-bell:before{content:\"\\E123\"}.glyphicon-certificate:before{content:\"\\E124\"}.glyphicon-thumbs-up:before{content:\"\\E125\"}.glyphicon-thumbs-down:before{content:\"\\E126\"}.glyphicon-hand-right:before{content:\"\\E127\"}.glyphicon-hand-left:before{content:\"\\E128\"}.glyphicon-hand-up:before{content:\"\\E129\"}.glyphicon-hand-down:before{content:\"\\E130\"}.glyphicon-circle-arrow-right:before{content:\"\\E131\"}.glyphicon-circle-arrow-left:before{content:\"\\E132\"}.glyphicon-circle-arrow-up:before{content:\"\\E133\"}.glyphicon-circle-arrow-down:before{content:\"\\E134\"}.glyphicon-globe:before{content:\"\\E135\"}.glyphicon-wrench:before{content:\"\\E136\"}.glyphicon-tasks:before{content:\"\\E137\"}.glyphicon-filter:before{content:\"\\E138\"}.glyphicon-briefcase:before{content:\"\\E139\"}.glyphicon-fullscreen:before{content:\"\\E140\"}.glyphicon-dashboard:before{content:\"\\E141\"}.glyphicon-paperclip:before{content:\"\\E142\"}.glyphicon-heart-empty:before{content:\"\\E143\"}.glyphicon-link:before{content:\"\\E144\"}.glyphicon-phone:before{content:\"\\E145\"}.glyphicon-pushpin:before{content:\"\\E146\"}.glyphicon-usd:before{content:\"\\E148\"}.glyphicon-gbp:before{content:\"\\E149\"}.glyphicon-sort:before{content:\"\\E150\"}.glyphicon-sort-by-alphabet:before{content:\"\\E151\"}.glyphicon-sort-by-alphabet-alt:before{content:\"\\E152\"}.glyphicon-sort-by-order:before{content:\"\\E153\"}.glyphicon-sort-by-order-alt:before{content:\"\\E154\"}.glyphicon-sort-by-attributes:before{content:\"\\E155\"}.glyphicon-sort-by-attributes-alt:before{content:\"\\E156\"}.glyphicon-unchecked:before{content:\"\\E157\"}.glyphicon-expand:before{content:\"\\E158\"}.glyphicon-collapse-down:before{content:\"\\E159\"}.glyphicon-collapse-up:before{content:\"\\E160\"}.glyphicon-log-in:before{content:\"\\E161\"}.glyphicon-flash:before{content:\"\\E162\"}.glyphicon-log-out:before{content:\"\\E163\"}.glyphicon-new-window:before{content:\"\\E164\"}.glyphicon-record:before{content:\"\\E165\"}.glyphicon-save:before{content:\"\\E166\"}.glyphicon-open:before{content:\"\\E167\"}.glyphicon-saved:before{content:\"\\E168\"}.glyphicon-import:before{content:\"\\E169\"}.glyphicon-export:before{content:\"\\E170\"}.glyphicon-send:before{content:\"\\E171\"}.glyphicon-floppy-disk:before{content:\"\\E172\"}.glyphicon-floppy-saved:before{content:\"\\E173\"}.glyphicon-floppy-remove:before{content:\"\\E174\"}.glyphicon-floppy-save:before{content:\"\\E175\"}.glyphicon-floppy-open:before{content:\"\\E176\"}.glyphicon-credit-card:before{content:\"\\E177\"}.glyphicon-transfer:before{content:\"\\E178\"}.glyphicon-cutlery:before{content:\"\\E179\"}.glyphicon-header:before{content:\"\\E180\"}.glyphicon-compressed:before{content:\"\\E181\"}.glyphicon-earphone:before{content:\"\\E182\"}.glyphicon-phone-alt:before{content:\"\\E183\"}.glyphicon-tower:before{content:\"\\E184\"}.glyphicon-stats:before{content:\"\\E185\"}.glyphicon-sd-video:before{content:\"\\E186\"}.glyphicon-hd-video:before{content:\"\\E187\"}.glyphicon-subtitles:before{content:\"\\E188\"}.glyphicon-sound-stereo:before{content:\"\\E189\"}.glyphicon-sound-dolby:before{content:\"\\E190\"}.glyphicon-sound-5-1:before{content:\"\\E191\"}.glyphicon-sound-6-1:before{content:\"\\E192\"}.glyphicon-sound-7-1:before{content:\"\\E193\"}.glyphicon-copyright-mark:before{content:\"\\E194\"}.glyphicon-registration-mark:before{content:\"\\E195\"}.glyphicon-cloud-download:before{content:\"\\E197\"}.glyphicon-cloud-upload:before{content:\"\\E198\"}.glyphicon-tree-conifer:before{content:\"\\E199\"}.glyphicon-tree-deciduous:before{content:\"\\E200\"}.glyphicon-cd:before{content:\"\\E201\"}.glyphicon-save-file:before{content:\"\\E202\"}.glyphicon-open-file:before{content:\"\\E203\"}.glyphicon-level-up:before{content:\"\\E204\"}.glyphicon-copy:before{content:\"\\E205\"}.glyphicon-paste:before{content:\"\\E206\"}.glyphicon-alert:before{content:\"\\E209\"}.glyphicon-equalizer:before{content:\"\\E210\"}.glyphicon-king:before{content:\"\\E211\"}.glyphicon-queen:before{content:\"\\E212\"}.glyphicon-pawn:before{content:\"\\E213\"}.glyphicon-bishop:before{content:\"\\E214\"}.glyphicon-knight:before{content:\"\\E215\"}.glyphicon-baby-formula:before{content:\"\\E216\"}.glyphicon-tent:before{content:\"\\26FA\"}.glyphicon-blackboard:before{content:\"\\E218\"}.glyphicon-bed:before{content:\"\\E219\"}.glyphicon-apple:before{content:\"\\F8FF\"}.glyphicon-erase:before{content:\"\\E221\"}.glyphicon-hourglass:before{content:\"\\231B\"}.glyphicon-lamp:before{content:\"\\E223\"}.glyphicon-duplicate:before{content:\"\\E224\"}.glyphicon-piggy-bank:before{content:\"\\E225\"}.glyphicon-scissors:before{content:\"\\E226\"}.glyphicon-bitcoin:before{content:\"\\E227\"}.glyphicon-btc:before{content:\"\\E227\"}.glyphicon-xbt:before{content:\"\\E227\"}.glyphicon-yen:before{content:\"\\A5\"}.glyphicon-jpy:before{content:\"\\A5\"}.glyphicon-ruble:before{content:\"\\20BD\"}.glyphicon-rub:before{content:\"\\20BD\"}.glyphicon-scale:before{content:\"\\E230\"}.glyphicon-ice-lolly:before{content:\"\\E231\"}.glyphicon-ice-lolly-tasted:before{content:\"\\E232\"}.glyphicon-education:before{content:\"\\E233\"}.glyphicon-option-horizontal:before{content:\"\\E234\"}.glyphicon-option-vertical:before{content:\"\\E235\"}.glyphicon-menu-hamburger:before{content:\"\\E236\"}.glyphicon-modal-window:before{content:\"\\E237\"}.glyphicon-oil:before{content:\"\\E238\"}.glyphicon-grain:before{content:\"\\E239\"}.glyphicon-sunglasses:before{content:\"\\E240\"}.glyphicon-text-size:before{content:\"\\E241\"}.glyphicon-text-color:before{content:\"\\E242\"}.glyphicon-text-background:before{content:\"\\E243\"}.glyphicon-object-align-top:before{content:\"\\E244\"}.glyphicon-object-align-bottom:before{content:\"\\E245\"}.glyphicon-object-align-horizontal:before{content:\"\\E246\"}.glyphicon-object-align-left:before{content:\"\\E247\"}.glyphicon-object-align-vertical:before{content:\"\\E248\"}.glyphicon-object-align-right:before{content:\"\\E249\"}.glyphicon-triangle-right:before{content:\"\\E250\"}.glyphicon-triangle-left:before{content:\"\\E251\"}.glyphicon-triangle-bottom:before{content:\"\\E252\"}.glyphicon-triangle-top:before{content:\"\\E253\"}.glyphicon-console:before{content:\"\\E254\"}.glyphicon-superscript:before{content:\"\\E255\"}.glyphicon-subscript:before{content:\"\\E256\"}.glyphicon-menu-left:before{content:\"\\E257\"}.glyphicon-menu-right:before{content:\"\\E258\"}.glyphicon-menu-down:before{content:\"\\E259\"}.glyphicon-menu-up:before{content:\"\\E260\"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\\2014 \\A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\\A0 \\2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,\"Courier New\",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:\"\";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:\"/\\A0\"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:\"\";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:\" \";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:\" \";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:\" \";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:\" \";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\\2039'}.carousel-control .icon-next:before{content:'\\203A'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:\" \"}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}", ""]);
|
20852 |
+
|
20853 |
+
// exports
|
20854 |
+
|
20855 |
+
|
20856 |
+
/***/ }),
|
20857 |
+
/* 268 */
|
20858 |
+
/***/ (function(module, exports) {
|
20859 |
+
|
20860 |
+
module.exports = function escape(url) {
|
20861 |
+
if (typeof url !== 'string') {
|
20862 |
+
return url;
|
20863 |
+
}
|
20864 |
+
// If url is already wrapped in quotes, remove them
|
20865 |
+
if (/^['"].*['"]$/.test(url)) {
|
20866 |
+
url = url.slice(1, -1);
|
20867 |
+
}
|
20868 |
+
// Should url be wrapped?
|
20869 |
+
// See https://drafts.csswg.org/css-values-3/#urls
|
20870 |
+
if (/["'() \t\n]/.test(url)) {
|
20871 |
+
return '"' + url.replace(/"/g, '\\"').replace(/\n/g, '\\n') + '"';
|
20872 |
+
}
|
20873 |
+
|
20874 |
+
return url;
|
20875 |
+
};
|
20876 |
+
|
20877 |
+
/***/ }),
|
20878 |
+
/* 269 */
|
20879 |
+
/***/ (function(module, exports) {
|
20880 |
+
|
20881 |
+
module.exports = "data:application/font-woff2;base64,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"
|
20882 |
+
|
20883 |
+
/***/ }),
|
20884 |
+
/* 270 */
|
20885 |
+
/***/ (function(module, exports) {
|
20886 |
+
|
20887 |
+
module.exports = "data:application/font-woff;base64,d09GRgABAAAAAFuAAA8AAAAAsVwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABWAAAABwAAAAcbSqX3EdERUYAAAF0AAAAHwAAACABRAAET1MvMgAAAZQAAABFAAAAYGe5a4ljbWFwAAAB3AAAAsAAAAZy2q3jgWN2dCAAAAScAAAABAAAAAQAKAL4Z2FzcAAABKAAAAAIAAAACP//AANnbHlmAAAEqAAATRcAAJSkfV3Cb2hlYWQAAFHAAAAANAAAADYFTS/YaGhlYQAAUfQAAAAcAAAAJApEBBFobXR4AABSEAAAAU8AAAN00scgYGxvY2EAAFNgAAACJwAAAjBv+5XObWF4cAAAVYgAAAAgAAAAIAFqANhuYW1lAABVqAAAAZ4AAAOisyygm3Bvc3QAAFdIAAAELQAACtG6o+U1d2ViZgAAW3gAAAAGAAAABsMYVFAAAAABAAAAAMw9os8AAAAA0HaBdQAAAADQdnOXeNpjYGRgYOADYgkGEGBiYGRgZBQDkixgHgMABUgASgB42mNgZulmnMDAysDCzMN0gYGBIQpCMy5hMGLaAeQDpRCACYkd6h3ux+DAoPD/P/OB/wJAdSIM1UBhRiQlCgyMADGWCwwAAAB42u2UP2hTQRzHf5ekaVPExv6JjW3fvTQ0sa3QLA5xylBLgyBx0gzSWEUaXbIoBBQyCQGHLqXUqYNdtIIgIg5FHJxEtwqtpbnfaV1E1KFaSvX5vVwGEbW6OPngk8/vvXfv7pt3v4SImojIDw6BViKxRgIVBaZwVdSv+xvXA+Iuzqcog2cOkkvDNE8Lbqs74k64i+5Sf3u8Z2AnIRLbyVCyTflVSEXVoEqrrMqrgiqqsqqqWQ5xlAc5zWOc5TwXucxVnuE5HdQhHdFRHdNJndZZndeFLc/zsKJLQ/WV6BcrCdWkwspVKZVROaw0qUqqoqZZcJhdTnGGxznHBS5xhad5VhNWCuturBTXKZ3RObuS98pb9c57k6ql9rp2v1as5deb1r6s9q1GV2IrHSt73T631424YXzjgPwqt+Rn+VG+lRvyirwsS/KCPCfPytPypDwhj8mjctRZd9acF86y89x55jxxHjkPnXstXfbt/pNjj/nwXW+cHa6/SYvZ7yEwbDYazDcIgoUGzY3h2HtqgUcs1AFPWKgTXrRQF7xkoQhRf7uF9hPFeyzUTTSwY6EoUUJY6AC8bSGMS4Ys1Au3WaiPSGGsMtkdGH2rzJgYHAaYjxIwQqtB1CnYkEZ9BM6ALOpROAfyqI/DBQudgidBETXuqRIooz4DV0AV9UV4GsyivkTEyMMmw1UYGdhkuAYjA5sMGMvIwCbDDRgZeAz1TXgcmDy3YeRhk+cOjCxsMjyAkYFNhscwMrDJ8BQ2886gXoaRhedQvyTSkDZ7uA6HLLQBI5vGntAbGHugTc53cMxC7+E4SKL+ACOzNpk3YWTWJid+iRo5NXIKM3fBItAPW55FdJLY3FeHBDr90606JCIU9Jk+Ms3/Y/8L8jUq3y79bJ/0/+ROoP4v9v/4/mj+i7HBXUd0/elU6IHfHt8Aj9EPGAAoAvgAAAAB//8AAnjaxb0JfBvVtTA+dxaN1hltI1m2ZVuSJVneLVlSHCdy9oTEWchqtrBEJRAgCYEsQNhC2EsbWmpI2dqkQBoSYgKlpaQthVL0yusrpW77aEubfq/ly+ujvJampSTW5Dvnzmi1E+jr//3+Xmbu3Llz77nnbuece865DMu0MAy5jGtiOEZkOp8lTNeUwyLP/DH+rEH41ZTDHAtB5lkOowWMPiwayNiUwwTjE46AI5xwhFrINPXYn/7ENY0dbWHfZAiTZbL8ID/InAd5xz2NpIH4STpDGonHIJNE3OP1KG4ISaSNeBuITAyRLgIxoiEUhFAnmUpEiXSRSGqAQEw0kuyFUIb0k2gnGSApyBFi0il2SI5YLGb5MdFjXCey4mNHzQ7WwLGEdZiPPgYR64we8THZHAt+wnT84D/x8YTpGPgheKH4CMEDVF9xBOIeP3EbQgGH29BGgpGkIxCMTCW9qUTA0Zsir+QUP1mt+P2KusevwIO6Bx/Iaj8/OD5O0VNrZW2EsqZBWbO1skRiEKE0DdlKKaSVO5VAuRpqk8VQJAqY7ydxaK44YJvrO2EWjOoDBoFYzQbDNkON+UbiKoRkywMWWf1j4bEY2iIY1AeMgvmEz/kVo9v4FSc/aMZMrFbjl4zWLL0+Y5FlyzNlEVYDudJohg8gPUP7kcB/mn+G6cd+5PV4Q72dXCgocWJADBgUuDTwiXiGSyZo14HOEQ2lE6k0XDIEusexDzZOMXwt1Dutz+tqmxTvlskNWXXUQIbhaurum9GrePqm9Yaeabjkiqf+bUvzDOvb2Y1E+EX2DnemcTP/zLcuu7xjQXdAtjR0Lo5n4/Hs/GtntMlysHt+29NXbH6se//WbFcyu+r28H0MwzI30DYeYTLMXIA2EG8QlHpAsyS0EfEToR0a3utIxFPJ3kiIHCCrZ66b0e2xEmL1dM9YN/MwS5p01N5jMX/BLKt/1R83l0LyC29M6+iYxo/UNg/EF7c2WyyW5tYl8WnhWg2/hyySbD5UhnDyS7OcU0dnrFw+DfGdI7v4QfYIIzOMq9hFtY55gmvC7jZ2FK7sEdrn6IXBuucYhjsGdQ8z0yEbWkkczjjsE5hNAIZrPx2zOLZDmKNXcXtg7EMqidAEEWg+SJCBBNwxvxJfc/bZa+KKf+xoKZybnq5vaqpPTye7CiF+ZFjxZ8/7Qij0hfOG/cowPA1rT1l4ymWnrKmxxqfErTVrpgwPlz1kC+Oy8NMDz6c+IO38K/x0xkPnLW8Kx6qGAoQdL+TD9V9rb+/ctn//trxz8dUrZrD/zk/ferF0cNt1BzctmX2FZPXt/jnFCQNz4Ah/iKllGiCMs1w5Lkg0kiEwj6VTXCDKsX9rMpnvIj9pcDecXAIXMnqn2dTUbN6w0XQ9ue6FV/nnXCH7S3lPWGltVcLsH75ub3ab7A8M28caNrIeOr3o5Q0yFsYL80xaa0EY/UEczV7icUMY5pnelAkmUAXmHYjvFWFGxuqlSaow3OM+/iYY7/l/hVELF4EjRqNR/bvRbOY+DUGzGR/Oh3EqmE/ugIQQguGt/eMYz/+L0cimjeZfQDI3phXMbMQsqH+CjwVz/hf4idHovgVmB8gLvjbicDcC/NypP536E/9N/puMibExdohBmNwyiaZdJGoigos7GpF222xrfnZhML/7Z+ylaqP63Hr+m7bdUkQ6/2cXqdfmvwixY+s2ksXFeXcE+iX0Z+Iow76DBNgjJ7TOdUK18iPsPflfQD+DPsZG2Aj9VmKMMJ4fYRrhIaxhTDR0Elh2vA6h/AE6xUb29mj3sjmL72petXjejPy+oel60M99tFduCI59N3221xe7apOvxs6aHs7vab1IqY2tv7q2xsHeHGml/cV06u/8S/xTjJ+JYc0bWEX0ukW6YmIbGkJRMdjJ9mYIH5QIdJF4hvRGyK7cC7ctImQRcUET99fGXOoft35GYLMQu+g2smnkgZUrH8AL/9Si217IssJ916nv14ZrJrvdxLkQvrvtBcjgPC0NXOicO8Qf4mcxPqh3hgUw3DDfdvLJXngg7N3dN2zbPJSaed3OfZnMU7dvmznp3C3bruO+Nmue0LFsy7S+6265+fCKFYdvvuW6vmlblnUI8xCXp37CrOZv4B9gauDBlYp7adcUXB5DNCwYImlXOJJKkAdvExXxVvKEYnCo+3eIskP9qrrfIYs71CccBjfXRC52udTHHdaP1A1ui/VvH1otbrLrpNXBsGX5B89QghDyimlvNB2KfkxZ5C9/em3+d1+d//IfFp2+2Oxn/s+9n/79p39S3s8idN6g0yZObwJOgKUpNB3GyU0Ls0PbRzIRq4lcarLKOJBkLRzJQD4j2090XrbA7DW8K3jNF5hlGS5e4V2D17zgss4T20egOJte5iD0bReM9yjTxnQxCRj3c5kFzGJmGbNKmwGw39IJDJcXJZGMkaAB4jyJAKw0jt5IAuIE+A+U3cVAZZrq9zhDyBrU8oosuxcGNTzCKJfla7JjNVmuSb/+tuzN2H+X4vlB+PpdfMXXmuVsNiub1T34SFbjYw5itEvVi0K0Nt9pNJUMI7SLGRhf2xipfCYf8z5OdlGKayOucFeVPeS/dbo3lBrbSMmwUiQN5/ed7g0Ds1s17IuZC5kNzM3MZ6EWCa0DtekdJfAxz+R/OX28sND7yRMTBcf++s8mQCQWHya4qBv/ufeMoWyslPA9DtMxUknxkH/yfTnm2CMYzs+Cq3r7PxY/MXomrvTEsRpfEGHa+WN8E1AHjElb7d06ddA7oK/+5Mdsv9EtPms0jv0Z5kf1FqPxWdFtfFr0kHfgDX0Y+5PRSG7RUj0tQr7rmfX8DH4G5W28kKeJLtmQsQkuwMP1pk16EV4sl7vrMJATfyUWo/GwEco4rh4XFQgaiUX9qxZHrMQqKnz/c2d8b9TysYrAuXpP/Rf/Gr8b1qwwc5a+euLa6S6sneNXToG2XrEJi4R5SGs8Sq2S3d97bsfCRaTdaLwKClRHt37mkudvXbjwVrLhuYeGhh56bvfQkHpk2CwvwClqgWwuBfndC3c8dwmstj81KkagcUgbfPY8Zje0W/82VPWJHmSq6pP8hPWpotc/EexDOK3qU+wngPhOCiO9MJRm8TJefjelrzoKnG2Bn+1NCUmPE4gHFmBN9jrTigRIpsACrc9Gstg58ULkp9467+Gf/eFnD5/31lNrt2967dhrm7bzI+VT5m+fzKhvf2MzpICEm79Bopkn07lt1762adNr127LwVqQLdJ5+lpQDcvHPQtVY5knhYrK6q8/JsiP6EuhGZdFdaNszjvpqvc+PI0CdjN0AXsFOC3ZfALDJwr4q2Xq+GF+GNbsxUg5NLLIEXi8otcDQcUts0D8eQ1iVDRAMBTsYiNdRIxE09EIBJO9A2xqgERTaW86BUFn0OD2xFO97FAgFhF6OoQ7prYt4XwSeUgQHiJyDbeke9IdQntciLQ1FlJMaYcUNvZBg+FB1ubjlnRNvl3o6IEU2w7fdNPhm/hh+FLysUu6++DLHkOkrSHYEjH0tEPe7WdD3uyDgvAgK/m4szFFR7ch0toUgBTdWHr7EpaWru6+6dmbbnqWEbV2EtxAsXiZAPTtGPSbHsotI2leoM8TePEqgSQprs7AGFf8kuOkPdZPXGb55POAW1d/jLST9v5YflasP6v/CO7+GNAPC2BMZWmsOjp2NNbfHwMCJD+LPVL+D/OYlWEEI/9jpPddOFkB5d1GSuKZYggmCCd7JUxD7EXAzxyirYnNDLdDZoFdx14kivkvGc3579Jm36reTTvDgBnaO6vzyQ6chQmlsMoIkIQ2+bBDWBud1Va4pcCn8CPqxlh/fgtG8IPaPH8C5wk6/nZDv69jurV5QhtwE0x2iqOsj9Mx8B9/0EaUdiPfOYYDCi/q9jhWRuupMDEU0+CtX0sDFxv07T/K5niBPqN9+tQjgEc31NGCXFeMcCEuQBIc/BK4CO78u7EPYvl3yaEfK3vcb6qP1R2tI7vUjVDDUdKubsSrNjYKY1qBEa2P50SJoaXiksIoLiCwnxS6EBuBde87botNfdEWwYvF/R0/u5yCqhGeEOR2ynSeyXjt6ka7neyye8kryBSWE52y+RBgogrXPZ8E1yIHoHIFUM+AbJhE7lbMtt8ApL+xmZW7PwbjAO0fAVoXQOuiSP/ksIVdFZ0aulsamKUzwPZ/NYDMJRBPCxsBqLzqHyneXF6Ej9HlIFo7+pg+jUb3unRmGpstGkm6etOuDBGA5wCMefp1gTHcdZlvPBXlOslvYTp1cd8UjYLVd/J5awNrIOKLnIt9MD9qdrKrWCvA6ALm3QV9VrsPm60Q7+RHJHP+2hqfugo/MvI2H/mqr4b9tFnKSRY1Y5Ek80Nm/WIhr1ikKnxGz9TWXrokf9xwujfvcOTtNTWnxd0F37Y2W79tteBqZ4G5qLCuomw+nSr28QESCRVLTyYKILGJOPfcnaIFOsewhRdvv+rWa/Wih0vlbX6Zb75T5C0qNKVFvH1QL/vazSWgC2s6oWXXIuUxQelKiJbowuJDQViatLmLijg9CQBMg8WiPgiw3LEeYRmm5f+XdnvkDnxLLjMLxtvX74C3OlwPQqx4xwIdpPx38LrlDphiyWUWHWKAzzxurS/xTo+P5wGFak62ap1PVFFN4v/y+xuR39WnIO7lsWfwgVsK17wxrs9K8ltIKuhkw7f/6dhK6gQokFKhWX3urrjk/rnI0pgfpGMeuQIUaEM7+GF5q2iMkCaMQwxxOzcvU0eXbsnS9XknXvP7Gtw5dwPXlFu2ecvSHEZgNDsU6x/GdXBYXyOQjzZReSedeEPY6nEv9gJR4oBQJtFO6Kd0fwC6BO4LNHDeBujB6dSNcUQC9zIv2LnAzGk99bUDrdFY+9yGFQtEo0GQPNv6vS2drj4+1jHbv3aJSMUWP+QTZrmbNTjU8wyG/iXNNpskybLcJ3CiTF5Ir+JYzmJwE0mSVhlxbtbmvweB3ulB6Til5UuUZydpgiFVeobhU0WaBqpJ198d+/XeNRTZ9/1OPfG7+2hwzd5W3D+hmyjsRcUg/+Cavb++Vh2ls3L7zT/etOnHNxeerv313vzLVqPai4nJv+K1FC6040/4udw7sAb3laSg0XCkAAs0npBO6VJabS4Elk/U+D4gTXW+j0wnrMlqNamq4tMIYB87tE10i0FR3LZNhJsb7/R561btmes8YBCRkhYNByRtKd55mqTas9FYhJnbRGHuOh3M4QTdgQSqmgRxuzGdSvZGcbMxNQGk5C3ebLjoXIOFM4l+WKHmLTJwRv9E8GWJ6dYvf/FmEyEGr+gyrr1p5zrgkz0Cw2j94Hv8Jdx7dIVegBSNtgsqGsRQEYiIBoXwD0LNvQ5d7s5Z00QzwNhqZA0b+tMG1tQq5nd84uq8R0zPvX35G8uRaze4jcOHzz0w1+Q2BIRvf6J6Kgatnrbiem+CFvAxfkrndzD9MFPP1GWTUHclpASUkCNAQkpCCcCgDSUDAhDZ+CuEkgn8J7i9nMA7pA4lISappxILKfAeSAbIcSDuN2bJcfZILqeO5rLs0MnngSHYRdrHjmaz7JEsEPw51ZqDJDmUIOZIe34WaQeegNsJn1qz8AIpT3yCjyEih/xELkuJ0lEMYTLVCiWpo5oYMleMH6USyYJcD+uOe+kWKpn1Qns34iyYDjkSLvgnZXcgVQNeqINXr48m3iS7cjm8tedyY0f1QvTnHHdsrKby/+SSbPY8/NH6vpl/Esq3Ae4ZU1HC44KFiI9o7CEgab/RqHbj7s5KAg06s39ZP/zxI/mVuF/TbTSy+3Fb8If9/cv7+wt91yy8RfP1QXtW5RzQn7qIiZyuFM5QfJ5E9uVnqT85TanFx0lkP3ukBAMprvsRyi/C8NAJL1xbIIirSvnSj4O5netb4JxmNANHPssHAcHMHsFRgEug816gDBeMbdfiuRcghqYcm0+Xxx/5IAEtN3fqFF3LzAXqwoT0PN0OVTNqxo8sxMkd5Ig6k79Zk7VxxX6gMLOZFQgvpW2RrMW1D0BDihaXQ9wVRoBxPLfpknmkeMtoB/qM9cRc9IqmMD2XUmdZ7GSRKPUZvChf8BoykriM2MnKYbOHX8R7cLdNCxSFFVQqoYswnlWtlFS2mNkhswVpZiQW1J/UKFfipHGlUkM6UKBhMz1istELIHJLMSctu3ugzfaVSOjKvUgc/THK4Sdg2Wscz69leKIkkrwuuWiOe9yGYKQXRumkC3qbRcMwrvhjNXgdZk3RxAUEhuSPvn3nnd++U/3vlVOmrJzCD8JLxV1OHRjrZifbcFDOuRNTGqdgQm1tSNJ2OcQ04YiEXuxtII1ECSQRoQGYioEsgCfchB4ghAtw7FfJre4WZ9hkVi9MtjuWqtdNDlpMrfEG9fOT6q21okg+e4As38MfGquNt7oUws6Ysarj1/efE+yst86YUVNvDdts3Pv5c8m/aP0C+f8/Qb+IMnGq09BgwN01oIOAnAdagI8mBSrqk1gxTDUBOtk2ousEtBH2z4Ir2d3f6k8PXXVlt2qN9RODxRuoJT/v27wm09jRYVc/e++iyx2tyzJb/n3J0htXP87eSsQaf2Ly0s6Zmxela88REy1cf4273mI3iXNJ7KxrZibOm9xm6rl4fqy/t27smU8tOfdW2ucBzg2UfmOIVyLIl3kpYlwphDISTXJXsctmiDtN7fNV6zelgxwnWxsVr83Aj/S5ki1jL/a0GC6+2L6Um+aoddlNFuj+bJ8mH/iaLh8I0/U51NspIEfq0dohwyFXKgm4NggwQ4rRhCOUFtxxo8XnitT4cnGfT93IS8FaT85XE3H5LMY4zIEPL1hw443wz+1UmhTJyJGxZzw+wsKkKZgUiVtKOKMEb2AKHTv61FNc01PQFwKnvsZ/9pPA4RKTASWahmh+8MxwzHxKy74IRn5LGRjsPUUwTu64UYNY38caqd7HKucZ/tHnODtENw/2UfHRMaq1UUPDJQ0OKkWCeet5fYOhII1VRz8+/Elg5j4Gxur3J8o2PJ4rg+2d08T/fwEzSVbyZ9XPro95T477lRKqUSRXQnauHNsISAl27oWi6Fv9z48JMv8r/aMMj8onCP/DuDZOuN+GPPr/+p7bx+7JlbYdppcNhzKU/1Px5aiaGDn/s1iGMaBcleKUo/v9rcxkZj7DBEKOfrayytXNLYiUdBY+pleQXdnscKlQcpzuWluxsieeyuXIK6SdxozitWyGOV3vOHHjguyCQ6fpIYy2JwvrQEF/Qa9Pdf/QqOSqCiE/EE1/XIVKTc2tzWbHnimrEd+Vyz311Ml3P0GVTj7PD5aDnsvCvH36alEaPMePcMegXs7x8igTu4B9v7G9vTHvhCu/kzIdx+BxC0ay9zRSvoS0F2lIxI+X7klU63I40gLQ3w5ep5na+SFnba3z5D64zv+QtM4n4ffG3tq4aNHGRfxgrXPMim+5487abL7xhdseIRn1KDl+7aINixdv0OD+JSPwKf5+xoP6aiTeQIDVlIhMcL1H5R9PYXvprs3fv2bO7MOplCmweuiq2JRZ1zz+9a/v2PH1Hfz9236w+ZrPXvWfAxlj4NLLHpq3c/PQ3uvmvbrjG7fe+o2y/cLdtE6VUlXi0ASb1VLUBVSUWSU4HdvAraTyS8xzM8NxvxFkXV6pUVRiJwcgC5zEeht4rwcp7ki0k41G0qlQhG1Vzlq8alEmnFi58caB5Q9vn988MLhqyVlHvLEWjtQFeupdiocF/tkkOGPW2ibWaBTkeZ/dvPWazXfOnnvL6jkRXpi85sFzZt+55ZptW3bl1cCCHZPD06MhySha7UFzjcjbp8fOecFCirzAG/yVjBX6OFIaadSjQq1nNhyIe8tVbaaSdHlXIWKacMeuZA1uxS95zILhyrxAdsXTL6m7kNQlx2P9uZf2qhufePFFbpI6/OU0WcP99RrCsrwseVot5mtytpf6Y0gm9sdeyKnPQ7onyK4nXlR/rg7H95M1upzu89DH6pgUcikoiihJ6NJKmRxV1x+MJiOA3YwhDRQrWU0u/0rvq0VYXnyCwsLeTJYBq3dAtJDavuzyoVpzZ99Z0+a0uoiFH/xcqgDR7rUFeOrUn6Cywb8ZeNMbhLV5ugP9l0zv9UN5b5mFkjzxUcpPJCn3V402pRxtJd2GrnLdhtVk9ZSZh9W91fCSH5B7ofxPiWL+j3D/uwhBRdyAyozeZwvQzs79soi+BKSnafLviZCcfrpBpLyimfLfTyJtbyruIQKD01tUwJyKEo/ybaxkSNFUMdMkhQoJyRBQFhnUkDQSXhTM+3NmY0EDM7ffLIjqWEGt8lCO6mLia3PukFnghosJD5p5SIho/VDkzQfLE+IrYoJXkD19pdP7OwG/voIUtagiWiZ4PAFTHHlTVhRZ7dYmPar+NJ+8JhmR6DFK5DV1foHoLNO/pHrvZfmWZ15RQlwvoVDKhCWNK3CCch9lfFBuAqUgpFSShmNaPj+i5++WZfKeViJfW5HnUakVL4UCNVkA4+ETfIqx4B5xSaP2L1yn0zn2ltPn4+OqZGmwwEVCaCSqG53ldtL1oLGAhdMLd09MpCCF6tD6ZnAZBY9hDaYsP0jzZ0j5ZjKsF4i1UmLuhbJMCnYJPt5VwFNvmZawXjEvLJqIH8STonZjq7BZ8gKgR20C9MDFqJAX1H64QW2NEup6qgzLP8cvppL/NNTOBTCJABOHeWoXzLhw4Wuy7gaBtjKr9kgKq8ZlRYBS32Lpxc8vIhpNDTfyNXWybMJbn2RyQ5EmWc2QF9wmSZ0KYCE+cPuYO6b15Uotj2Kd4MItLS7gtFbkTdrFND6pvEZqv5Yv7jXAus7Pg7avo7KDot50NX3CPkP+Kps8J9/3mGQIteY/LGPC+L7872SPR2br5fy8MtKBMHedGuM28/MZmPJMrGgi3Gb1S+Si1/L/zrZwO9XH1ce/z7ZQ1WSoY/+pMb5FT4ua0Wm+Jf/298nFmChEQ+Ti71est4mq9VYI6RsymoRJKYidElT2FGnDTZvqtfhGAFTbeqEw68GqtfmbVa/1IFO1/jdWr/8BDRRtQh9XNjubEm4aWVpVonpTGR7PVGc+KJNoBIWF7kYi4gUV3r1U6723i6TxUl3n3/tM27aZfKb7THiHW9VzFSwHJ05VfK6Ar7kaB0XgPPE0BSkSFKsBUpaLihEWoA9wBt8qirh2VSOkZwXEwyrxZ5jyt2rJmSo9gX7cg6jsEUGJU9z9xJPOEM3uQQxKgkh35DNATnVyrmJ3mbCNyIB/yox4wH1bg2DwN7q9kov4pFqny8oSm3RQbGgJ1QQTs6ZMLilOVYJ9v6Wha3HcJ9jddsXp9YhGUXLXt/qMDnvLpPNTXfNa60z5/yjXQOMq+lNmwh5egpYrdfZQZV9rI47xlRkuyTjpzsmCBSWNkAXVoK8sgYWqQJWbo1RLo6QH0YW6pxqfCnRgkd+RiFjUQUQ7poIaYoakgXxwFd9BuuI38H1xBxXSFb/pBDIKQFn7YB3dB36l7sG1FLaKiBdp1KxLvfswap/30lnVESgNnvjbUoT6w9N+Xoio0qcYOIM+heg940YimsucQVvli9NEcft2UZwGQwLuilj1fFr1i3NP94X+PE7Hpvtj6lBJfJ4R6NvWiaL6MgzWHxiN66DExa+dAdAbMYX6HVF8A+7rjEZIXAVbDe7PVI9rmN69JOLV1DOSvRPxWNPZBZf/Nf+Ny65BhYxxxV+77XJ2wfQ389/IQPgajXbwMsuAz/0IaQcXJavKbRqR2IqyZruXjVC2+hdee/5vdnYOedpmVtR3NGXldxSzDSIiBVpkGb9by89UpEPKrSLZmyFDzMab/wXl2CNe7s/qCtTvWgG5kpBmCBlSzDS/r8N4uwBwohRW63JTS1y32f0TQsPfXVGEHQrV8/NCfiOUVirYcBbIeA2+iF68rQIo3B/S628vYESr79ehzS7Q9LEL9UXmik9XVHb1yBO3Ngvt5935+k1efkV51mzzrM0LL3/20avnwMeKuWyOUZg2TasSqZ+KcZQiOn1Iu2Vh497ALUVZiCKt/gh6IvTIj1ZLRjWAkpHKOKovNwp00eqPROiAbiNEKieXwMLcXhVJ1/uzmLP4tfxaHR59cBdJVG1kTAgl9ze9QKUEQ946Hkb+okJ5JRDyf54Axur1D+WS49cLr0tTPEu7UmXrxcSr3XNvumv4yXzInXKH4F7Tc7p17Zt+t/qW2+93k063X7VW6lALxTY7i1nBXMxcxmzQbabxz+tJo+wijYaIGMNS8AoSMgAPt84DdHOoMPfjXhF+kuH1tZvuFQrRCN07xGcXRX9MYxYchDe5BcHj+Z4i+42WyPc8Xofi7bbZJN5nJLJ5qr6IqRtzqNlM17SpFsnkEyTWoABEjz4JXOQvzWYuwdnV5LNGOwTM5v9r4RpQ8ZXsYodks3o31JBlzbYtNotisnm22MxiwGFXam5oN1n0TA/hRvshvTSDwHff4nNzRo9Dum6PaJbMXzDz+x+Fkj4L4bFNBb1asqsgH7Dyh4DvbkPtf5yMDKzEwyoaESMSNS9P9gJVA3/RTlwoMwZvxECFWxIPNw9gi01nOHjP32esZTtmXHnxvZd8ZtakqQ7ekajbXetpNa6ocTVxJtY+uSe69OLz77zh5bDR3xjZMzUz6fxrz1nqrZGcHQHfPVefN+fiK86LeXj+Sc5lPKy+k/vCUI/DaLFYCWHr6nbXuILTIsb5imNKY/rCm28fSMxPhkN1XbNMNZGuqwOBhtTSxWuTk6bw0ZaG86b1hKddePOKuBvmiguYBn4T/yOqOyGRBt7bKUI1GjioBC8aUKwF7Q319UgcmtFGIzCJGBqwQij0ynDsfdFGc3TS3BlNfJ25xmzniMkpXXTPvCaD3ZaZvyzjmZdudBostmhb0ORZNN2sJBeed1HXkrUsywueQH+L0eCPxmsa5ZpgRJSDZ11yDv+jmbd86vxZfc1WcZJ3UkMq1BOOOVtvu/+pB+en186d3GTwWAw2jheaJs09/+LNfZft37DALyrNj1wABMuUKbODyTVnT/KYbJ3Tpq8IrNh92dkxOj5P/YpZx4/ycyiVcDYdn4JbEoKdQi9054iBKsygLW46FRGxAb0NPNCm8BSNCPjoKcj6EAus4SuP3rB+cV99/eTF6294dA8+TK6v74MHVpYNRt/I30e8QGTOOdfGWzzxcy+87a7bLjw37rHw1nPzp0KyyRSeZO+QQhInt3dYgvycjrPOv+T8s1rptaP84VeywdWX2T4ysr0/7TLIs6+x9zib56ye1dM9e/XsZmePY3NDs9zlnNVt4+WgHJbbz3Livg4P9WWgviOMm4kCRT6I8vw0NbUUEnFvOuFKoxQW1gTsvFirsF5pb7qTUCx4i7VmtToveaDxvK9uOaedVvPRpVOnNz0Q6bry7uiSdQ8t7Vy4JQKVS+XPplV2ts4bvCwZu+KzgITtxepaPRzWdpv74muvv6RO0SorX6cu/dqKn/XWnrtp/Zragz13DUCl5myiFW2Ycvb0PtsXnU+tx8pvLFbUspLX68mdegwmOif/NPDONajTGoUh6tU56HBJCTBASVvNUB5VIiKpc9kd7kludodSFz7xQbiOmMk5dOYk56gzL6uaf7N8a6MQOHm0ae6snZpFDfuT3/jdYzjzwkXXIVHoXNuCfQslQZqBZjTsoHMqrkE4jaYdgkGz2ATOgB3cPkSukD01DnV3ttb1wx+6arPqbkcNAHoFPzKUUQ+qL0k97pjbZv1I/egC9zTFbrrlFpNdmea+gIgfWW3wqkcis8ky5FAcRd1If5nNZrl2FFpungc8wpoCl1BpQV/ScS+zjlASyUTVv/AJ46gkJI4bHX4lTnloctxPZE1ckS3+jG2fKIjkQFyzuo8jvYQG1OrGvJPSTu/nSp9PHNTl4z5hK/8gtXVKF6gEKiglgcKiRlCESsQCV5QIlKWKpr34lt/wkSx/JCmP5/cBKQfl/5gd+rOS/+p91/+YCg5CXK2W4M9fu+/6xxX+vnelVuldIDCG0VQTpU9Dw4pRfei+6zWx0MLie0gPbyrkmRU7OwT16JGeyXLHqOLqAfVN1GPlBzWtFNzj0TRTCjogtP1NjIvu5habN5Aoa1k66wGpqriVetJgiGdwDZtKhnN0y4n9sXYnsqGmZfDSR15+5NLBlhoDaedEm7sxmpqRija6ZEEg2EAnTiAC8IrmFbGz1q08P9PSkjl/5bqzYqT9hMmptEXDgTqP3Wiye+sD4Wir4jCeoHbbp5hRfpB7BakUIppIlPCD30dR1GtslDz8OsqbXmejFC/v8wu5X2myq7SJ8Avzv9DFUJySf5uNvq4+Ti7W9D/OZrLChdwxmPNiBRqVjnpK/aGxRCDspVYKAW9AN1JANoo8wP4BJUlGqdgw6m1qPQ2QW3+OfU5/ieLS/NuKpDU3uf8bcAXyBal5jMR2NEAbPAZt0K3hvxHBEDlUxfIGcD+N2gNSNx36nfqlAYow0puatNpRz0e4W2oahKzQHsjf2c16ad/3t2KTtPobnX6D8C8pd0MDP+Kx7wnXqGGlLQcvikMErm6TmfsuxJXbSAxqNjOogJLQBLiKEHAE+JGTS3JoEhTrz8/CB+5YlupJ58aOat8Kv4JvregxwcU5Cp8GFAFm1FyOfto6GS2m1NGTS6CPNKkbsTdCBlnN9onMho55BX8IJZtEQ35lk+htwN5A0V3RCPoD/yXAcv6pAtbZczRUA64JmcUf4q7Q89ZHLeJVZ5D1Ps/t+0iCT3AHVtZC7JDCXfR7OSb/Xja5H3zQbZL1B+ULX1BMTEk3AseSpmnKEK4T9ekMIidUCRQFfcbj7z8gNLvzF7mbhQN8h6ZbRset+nQWdS/ZX3k7WpS8P9sfo0iGS64wV516pOhjI6TZ2dApgI5+LhxywYoWxKUrykKJsIoDsR4mSrCTg0egMPnLW/3Q5Nn8BZEuzqEI7HK3n0+zFmuO3TtWQ5WJoG9YqCD6Gc32SxnbnVPfsxvrFXK2dILl7bLthDp6glhcsfp4bYvbSmj/mQ94uBTw0E73x2jbNRCvC6VL6GCFDwU7eWQDcC5FY5s0slieRDwtAbRsbLXbaXAuu14e2OJw1dc6jQ3ZdY8v7rv2/BWZLqvFWVvvcmwZkK9f5jS4muO9yR5res4kfkRxhV03L1RfPOiPtYi8pd7jNEsOpyTwxpaY/yCZu/Amd5Or9uS3DYaeqVOhH7gZN/8I/wi1fEuLXvyNivibjuKvN+1Nc01HF/3h+ef/sOhox8MPd5SFucPjorQwXT+ytA8EmA5mamHNFDVhBI5pjZbQpugBNkO8MvRub8KVDKST1Wag7D3xlin1ZF7LFP/79nbvCXFOY+PUjrT7/otsPXXZ4exdPzuhZuL5LUXVAn7k7PbhG89uz3b41X01gbjP1xwlu5rrvvf9+pbs6E/Vu7Nk642/PYRaAiUBdrmO6CDTBLPQFA1ur0uXoBR1INDMkypKpoTqnSMx5GiEdTEaSHLs0Alvu/19/5QW9Rv1U1ridT22i+53pzumbs+XFFXYC++CGsTj5JUT/GCgRt3n78i2n71FHG4/u6X++9+raya7os3ZbDmgWfXun44e+u2NZKuGZ0HiF8M4TlMPR+EU6rPKRJ8wOU2RFUFLex3egEsz3YqEAq0cqhAAW19dBZIlVzR61tuIdTnpXH7l+uXrbjPUyep+8cl6aXKWhPHpDcXl9KiTWDNr4mBQc8Tq+NzK/OKSbsfl79o9G20R+brBXYvUg0rLHhtrc4TN81TTOWSZ0gL1ZVlOYH2ery/7XVUjFMbzYpg7UswcqJPQwBd0LKLabJ8IaCr2otcjSkIrGwootKECaUd4XH1+SdazRrfddkBU98t1htvWrbjqSqjaCguxrffM/5zDCpBALUycmajhd+R6ww4SWafuZ5eU+tPid4lgd3gt+b/Y9rQoZNmiXYPXyRHbRs8zX/f4WIFjWZJtUdSD55AP3xtXH+ZipC0EqdBGDA4CoYEU6gRLGPU11QhkLTBiEYPiqOeQgwTCl9aok1Qr5pFf71qEeNxjy/8F0GoqYPv75Yh9j3x4DuJ+uEzHRpAq2lMqb+qfTdiq6kGtzfOWsv0c7lSeMXDHBDe1MT+LUgx0Pg/p87u2UicdIvqQi8DkxhcUwUXCedMpb4NQjwY3npTmgsURJavLwCRyEcN2HfWsDVGfv/u9ZUWUx+PYFueUKwaNvbtu+Xps3eVWbN1GcgVrdMnWJ7WmJz9SD66EBidag0NF1Ukep0t5A7sFCWdhzvYwHv6L/BehXuHqfaBwBEU7hfVLcXvS4VQv+T/vaSIl7cbeMc7ekv9i8S3e1L5xxpvMGcu1EYPbKyCiijjGXcDKckm43PqU2qNWlXusZMiqF82cuVzolUHN9NNR0HZPxFPV9V0wLtvq+k4DqOwVWDlzuQLVdqFiP08cRX7aRlBVfR8cb55bWe5LExnlcsDp1vAP8Q9BucPMk1Ulh4GnN0SAdxcNHv3q9ohx1Ati4S/tkWjIDe3hQdkUGrGRaFBiUdiTSkI41UkMuuQHP+EaSQYlPQTFWJF03BNPpTu5KFAdkWgDukzsZKMG0Q1TAQQglScOaP/dsZ8+fP75D/9Uu5Gs3FY/2SxPld0DHOciXI9gqjcEidXjE+3BLosy0OcX3T7O5g65ROGyzQ2BZs7WbZVnO5ydLe32hMwTQ4wnnKXW6XW5LAa7oaXOIHoUl0FgLQLH2by8wSTWeAx2Y5PDazK3BqZbeJZwXGPaYhX87ZNszoDdaRxotXO1nNlpdvAPFWHDm8PqEE0sZxDEqGzxisFNnuCWetPcGrObN0p23tTZwMuRVodSV8+LTrOV3eRvzjQZiSjaLYS1WEJe0kNsJlZu9LFun7++wW4gRDRbaxw2nrOGm+xOj9cmtbp9ZqeTM1m8UXfQQCSTVSQox6pvtjot/FpHvIUjJovFEoYvHYV9C5Y/xN9OfcalvII37UEhTbTg/AQIaPb4Vz6j5u8/aViycMod/fkDcpu8QZbZoeBi/vbzP3XPsZvOubMtaPHkD9jt6+U2O7vqU/9C9SMvgrXpQNG/E0oJxun+CiElUa0IKQSUwERxOntKSV7ekcuh9VBZBBo3VUcB58ofKBHCwLyf9qFosz9Ibf8dGqwaBMjRig4SGOZ2UkWI7UiO9OfUPdxOYFApUZyfpY7mgEc5rtNGGk2H1lPhAk1Hp/VAMqQEHEUfEYkkUQq1JMdzsX7kklRrTrUi1wMcDjmu1YYfATj7Y+pGpPEBXuoQIj8rR9mgCl4C9yqmF7xnVWxGVniNqtpVmXBvQ6iwni5YQ8a1jYrXtc2J13HvgkvqWxuva1sbr+P2S5ceKGyBwDv2DbrToe1u6BkAJV7xnVLUaq0sJB8pFqcUIPi3yuwxi4JuLr+P30f3OkPQ72aO0xYo3/EsmO3QO5qEF8S0qQH0UsKXv0brnl9+8M7jF174+DsfvPOl1au/RL5/9DsbNnwHL2pHR1NTRxMZhJtHktOOxLxErPF6YlLvpC9YP73x+4ofw+3xVdrHcDE0dQQCmCRgvt9b35xINDf1CDcRSfJ+pYl+Sf8YcurfmXP5F/kj6J82jNsrkWiEuhVlgFfyNkB3S5MUzLhoNiwSCYcxQ7Ui4J0Xh7fmqRbaPa1tzujxkBRlsEHy0/OM4pYLPb7g9O6BQJN6l9zQ0OGyCaZz0vMTbHOzXfQ7a2tsterTcqxeInODoemdktw+1SbVhKwtW9ffe8VKadK0OVuC3bWzyKm5LeddsWTeorWyY9IMtUFutdu5g+Rn533qkocdvLs2HmhU75br/MmWtD8zA3OP2t1ea636jEzqYxJZGAwFiDEd61oTsrRuW3/3pYNi3bS+Rd+GjOfVpAPNd6y64Gsz1GaZleWIPoYL/v9mTeQBENVEguiF1aC4YeXxFETw6QyPfn0m9g8IrMFAvKM1EI11DARnbqibHk/Iojy5rSdgCyZi06y8sS024PeuO4MfwQ5Y9yKRZCqyYaF30vzeHlmUprR21tR0t0yz8KZY66zWuGvxVQB/36kP+K38t2Hu6NQ9SFJfw0AdpqPEK2qTMpf2VCqJwqPoJezTL824b8akoL+x03nhh+oNo5e77psxg9Q5LzebIKD+fsY34f2MtB9fk9v5b8PT6tYrgv4kRPwd0q9z3gdJSJ0653KjCYPwCaR5aUY63eW48O/kdo33yxX9wCiMv2QTrk8eGSI6Ag6moG9t2P/F7GRNlDjl0gw7pJ5aOXXqyqn8SENnXBmbSwUYLyqJjv3UmY1nKr4t80no0faXsaIEiF/BRaIBnItSce4OUif7W6Vm9T9H1X9Vj71BEm+RdmIJQST/ZfVdudUvh9S/qqNvqT98g9SQ3lHibZY0mRVHooyDN/FHmTgzjdozKw28NwQ0hwN6BCoPKaEk3YtKwNhwRLXuk076CGoZNXDQcRwZvreTZY9EZi+d0s4+ztv8iei04JQl6ZbDD2eHV7X4uHuFVfPrOmcs6m6Kr7hssr+1VZFcEZ/PdJkn1hOs8SXS/NFFgqt94PIZzZ3tdaL6Q5vo6piSzdy737pwsX1VyxUrF15iJ4uNkq+rbyg1Z+O8VsNC1UmcvORPRfxtPrfRwL2p/oA1eZp6Z/aGffoewaXcA/xBlKlQLfhQL/oPgBGP3qsA7IQS8qDVNswHKRSheDUvA3Q7MZoRcJMxlEygujn1QdyzfPfq3dEp/bXh5e5YXW2Ngfvza0ZF6UgFL/E0fTq4LBlvTE2qb/KuuzYSXVnjTfM1osvqMHVbm9950quIZlbqaL6YP7jk3kUtA0GnX2nvq53f3WoSsvEdDRnULgo2fN7lNZJgI8/VWi33c3bBZnGY05+dm+3qc7fNmj4YGKLj2nfqFP+g7jdDlxEV5XsJQZP6hYrS1l0VQr4c69Xueixp90gnZPmE5OF22j+SYEWHlZ0K/Hgsh/Ztsbh6h2DNRlvv6jJh9XaJaHCZDiUDKNTMkvb8vsqCyf3ZNdSmO0fa0Y4baJTtpbKzuVzeeSI7fCKr2Z0WypapnXJ4gnoWy3PoUIlIQ1TXdqhQJIXp9Wx5fYdpeWh2TY5D+YVyKd0jw3iumwi/BC3cEy4o83QlZnW79MrCgCjbhWXBlRZVVZZv4rIKpXC01HFlHdHLoeWVl6UVc/J5uGm6CViW5mulYMk+HqNYr0AyUPivLg2oMs2MPqtuhHyRyiwvNJej1Br+fcLyoAyu8D9B7bgmzUqfFobF5nKnK4+t8MPJkI/xHUNWk117jugWF+xazTAALQn6+UE9lhoI5ApGA/iuJOsrlNP28SVVuBVajXmircLel46w2bJS1Q0Ft0KDuikDFL/3pYrid1Q4FvofwRIo4R9h2ftSwc6jHAMqLcCql8YPHtlzGoByNXYN6v8hXnRaOhUvx0sVLCexwupGDR4NOYC7PePa5keIPACnuAdD7dEadRuTIiS6Lb7uskb381My5yjzF8lGCjBRqdwrWJCagfB3yCy7XT1i92hbcZ5Ci1FJkgYMDf6n+jspIsHFjJrTOdzSMuOa9DbDcj/nH9N9bIoGVgzHPWIQuFuYtaMRaq8eCKI0gEF6lPOZjBz3EEvaaxwSUT9U/8JbJZPJJLBLolH1La/RbF9AbC8JJjv/mMnssKjLRBJyqj9QXxNko0Ux/X79epfiXkm6fmKwF/en1HLc6LxloXWKvGa5rVCVL83VuiPcDEX/K5pTXOxHfx6HHB0t2FI0qI2rCZFTrvPWU67zVuS/kTsLnc7IKhFg30e4FOkqNSfH5PtkmUy6Cpiv/36k2sbqCeCFNa+URpoY0sZoYmCgCr3qgZz6s8I0gP1bYiR+D79H56NOz0EVWCTy2/fffvSCCx59W7uRV9995eqrX8GLesOXNm360iZ+T/El3uZqL+FyzSZ8XxpTiI/G0nkT4zznFZ0t4ipMz5v4q9ssqbdKUZt6u82knPCrt6PZwsnn0XySVnyPR1ZXAn72yx48bWJsu7apnI3Hy8bygUK5Js32qcytapqgmn95uexccj205vGgJ+euOeG2SORmKZr/qKzcx9SFctMJdwMUFZDJITs7dnOp1EKZCxg304Cevyfya+vlKqv6aXK1qIj3imL+L6hL+yvUlFfE0VKZ7E8gBY3M/8VoJCFgizH1W6VyC76nH6b7jiibYVxUmVIEspry/LgZIlCeP11Z4zs/AwvVwtGFEut5S1JY4lfyT0N/evOLo+rUEgjcqc9IkGpQbv3iW7Co5b+KgjvpzYdH85PLcc4X21ouwEGl/S4qnUAvoSlXUUhR1eKr2VWFTB+GMl6FsiQsVD1R3urlAAIoSn7JQkmiVVCHSpCwDH/qPepXQ0Db77CJOAImohB+RPWr31ev5g/kE+zTa4lbvZo8xdWPffQu9yJTPCNB66s+zXoJt/0L6hSoCuBIoK8fnBGG87OoRckJpLqyWe4YbpGi50g0+3I3UD85Oa0fzubfoXxPLbW3FDWzigmyJeM0tQkax7PqTy80+UxfUHPlBZIRVNQ+v0xRm8REKPoLmNr0+Uo48v9GFbXPKylqQ2IKm00QddgyWGMROCTxdLB9nCY8P7j2DjlsV/+mfr0C0r/NkeXbbpPlOTBBwT0mVz1zx9S/wJecBF9Wgv3p032iP2v4VSgfgW2G+HUEdEXU6iq4CtpLJfIN9XQG8dwa1VoO8XC2SrPDDyCOQptXgbcPvlAgBfxBoGwftQKeKFrNTASPt3pGGqDt/QRasn2kri+H6L80MJRsmVYJrAKyDItpJUy3/15WYIJqcJ9Q5N/LFJ4c3dc1URpWl9hW6mu50MUIelg4ucTPf15zs5DFo1c0VSp1tKB9jkwIyuM45kb+IP8gHed+6jO3v0KbIknzLy636E8KPTdCuUpB0wLo9JKnAO6pv0vS31EtBha/fJemkgLVVnd8KCk4qBTpQ5m7FbifBKrPJcq0pZAFVG/XbOFz+Tcq2MLrcmV28Nmi/OHskh82bau0k8eWCaPijQPWQ5lUvslwVCfHkXBMIehqUgtDNLeauH1huvZTbYmw+luPjyWoNGEuxRLR7LK5fSyXFUyK7PURQv2v8D3XOt2NJ6liBbmPGOsakw1kbeOs+31Wm5qpH+iJWSzqdPr2O7zc2TmtnrzCig6bBd/vgQmzOlz0STWIlmZEQfupogOZFHUZ7EkUnMn0RrpIMqAgHRJAOjIJ3yGw1I/MAp9q9S3Q/clADNm1wEeO+xbwg5OIYHZLY3ehG5lJk2xhco+6JWybpEVz2wrR6hZyD0QXZbeDVB+onmlimpkWprdAs4WEZDSQppsDlcdCBJJESIYFuAtUnC4GIF2C3Uu2Kv7L1bdz6FxtqxpG4TqQOqOUNAJ2HLvPWA2GgDy4O4vaDrtyl6P+1fAll+SyFcQ28GHqh7fvvf37udylf0fNwhzgz87Y+cf5x9GnF6ygHu18sAbipWeF0YPBgp2GaKeQduxxdEr3SgbH1kvH7tvqSLhedomOvZyts2dw8acu3dY/f+ucuMtCuP/e4zC4XnH3OLZ8ZuxTWxy8dJfU5dhDeKPSlJy5pn/+7u3XrJhmr9C5CuleGflGQocKnlAUaRKp0BAHV0ZwUt9VCqk6zYOgRIuMfePJzdmBdpPJ7/6B23+f+sp9NMDZevovvfYHG5dGPISQq1DojqNckchVrCcCYz/Q0hI0m3NKDRfkgsrnamo+p0CAq1FyvC3a3Nak/s5VX282x9Ufy3E39VAx6o7LpCvO2wK+ch9jNqpJCutcIOooKnYWtDK8gTRVYygRQfwgzKM5+jP2jOZdx3r32Py7rQUPOzAnoRs95NvRAR0qLGU11Taqu1bUYSzMcWjMEir067JQQHfIrLBHsrgv00/Wavd8HRLMEEYFSW3HCSNQehnrHztKqHcDyo4VfZ6gPKCR+gufwA8GegxUEo4A+gd0BASHiH6jYMLIsUdQJTs/C641KN4oCHWolCMLlMfIdtWKScjx7SM5LD9HnfmhrGI0S139UWfUnxgOXdJFW+AMcGjKr6eHAttHF5sUoeArYKDcxMSYcKA/xUDhPiEOEAPafSIUFArN0r24ynI91EPARDXvIDYyvqZaWeroBOUABQA/E+DXC7PWafDLQY2oiwpUEyj4RQtVlUp1GrM7In2p2A7VuiOW6otMiGOo5Mrp05ejVuTy6dNX/k/7mybZQ0nUmfrbx3U4KueDnlHm5wdh8FFeKnoaKKh/TK18StOPhwG9Xo5mqXAxvw/79YQwwDR+nAKQQ4izVXioB84qcppWB7IqjU45z4CE17OvF1Dw+oTFqxtz8dxwtogBnF9MjIl/in+K8s3hM9laIn0TiCbTAXL0T798bPXqx36p3chrv0O+GC9Xaj48Ecv8U8UEeBvUEsDlTepiU5OvlpeNGvpnKF0RvUooWhIjnx6GeBapXCQYTw9DNg6/OC3gZjp76oNTj9Kz6Jqobxb9NDqc08vcKReOpcsQV2K8InXFaXW3aI6Ofr1k48rp7CX7rx+v1UKPsfvzQU0Kc83i2VdILmd2/yX55zT9luN2+Cu4nKfwPcK/CvDVU+pHh8+LaldIf1fA5h3ndT6Fln9/W/9Ce1vndfvJtnPVO2xhm3qbafHVCN1X363UXHq9xuVD8OSD29Z8pZ5cZrern9cAdGW/uib/ud+VK0L9a42r6C90kL8KzxwLQw9NkIQJL0ASU8M+VG0KsUdgdvpgP/6NqqP0/gHZFUfGEijZLHpiIgvV5/Bltrj8Qd7XQd5p4P+7tJo30NMO6VGBwahSPMYiaaBYoLY6uEnciyhhh1Z/vvacG/rjpsvnpzs0B1Id6fmX8119l88XnOxe/uGrzzHcdu7UtY3+2vmXN5zUyj3ZcPl8p1sZSs6/nGXtwrV7Ka0XZdz83fwjjINpZWYw85lL8BRK4nGyIir2RiOsEyipuEcIakpGjWgBjLiHWOgj0Yi34gW1kKPxHt2Na5q+lwg1RdRSpFDNzosb44YJXnAfoEOpZW//6u1lhYA6leevezbI26zNHO811M2dc5HFxpk4i1jPC0s21/BWW5DnPQbn2X1WK43/aM2n18DfSoybbNHijFpamzXI31eRibGUOxSu/lT96YZlq1Yt20DaSBuG6knw2eusHs5EPBfNmVvHKdaQzcDfz9ZsXmLDWGXy2U5OsYSsIn8CS12jQIyD12KKqZrLPy7mSPdICmd6WGHG8NDZkkHuE4h9TU8FpmUO/VjC/EinToFyoNDz2p9XD6g78WgQdPG7Z3R0T/Z5dTM9lsL8Ktek7szl2L+gQwGgwkZHc2g5Su7NvVqwGy2Ua4KSXUwt1X4PaM5paaEu6jQ5zVFyNabxvUksVt2T/4VeamYPlLtffdQsk+2sUTY/zDXl/05W53/Bz9UK3p7LjapZ2ZxOm+UlZXrL3HHGqO8+wVroDaCTTnTxitMxmiAAYQzVJQH+nj3oIHnPaN6Zq6sNSLjBl8tKgVr2mj/9CWi9dnKca8rBQBsd5R1tzVlgrl5pbnPw6kZclCr2CHxMnHohLz+3KRQokzALyeIKFU1TNCiayJdoHvDYe7K6mZLm8S3uJ9dojuaJ62/qN/tjQxnSnhnKPw+LNrLi8ZKyJ3x1YhiI1aNAtP6NzCGzYv3DmaGh/LvQZnt0evgIhTFV0kE/PYxAnOHhCQUZdCWY5JWJwMzlAGl1mpNbDU7yyGnhRMILsYhH3VRAijrPcBU8/Cj1Y9NY6cnGVW0CjTLaz7E3epvaT/LtTV72Rs+0WVVmd0dz/MGTI5F0OsIviaqDlbbO5X6xT3PeXbXHRtf/z+fdka+eKPr8KF7IF4vBsT9MFPuPJMBTBMq9hQxXelQ+bewnf18ap4Ib+mSMrtDU5zqlD8QANa5MBGh/OwOvSDfcV2d66mfEWsbGWmIz6nsyZDWQSmqmxDneYyvjHPmRXHZxeueyRGLZzvRioKnGto9nIPkibAJA16adcOZRQr1iAP3bUyBR7T4RgAWTKxhkCYFwshq+7iV9r0whk50cmRcTg4fy5x4OmmNkHndIA2+YuMbmE9dwGYB4KFTsvnDE6Ah47r/fE3AYI+oXADpkdlENcZ8OZEEf8FFGZNxMs6ZLpG3SUFLL7Q2kcFU/A/Jsw+vWDa/7emewLaoeibaF1B9qUNnuqWK3+UfXYVL1v/omD15xxeDkPnXTOKSVcCbDGtOu0YQNpGAP7U1HU58UrqGu8xIbHtkQ3LVhb7Dx46ET3Ffcm1q0YcOizNmf3bC3VjWfAcpSv3MyTlgJ23FHQgmgvk+gk8pL0mcCDOn08MDAQlf+/SlTZ1z12fnqntOhbOTL9/ZdevbAPN+yby1f/uUtC/ixm8ZBo59LTXEW060hGrTDplNprWd58fwB/b/E27BdS/s7U+rGVCeQ46nzaw9QccnmZerGZZs3Yw9aVHt+Kh6HN4ti6lxIhT/wahnZtWwzlY9QHQ2c79C+dxzvVDKy8GqKWQERO9YAKbpsDUTLdWV5dE8PVPjvj9pqw7ah/PFVtkit7aj6G5xY9mfJrCz1j1e0BcnPol4UjtrCdbahIVtd2HaURujnFJR8CuOuUUfhrGhgKKgjCYNSvCc1WKlEp8wHUaAYynFNyzZn+2MnYv36dbMDBTonl/T/ma5IKAyEGz+4eRnVtaX6tss2o34u8mWorFtuFgm4A6qK/yp/gLEBVat5WnPDdKA574ubuFJ/IUfZ/Y2Nt6mN+ZNNTSTaeI56gKwkXerTe9DDHUw8/H35FY3nNN7GGuBKWhrV9ep+0k1WjNWVaHkW1yA+QHWNu8rtBw2a5YXuE40rs7/GA+j09V3hA98yRnFPOGr8ltGlsFdD/7tRce3LH6Trcneuiy7K7J3khKu+3qUaXPWaX7T6/Kfj9BX2eZq2XAcZT79u1ClJzUtHUqfqSMWBcZS43Ena0cUGLgpkKxB1QM+0Fxz10wgg6r5rltnFpH05pepUq3Y2HfYqeKRntmUFNz+XmcOs1H31U6cC6RTVLfCg7RNBF1UF2/wBgu0fFQtPEU1sSg3VcNsR7dWq3af87tUFn1l3ltXpaJxpNvtcZkH2WmMst3JqRpxUH+WC0E1qOGtP66s1MYv+VLu8/XFXvV/ZbunYYBeVN64ls0ur6NzpV9xzlmQwB5qC4Tq70WC0tk8dWJXeHvkD0h9zJOM0vD86/1NJMaIAolctvlByferCsqOKDKceOfUu1PsmoFCamV5mCrMUOCi6V6FJosMF22AcrKJgQDVhfYh6tepp/lYgvnCEAbJQ1L0rOpajEmRcasMiPfxhgGoVo4rwreQpV6fUJHH2e8fa1s2c13Apl1b89a58ozdoap2sjgLN9uISl7P1DrulyeIkt0zr6JjWocoPOZsaXPb6jtqBblsgsaRre2xHi4nELm0MhG1+x1SXwLpFi53b+aHRYo/IrbZtuWAKu5cSEXfybnnmUCaXGTpQr0xK2O2WWY76f+nAjNVf7nCZHU5XqIkTnpt6VtvsFlPXg1031g/VRdpkkyVpD7jnmax88QwDvg/66NnMRdRXTcGTmQc3cuINwN5IQqi0yzb+YFVHuVqI5s4ADfg5oE4ybDLd28mFSFmYvRoomsWXEdLU2Wl3GJy93ZNb/d5gqmNaqJZSO1l6PVRy0nZIj/45EetjLguh1rLqR+SK0hO6NrsqcNX8zoUdjQYDJ7tb4os6+i+Y0qpY2AWlnLRDWdGFTfGY1gV0zNAtJ7pdo24se0D88AwLY/gZmE9iuP4V5v7CSR/RThaHLh+UeBkXwU6BC7lGOevK65udTv+tS/PfW7qj3ljTcj3b9OkbV85t8xsMj7Ddj7DGpthZKwKPvso/c/1K9aLE12fMWLV1y1D9ua8lyJdWXr/bG+noCFutf/mLILe39ITUV4igr3876fpX5g2zeB52sWnIL4fXHlgeUzOx5QfIvJQyrKQE9wHUqVq+PEaOrz0wVvNbJZVSfsuMzxN4l9PkedFzw9V5Dj+nzpgoT4ZxCxJfC5RWLc74YVHxKlExCYt0JAOMatREhHBSCAtSfod6x6Ls8HCWECLwXZ9nd5Dz1T24JUdWs6fU3++fcnT49Qe+kBs+wdsMZgPXMp3U5S958snPP/EE7bvkOPCuTUDTUQ/UzirLhML9yPahoe1D5Fj5jWsaoveyP00PehdUAHk/seDVWsvDWXXXsyn/4wfpXc2V3/Qxli3jl/5hj/83avSCfpTNxOEKLmTjxOEKuxgNlsQn0xgct724mhynupNW1Ph6o3RYS3/+2TJrzLlkFz+ip3qCHKf6eqW02QJLjBYuuj4sobhCWqa/YHGEHpcnumuWSOhxeaL7sOakNR6vvmo+YcfFA8UFXEPZf9UjyudIOyNwx/i90DdsujS/FX2UAwvWSVK4NxaMhAGw3oowp/uc8CTi7D2rBgZWwb/60faR7SPsEbjkXy4G0XaqhXPwe2cePjxjxuHD6ssQuR1fq6PF0E+o2t1nePTn8TUmxz/A3crMoCc7egESuoTHYc7mYdg6etORoOhR7BBGD+qJopELrl4S6cJNRtEAsLP/OdvnJq0Wo0GolY2Et9VFB2Kf+4bZvVyxfOMz3WdFfSIryj6DwWghre7aQbdiDrkTL3A3vNDuDpk93HqXwam+bWmUJZfNn5ozKV5Pmmq8PF/jVY+2Tlk2M2RzSXKjmbQ4RZcQavEYrN/9rlXwtIQqzxQNMzPPfHYLvuPoO9TbT8bpGw5CQPGd+SyX/Cyf0Vxjd2R9NmsunnXYa8xGHzn+sSfM5J0y0DZEXWWxkXjcR75KBLNLHi7XvX2G8VOrf4Ykg0AMdBESIpo7MgAfyakA6rkqpI6UjNs0px7cMV+D5BF49Tez1VGnYmq0WIijp985m4Sn2gJR9b07riPPFo97OYbUZbxJCpot7H/lpZBicglCPN7WOfJkcHqc3ElWqvvz/1E6bIQrG+tz6WkM1SM9FBTR7FSs8KyBBytSmNEoquJNFN5EQyTiCrnKDx1h58yxCepPHU5nxGoxEQeeOZi2m80DxNxncVhr6BmEfUarxejw+WSiHhWk19bSY7aKR5MsteblJpfTLtjimBouXsm3d3djjYM+wEW0El9dM/ueVRWIsXwe43R7SgbVZqrnqoJ1X/kuF7pcgf8duv4q6vayV5U9zMV91GxO59UUjW8rHV6u799WzKMT7umRCXbYUKM+foaCcwgaoqZUtmodV3p+X7akb4dnU9B9La38RPFUG2SCC90tVA4XwEFhyOpZZrUCsgWYHsczLFBBVGNtstoN1bw0Z+O4fYIbvZVt4EUcJEKOhHeincWqONw+q6w5Go+WGOSR7LhKV+KBqbBPpfUvOf9QqkpDyVhBeyyZQGMsdA5FBUqvFMtUyGq9vjnsAJU4UcrxldP1CCaofyDkSAifoP5QwWx+SyUGxp75BzGAvtG7uQ38LehlyEQMeh0TeE6Bm7tYdXqdkt0uOb3kfYlNwmOdDyacOq/qlFo1v+PTmTi3E/glC9W11b34A22zmLzvb231Q0L2Bgg60OTW4YdstO+YOJnO38TtpH7zy9ymokWyA79qlVSn38HtpFlImFnhu3b4boNWXklOXV0Iwo7lQ1hrZyPFcwtjwFP7iEKSHSSJw509kh8kj6pr+H1jR7km9vcvqN9657vffefkv+fKxge1X+7RdjYUPIESN7gTvRkB/RMYtEkaVkdHApmdBPpnKmz0n1xSWFOyVIuLrinZwpoCRe6kyiVZoHX088F+UX4+WKS4iBTP0IWxGtZgOdMaV4KTayqHQF/VihBwTbgDXTCmKoOBJeNhwJMzEVjtjIFLuU38fPR7hqNG1JS7g/qRCuy3vmQ3W9Vu8qbVbP+SzazGRJH83MzP90Ck2m31mMjP8TiLn5uwD2Ugr2PFvPQjB5BnSJvQxGQZZEB+LopqzGzDbMmbkAPkZVJjeO5FzOSBKCgJze2ZS4Gemc9twrwY6u9H61iUQTcRvtdT9RW3tRxAWwFs2tcuJRnI6xjmBdWjbgFNRHMHiF1uHYBfUR/ut5Ug2jXAaT96+9RH/FToRwIzGbKmVJ1AZQnoabSB1yyIg7ByAridHApPMjyw0OiV6RjSbCuzwLAvFizBliWJua1tsuAgvNPbmljYbpt8lkWam7b3XZiOiKJskMOtmfScnsbPW208knwjuXrXK4Q1iKIgNyYXXDVT9C2Ye/78GQ5BEEXfFdde2RwauOysdJNL5AzCy84ard/nGAVN8alecnFdgu5Gbd5DJTL+hHZK0vApVy3OfU8XTSJg1TlssivsPYUlIqvn66PzrVTymCc4wgF6SDNR0pDf+9Gp+VnsUH5WtpHYsuhOaey8zdwLN47V8MTbm78g687+P3cx6tcAeNpjYGRgYGBk8s0/zBIfz2/zlUGeZQNQhOFCWfF0GP0/8P8c1jusIkAuBwMTSBQAYwQM6HjaY2BkYGAV+d8KJgP/XWG9wwAUQQGLAYqPBl942n1TvUoDQRCe1VM8kWARjNrZGIurBAsRBIuA2vkAFsJiKTYW4guIjT5ARMgTxCLoA1hcb5OgDyGHrY7f7M65e8fpLF++2W/nZ2eTmGfaIJi5I0qGDlZZcD51QzTTJirZPAI9JIwVA+wT8L5nOdMaV0AuMJ+icRHq8of6LSD18fzq8ds7xjpwBnQiSI9V5QVl6NwPvgM15NXn/AtWZyj3W0HjEXitOc/dIdbetPdFTZ+P6t+X7xU0/k6GJtOe1/B3arN0/pmz1J4UZc+D6ExwjD7vioeGd5HvhvU+R+DZcGZ6YBPNfAi0G97iBPwFXqph2cW8+D7kjMfwtinHb6kLb6Wygk3cZytSEoptGrlScdHtLPeri1JKueACMZfU1ViJG1Sq5E43dIt7SZZFl1zuRhb/GOs44xFVDbrJzB5tYs35OmaXTrEmkv0DajnMWQB42mNgYNCCwk0MLxheMPrhgUuY2JiUmOqY2pjWMD1hdmPOY+5hPsLCwWLEksSyiOUOawzrLrYiti/sCuxJ7Kc45DiSOPZxmnG2cG7jvMelweXDNYXrEbcBdxf3KR4OngheLd443g18fHwZfFv4NfiX8T8TEBIIEZggsEpQS7BMcJsQl5CFUI3QAWEp4RLhCyJaIldEbURXiJ4RYxEzE0sQ2yD2TzxIfJkEk4SeRJbENIkNEg8k/klqSGZITpE8InlL8p2UmVSG1A6pb9Jx0ltkjGSmyDySlZF1kc2RnSK7R/aZnJ5cmdwB+ST5SwpuCvsUjRTLFHcoOShNU9qhzKespGyhXKV8SPmBCpOKgUqcyjSVR6omqgmqe9RE1OrUnqkHqO9R/6FholGgsUZzgeYZLTUtL60WbS7tKh0OnQydXTpvdGV0O3S/6Gnopekt0ruhz6fvpl+nv0n/h4GdQYvBJUMhwwTDdYYvjFSM4oxmGd0zVjK2M84w3mYiYZJgssLkkqmO6TzTF2Z2ZjVmd8ylzP3MJ5lfsRCwcLJoszhhyWXpZdlhecZKxirHapbVPesF1ndsJGwCbBbZ/LA1sn1jZ2XXY3fFXsM+z36V/S8HD4cGh2OOTI51ThJOK5zeOUs4OzmXOS9wPuUi4JLgss7lm2uU6zY3NrcSty1u39zN3Mvct7l/8xDzMPLw88jyaPM44ynkaeEZ59niucqLyUvPKwgAn3OqOQAAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAHjarZK9TgJBEMf/d6CRaAyRhMLqCgsbL4ciglTGRPEjSiSKlnLycXJ86CEniU/hM9jYWPgIFkYfwd6nsDD+d1mBIIUx3mZnfzs3MzszuwDCeIYG8UUwQxmAFgxxPeeuyxrmcaNYxzTuFAewi0fFQSTxqXgM11pC8TgS2oPiCUS1d8Uh8ofiSczpYcVT5LjiCPlY8Qui+ncOr7D02y6/BTCrP/m+b5bdTrPi2I26Z9qNGtbRQBMdXMJBGRW0YOCecxEWYoiTCvxrYBunqHPdoX2bLOyrMKlZg8thDETw5K7Itci1TXlGy0124QRZZLDFU/exhxztMozlosTpMH6ZPge0L+OKGnFKjJ4WRwppHPL0PP3SI2P9jLQwFOu3GRhDfkeyDo//G7IHgzllZQxLdquvrdCyBVvat3seJlYo06gxapUxhU2JWnFygR03sSxnEkvcpf5Y5eibGq315TDp7fKWm8zbUVl71Aqq/ZtNnlkWmLnQtno9ycvXYbA6W2pF3aKfCayyC0Ja7Fr/PW70/HO4YM0OKxFvzf0C1MyPjwAAeNpt1VWUU2cYRuHsgxenQt1d8/3JOUnqAyR1d/cCLQVKO22pu7tQd3d3d3d3d3cXmGzumrWy3pWLs/NdPDMpZaWu1783l1Lpf14MnfzO6FbqVupfGkD30iR60JNe9KYP09CXfvRnAAMZxGCGMG3pW6ZjemZgKDMyEzMzC7MyG7MzB3MyF3MzD/MyH/OzAAuyEAuzCIuyGIuzBGWCRIUqOQU16jRYkqVYmmVYluVYng6GMZwRNGmxAiuyEiuzCquyGquzBmuyFmuzDuuyHuuzARuyERuzCZuyGZuzBVuyFVuzDduyHdszklGMZgd2ZAw7MZZxjGdnJrALu9LJbuzOHkxkT/Zib/ZhX/Zjfw7gQA7iYA7hUA7jcI7gSI7iaI7hWI7jeE7gRE7iZE5hEqdyGqdzBmdyFmdzDudyHudzARdyERdzCZdyGZdzBVdyFVdzDddyHddzAzdyEzdzC7dyG7dzB3dyF3dzD/dyH/fzAA/yEA/zCI/yGI/zBE/yFE/zDM/yHM/zAi/yEi/zCq/yGq/zBm/yFm/zDu/yHu/zAR/yER/zCZ/yGZ/zBV/yFV/zDd/yHd/zAz/yEz/zC7/yG7/zB3/yF3/zD/9mpYwsy7pl3bMeWc+sV9Y765NNk/XN+mX9swHZwGxQNjgb0nPkmInjR0V7Uq/OsaPL5Y7ylE3l8tQNN7kVt+rmbuHW3LrbcDvam1rtzVvdm50TxrU/DBvRtZUY1rV5a3jXFn550Wo/XDNWK3dFmh7X9LimxzU9qulRTY9qelTTo5rlKLt2wk7YiaprL+yFvbAX9pK9ZC/ZS/aSvWQv2Uv2kr1kr2KvYq9ir2KvYq9ir2KvYq9ir2Kvaq9qr2qvaq9qr2qvaq9qr2qvai+3l9vL7eX2cnu5vdxebi+3l9sr7BV2CjuFncJOYaewU9gp7NTs1LyrZq9mr2avZq9mr2avZq9mr26vbq9ur26vbq9ur26vbq9ur26vYa9hr2GvYa9hr2GvYa/R7oXuQ/eh+2j/UU7e3C3cqc/V3fYdof/Qf+g/9B/6D/2H/kP/of/Qf+g/9B/6D/2H/kP/of/Qf+g/9B/6D/2H/kP/of/Qf+g/9B/6D/2H/kP/of/Qf+g/9B/6D92H7kP3ofvQfeg+dB+6D92H7kP3ofvQfRT29B/6D/2H/kP/of/Qf+g/9B/6D/2H/kP/of/Qf+g/9B/6D/2H/kP/of/Qf+g/9B/6D/2H/kP/of/Qf+g/9B/6j6nuG3Ya7U5q/0hN3nCTW3Grbu4Wrs/rP+k/6T/pP+k/6T/pP+k+6T7pPek86TzpPOk86TzpOuk66TrpOuk66TrpOlWmPu/36zrpOuk66TrpOuk66TrpOvl/Pek76TvpO+k76TvpO+k76TvpO+k76TvpO7V9t+qtVs/OaOURU6bo6PgPt6rZbwAAAAABVFDDFwAA"
|
20888 |
+
|
20889 |
+
/***/ }),
|
20890 |
+
/* 271 */
|
20891 |
+
/***/ (function(module, exports) {
|
20892 |
+
|
20893 |
+
module.exports = "data:application/x-font-ttf;base64,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JbwmFCZ+JuYnUCe8J/goNChwKKwpoCnMKiYqSiqEKworeiwILGgsuizsLRwtiC30LiguZi6iLtgvDi9GL34vsi/4MD4whDDSMRIxYDGuMegyJDJeMpoy3jMiMz4zaDO2NBg0YDSoNNI1LDWeNeg2PjZ8Ntw3GjdON5I31DgQOEI4hjjIOQo5SjmIOcw6HDpsOpo63jugO9w8GDxQPKI8+D0yPew+Oj6MPtQ/KD9uP6o/+kBIQIBAxkECQX5CGEKoQu5DGENCQ3ZDoEPKRBBEYESuRPZFWkW2RgZGdEa0RvZHNkd2R7ZH9kgWSDJITkhqSIZIzEkSSThJXkmESapKAkouSlIAAQAAARcApwARAAAAAAACAAAAAQABAAAAQAAuAAAAAAAAABAAxgABAAAAAAATABIAAAADAAEECQAAAGoAEgADAAEECQABACgAfAADAAEECQACAA4ApAADAAEECQADAEwAsgADAAEECQAEADgA/gADAAEECQAFAHgBNgADAAEECQAGADYBrgADAAEECQAIABYB5AADAAEECQAJABYB+gADAAEECQALACQCEAADAAEECQAMACQCNAADAAEECQATACQCWAADAAEECQDIABYCfAADAAEECQDJADACkgADAAEECdkDABoCwnd3dy5nbHlwaGljb25zLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgAKkAIAAyADAAMQA0ACAAYgB5ACAASgBhAG4AIABLAG8AdgBhAHIAaQBrAC4AIABBAGwAbAAgAHIAaQBnAGgAdABzACAAcgBlAHMAZQByAHYAZQBkAC4ARwBMAFkAUABIAEkAQwBPAE4AUwAgAEgAYQBsAGYAbABpAG4AZwBzAFIAZQBnAHUAbABhAHIAMQAuADAAMAA5ADsAVQBLAFcATgA7AEcATABZAFAASABJAEMATwBOAFMASABhAGwAZgBsAGkAbgBnAHMALQBSAGUAZwB1AGwAYQByAEcATABZAFAASABJAEMATwBOAFMAIABIAGEAbABmAGwAaQBuAGcAcwAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAOQA7AFAAUwAgADAAMAAxAC4AMAAwADkAOwBoAG8AdABjAG8AbgB2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADkARwBMAFkAUABIAEkAQwBPAE4AUwBIAGEAbABmAGwAaQBuAGcAcwAtAFIAZQBnAHUAbABhAHIASgBhAG4AIABLAG8AdgBhAHIAaQBrAEoAYQBuACAASwBvAHYAYQByAGkAawB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQB3AHcAdwAuAGcAbAB5AHAAaABpAGMAbwBuAHMALgBjAG8AbQBXAGUAYgBmAG8AbgB0ACAAMQAuADAAVwBlAGQAIABPAGMAdAAgADIAOQAgADAANgA6ADMANgA6ADAANwAgADIAMAAxADQARgBvAG4AdAAgAFMAcQB1AGkAcgByAGUAbAAAAAIAAAAAAAD/tQAyAAAAAAAAAAAAAAAAAAAAAAAAAAABFwAAAQIBAwADAA0ADgEEAJYBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMA7wEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4B3wHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgZnbHlwaDEGZ2x5cGgyB3VuaTAwQTAHdW5pMjAwMAd1bmkyMDAxB3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA3B3VuaTIwMDgHdW5pMjAwOQd1bmkyMDBBB3VuaTIwMkYHdW5pMjA1RgRFdXJvB3VuaTIwQkQHdW5pMjMxQgd1bmkyNUZDB3VuaTI2MDEHdW5pMjZGQQd1bmkyNzA5B3VuaTI3MEYHdW5pRTAwMQd1bmlFMDAyB3VuaUUwMDMHdW5pRTAwNQd1bmlFMDA2B3VuaUUwMDcHdW5pRTAwOAd1bmlFMDA5B3VuaUUwMTAHdW5pRTAxMQd1bmlFMDEyB3VuaUUwMTMHdW5pRTAxNAd1bmlFMDE1B3VuaUUwMTYHdW5pRTAxNwd1bmlFMDE4B3VuaUUwMTkHdW5pRTAyMAd1bmlFMDIxB3VuaUUwMjIHdW5pRTAyMwd1bmlFMDI0B3VuaUUwMjUHdW5pRTAyNgd1bmlFMDI3B3VuaUUwMjgHdW5pRTAyOQd1bmlFMDMwB3VuaUUwMzEHdW5pRTAzMgd1bmlFMDMzB3VuaUUwMzQHdW5pRTAzNQd1bmlFMDM2B3VuaUUwMzcHdW5pRTAzOAd1bmlFMDM5B3VuaUUwNDAHdW5pRTA0MQd1bmlFMDQyB3VuaUUwNDMHdW5pRTA0NAd1bmlFMDQ1B3VuaUUwNDYHdW5pRTA0Nwd1bmlFMDQ4B3VuaUUwNDkHdW5pRTA1MAd1bmlFMDUxB3VuaUUwNTIHdW5pRTA1Mwd1bmlFMDU0B3VuaUUwNTUHdW5pRTA1Ngd1bmlFMDU3B3VuaUUwNTgHdW5pRTA1OQd1bmlFMDYwB3VuaUUwNjIHdW5pRTA2Mwd1bmlFMDY0B3VuaUUwNjUHdW5pRTA2Ngd1bmlFMDY3B3VuaUUwNjgHdW5pRTA2OQd1bmlFMDcwB3VuaUUwNzEHdW5pRTA3Mgd1bmlFMDczB3VuaUUwNzQHdW5pRTA3NQd1bmlFMDc2B3VuaUUwNzcHdW5pRTA3OAd1bmlFMDc5B3VuaUUwODAHdW5pRTA4MQd1bmlFMDgyB3VuaUUwODMHdW5pRTA4NAd1bmlFMDg1B3VuaUUwODYHdW5pRTA4Nwd1bmlFMDg4B3VuaUUwODkHdW5pRTA5MAd1bmlFMDkxB3VuaUUwOTIHdW5pRTA5Mwd1bmlFMDk0B3VuaUUwOTUHdW5pRTA5Ngd1bmlFMDk3B3VuaUUxMDEHdW5pRTEwMgd1bmlFMTAzB3VuaUUxMDQHdW5pRTEwNQd1bmlFMTA2B3VuaUUxMDcHdW5pRTEwOAd1bmlFMTA5B3VuaUUxMTAHdW5pRTExMQd1bmlFMTEyB3VuaUUxMTMHdW5pRTExNAd1bmlFMTE1B3VuaUUxMTYHdW5pRTExNwd1bmlFMTE4B3VuaUUxMTkHdW5pRTEyMAd1bmlFMTIxB3VuaUUxMjIHdW5pRTEyMwd1bmlFMTI0B3VuaUUxMjUHdW5pRTEyNgd1bmlFMTI3B3VuaUUxMjgHdW5pRTEyOQd1bmlFMTMwB3VuaUUxMzEHdW5pRTEzMgd1bmlFMTMzB3VuaUUxMzQHdW5pRTEzNQd1bmlFMTM2B3VuaUUxMzcHdW5pRTEzOAd1bmlFMTM5B3VuaUUxNDAHdW5pRTE0MQd1bmlFMTQyB3VuaUUxNDMHdW5pRTE0NAd1bmlFMTQ1B3VuaUUxNDYHdW5pRTE0OAd1bmlFMTQ5B3VuaUUxNTAHdW5pRTE1MQd1bmlFMTUyB3VuaUUxNTMHdW5pRTE1NAd1bmlFMTU1B3VuaUUxNTYHdW5pRTE1Nwd1bmlFMTU4B3VuaUUxNTkHdW5pRTE2MAd1bmlFMTYxB3VuaUUxNjIHdW5pRTE2Mwd1bmlFMTY0B3VuaUUxNjUHdW5pRTE2Ngd1bmlFMTY3B3VuaUUxNjgHdW5pRTE2OQd1bmlFMTcwB3VuaUUxNzEHdW5pRTE3Mgd1bmlFMTczB3VuaUUxNzQHdW5pRTE3NQd1bmlFMTc2B3VuaUUxNzcHdW5pRTE3OAd1bmlFMTc5B3VuaUUxODAHdW5pRTE4MQd1bmlFMTgyB3VuaUUxODMHdW5pRTE4NAd1bmlFMTg1B3VuaUUxODYHdW5pRTE4Nwd1bmlFMTg4B3VuaUUxODkHdW5pRTE5MAd1bmlFMTkxB3VuaUUxOTIHdW5pRTE5Mwd1bmlFMTk0B3VuaUUxOTUHdW5pRTE5Nwd1bmlFMTk4B3VuaUUxOTkHdW5pRTIwMAd1bmlFMjAxB3VuaUUyMDIHdW5pRTIwMwd1bmlFMjA0B3VuaUUyMDUHdW5pRTIwNgd1bmlFMjA5B3VuaUUyMTAHdW5pRTIxMQd1bmlFMjEyB3VuaUUyMTMHdW5pRTIxNAd1bmlFMjE1B3VuaUUyMTYHdW5pRTIxOAd1bmlFMjE5B3VuaUUyMjEHdW5pRTIyMwd1bmlFMjI0B3VuaUUyMjUHdW5pRTIyNgd1bmlFMjI3B3VuaUUyMzAHdW5pRTIzMQd1bmlFMjMyB3VuaUUyMzMHdW5pRTIzNAd1bmlFMjM1B3VuaUUyMzYHdW5pRTIzNwd1bmlFMjM4B3VuaUUyMzkHdW5pRTI0MAd1bmlFMjQxB3VuaUUyNDIHdW5pRTI0Mwd1bmlFMjQ0B3VuaUUyNDUHdW5pRTI0Ngd1bmlFMjQ3B3VuaUUyNDgHdW5pRTI0OQd1bmlFMjUwB3VuaUUyNTEHdW5pRTI1Mgd1bmlFMjUzB3VuaUUyNTQHdW5pRTI1NQd1bmlFMjU2B3VuaUUyNTcHdW5pRTI1OAd1bmlFMjU5B3VuaUUyNjAHdW5pRjhGRgZ1MUY1MTEGdTFGNkFBAAAAAAFUUMMXAAA="
|
20894 |
+
|
20895 |
+
/***/ }),
|
20896 |
+
/* 272 */
|
20897 |
+
/***/ (function(module, exports) {
|
20898 |
+
|
20899 |
+
module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+PC9tZXRhZGF0YT4KPGRlZnM+Cjxmb250IGlkPSJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXIiIGhvcml6LWFkdi14PSIxMjAwIiA+Cjxmb250LWZhY2UgdW5pdHMtcGVyLWVtPSIxMjAwIiBhc2NlbnQ9Ijk2MCIgZGVzY2VudD0iLTI0MCIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjUwMCIgLz4KPGdseXBoIGhvcml6LWFkdi14PSIwIiAvPgo8Z2x5cGggaG9yaXotYWR2LXg9IjQwMCIgLz4KPGdseXBoIHVuaWNvZGU9IiAiIC8+CjxnbHlwaCB1bmljb2RlPSIqIiBkPSJNNjAwIDExMDBxMTUgMCAzNCAtMS41dDMwIC0zLjVsMTEgLTFxMTAgLTIgMTcuNSAtMTAuNXQ3LjUgLTE4LjV2LTIyNGwxNTggMTU4cTcgNyAxOCA4dDE5IC02bDEwNiAtMTA2cTcgLTggNiAtMTl0LTggLTE4bC0xNTggLTE1OGgyMjRxMTAgMCAxOC41IC03LjV0MTAuNSAtMTcuNXE2IC00MSA2IC03NXEwIC0xNSAtMS41IC0zNHQtMy41IC0zMGwtMSAtMTFxLTIgLTEwIC0xMC41IC0xNy41dC0xOC41IC03LjVoLTIyNGwxNTggLTE1OCBxNyAtNyA4IC0xOHQtNiAtMTlsLTEwNiAtMTA2cS04IC03IC0xOSAtNnQtMTggOGwtMTU4IDE1OHYtMjI0cTAgLTEwIC03LjUgLTE4LjV0LTE3LjUgLTEwLjVxLTQxIC02IC03NSAtNnEtMTUgMCAtMzQgMS41dC0zMCAzLjVsLTExIDFxLTEwIDIgLTE3LjUgMTAuNXQtNy41IDE4LjV2MjI0bC0xNTggLTE1OHEtNyAtNyAtMTggLTh0LTE5IDZsLTEwNiAxMDZxLTcgOCAtNiAxOXQ4IDE4bDE1OCAxNThoLTIyNHEtMTAgMCAtMTguNSA3LjUgdC0xMC41IDE3LjVxLTYgNDEgLTYgNzVxMCAxNSAxLjUgMzR0My41IDMwbDEgMTFxMiAxMCAxMC41IDE3LjV0MTguNSA3LjVoMjI0bC0xNTggMTU4cS03IDcgLTggMTh0NiAxOWwxMDYgMTA2cTggNyAxOSA2dDE4IC04bDE1OCAtMTU4djIyNHEwIDEwIDcuNSAxOC41dDE3LjUgMTAuNXE0MSA2IDc1IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iKyIgZD0iTTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzUwaDM1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zNTB2LTM1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzNTBoLTM1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNSBoMzUwdjM1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTA7IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4YTU7IiBkPSJNODI1IDExMDBoMjUwcTEwIDAgMTIuNSAtNXQtNS41IC0xM2wtMzY0IC0zNjRxLTYgLTYgLTExIC0xOGgyNjhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTEwMGgyNzVxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMjV2LTE3NHEwIC0xMSAtNy41IC0xOC41dC0xOC41IC03LjVoLTE0OHEtMTEgMCAtMTguNSA3LjV0LTcuNSAxOC41djE3NCBoLTI3NXEtMTAgMCAtMTMgNnQzIDE0bDEyMCAxNjBxNiA4IDE4IDE0dDIyIDZoMTI1djEwMGgtMjc1cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMThxLTUgMTIgLTExIDE4bC0zNjQgMzY0cS04IDggLTUuNSAxM3QxMi41IDVoMjUwcTI1IDAgNDMgLTE4bDE2NCAtMTY0cTggLTggMTggLTh0MTggOGwxNjQgMTY0cTE4IDE4IDQzIDE4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDA7IiBob3Jpei1hZHYteD0iNjUwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMTsiIGhvcml6LWFkdi14PSIxMzAwIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwMjsiIGhvcml6LWFkdi14PSI2NTAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDAzOyIgaG9yaXotYWR2LXg9IjEzMDAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDA0OyIgaG9yaXotYWR2LXg9IjQzMyIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDU7IiBob3Jpei1hZHYteD0iMzI1IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwNjsiIGhvcml6LWFkdi14PSIyMTYiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDA3OyIgaG9yaXotYWR2LXg9IjIxNiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwMDg7IiBob3Jpei1hZHYteD0iMTYyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAwOTsiIGhvcml6LWFkdi14PSIyNjAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDBhOyIgaG9yaXotYWR2LXg9IjcyIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjAyZjsiIGhvcml6LWFkdi14PSIyNjAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDVmOyIgaG9yaXotYWR2LXg9IjMyNSIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDIwYWM7IiBkPSJNNzQ0IDExOThxMjQyIDAgMzU0IC0xODlxNjAgLTEwNCA2NiAtMjA5aC0xODFxMCA0NSAtMTcuNSA4Mi41dC00My41IDYxLjV0LTU4IDQwLjV0LTYwLjUgMjR0LTUxLjUgNy41cS0xOSAwIC00MC41IC01LjV0LTQ5LjUgLTIwLjV0LTUzIC0zOHQtNDkgLTYyLjV0LTM5IC04OS41aDM3OWwtMTAwIC0xMDBoLTMwMHEtNiAtNTAgLTYgLTEwMGg0MDZsLTEwMCAtMTAwaC0zMDBxOSAtNzQgMzMgLTEzMnQ1Mi41IC05MXQ2MS41IC01NC41dDU5IC0yOSB0NDcgLTcuNXEyMiAwIDUwLjUgNy41dDYwLjUgMjQuNXQ1OCA0MXQ0My41IDYxdDE3LjUgODBoMTc0cS0zMCAtMTcxIC0xMjggLTI3OHEtMTA3IC0xMTcgLTI3NCAtMTE3cS0yMDYgMCAtMzI0IDE1OHEtMzYgNDggLTY5IDEzM3QtNDUgMjA0aC0yMTdsMTAwIDEwMGgxMTJxMSA0NyA2IDEwMGgtMjE4bDEwMCAxMDBoMTM0cTIwIDg3IDUxIDE1My41dDYyIDEwMy41cTExNyAxNDEgMjk3IDE0MXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMGJkOyIgZD0iTTQyOCAxMjAwaDM1MHE2NyAwIDEyMCAtMTN0ODYgLTMxdDU3IC00OS41dDM1IC01Ni41dDE3IC02NC41dDYuNSAtNjAuNXQwLjUgLTU3di0xNi41di0xNi41cTAgLTM2IC0wLjUgLTU3dC02LjUgLTYxdC0xNyAtNjV0LTM1IC01N3QtNTcgLTUwLjV0LTg2IC0zMS41dC0xMjAgLTEzaC0xNzhsLTIgLTEwMGgyODhxMTAgMCAxMyAtNnQtMyAtMTRsLTEyMCAtMTYwcS02IC04IC0xOCAtMTR0LTIyIC02aC0xMzh2LTE3NXEwIC0xMSAtNS41IC0xOCB0LTE1LjUgLTdoLTE0OXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE3NWgtMjY3cS0xMCAwIC0xMyA2dDMgMTRsMTIwIDE2MHE2IDggMTggMTR0MjIgNmgxMTd2MTAwaC0yNjdxLTEwIDAgLTEzIDZ0MyAxNGwxMjAgMTYwcTYgOCAxOCAxNHQyMiA2aDExN3Y0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNjAwIDEwMDB2LTMwMGgyMDNxNjQgMCA4Ni41IDMzdDIyLjUgMTE5cTAgODQgLTIyLjUgMTE2dC04Ni41IDMyaC0yMDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjIxMjsiIGQ9Ik0yNTAgNzAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjMxYjsiIGQ9Ik0xMDAwIDEyMDB2LTE1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTEwMHEwIC05MSAtNDkuNSAtMTY1LjV0LTEzMC41IC0xMDkuNXE4MSAtMzUgMTMwLjUgLTEwOS41dDQ5LjUgLTE2NS41di0xNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtODAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MTUwcTAgOTEgNDkuNSAxNjUuNXQxMzAuNSAxMDkuNXEtODEgMzUgLTEzMC41IDEwOS41IHQtNDkuNSAxNjUuNXYxMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxNTBoODAwek00MDAgMTAwMHYtMTAwcTAgLTYwIDMyLjUgLTEwOS41dDg3LjUgLTczLjVxMjggLTEyIDQ0IC0zN3QxNiAtNTV0LTE2IC01NXQtNDQgLTM3cS01NSAtMjQgLTg3LjUgLTczLjV0LTMyLjUgLTEwOS41di0xNTBoNDAwdjE1MHEwIDYwIC0zMi41IDEwOS41dC04Ny41IDczLjVxLTI4IDEyIC00NCAzN3QtMTYgNTV0MTYgNTV0NDQgMzcgcTU1IDI0IDg3LjUgNzMuNXQzMi41IDEwOS41djEwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI1ZmM7IiBob3Jpei1hZHYteD0iNTAwIiBkPSJNMCAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDI2MDE7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA2LjVxMCAtMTIxIC04NSAtMjA3LjV0LTIwNSAtODYuNWgtNzUwcS03OSAwIC0xMzUuNSA1N3QtNTYuNSAxMzdxMCA2OSA0Mi41IDEyMi41dDEwOC41IDY3LjVxLTIgMTIgLTIgMzdxMCAxNTMgMTA4IDI2MC41dDI2MCAxMDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyNmZhOyIgZD0iTTc3NCAxMTkzLjVxMTYgLTkuNSAyMC41IC0yN3QtNS41IC0zMy41bC0xMzYgLTE4N2w0NjcgLTc0NmgzMHEyMCAwIDM1IC0xOC41dDE1IC0zOS41di00MmgtMTIwMHY0MnEwIDIxIDE1IDM5LjV0MzUgMTguNWgzMGw0NjggNzQ2bC0xMzUgMTgzcS0xMCAxNiAtNS41IDM0dDIwLjUgMjh0MzQgNS41dDI4IC0yMC41bDExMSAtMTQ4bDExMiAxNTBxOSAxNiAyNyAyMC41dDM0IC01ek02MDAgMjAwaDM3N2wtMTgyIDExMmwtMTk1IDUzNHYtNjQ2eiAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyNzA5OyIgZD0iTTI1IDExMDBoMTE1MHExMCAwIDEyLjUgLTV0LTUuNSAtMTNsLTU2NCAtNTY3cS04IC04IC0xOCAtOHQtMTggOGwtNTY0IDU2N3EtOCA4IC01LjUgMTN0MTIuNSA1ek0xOCA4ODJsMjY0IC0yNjRxOCAtOCA4IC0xOHQtOCAtMThsLTI2NCAtMjY0cS04IC04IC0xMyAtNS41dC01IDEyLjV2NTUwcTAgMTAgNSAxMi41dDEzIC01LjV6TTkxOCA2MThsMjY0IDI2NHE4IDggMTMgNS41dDUgLTEyLjV2LTU1MHEwIC0xMCAtNSAtMTIuNXQtMTMgNS41IGwtMjY0IDI2NHEtOCA4IC04IDE4dDggMTh6TTgxOCA0ODJsMzY0IC0zNjRxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xMTUwcS0xMCAwIC0xMi41IDV0NS41IDEzbDM2NCAzNjRxOCA4IDE4IDh0MTggLThsMTY0IC0xNjRxOCAtOCAxOCAtOHQxOCA4bDE2NCAxNjRxOCA4IDE4IDh0MTggLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4MjcwZjsiIGQ9Ik0xMDExIDEyMTBxMTkgMCAzMyAtMTNsMTUzIC0xNTNxMTMgLTE0IDEzIC0zM3QtMTMgLTMzbC05OSAtOTJsLTIxNCAyMTRsOTUgOTZxMTMgMTQgMzIgMTR6TTEwMTMgODAwbC02MTUgLTYxNGwtMjE0IDIxNGw2MTQgNjE0ek0zMTcgOTZsLTMzMyAtMTEybDExMCAzMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMTsiIGQ9Ik03MDAgNjUwdi01NTBoMjUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtODAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgyNTB2NTUwbC01MDAgNTUwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMjsiIGQ9Ik0zNjggMTAxN2w2NDUgMTYzcTM5IDE1IDYzIDB0MjQgLTQ5di04MzFxMCAtNTUgLTQxLjUgLTk1LjV0LTExMS41IC02My41cS03OSAtMjUgLTE0NyAtNC41dC04NiA3NXQyNS41IDExMS41dDEyMi41IDgycTcyIDI0IDEzOCA4djUyMWwtNjAwIC0xNTV2LTYwNnEwIC00MiAtNDQgLTkwdC0xMDkgLTY5cS03OSAtMjYgLTE0NyAtNS41dC04NiA3NS41dDI1LjUgMTExLjV0MTIyLjUgODIuNXE3MiAyNCAxMzggN3Y2MzlxMCAzOCAxNC41IDU5IHQ1My41IDM0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDM7IiBkPSJNNTAwIDExOTFxMTAwIDAgMTkxIC0zOXQxNTYuNSAtMTA0LjV0MTA0LjUgLTE1Ni41dDM5IC0xOTFsLTEgLTJsMSAtNXEwIC0xNDEgLTc4IC0yNjJsMjc1IC0yNzRxMjMgLTI2IDIyLjUgLTQ0LjV0LTIyLjUgLTQyLjVsLTU5IC01OHEtMjYgLTIwIC00Ni41IC0yMHQtMzkuNSAyMGwtMjc1IDI3NHEtMTE5IC03NyAtMjYxIC03N2wtNSAxbC0yIC0xcS0xMDAgMCAtMTkxIDM5dC0xNTYuNSAxMDQuNXQtMTA0LjUgMTU2LjV0LTM5IDE5MSB0MzkgMTkxdDEwNC41IDE1Ni41dDE1Ni41IDEwNC41dDE5MSAzOXpNNTAwIDEwMjJxLTg4IDAgLTE2MiAtNDN0LTExNyAtMTE3dC00MyAtMTYydDQzIC0xNjJ0MTE3IC0xMTd0MTYyIC00M3QxNjIgNDN0MTE3IDExN3Q0MyAxNjJ0LTQzIDE2MnQtMTE3IDExN3QtMTYyIDQzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDU7IiBkPSJNNjQ5IDk0OXE0OCA2OCAxMDkuNSAxMDR0MTIxLjUgMzguNXQxMTguNSAtMjB0MTAyLjUgLTY0dDcxIC0xMDAuNXQyNyAtMTIzcTAgLTU3IC0zMy41IC0xMTcuNXQtOTQgLTEyNC41dC0xMjYuNSAtMTI3LjV0LTE1MCAtMTUyLjV0LTE0NiAtMTc0cS02MiA4NSAtMTQ1LjUgMTc0dC0xNTAgMTUyLjV0LTEyNi41IDEyNy41dC05My41IDEyNC41dC0zMy41IDExNy41cTAgNjQgMjggMTIzdDczIDEwMC41dDEwNCA2NHQxMTkgMjAgdDEyMC41IC0zOC41dDEwNC41IC0xMDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwNjsiIGQ9Ik00MDcgODAwbDEzMSAzNTNxNyAxOSAxNy41IDE5dDE3LjUgLTE5bDEyOSAtMzUzaDQyMXEyMSAwIDI0IC04LjV0LTE0IC0yMC41bC0zNDIgLTI0OWwxMzAgLTQwMXE3IC0yMCAtMC41IC0yNS41dC0yNC41IDYuNWwtMzQzIDI0NmwtMzQyIC0yNDdxLTE3IC0xMiAtMjQuNSAtNi41dC0wLjUgMjUuNWwxMzAgNDAwbC0zNDcgMjUxcS0xNyAxMiAtMTQgMjAuNXQyMyA4LjVoNDI5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDc7IiBkPSJNNDA3IDgwMGwxMzEgMzUzcTcgMTkgMTcuNSAxOXQxNy41IC0xOWwxMjkgLTM1M2g0MjFxMjEgMCAyNCAtOC41dC0xNCAtMjAuNWwtMzQyIC0yNDlsMTMwIC00MDFxNyAtMjAgLTAuNSAtMjUuNXQtMjQuNSA2LjVsLTM0MyAyNDZsLTM0MiAtMjQ3cS0xNyAtMTIgLTI0LjUgLTYuNXQtMC41IDI1LjVsMTMwIDQwMGwtMzQ3IDI1MXEtMTcgMTIgLTE0IDIwLjV0MjMgOC41aDQyOXpNNDc3IDcwMGgtMjQwbDE5NyAtMTQybC03NCAtMjI2IGwxOTMgMTM5bDE5NSAtMTQwbC03NCAyMjlsMTkyIDE0MGgtMjM0bC03OCAyMTF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwODsiIGQ9Ik02MDAgMTIwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTI1MHEwIC00NiAtMzEgLTk4dC02OSAtNTJ2LTc1cTAgLTEwIDYgLTIxLjV0MTUgLTE3LjVsMzU4IC0yMzBxOSAtNSAxNSAtMTYuNXQ2IC0yMS41di05M3EwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5M3EwIDEwIDYgMjEuNXQxNSAxNi41bDM1OCAyMzBxOSA2IDE1IDE3LjV0NiAyMS41djc1cS0zOCAwIC02OSA1MiB0LTMxIDk4djI1MHEwIDEyNCA4OCAyMTJ0MjEyIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDk7IiBkPSJNMjUgMTEwMGgxMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTA1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTExNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMDUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwMCAxMDAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgMTAwMGgtNTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMzUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNTUwIHExMCAwIDE3LjUgNy41dDcuNSAxNy41djM1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTEwMDAgMTAwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwIDgwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA4MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgNjAwdi0xMDBoMTAwdjEwMGgtMTAwek04NzUgNTAwaC01NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0zNTBxMCAtMTAgNy41IC0xNy41IHQxNy41IC03LjVoNTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MzUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMTAwIDQwMHYtMTAwaDEwMHYxMDBoLTEwMHpNMTAwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCAyMDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTA7IiBkPSJNNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCA1MDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMTsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTEwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODUwIDcwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoMjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTg1MCAzMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41IHQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMjsiIGQ9Ik01MCAxMTAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAxMTAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA3MDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNDUwIDcwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTIwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQ1MCAzMDBoNzAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC03MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMzsiIGQ9Ik00NjUgNDc3bDU3MSA1NzFxOCA4IDE4IDh0MTcgLThsMTc3IC0xNzdxOCAtNyA4IC0xN3QtOCAtMThsLTc4MyAtNzg0cS03IC04IC0xNy41IC04dC0xNy41IDhsLTM4NCAzODRxLTggOCAtOCAxOHQ4IDE3bDE3NyAxNzdxNyA4IDE3IDh0MTggLThsMTcxIC0xNzFxNyAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTQ7IiBkPSJNOTA0IDEwODNsMTc4IC0xNzlxOCAtOCA4IC0xOC41dC04IC0xNy41bC0yNjcgLTI2OGwyNjcgLTI2OHE4IC03IDggLTE3LjV0LTggLTE4LjVsLTE3OCAtMTc4cS04IC04IC0xOC41IC04dC0xNy41IDhsLTI2OCAyNjdsLTI2OCAtMjY3cS03IC04IC0xNy41IC04dC0xOC41IDhsLTE3OCAxNzhxLTggOCAtOCAxOC41dDggMTcuNWwyNjcgMjY4bC0yNjcgMjY4cS04IDcgLTggMTcuNXQ4IDE4LjVsMTc4IDE3OHE4IDggMTguNSA4dDE3LjUgLTggbDI2OCAtMjY3bDI2OCAyNjhxNyA3IDE3LjUgN3QxOC41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTU7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNNDI1IDkwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWg3NXExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41IHQtMTcuNSAtNy41aC03NXYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtNzVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg3NXY3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTY7IiBkPSJNNTA3IDExNzdxOTggMCAxODcuNSAtMzguNXQxNTQuNSAtMTAzLjV0MTAzLjUgLTE1NC41dDM4LjUgLTE4Ny41cTAgLTE0MSAtNzggLTI2MmwzMDAgLTI5OXE4IC04IDggLTE4LjV0LTggLTE4LjVsLTEwOSAtMTA4cS03IC04IC0xNy41IC04dC0xOC41IDhsLTMwMCAyOTlxLTExOSAtNzcgLTI2MSAtNzdxLTk4IDAgLTE4OCAzOC41dC0xNTQuNSAxMDN0LTEwMyAxNTQuNXQtMzguNSAxODh0MzguNSAxODcuNXQxMDMgMTU0LjUgdDE1NC41IDEwMy41dDE4OCAzOC41ek01MDYuNSAxMDIzcS04OS41IDAgLTE2NS41IC00NHQtMTIwIC0xMjAuNXQtNDQgLTE2NnQ0NCAtMTY1LjV0MTIwIC0xMjB0MTY1LjUgLTQ0dDE2NiA0NHQxMjAuNSAxMjB0NDQgMTY1LjV0LTQ0IDE2NnQtMTIwLjUgMTIwLjV0LTE2NiA0NHpNMzI1IDgwMGgzNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNzsiIGQ9Ik01NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04MDAgOTc1djE2NnExNjcgLTYyIDI3MiAtMjA5LjV0MTA1IC0zMzEuNXEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNSB0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHEwIDE4NCAxMDUgMzMxLjV0MjcyIDIwOS41di0xNjZxLTEwMyAtNTUgLTE2NSAtMTU1dC02MiAtMjIwcTAgLTExNiA1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXEwIDEyMCAtNjIgMjIwdC0xNjUgMTU1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTg7IiBkPSJNMTAyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTExNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxMTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTcyNSA4MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgNTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTQ1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djQ1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0xMjUgMzAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41IHYyNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE5OyIgZD0iTTYwMCAxMTc0cTMzIDAgNzQgLTVsMzggLTE1Mmw1IC0xcTQ5IC0xNCA5NCAtMzlsNSAtMmwxMzQgODBxNjEgLTQ4IDEwNCAtMTA1bC04MCAtMTM0bDMgLTVxMjUgLTQ0IDM5IC05M2wxIC02bDE1MiAtMzhxNSAtNDMgNSAtNzNxMCAtMzQgLTUgLTc0bC0xNTIgLTM4bC0xIC02cS0xNSAtNDkgLTM5IC05M2wtMyAtNWw4MCAtMTM0cS00OCAtNjEgLTEwNCAtMTA1bC0xMzQgODFsLTUgLTNxLTQ0IC0yNSAtOTQgLTM5bC01IC0ybC0zOCAtMTUxIHEtNDMgLTUgLTc0IC01cS0zMyAwIC03NCA1bC0zOCAxNTFsLTUgMnEtNDkgMTQgLTk0IDM5bC01IDNsLTEzNCAtODFxLTYwIDQ4IC0xMDQgMTA1bDgwIDEzNGwtMyA1cS0yNSA0NSAtMzggOTNsLTIgNmwtMTUxIDM4cS02IDQyIC02IDc0cTAgMzMgNiA3M2wxNTEgMzhsMiA2cTEzIDQ4IDM4IDkzbDMgNWwtODAgMTM0cTQ3IDYxIDEwNSAxMDVsMTMzIC04MGw1IDJxNDUgMjUgOTQgMzlsNSAxbDM4IDE1MnE0MyA1IDc0IDV6TTYwMCA4MTUgcS04OSAwIC0xNTIgLTYzdC02MyAtMTUxLjV0NjMgLTE1MS41dDE1MiAtNjN0MTUyIDYzdDYzIDE1MS41dC02MyAxNTEuNXQtMTUyIDYzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjA7IiBkPSJNNTAwIDEzMDBoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di0xMDBoMjc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoLTExMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNzV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNTAwIDEyMDB2LTEwMGgzMDB2MTAwaC0zMDB6TTExMDAgOTAwdi04MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTcwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjUgdjgwMGg5MDB6TTMwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTUwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTcwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6TTkwMCA4MDB2LTcwMGgxMDB2NzAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMTsiIGQ9Ik0xOCA2MThsNjIwIDYwOHE4IDcgMTguNSA3dDE3LjUgLTdsNjA4IC02MDhxOCAtOCA1LjUgLTEzdC0xMi41IC01aC0xNzV2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWgtMzAwdi0zNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NzVoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDIyOyIgZD0iTTYwMCAxMjAwdi00MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDMwMHYtNjUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djExMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHpNMTAwMCA4MDBoLTI1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MjUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxMDI3cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd0MjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjV0LTU3IDIxNC41dC0xNTUuNSAxNTUuNXQtMjE0LjUgNTd6TTUyNSA5MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0yNzVoMTc1cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI0OyIgZD0iTTEzMDAgMGgtNTM4bC00MSA0MDBoLTI0MmwtNDEgLTQwMGgtNTM4bDQzMSAxMjAwaDIwOWwtMjEgLTMwMGgxNjJsLTIwIDMwMGgyMDh6TTUxNSA4MDBsLTI3IC0zMDBoMjI0bC0yNyAzMDBoLTE3MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI1OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDUwaDE5MXEyMCAwIDI1LjUgLTExLjV0LTcuNSAtMjcuNWwtMzI3IC00MDBxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMzI3IDQwMHEtMTMgMTYgLTcuNSAyNy41dDI1LjUgMTEuNWgxOTF2NDUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEyNSA0MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0zNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41IGgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTc1aDkwMHYxNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01MjUgOTAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTI3NWgxMzdxMjEgMCAyNiAtMTEuNXQtOCAtMjcuNWwtMjIzIC0yNzVxLTEzIC0xNiAtMzIgLTE2dC0zMiAxNmwtMjIzIDI3NXEtMTMgMTYgLTggMjcuNXQyNiAxMS41aDEzN3YyNzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyNzsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNjMyIDkxNGwyMjMgLTI3NXExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTEzN3YtMjc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2Mjc1aC0xMzdxLTIxIDAgLTI2IDExLjV0OCAyNy41bDIyMyAyNzVxMTMgMTYgMzIgMTYgdDMyIC0xNnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI4OyIgZD0iTTIyNSAxMjAwaDc1MHExMCAwIDE5LjUgLTd0MTIuNSAtMTdsMTg2IC02NTJxNyAtMjQgNyAtNDl2LTQyNXEwIC0xMiAtNCAtMjd0LTkgLTE3cS0xMiAtNiAtMzcgLTZoLTExMDBxLTEyIDAgLTI3IDR0LTE3IDhxLTYgMTMgLTYgMzhsMSA0MjVxMCAyNSA3IDQ5bDE4NSA2NTJxMyAxMCAxMi41IDE3dDE5LjUgN3pNODc4IDEwMDBoLTU1NnEtMTAgMCAtMTkgLTd0LTExIC0xOGwtODcgLTQ1MHEtMiAtMTEgNCAtMTh0MTYgLTdoMTUwIHExMCAwIDE5LjUgLTd0MTEuNSAtMTdsMzggLTE1MnEyIC0xMCAxMS41IC0xN3QxOS41IC03aDI1MHExMCAwIDE5LjUgN3QxMS41IDE3bDM4IDE1MnEyIDEwIDExLjUgMTd0MTkuNSA3aDE1MHExMCAwIDE2IDd0NCAxOGwtODcgNDUwcS0yIDExIC0xMSAxOHQtMTkgN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDI5OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek01NDAgODIwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMDsiIGQ9Ik05NDcgMTA2MGwxMzUgMTM1cTcgNyAxMi41IDV0NS41IC0xM3YtMzYycTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMzYycS0xMSAwIC0xMyA1LjV0NSAxMi41bDEzMyAxMzNxLTEwOSA3NiAtMjM4IDc2cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjV0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNWgxNTBxMCAtMTE3IC00NS41IC0yMjQgdC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMxOyIgZD0iTTk0NyAxMDYwbDEzNSAxMzVxNyA3IDEyLjUgNXQ1LjUgLTEzdi0zNjFxMCAtMTEgLTcuNSAtMTguNXQtMTguNSAtNy41aC0zNjFxLTExIDAgLTEzIDUuNXQ1IDEyLjVsMTM0IDEzNHEtMTEwIDc1IC0yMzkgNzVxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41aC0xNTBxMCAxMTcgNDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXExOTIgMCAzNDcgLTExN3pNMTAyNyA2MDBoMTUwIHEwIC0xMTcgLTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41cS0xOTIgMCAtMzQ4IDExOGwtMTM0IC0xMzRxLTcgLTggLTEyLjUgLTUuNXQtNS41IDEyLjV2MzYwcTAgMTEgNy41IDE4LjV0MTguNSA3LjVoMzYwcTEwIDAgMTIuNSAtNS41dC01LjUgLTEyLjVsLTEzMyAtMTMzcTExMCAtNzYgMjQwIC03NnExMTYgMCAyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDMyOyIgZD0iTTEyNSAxMjAwaDEwNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTA1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djExNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMTA3NSAxMDAwaC04NTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di04NTBxMCAtMTAgNy41IC0xNy41dDE3LjUgLTcuNWg4NTBxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXY4NTAgcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXpNMzI1IDkwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgOTAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTMyNSA3MDBoNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNTI1IDcwMGg0NTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTQ1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwIHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek0zMjUgNTAwaDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTUyNSA1MDBoNDUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC00NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMzI1IDMwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01MjUgMzAwaDQ1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNDUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NTAgcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzMzsiIGQ9Ik05MDAgODAwdjIwMHEwIDgzIC01OC41IDE0MS41dC0xNDEuNSA1OC41aC0zMDBxLTgyIDAgLTE0MSAtNTl0LTU5IC0xNDF2LTIwMGgtMTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDkwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NjAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC0xMDB6TTQwMCA4MDB2MTUwcTAgMjEgMTUgMzUuNXQzNSAxNC41aDIwMCBxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNXYtMTUwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNDsiIGQ9Ik0xMjUgMTEwMGg1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwNzVoLTEwMHYxMDc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEwNzUgMTA1MnE0IDAgOSAtMnExNiAtNiAxNiAtMjN2LTQyMXEwIC02IC0zIC0xMnEtMzMgLTU5IC02Ni41IC05OXQtNjUuNSAtNTh0LTU2LjUgLTI0LjV0LTUyLjUgLTYuNXEtMjYgMCAtNTcuNSA2LjV0LTUyLjUgMTMuNXQtNjAgMjFxLTQxIDE1IC02MyAyMi41dC01Ny41IDE1dC02NS41IDcuNSBxLTg1IDAgLTE2MCAtNTdxLTcgLTUgLTE1IC01cS02IDAgLTExIDNxLTE0IDcgLTE0IDIydjQzOHEyMiA1NSA4MiA5OC41dDExOSA0Ni41cTIzIDIgNDMgMC41dDQzIC03dDMyLjUgLTguNXQzOCAtMTN0MzIuNSAtMTFxNDEgLTE0IDYzLjUgLTIxdDU3IC0xNHQ2My41IC03cTEwMyAwIDE4MyA4N3E3IDggMTggOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDM1OyIgZD0iTTYwMCAxMTc1cTExNiAwIDIyNyAtNDkuNXQxOTIuNSAtMTMxdDEzMSAtMTkyLjV0NDkuNSAtMjI3di0zMDBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djMwMHEwIDEyNyAtNzAuNSAyMzEuNXQtMTg0LjUgMTYxLjV0LTI0NSA1N3QtMjQ1IC01N3QtMTg0LjUgLTE2MS41dC03MC41IC0yMzEuNXYtMzAwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtNTAgcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzAwcTAgMTE2IDQ5LjUgMjI3dDEzMSAxOTIuNXQxOTIuNSAxMzF0MjI3IDQ5LjV6TTIyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwcTAgOCA2IDE0dDE0IDZ6TTgyMCA1MDBoMTYwcTggMCAxNCAtNnQ2IC0xNHYtNDYwcTAgLTggLTYgLTE0dC0xNCAtNmgtMTYwcS04IDAgLTE0IDZ0LTYgMTR2NDYwIHEwIDggNiAxNHQxNCA2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzY7IiBkPSJNMzIxIDgxNGwyNTggMTcycTkgNiAxNSAyLjV0NiAtMTMuNXYtNzUwcTAgLTEwIC02IC0xMy41dC0xNSAyLjVsLTI1OCAxNzJxLTIxIDE0IC00NiAxNGgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MzUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMjUwcTI1IDAgNDYgMTR6TTkwMCA2NjhsMTIwIDEyMHE3IDcgMTcgN3QxNyAtN2wzNCAtMzRxNyAtNyA3IC0xN3QtNyAtMTdsLTEyMCAtMTIwbDEyMCAtMTIwcTcgLTcgNyAtMTcgdC03IC0xN2wtMzQgLTM0cS03IC03IC0xNyAtN3QtMTcgN2wtMTIwIDExOWwtMTIwIC0xMTlxLTcgLTcgLTE3IC03dC0xNyA3bC0zNCAzNHEtNyA3IC03IDE3dDcgMTdsMTE5IDEyMGwtMTE5IDEyMHEtNyA3IC03IDE3dDcgMTdsMzQgMzRxNyA4IDE3IDh0MTcgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAzNzsiIGQ9Ik0zMjEgODE0bDI1OCAxNzJxOSA2IDE1IDIuNXQ2IC0xMy41di03NTBxMCAtMTAgLTYgLTEzLjV0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNiBsLTI5IDIzcS03IDcgLTguNSAxNi41dDQuNSAxNy41cTcyIDEwMyA3MiAyMjlxMCAxMzIgLTc4IDIzOHEtNiA4IC00LjUgMTh0OS41IDE3bDI5IDIycTcgNSAxNSA1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMzg7IiBkPSJNOTY3IDEwMDRoM3ExMSAtMSAxNyAtMTBxMTM1IC0xNzkgMTM1IC0zOTZxMCAtMTA1IC0zNCAtMjA2LjV0LTk4IC0xODUuNXEtNyAtOSAtMTcgLTEwaC0zcS05IDAgLTE2IDZsLTQyIDM0cS04IDYgLTkgMTZ0NSAxOHExMTEgMTUwIDExMSAzMjhxMCA5MCAtMjkuNSAxNzZ0LTg0LjUgMTU3cS02IDkgLTUgMTl0MTAgMTZsNDIgMzNxNyA1IDE1IDV6TTMyMSA4MTRsMjU4IDE3MnE5IDYgMTUgMi41dDYgLTEzLjV2LTc1MHEwIC0xMCAtNiAtMTMuNSB0LTE1IDIuNWwtMjU4IDE3MnEtMjEgMTQgLTQ2IDE0aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgyNTBxMjUgMCA0NiAxNHpNNzY2IDkwMGg0cTEwIC0xIDE2IC0xMHE5NiAtMTI5IDk2IC0yOTBxMCAtMTU0IC05MCAtMjgxcS02IC05IC0xNyAtMTBsLTMgLTFxLTkgMCAtMTYgNmwtMjkgMjNxLTcgNyAtOC41IDE2LjV0NC41IDE3LjVxNzIgMTAzIDcyIDIyOXEwIDEzMiAtNzggMjM4IHEtNiA4IC00LjUgMTguNXQ5LjUgMTYuNWwyOSAyMnE3IDUgMTUgNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDM5OyIgZD0iTTUwMCA5MDBoMTAwdi0xMDBoLTEwMHYtMTAwaC00MDB2LTEwMGgtMTAwdjYwMGg1MDB2LTMwMHpNMTIwMCA3MDBoLTIwMHYtMTAwaDIwMHYtMjAwaC0zMDB2MzAwaC0yMDB2MzAwaC0xMDB2MjAwaDYwMHYtNTAwek0xMDAgMTEwMHYtMzAwaDMwMHYzMDBoLTMwMHpNODAwIDExMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTMwMCA5MDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEwMDAgOTAwaC0xMDB2MTAwaDEwMHYtMTAwek0zMDAgNTAwaDIwMHYtNTAwIGgtNTAwdjUwMGgyMDB2MTAwaDEwMHYtMTAwek04MDAgMzAwaDIwMHYtMTAwaC0xMDB2LTEwMGgtMjAwdjEwMGgtMTAwdjEwMGgxMDB2MjAwaC0yMDB2MTAwaDMwMHYtMzAwek0xMDAgNDAwdi0zMDBoMzAwdjMwMGgtMzAwek0zMDAgMjAwaC0xMDB2MTAwaDEwMHYtMTAwek0xMjAwIDIwMGgtMTAwdjEwMGgxMDB2LTEwMHpNNzAwIDBoLTEwMHYxMDBoMTAwdi0xMDB6TTEyMDAgMGgtMzAwdjEwMGgzMDB2LTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQwOyIgZD0iTTEwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMzAwIDIwMGgtMTAwdjEwMDBoMTAwdi0xMDAwek03MDAgMjAwaC0yMDB2MTAwMGgyMDB2LTEwMDB6TTkwMCAyMDBoLTEwMHYxMDAwaDEwMHYtMTAwMHpNMTIwMCAyMDBoLTIwMHYxMDAwaDIwMHYtMTAwMHpNNDAwIDBoLTMwMHYxMDBoMzAwdi0xMDB6TTYwMCAwaC0xMDB2OTFoMTAwdi05MXpNODAwIDBoLTEwMHY5MWgxMDB2LTkxek0xMTAwIDBoLTIwMHY5MWgyMDB2LTkxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNDE7IiBkPSJNNTAwIDEyMDBsNjgyIC02ODJxOCAtOCA4IC0xOHQtOCAtMThsLTQ2NCAtNDY0cS04IC04IC0xOCAtOHQtMTggOGwtNjgyIDY4MmwxIDQ3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDQ3NHpNMzE5LjUgMTAyNC41cS0yOS41IDI5LjUgLTcxIDI5LjV0LTcxIC0yOS41dC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQyOyIgZD0iTTUwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTY4MiA2ODJsMSA0NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWg0NzR6TTgwMCAxMjAwbDY4MiAtNjgycTggLTggOCAtMTh0LTggLTE4bC00NjQgLTQ2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTU2IDU2bDQyNCA0MjZsLTcwMCA3MDBoMTUwek0zMTkuNSAxMDI0LjVxLTI5LjUgMjkuNSAtNzEgMjkuNXQtNzEgLTI5LjUgdC0yOS41IC03MS41dDI5LjUgLTcxLjV0NzEgLTI5LjV0NzEgMjkuNXQyOS41IDcxLjV0LTI5LjUgNzEuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQzOyIgZD0iTTMwMCAxMjAwaDgyNXE3NSAwIDc1IC03NXYtOTAwcTAgLTI1IC0xOCAtNDNsLTY0IC02NHEtOCAtOCAtMTMgLTUuNXQtNSAxMi41djk1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjVoLTcwMHEtMjUgMCAtNDMgLTE4bC02NCAtNjRxLTggLTggLTUuNSAtMTN0MTIuNSAtNWg3MDBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di05NTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC04NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NzUgcTAgMjUgMTggNDNsMTM5IDEzOXExOCAxOCA0MyAxOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQ0OyIgZD0iTTI1MCAxMjAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTE1MGwtNDUwIDQ0NGwtNDUwIC00NDV2MTE1MXEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NTsiIGQ9Ik04MjIgMTIwMGgtNDQ0cS0xMSAwIC0xOSAtNy41dC05IC0xNy41bC03OCAtMzAxcS03IC0yNCA3IC00NWw1NyAtMTA4cTYgLTkgMTcuNSAtMTV0MjEuNSAtNmg0NTBxMTAgMCAyMS41IDZ0MTcuNSAxNWw2MiAxMDhxMTQgMjEgNyA0NWwtODMgMzAxcS0xIDEwIC05IDE3LjV0LTE5IDcuNXpNMTE3NSA4MDBoLTE1MHEtMTAgMCAtMjEgLTYuNXQtMTUgLTE1LjVsLTc4IC0xNTZxLTQgLTkgLTE1IC0xNS41dC0yMSAtNi41aC01NTAgcS0xMCAwIC0yMSA2LjV0LTE1IDE1LjVsLTc4IDE1NnEtNCA5IC0xNSAxNS41dC0yMSA2LjVoLTE1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTY1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDc1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41IHQ3LjUgMTcuNXY2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41ek04NTAgMjAwaC01MDBxLTEwIDAgLTE5LjUgLTd0LTExLjUgLTE3bC0zOCAtMTUycS0yIC0xMCAzLjUgLTE3dDE1LjUgLTdoNjAwcTEwIDAgMTUuNSA3dDMuNSAxN2wtMzggMTUycS0yIDEwIC0xMS41IDE3dC0xOS41IDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NjsiIGQ9Ik01MDAgMTEwMGgyMDBxNTYgMCAxMDIuNSAtMjAuNXQ3Mi41IC01MHQ0NCAtNTl0MjUgLTUwLjVsNiAtMjBoMTUwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41di02MDBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTEwMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djYwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMTUwcTIgOCA2LjUgMjEuNXQyNCA0OHQ0NSA2MXQ3MiA0OHQxMDIuNSAyMS41ek05MDAgODAwdi0xMDAgaDEwMHYxMDBoLTEwMHpNNjAwIDczMHEtOTUgMCAtMTYyLjUgLTY3LjV0LTY3LjUgLTE2Mi41dDY3LjUgLTE2Mi41dDE2Mi41IC02Ny41dDE2Mi41IDY3LjV0NjcuNSAxNjIuNXQtNjcuNSAxNjIuNXQtMTYyLjUgNjcuNXpNNjAwIDYwM3E0MyAwIDczIC0zMHQzMCAtNzN0LTMwIC03M3QtNzMgLTMwdC03MyAzMHQtMzAgNzN0MzAgNzN0NzMgMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA0NzsiIGQ9Ik02ODEgMTE5OWwzODUgLTk5OHEyMCAtNTAgNjAgLTkycTE4IC0xOSAzNi41IC0yOS41dDI3LjUgLTExLjVsMTAgLTJ2LTY2aC00MTd2NjZxNTMgMCA3NSA0My41dDUgODguNWwtODIgMjIyaC0zOTFxLTU4IC0xNDUgLTkyIC0yMzRxLTExIC0zNCAtNi41IC01N3QyNS41IC0zN3Q0NiAtMjB0NTUgLTZ2LTY2aC0zNjV2NjZxNTYgMjQgODQgNTJxMTIgMTIgMjUgMzAuNXQyMCAzMS41bDcgMTNsMzk5IDEwMDZoOTN6TTQxNiA1MjFoMzQwIGwtMTYyIDQ1N3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQ4OyIgZD0iTTc1MyA2NDFxNSAtMSAxNC41IC00LjV0MzYgLTE1LjV0NTAuNSAtMjYuNXQ1My41IC00MHQ1MC41IC01NC41dDM1LjUgLTcwdDE0LjUgLTg3cTAgLTY3IC0yNy41IC0xMjUuNXQtNzEuNSAtOTcuNXQtOTguNSAtNjYuNXQtMTA4LjUgLTQwLjV0LTEwMiAtMTNoLTUwMHY4OXE0MSA3IDcwLjUgMzIuNXQyOS41IDY1LjV2ODI3cTAgMjQgLTAuNSAzNHQtMy41IDI0dC04LjUgMTkuNXQtMTcgMTMuNXQtMjggMTIuNXQtNDIuNSAxMS41djcxIGw0NzEgLTFxNTcgMCAxMTUuNSAtMjAuNXQxMDggLTU3dDgwLjUgLTk0dDMxIC0xMjQuNXEwIC01MSAtMTUuNSAtOTYuNXQtMzggLTc0LjV0LTQ1IC01MC41dC0zOC41IC0zMC41ek00MDAgNzAwaDEzOXE3OCAwIDEzMC41IDQ4LjV0NTIuNSAxMjIuNXEwIDQxIC04LjUgNzAuNXQtMjkuNSA1NS41dC02Mi41IDM5LjV0LTEwMy41IDEzLjVoLTExOHYtMzUwek00MDAgMjAwaDIxNnE4MCAwIDEyMSA1MC41dDQxIDEzMC41cTAgOTAgLTYyLjUgMTU0LjUgdC0xNTYuNSA2NC41aC0xNTl2LTQwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDQ5OyIgZD0iTTg3NyAxMjAwbDIgLTU3cS04MyAtMTkgLTExNiAtNDUuNXQtNDAgLTY2LjVsLTEzMiAtODM5cS05IC00OSAxMyAtNjl0OTYgLTI2di05N2gtNTAwdjk3cTE4NiAxNiAyMDAgOThsMTczIDgzMnEzIDE3IDMgMzB0LTEuNSAyMi41dC05IDE3LjV0LTEzLjUgMTIuNXQtMjEuNSAxMHQtMjYgOC41dC0zMy41IDEwcS0xMyAzIC0xOSA1djU3aDQyNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDUwOyIgZD0iTTEzMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTE3NSAxMDAwaC03NXYtODAwaDc1bC0xMjUgLTE2N2wtMTI1IDE2N2g3NXY4MDBoLTc1bDEyNSAxNjd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MTsiIGQ9Ik0xMTAwIDkwMGgtNTBxMCAyMSAtNCAzN3QtOS41IDI2LjV0LTE4IDE3LjV0LTIyIDExdC0yOC41IDUuNXQtMzEgMnQtMzcgMC41aC0yMDB2LTY1MHEwIC0yMiAyNSAtMzQuNXQ1MCAtMTMuNWwyNSAtMnYtMTAwaC00MDB2MTAwcTQgMCAxMSAwLjV0MjQgM3QzMCA3dDI0IDE1dDExIDI0LjV2NjUwaC0yMDBxLTI1IDAgLTM3IC0wLjV0LTMxIC0ydC0yOC41IC01LjV0LTIyIC0xMXQtMTggLTE3LjV0LTkuNSAtMjYuNXQtNCAtMzdoLTUwdjMwMCBoMTAwMHYtMzAwek0xMTY3IDUwbC0xNjcgLTEyNXY3NWgtODAwdi03NWwtMTY3IDEyNWwxNjcgMTI1di03NWg4MDB2NzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MjsiIGQ9Ik01MCAxMTAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDgwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1MzsiIGQ9Ik0yNTAgMTEwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjUwIDUwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDU0OyIgZD0iTTUwMCA5NTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg2MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNjAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXpNMTAwIDY1MHYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41ek0zMDAgMzUwdjEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTgwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV6TTAgNTB2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDU1OyIgZD0iTTUwIDExMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAgcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMjAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTEwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1NjsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCAxMTAwaDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMzUwIDgwMGg4MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgNTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTM1MCA1MDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDAgcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC04MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zNTAgMjAwaDgwMCBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNTc7IiBkPSJNNDAwIDBoLTEwMHYxMTAwaDEwMHYtMTEwMHpNNTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMjY3IDU1MGwtMTY3IC0xMjV2NzVoLTIwMHYxMDBoMjAwdjc1ek01NTAgNTAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTU1MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1ODsiIGQ9Ik01MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAwaC0xMDB2MTEwMGgxMDB2LTExMDB6TTUwIDgwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwIHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTEwMCA2MDBoMjAwdi0xMDBoLTIwMHYtNzVsLTE2NyAxMjVsMTY3IDEyNXYtNzV6TTUwIDUwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek01MCAyMDBoNjAwIHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC02MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA1OTsiIGQ9Ik03NSAxMDAwaDc1MHEzMSAwIDUzIC0yMnQyMiAtNTN2LTY1MHEwIC0zMSAtMjIgLTUzdC01MyAtMjJoLTc1MHEtMzEgMCAtNTMgMjJ0LTIyIDUzdjY1MHEwIDMxIDIyIDUzdDUzIDIyek0xMjAwIDMwMGwtMzAwIDMwMGwzMDAgMzAwdi02MDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2MDsiIGQ9Ik00NCAxMTAwaDExMTJxMTggMCAzMSAtMTN0MTMgLTMxdi0xMDEycTAgLTE4IC0xMyAtMzF0LTMxIC0xM2gtMTExMnEtMTggMCAtMzEgMTN0LTEzIDMxdjEwMTJxMCAxOCAxMyAzMXQzMSAxM3pNMTAwIDEwMDB2LTczN2wyNDcgMTgybDI5OCAtMTMxbC03NCAxNTZsMjkzIDMxOGwyMzYgLTI4OHY1MDBoLTEwMDB6TTM0MiA4ODRxNTYgMCA5NSAtMzl0MzkgLTk0LjV0LTM5IC05NXQtOTUgLTM5LjV0LTk1IDM5LjV0LTM5IDk1dDM5IDk0LjUgdDk1IDM5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjI7IiBkPSJNNjQ4IDExNjlxMTE3IDAgMjE2IC02MHQxNTYuNSAtMTYxdDU3LjUgLTIxOHEwIC0xMTUgLTcwIC0yNThxLTY5IC0xMDkgLTE1OCAtMjI1LjV0LTE0MyAtMTc5LjVsLTU0IC02MnEtOSA4IC0yNS41IDI0LjV0LTYzLjUgNjcuNXQtOTEgMTAzdC05OC41IDEyOHQtOTUuNSAxNDhxLTYwIDEzMiAtNjAgMjQ5cTAgODggMzQgMTY5LjV0OTEuNSAxNDJ0MTM3IDk2LjV0MTY2LjUgMzZ6TTY1Mi41IDk3NHEtOTEuNSAwIC0xNTYuNSAtNjUgdC02NSAtMTU3dDY1IC0xNTYuNXQxNTYuNSAtNjQuNXQxNTYuNSA2NC41dDY1IDE1Ni41dC02NSAxNTd0LTE1Ni41IDY1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjM7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTYwMCAxNzN2ODU0cS0xMTYgMCAtMjE0LjUgLTU3dC0xNTUuNSAtMTU1LjV0LTU3IC0yMTQuNXQ1NyAtMjE0LjUgdDE1NS41IC0xNTUuNXQyMTQuNSAtNTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA2NDsiIGQ9Ik01NTQgMTI5NXEyMSAtNzIgNTcuNSAtMTQzLjV0NzYgLTEzMHQ4MyAtMTE4dDgyLjUgLTExN3Q3MCAtMTE2dDQ5LjUgLTEyNnQxOC41IC0xMzYuNXEwIC03MSAtMjUuNSAtMTM1dC02OC41IC0xMTF0LTk5IC04MnQtMTE4LjUgLTU0dC0xMjUuNSAtMjNxLTg0IDUgLTE2MS41IDM0dC0xMzkuNSA3OC41dC05OSAxMjV0LTM3IDE2NC41cTAgNjkgMTggMTM2LjV0NDkuNSAxMjYuNXQ2OS41IDExNi41dDgxLjUgMTE3LjV0ODMuNSAxMTkgdDc2LjUgMTMxdDU4LjUgMTQzek0zNDQgNzEwcS0yMyAtMzMgLTQzLjUgLTcwLjV0LTQwLjUgLTEwMi41dC0xNyAtMTIzcTEgLTM3IDE0LjUgLTY5LjV0MzAgLTUydDQxIC0zN3QzOC41IC0yNC41dDMzIC0xNXEyMSAtNyAzMiAtMXQxMyAyMmw2IDM0cTIgMTAgLTIuNSAyMnQtMTMuNSAxOXEtNSA0IC0xNCAxMnQtMjkuNSA0MC41dC0zMi41IDczLjVxLTI2IDg5IDYgMjcxcTIgMTEgLTYgMTFxLTggMSAtMTUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjU7IiBkPSJNMTAwMCAxMDEzbDEwOCAxMTVxMiAxIDUgMnQxMyAydDIwLjUgLTF0MjUgLTkuNXQyOC41IC0yMS41cTIyIC0yMiAyNyAtNDN0MCAtMzJsLTYgLTEwbC0xMDggLTExNXpNMzUwIDExMDBoNDAwcTUwIDAgMTA1IC0xM2wtMTg3IC0xODdoLTM2OHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41djE4MmwyMDAgMjAwdi0zMzIgcTAgLTE2NSAtOTMuNSAtMjU3LjV0LTI1Ni41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTEwMDkgODAzbC0zNjIgLTM2MmwtMTYxIC01MGw1NSAxNzBsMzU1IDM1NXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDY2OyIgZD0iTTM1MCAxMTAwaDM2MXEtMTY0IC0xNDYgLTIxNiAtMjAwaC0xOTVxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNWwyMDAgMTUzdi0xMDNxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTgyNCAxMDczbDMzOSAtMzAxcTggLTcgOCAtMTcuNXQtOCAtMTcuNWwtMzQwIC0zMDZxLTcgLTYgLTEyLjUgLTR0LTYuNSAxMXYyMDNxLTI2IDEgLTU0LjUgMHQtNzguNSAtNy41dC05MiAtMTcuNXQtODYgLTM1dC03MCAtNTdxMTAgNTkgMzMgMTA4dDUxLjUgODEuNXQ2NSA1OC41dDY4LjUgNDAuNXQ2NyAyNC41dDU2IDEzLjV0NDAgNC41djIxMHExIDEwIDYuNSAxMi41dDEzLjUgLTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDY3OyIgZD0iTTM1MCAxMTAwaDM1MHE2MCAwIDEyNyAtMjNsLTE3OCAtMTc3aC0zNDlxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNXY2OWwyMDAgMjAwdi0yMTlxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXogTTY0MyA2MzlsMzk1IDM5NXE3IDcgMTcuNSA3dDE3LjUgLTdsMTAxIC0xMDFxNyAtNyA3IC0xNy41dC03IC0xNy41bC01MzEgLTUzMnEtNyAtNyAtMTcuNSAtN3QtMTcuNSA3bC0yNDggMjQ4cS03IDcgLTcgMTcuNXQ3IDE3LjVsMTAxIDEwMXE3IDcgMTcuNSA3dDE3LjUgLTdsMTExIC0xMTFxOCAtNyAxOCAtN3QxOCA3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNjg7IiBkPSJNMzE4IDkxOGwyNjQgMjY0cTggOCAxOCA4dDE4IC04bDI2MCAtMjY0cTcgLTggNC41IC0xM3QtMTIuNSAtNWgtMTcwdi0yMDBoMjAwdjE3M3EwIDEwIDUgMTJ0MTMgLTVsMjY0IC0yNjBxOCAtNyA4IC0xNy41dC04IC0xNy41bC0yNjQgLTI2NXEtOCAtNyAtMTMgLTV0LTUgMTJ2MTczaC0yMDB2LTIwMGgxNzBxMTAgMCAxMi41IC01dC00LjUgLTEzbC0yNjAgLTI2NHEtOCAtOCAtMTggLTh0LTE4IDhsLTI2NCAyNjRxLTggOCAtNS41IDEzIHQxMi41IDVoMTc1djIwMGgtMjAwdi0xNzNxMCAtMTAgLTUgLTEydC0xMyA1bC0yNjQgMjY1cS04IDcgLTggMTcuNXQ4IDE3LjVsMjY0IDI2MHE4IDcgMTMgNXQ1IC0xMnYtMTczaDIwMHYyMDBoLTE3NXEtMTAgMCAtMTIuNSA1dDUuNSAxM3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDY5OyIgZD0iTTI1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDM4bDQ2NCA0NTNxMTUgMTQgMjUuNSAxMHQxMC41IC0yNXYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDcwOyIgZD0iTTUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di00MzhsNDY0IDQ1M3ExNSAxNCAyNS41IDEwdDEwLjUgLTI1di0xMDAwcTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xMC41IC0yNXQtMjUuNSAxMGwtNDY0IDQ1M3YtNDM4cTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDcxOyIgZD0iTTEyMDAgMTA1MHYtMTAwMHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ2NCA0NTN2LTQzOHEwIC0yMSAtMTAuNSAtMjV0LTI1LjUgMTBsLTQ5MiA0ODBxLTE1IDE0IC0xNSAzNXQxNSAzNWw0OTIgNDgwcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV2LTQzOGw0NjQgNDUzcTE1IDE0IDI1LjUgMTB0MTAuNSAtMjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3MjsiIGQ9Ik0yNDMgMTA3NGw4MTQgLTQ5OHExOCAtMTEgMTggLTI2dC0xOCAtMjZsLTgxNCAtNDk4cS0xOCAtMTEgLTMwLjUgLTR0LTEyLjUgMjh2MTAwMHEwIDIxIDEyLjUgMjh0MzAuNSAtNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDczOyIgZD0iTTI1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtODAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzQ7IiBkPSJNMTEwMCA5NTB2LTgwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtODAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY4MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDgwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDc1OyIgZD0iTTUwMCA2MTJ2NDM4cTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0OTIgLTQ4MHExNSAtMTQgMTUgLTM1dC0xNSAtMzVsLTQ5MiAtNDgwcS0xNSAtMTQgLTI1LjUgLTEwdC0xMC41IDI1djQzOGwtNDY0IC00NTNxLTE1IC0xNCAtMjUuNSAtMTB0LTEwLjUgMjV2MTAwMHEwIDIxIDEwLjUgMjV0MjUuNSAtMTB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NjsiIGQ9Ik0xMDQ4IDExMDJsMTAwIDFxMjAgMCAzNSAtMTQuNXQxNSAtMzUuNWw1IC0xMDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41bC0xMDAgLTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41bC0yIDQzN2wtNDYzIC00NTRxLTE0IC0xNSAtMjQuNSAtMTAuNXQtMTAuNSAyNS41bC0yIDQzN2wtNDYyIC00NTVxLTE1IC0xNCAtMjUuNSAtOS41dC0xMC41IDI0LjVsLTUgMTAwMHEwIDIxIDEwLjUgMjUuNXQyNS41IC0xMC41bDQ2NiAtNDUwIGwtMiA0MzhxMCAyMCAxMC41IDI0LjV0MjUuNSAtOS41bDQ2NiAtNDUxbC0yIDQzOHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA3NzsiIGQ9Ik04NTAgMTEwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDM4bC00NjQgLTQ1M3EtMTUgLTE0IC0yNS41IC0xMHQtMTAuNSAyNXYxMDAwcTAgMjEgMTAuNSAyNXQyNS41IC0xMGw0NjQgLTQ1M3Y0MzhxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwNzg7IiBkPSJNNjg2IDEwODFsNTAxIC01NDBxMTUgLTE1IDEwLjUgLTI2dC0yNi41IC0xMWgtMTA0MnEtMjIgMCAtMjYuNSAxMXQxMC41IDI2bDUwMSA1NDBxMTUgMTUgMzYgMTV0MzYgLTE1ek0xNTAgNDAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDc5OyIgZD0iTTg4NSA5MDBsLTM1MiAtMzUzbDM1MiAtMzUzbC0xOTcgLTE5OGwtNTUyIDU1Mmw1NTIgNTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODA7IiBkPSJNMTA2NCA1NDdsLTU1MSAtNTUxbC0xOTggMTk4bDM1MyAzNTNsLTM1MyAzNTNsMTk4IDE5OHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDgxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NTAgOTAwaC0xMDBxLTIxIDAgLTM1LjUgLTE0LjV0LTE0LjUgLTM1LjV2LTE1MGgtMTUwIHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMTAwcTAgLTIxIDE0LjUgLTM1LjV0MzUuNSAtMTQuNWgxNTB2LTE1MHEwIC0yMSAxNC41IC0zNS41dDM1LjUgLTE0LjVoMTAwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxNTBoMTUwcTIxIDAgMzUuNSAxNC41dDE0LjUgMzUuNXYxMDBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTE1MHYxNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4MjsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNODUwIDcwMGgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNSB0MzUuNSAtMTQuNWg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDgzOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03NDEuNSA5MTNxLTEyLjUgMCAtMjEuNSAtOWwtMTIwIC0xMjBsLTEyMCAxMjBxLTkgOSAtMjEuNSA5IHQtMjEuNSAtOWwtMTQxIC0xNDFxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxMjAgLTEyMGwtMTIwIC0xMjBxLTkgLTkgLTkgLTIxLjV0OSAtMjEuNWwxNDEgLTE0MXE5IC05IDIxLjUgLTl0MjEuNSA5bDEyMCAxMjBsMTIwIC0xMjBxOSAtOSAyMS41IC05dDIxLjUgOWwxNDEgMTQxcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTIwIDEyMGwxMjAgMTIwcTkgOSA5IDIxLjV0LTkgMjEuNWwtMTQxIDE0MXEtOSA5IC0yMS41IDl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NDsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNTQ2IDYyM2wtODQgODVxLTcgNyAtMTcuNSA3dC0xOC41IC03bC0xMzkgLTEzOXEtNyAtOCAtNyAtMTh0NyAtMTggbDI0MiAtMjQxcTcgLTggMTcuNSAtOHQxNy41IDhsMzc1IDM3NXE3IDcgNyAxNy41dC03IDE4LjVsLTEzOSAxMzlxLTcgNyAtMTcuNSA3dC0xNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwODU7IiBkPSJNNjAwIDExNzdxMTE3IDAgMjI0IC00NS41dDE4NC41IC0xMjN0MTIzIC0xODQuNXQ0NS41IC0yMjR0LTQ1LjUgLTIyNHQtMTIzIC0xODQuNXQtMTg0LjUgLTEyM3QtMjI0IC00NS41dC0yMjQgNDUuNXQtMTg0LjUgMTIzdC0xMjMgMTg0LjV0LTQ1LjUgMjI0dDQ1LjUgMjI0dDEyMyAxODQuNXQxODQuNSAxMjN0MjI0IDQ1LjV6TTU4OCA5NDFxLTI5IDAgLTU5IC01LjV0LTYzIC0yMC41dC01OCAtMzguNXQtNDEuNSAtNjN0LTE2LjUgLTg5LjUgcTAgLTI1IDIwIC0yNWgxMzFxMzAgLTUgMzUgMTFxNiAyMCAyMC41IDI4dDQ1LjUgOHEyMCAwIDMxLjUgLTEwLjV0MTEuNSAtMjguNXEwIC0yMyAtNyAtMzR0LTI2IC0xOHEtMSAwIC0xMy41IC00dC0xOS41IC03LjV0LTIwIC0xMC41dC0yMiAtMTd0LTE4LjUgLTI0dC0xNS41IC0zNXQtOCAtNDZxLTEgLTggNS41IC0xNi41dDIwLjUgLTguNWgxNzNxNyAwIDIyIDh0MzUgMjh0MzcuNSA0OHQyOS41IDc0dDEyIDEwMHEwIDQ3IC0xNyA4MyB0LTQyLjUgNTd0LTU5LjUgMzQuNXQtNjQgMTh0LTU5IDQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDg2OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02NzUgMTAwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNSB0MTcuNSAtNy41aDE1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djE1MHEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6TTY3NSA3MDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoNzV2LTIwMGgtNzVxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di01MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDM1MHExMCAwIDE3LjUgNy41dDcuNSAxNy41djUwcTAgMTAgLTcuNSAxNy41IHQtMTcuNSA3LjVoLTc1djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4NzsiIGQ9Ik01MjUgMTIwMGgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xOTRxMTAzIC0yNyAxNzguNSAtMTAyLjV0MTAyLjUgLTE3OC41aDE5NHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE5NHEtMjcgLTEwMyAtMTAyLjUgLTE3OC41dC0xNzguNSAtMTAyLjV2LTE5NHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE5NCBxLTEwMyAyNyAtMTc4LjUgMTAyLjV0LTEwMi41IDE3OC41aC0xOTRxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxOTRxMjcgMTAzIDEwMi41IDE3OC41dDE3OC41IDEwMi41djE5NHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek03MDAgODkzdi0xNjhxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNjhxLTY4IC0yMyAtMTE5IC03NCB0LTc0IC0xMTloMTY4cTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTY4cTIzIC02OCA3NCAtMTE5dDExOSAtNzR2MTY4cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTY4cTY4IDIzIDExOSA3NHQ3NCAxMTloLTE2OHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDE2OCBxLTIzIDY4IC03NCAxMTl0LTExOSA3NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDg4OyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjV0NTcgLTIxNC41IHQxNTUuNSAtMTU1LjV0MjE0LjUgLTU3dDIxNC41IDU3dDE1NS41IDE1NS41dDU3IDIxNC41dC01NyAyMTQuNXQtMTU1LjUgMTU1LjV0LTIxNC41IDU3ek03NTkgODIzbDY0IC02NHE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTEyNCAtMTI0bDEyNCAtMTI0cTcgLTcgNyAtMTcuNXQtNyAtMTcuNWwtNjQgLTY0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTEyNCAxMjRsLTEyNCAtMTI0cS03IC03IC0xNy41IC03dC0xNy41IDdsLTY0IDY0IHEtNyA3IC03IDE3LjV0NyAxNy41bDEyNCAxMjRsLTEyNCAxMjRxLTcgNyAtNyAxNy41dDcgMTcuNWw2NCA2NHE3IDcgMTcuNSA3dDE3LjUgLTdsMTI0IC0xMjRsMTI0IDEyNHE3IDcgMTcuNSA3dDE3LjUgLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA4OTsiIGQ9Ik02MDAgMTE3N3ExMTcgMCAyMjQgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNHQtNDUuNSAtMjI0dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjQgLTQ1LjV0LTIyNCA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjR0NDUuNSAyMjR0MTIzIDE4NC41dDE4NC41IDEyM3QyMjQgNDUuNXpNNjAwIDEwMjdxLTExNiAwIC0yMTQuNSAtNTd0LTE1NS41IC0xNTUuNXQtNTcgLTIxNC41dDU3IC0yMTQuNSB0MTU1LjUgLTE1NS41dDIxNC41IC01N3QyMTQuNSA1N3QxNTUuNSAxNTUuNXQ1NyAyMTQuNXQtNTcgMjE0LjV0LTE1NS41IDE1NS41dC0yMTQuNSA1N3pNNzgyIDc4OGwxMDYgLTEwNnE3IC03IDcgLTE3LjV0LTcgLTE3LjVsLTMyMCAtMzIxcS04IC03IC0xOCAtN3QtMTggN2wtMjAyIDIwM3EtOCA3IC04IDE3LjV0OCAxNy41bDEwNiAxMDZxNyA4IDE3LjUgOHQxNy41IC04bDc5IC03OWwxOTcgMTk3cTcgNyAxNy41IDd0MTcuNSAtN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDkwOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek02MDAgMTAyN3EtMTE2IDAgLTIxNC41IC01N3QtMTU1LjUgLTE1NS41dC01NyAtMjE0LjVxMCAtMTIwIDY1IC0yMjUgbDU4NyA1ODdxLTEwNSA2NSAtMjI1IDY1ek05NjUgODE5bC01ODQgLTU4NHExMDQgLTYyIDIxOSAtNjJxMTE2IDAgMjE0LjUgNTd0MTU1LjUgMTU1LjV0NTcgMjE0LjVxMCAxMTUgLTYyIDIxOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDkxOyIgZD0iTTM5IDU4Mmw1MjIgNDI3cTE2IDEzIDI3LjUgOHQxMS41IC0yNnYtMjkxaDU1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC01NTB2LTI5MXEwIC0yMSAtMTEuNSAtMjZ0LTI3LjUgOGwtNTIyIDQyN3EtMTYgMTMgLTE2IDMydDE2IDMyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwOTI7IiBkPSJNNjM5IDEwMDlsNTIyIC00MjdxMTYgLTEzIDE2IC0zMnQtMTYgLTMybC01MjIgLTQyN3EtMTYgLTEzIC0yNy41IC04dC0xMS41IDI2djI5MWgtNTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDU1MHYyOTFxMCAyMSAxMS41IDI2dDI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5MzsiIGQ9Ik02ODIgMTE2MWw0MjcgLTUyMnExMyAtMTYgOCAtMjcuNXQtMjYgLTExLjVoLTI5MXYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0yMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djU1MGgtMjkxcS0yMSAwIC0yNiAxMS41dDggMjcuNWw0MjcgNTIycTEzIDE2IDMyIDE2dDMyIC0xNnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDk0OyIgZD0iTTU1MCAxMjAwaDIwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUwaDI5MXEyMSAwIDI2IC0xMS41dC04IC0yNy41bC00MjcgLTUyMnEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC00MjcgNTIycS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMjkxdjU1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTA5NTsiIGQ9Ik02MzkgMTEwOWw1MjIgLTQyN3ExNiAtMTMgMTYgLTMydC0xNiAtMzJsLTUyMiAtNDI3cS0xNiAtMTMgLTI3LjUgLTh0LTExLjUgMjZ2MjkxcS05NCAtMiAtMTgyIC0yMHQtMTcwLjUgLTUydC0xNDcgLTkyLjV0LTEwMC41IC0xMzUuNXE1IDEwNSAyNyAxOTMuNXQ2Ny41IDE2N3QxMTMgMTM1dDE2NyA5MS41dDIyNS41IDQydjI2MnEwIDIxIDExLjUgMjZ0MjcuNSAtOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDk2OyIgZD0iTTg1MCAxMjAwaDMwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMzAwcTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtOTQgOTRsLTI0OSAtMjQ5cS04IC03IC0xOCAtN3QtMTggN2wtMTA2IDEwNnEtNyA4IC03IDE4dDcgMThsMjQ5IDI0OWwtOTQgOTRxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjV6TTM1MCAwaC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djMwMHEwIDIxIDEwLjUgMjV0MjQuNSAtMTBsOTQgLTk0bDI0OSAyNDkgcTggNyAxOCA3dDE4IC03bDEwNiAtMTA2cTcgLTggNyAtMTh0LTcgLTE4bC0yNDkgLTI0OWw5NCAtOTRxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDk3OyIgZD0iTTEwMTQgMTEyMGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMjQ5IC0yNDlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMjQ5IDI0OXE4IDcgMTggN3QxOCAtN3pNMjUwIDYwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMjQ5IC0yNDlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwyNDkgMjQ5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTAxOyIgZD0iTTYwMCAxMTc3cTExNyAwIDIyNCAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI0dC00NS41IC0yMjR0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNCAtNDUuNXQtMjI0IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNHQ0NS41IDIyNHQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNCA0NS41ek03MDQgOTAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNSB0MzcuNSAtMTQuNWg1NHEyMCAwIDM3LjUgMTQuNXQyMS41IDM0LjVsNTggMzAycTQgMjAgLTggMzQuNXQtMzIgMTQuNXpNNjc1IDQwMGgtMTUwcS0xMCAwIC0xNy41IC03LjV0LTcuNSAtMTcuNXYtMTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2MTUwcTAgMTAgLTcuNSAxNy41dC0xNy41IDcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTAyOyIgZD0iTTI2MCAxMjAwcTkgMCAxOSAtMnQxNSAtNGw1IC0ycTIyIC0xMCA0NCAtMjNsMTk2IC0xMThxMjEgLTEzIDM2IC0yNHEyOSAtMjEgMzcgLTEycTExIDEzIDQ5IDM1bDE5NiAxMThxMjIgMTMgNDUgMjNxMTcgNyAzOCA3cTIzIDAgNDcgLTE2LjV0MzcgLTMzLjVsMTMgLTE2cTE0IC0yMSAxOCAtNDVsMjUgLTEyM2w4IC00NHExIC05IDguNSAtMTQuNXQxNy41IC01LjVoNjFxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di01MCBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC01MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE3NWgtNDAwdjMwMGgtMjAwdi0zMDBoLTQwMHYxNzVxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC01MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNjFxMTEgMCAxOCAzdDcgOHEwIDQgOSA1MmwyNSAxMjhxNSAyNSAxOSA0NXEyIDMgNSA3dDEzLjUgMTV0MjEuNSAxOS41dDI2LjUgMTUuNSB0MjkuNSA3ek05MTUgMTA3OWwtMTY2IC0xNjJxLTcgLTcgLTUgLTEydDEyIC01aDIxOXExMCAwIDE1IDd0MiAxN2wtNTEgMTQ5cS0zIDEwIC0xMSAxMnQtMTUgLTZ6TTQ2MyA5MTdsLTE3NyAxNTdxLTggNyAtMTYgNXQtMTEgLTEybC01MSAtMTQzcS0zIC0xMCAyIC0xN3QxNSAtN2gyMzFxMTEgMCAxMi41IDV0LTUuNSAxMnpNNTAwIDBoLTM3NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djM3NWg0MDB2LTQwMHpNMTEwMCA0MDB2LTM3NSBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0zNzV2NDAwaDQwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTAzOyIgZD0iTTExNjUgMTE5MHE4IDMgMjEgLTYuNXQxMyAtMTcuNXEtMiAtMTc4IC0yNC41IC0zMjMuNXQtNTUuNSAtMjQ1LjV0LTg3IC0xNzQuNXQtMTAyLjUgLTExOC41dC0xMTggLTY4LjV0LTExOC41IC0zM3QtMTIwIC00LjV0LTEwNSA5LjV0LTkwIDE2LjVxLTYxIDEyIC03OCAxMXEtNCAxIC0xMi41IDB0LTM0IC0xNC41dC01Mi41IC00MC41bC0xNTMgLTE1M3EtMjYgLTI0IC0zNyAtMTQuNXQtMTEgNDMuNXEwIDY0IDQyIDEwMnE4IDggNTAuNSA0NSB0NjYuNSA1OHExOSAxNyAzNSA0N3QxMyA2MXEtOSA1NSAtMTAgMTAyLjV0NyAxMTF0MzcgMTMwdDc4IDEyOS41cTM5IDUxIDgwIDg4dDg5LjUgNjMuNXQ5NC41IDQ1dDExMy41IDM2dDEyOSAzMXQxNTcuNSAzN3QxODIgNDcuNXpNMTExNiAxMDk4cS04IDkgLTIyLjUgLTN0LTQ1LjUgLTUwcS0zOCAtNDcgLTExOSAtMTAzLjV0LTE0MiAtODkuNWwtNjIgLTMzcS01NiAtMzAgLTEwMiAtNTd0LTEwNCAtNjh0LTEwMi41IC04MC41dC04NS41IC05MSB0LTY0IC0xMDQuNXEtMjQgLTU2IC0zMSAtODZ0MiAtMzJ0MzEuNSAxNy41dDU1LjUgNTkuNXEyNSAzMCA5NCA3NS41dDEyNS41IDc3LjV0MTQ3LjUgODFxNzAgMzcgMTE4LjUgNjl0MTAyIDc5LjV0OTkgMTExdDg2LjUgMTQ4LjVxMjIgNTAgMjQgNjB0LTYgMTl6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNDsiIGQ9Ik02NTMgMTIzMXEtMzkgLTY3IC01NC41IC0xMzF0LTEwLjUgLTExNC41dDI0LjUgLTk2LjV0NDcuNSAtODB0NjMuNSAtNjIuNXQ2OC41IC00Ni41dDY1IC0zMHEtNCA3IC0xNy41IDM1dC0xOC41IDM5LjV0LTE3IDM5LjV0LTE3IDQzdC0xMyA0MnQtOS41IDQ0LjV0LTIgNDJ0NCA0M3QxMy41IDM5dDIzIDM4LjVxOTYgLTQyIDE2NSAtMTA3LjV0MTA1IC0xMzh0NTIgLTE1NnQxMyAtMTU5dC0xOSAtMTQ5LjVxLTEzIC01NSAtNDQgLTEwNi41IHQtNjggLTg3dC03OC41IC02NC41dC03Mi41IC00NXQtNTMgLTIycS03MiAtMjIgLTEyNyAtMTFxLTMxIDYgLTEzIDE5cTYgMyAxNyA3cTEzIDUgMzIuNSAyMXQ0MSA0NHQzOC41IDYzLjV0MjEuNSA4MS41dC02LjUgOTQuNXQtNTAgMTA3dC0xMDQgMTE1LjVxMTAgLTEwNCAtMC41IC0xODl0LTM3IC0xNDAuNXQtNjUgLTkzdC04NCAtNTJ0LTkzLjUgLTExdC05NSAyNC41cS04MCAzNiAtMTMxLjUgMTE0dC01My41IDE3MXEtMiAyMyAwIDQ5LjUgdDQuNSA1Mi41dDEzLjUgNTZ0MjcuNSA2MHQ0NiA2NC41dDY5LjUgNjguNXEtOCAtNTMgLTUgLTEwMi41dDE3LjUgLTkwdDM0IC02OC41dDQ0LjUgLTM5dDQ5IC0ycTMxIDEzIDM4LjUgMzZ0LTQuNSA1NXQtMjkgNjQuNXQtMzYgNzV0LTI2IDc1LjVxLTE1IDg1IDIgMTYxLjV0NTMuNSAxMjguNXQ4NS41IDkyLjV0OTMuNSA2MXQ4MS41IDI1LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNTsiIGQ9Ik02MDAgMTA5NHE4MiAwIDE2MC41IC0yMi41dDE0MCAtNTl0MTE2LjUgLTgyLjV0OTQuNSAtOTV0NjggLTk1dDQyLjUgLTgyLjV0MTQgLTU3LjV0LTE0IC01Ny41dC00MyAtODIuNXQtNjguNSAtOTV0LTk0LjUgLTk1dC0xMTYuNSAtODIuNXQtMTQwIC01OXQtMTU5LjUgLTIyLjV0LTE1OS41IDIyLjV0LTE0MCA1OXQtMTE2LjUgODIuNXQtOTQuNSA5NXQtNjguNSA5NXQtNDMgODIuNXQtMTQgNTcuNXQxNCA1Ny41dDQyLjUgODIuNXQ2OCA5NSB0OTQuNSA5NXQxMTYuNSA4Mi41dDE0MCA1OXQxNjAuNSAyMi41ek04ODggODI5cS0xNSAxNSAtMTggMTJ0NSAtMjJxMjUgLTU3IDI1IC0xMTlxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4dC0yMTIgODh0LTg4IDIxMnEwIDU5IDIzIDExNHE4IDE5IDQuNSAyMnQtMTcuNSAtMTJxLTcwIC02OSAtMTYwIC0xODRxLTEzIC0xNiAtMTUgLTQwLjV0OSAtNDIuNXEyMiAtMzYgNDcgLTcxdDcwIC04MnQ5Mi41IC04MXQxMTMgLTU4LjV0MTMzLjUgLTI0LjUgdDEzMy41IDI0dDExMyA1OC41dDkyLjUgODEuNXQ3MCA4MS41dDQ3IDcwLjVxMTEgMTggOSA0Mi41dC0xNCA0MS41cS05MCAxMTcgLTE2MyAxODl6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wzNSAzNHExNCAxNSAxMi41IDMzLjV0LTE2LjUgMzMuNXEtNDQgNDQgLTg5IDExN3EtMTEgMTggLTI4IDIwdC0zMiAtMTJ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwNjsiIGQ9Ik01OTIgMGgtMTQ4bDMxIDEyMHEtOTEgMjAgLTE3NS41IDY4LjV0LTE0My41IDEwNi41dC0xMDMuNSAxMTl0LTY2LjUgMTEwdC0yMiA3NnEwIDIxIDE0IDU3LjV0NDIuNSA4Mi41dDY4IDk1dDk0LjUgOTV0MTE2LjUgODIuNXQxNDAgNTl0MTYwLjUgMjIuNXE2MSAwIDEyNiAtMTVsMzIgMTIxaDE0OHpNOTQ0IDc3MGw0NyAxODFxMTA4IC04NSAxNzYuNSAtMTkydDY4LjUgLTE1OXEwIC0yNiAtMTkuNSAtNzF0LTU5LjUgLTEwMnQtOTMgLTExMiB0LTEyOSAtMTA0LjV0LTE1OCAtNzUuNWw0NiAxNzNxNzcgNDkgMTM2IDExN3Q5NyAxMzFxMTEgMTggOSA0Mi41dC0xNCA0MS41cS01NCA3MCAtMTA3IDEzMHpNMzEwIDgyNHEtNzAgLTY5IC0xNjAgLTE4NHEtMTMgLTE2IC0xNSAtNDAuNXQ5IC00Mi41cTE4IC0zMCAzOSAtNjB0NTcgLTcwLjV0NzQgLTczdDkwIC02MXQxMDUgLTQxLjVsNDEgMTU0cS0xMDcgMTggLTE3OC41IDEwMS41dC03MS41IDE5My41cTAgNTkgMjMgMTE0cTggMTkgNC41IDIyIHQtMTcuNSAtMTJ6TTQ0OCA3MjdsLTM1IC0zNnEtMTUgLTE1IC0xOS41IC0zOC41dDQuNSAtNDEuNXEzNyAtNjggOTMgLTExNnExNiAtMTMgMzguNSAtMTF0MzYuNSAxN2wxMiAxMWwyMiA4NmwtMyA0cS00NCA0NCAtODkgMTE3cS0xMSAxOCAtMjggMjB0LTMyIC0xMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTA3OyIgZD0iTS05MCAxMDBsNjQyIDEwNjZxMjAgMzEgNDggMjguNXQ0OCAtMzUuNWw2NDIgLTEwNTZxMjEgLTMyIDcuNSAtNjcuNXQtNTAuNSAtMzUuNWgtMTI5NHEtMzcgMCAtNTAuNSAzNHQ3LjUgNjZ6TTE1NSAyMDBoMzQ1djc1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtNzVoMzQ1bC00NDUgNzIzek00OTYgNzAwaDIwOHEyMCAwIDMyIC0xNC41dDggLTM0LjVsLTU4IC0yNTIgcS00IC0yMCAtMjEuNSAtMzQuNXQtMzcuNSAtMTQuNWgtNTRxLTIwIDAgLTM3LjUgMTQuNXQtMjEuNSAzNC41bC01OCAyNTJxLTQgMjAgOCAzNC41dDMyIDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwODsiIGQ9Ik02NTAgMTIwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnYtMzM5bDM2MyAtMzI1cTE1IC0xNCAyNiAtMzguNXQxMSAtNDQuNXYtNDFxMCAtMjAgLTEyIC0yNi41dC0yOSA1LjVsLTM1OSAyNDl2LTI2M3ExMDAgLTkzIDEwMCAtMTEzdi02NHEwIC0yMSAtMTMgLTI5dC0zMiAxbC0yMDUgMTI4bC0yMDUgLTEyOHEtMTkgLTkgLTMyIC0xdC0xMyAyOXY2NHEwIDIwIDEwMCAxMTN2MjYzbC0zNTkgLTI0OXEtMTcgLTEyIC0yOSAtNS41dC0xMiAyNi41djQxIHEwIDIwIDExIDQ0LjV0MjYgMzguNWwzNjMgMzI1djMzOXEwIDYyIDQ0IDEwNnQxMDYgNDR6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEwOTsiIGQ9Ik04NTAgMTIwMGgxMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTExMDB2MTUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMTAwIDgwMHYtNzUwcTAgLTIxIC0xNC41IC0zNS41IHQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NzUwaDExMDB6TTEwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTcwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTkwMCA2MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTEwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTMwMCA0MDB2LTEwMGgxMDB2MTAwaC0xMDB6TTUwMCA0MDAgdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgNDAwdi0xMDBoMTAwdjEwMGgtMTAwek0xMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek0zMDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek01MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek03MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAwek05MDAgMjAwdi0xMDBoMTAwdjEwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTA7IiBkPSJNMTEzNSAxMTY1bDI0OSAtMjMwcTE1IC0xNCAxNSAtMzV0LTE1IC0zNWwtMjQ5IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC0xNTlsLTYwMCAtNjAwaC0yOTFxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjA5bDYwMCA2MDBoMjQxdjE1MHEwIDIxIDEwLjUgMjV0MjQuNSAtMTB6TTUyMiA4MTlsLTE0MSAtMTQxbC0xMjIgMTIyaC0yMDlxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI5MXpNMTEzNSA1NjVsMjQ5IC0yMzBxMTUgLTE0IDE1IC0zNXQtMTUgLTM1bC0yNDkgLTIzMHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYxNTBoLTI0MWwtMTgxIDE4MWwxNDEgMTQxbDEyMiAtMTIyaDE1OXYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTE7IiBkPSJNMTAwIDExMDBoMTAwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC01OTZsLTMwNCAtMzAwdjMwMGgtMTAwcS00MSAwIC03MC41IDI5LjV0LTI5LjUgNzAuNXY2MDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTI7IiBkPSJNMTUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTMwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgyMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMzAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTExMDAgODAwdi0zMDBxMCAtNDEgLTMgLTc3LjV0LTE1IC04OS41dC0zMiAtOTZ0LTU4IC04OXQtODkgLTc3dC0xMjkgLTUxdC0xNzQgLTIwdC0xNzQgMjAgdC0xMjkgNTF0LTg5IDc3dC01OCA4OXQtMzIgOTZ0LTE1IDg5LjV0LTMgNzcuNXYzMDBoMzAwdi0yNTB2LTI3di00Mi41dDEuNSAtNDF0NSAtMzh0MTAgLTM1dDE2LjUgLTMwdDI1LjUgLTI0LjV0MzUgLTE5dDQ2LjUgLTEydDYwIC00dDYwIDQuNXQ0Ni41IDEyLjV0MzUgMTkuNXQyNSAyNS41dDE3IDMwLjV0MTAgMzV0NSAzOHQyIDQwLjV0LTAuNSA0MnYyNXYyNTBoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTM7IiBkPSJNMTEwMCA0MTFsLTE5OCAtMTk5bC0zNTMgMzUzbC0zNTMgLTM1M2wtMTk3IDE5OWw1NTEgNTUxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTQ7IiBkPSJNMTEwMSA3ODlsLTU1MCAtNTUxbC01NTEgNTUxbDE5OCAxOTlsMzUzIC0zNTNsMzUzIDM1M3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTE1OyIgZD0iTTQwNCAxMDAwaDc0NnEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTUxaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtMjMwIC0yNDlxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI0OXEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNWgxNTB2NDAxaC0zODF6TTEzNSA5ODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi00MDBoMzg1bDIxNSAtMjAwaC03NTBxLTIxIDAgLTM1LjUgMTQuNSB0LTE0LjUgMzUuNXY1NTBoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTY7IiBkPSJNNTYgMTIwMGg5NHExNyAwIDMxIC0xMXQxOCAtMjdsMzggLTE2Mmg4OTZxMjQgMCAzOSAtMTguNXQxMCAtNDIuNWwtMTAwIC00NzVxLTUgLTIxIC0yNyAtNDIuNXQtNTUgLTIxLjVoLTYzM2w0OCAtMjAwaDUzNXEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41dC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MGgtMzAwdi01MCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaC0zMXEtMTggMCAtMzIuNSAxMHQtMjAuNSAxOWwtNSAxMGwtMjAxIDk2MWgtNTRxLTIwIDAgLTM1IDE0LjV0LTE1IDM1LjV0MTUgMzUuNXQzNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTc7IiBkPSJNMTIwMCAxMDAwdi0xMDBoLTEyMDB2MTAwaDIwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwcTQxIDAgNzAuNSAtMjkuNXQyOS41IC03MC41aDUwMHpNMCA4MDBoMTIwMHYtODAwaC0xMjAwdjgwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTE4OyIgZD0iTTIwMCA4MDBsLTIwMCAtNDAwdjYwMGgyMDBxMCA0MSAyOS41IDcwLjV0NzAuNSAyOS41aDMwMHE0MiAwIDcxIC0yOS41dDI5IC03MC41aDUwMHYtMjAwaC0xMDAwek0xNTAwIDcwMGwtMzAwIC03MDBoLTEyMDBsMzAwIDcwMGgxMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMTk7IiBkPSJNNjM1IDExODRsMjMwIC0yNDlxMTQgLTE0IDEwIC0yNC41dC0yNSAtMTAuNWgtMTUwdi02MDFoMTUwcTIxIDAgMjUgLTEwLjV0LTEwIC0yNC41bC0yMzAgLTI0OXEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjQ5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41aDE1MHY2MDFoLTE1MHEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIzMCAyNDlxMTQgMTUgMzUgMTV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjA7IiBkPSJNOTM2IDg2NGwyNDkgLTIyOXExNCAtMTUgMTQgLTM1LjV0LTE0IC0zNS41bC0yNDkgLTIyOXEtMTUgLTE1IC0yNS41IC0xMC41dC0xMC41IDI0LjV2MTUxaC02MDB2LTE1MXEwIC0yMCAtMTAuNSAtMjQuNXQtMjUuNSAxMC41bC0yNDkgMjI5cS0xNCAxNSAtMTQgMzUuNXQxNCAzNS41bDI0OSAyMjlxMTUgMTUgMjUuNSAxMC41dDEwLjUgLTI1LjV2LTE0OWg2MDB2MTQ5cTAgMjEgMTAuNSAyNS41dDI1LjUgLTEwLjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMTsiIGQ9Ik0xMTY5IDQwMGwtMTcyIDczMnEtNSAyMyAtMjMgNDUuNXQtMzggMjIuNWgtNjcycS0yMCAwIC0zOCAtMjB0LTIzIC00MWwtMTcyIC03MzloMTEzOHpNMTEwMCAzMDBoLTEwMDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTEwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoMTAwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek04MDAgMTAwdjEwMGgxMDB2LTEwMGgtMTAwIHpNMTAwMCAxMDB2MTAwaDEwMHYtMTAwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyMjsiIGQ9Ik0xMTUwIDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTg1MHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUuNSAxNC41dC0xNC41IDM1LjV2ODUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNMTAwMCAyMDBsLTY3NSAyMDBoLTM4bDQ3IC0yNzZxMyAtMTYgLTUuNSAtMjB0LTI5LjUgLTRoLTdoLTg0cS0yMCAwIC0zNC41IDE0dC0xOC41IDM1cS01NSAzMzcgLTU1IDM1MXYyNTB2NnEwIDE2IDEgMjMuNXQ2LjUgMTQgdDE3LjUgNi41aDIwMGw2NzUgMjUwdi04NTB6TTAgNzUwdi0yNTBxLTQgMCAtMTEgMC41dC0yNCA2dC0zMCAxNXQtMjQgMzB0LTExIDQ4LjV2NTBxMCAyNiAxMC41IDQ2dDI1IDMwdDI5IDE2dDI1LjUgN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTIzOyIgZD0iTTU1MyAxMjAwaDk0cTIwIDAgMjkgLTEwLjV0MyAtMjkuNWwtMTggLTM3cTgzIC0xOSAxNDQgLTgyLjV0NzYgLTE0MC41bDYzIC0zMjdsMTE4IC0xNzNoMTdxMTkgMCAzMyAtMTQuNXQxNCAtMzV0LTEzIC00MC41dC0zMSAtMjdxLTggLTQgLTIzIC05LjV0LTY1IC0xOS41dC0xMDMgLTI1dC0xMzIuNSAtMjB0LTE1OC41IC05cS01NyAwIC0xMTUgNXQtMTA0IDEydC04OC41IDE1LjV0LTczLjUgMTcuNXQtNTQuNSAxNnQtMzUuNSAxMmwtMTEgNCBxLTE4IDggLTMxIDI4dC0xMyA0MC41dDE0IDM1dDMzIDE0LjVoMTdsMTE4IDE3M2w2MyAzMjdxMTUgNzcgNzYgMTQwdDE0NCA4M2wtMTggMzJxLTYgMTkgMy41IDMydDI4LjUgMTN6TTQ5OCAxMTBxNTAgLTYgMTAyIC02cTUzIDAgMTAyIDZxLTEyIC00OSAtMzkuNSAtNzkuNXQtNjIuNSAtMzAuNXQtNjMgMzAuNXQtMzkgNzkuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTI0OyIgZD0iTTgwMCA5NDZsMjI0IDc4bC03OCAtMjI0bDIzNCAtNDVsLTE4MCAtMTU1bDE4MCAtMTU1bC0yMzQgLTQ1bDc4IC0yMjRsLTIyNCA3OGwtNDUgLTIzNGwtMTU1IDE4MGwtMTU1IC0xODBsLTQ1IDIzNGwtMjI0IC03OGw3OCAyMjRsLTIzNCA0NWwxODAgMTU1bC0xODAgMTU1bDIzNCA0NWwtNzggMjI0bDIyNCAtNzhsNDUgMjM0bDE1NSAtMTgwbDE1NSAxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyNTsiIGQ9Ik02NTAgMTIwMGg1MHE0MCAwIDcwIC00MC41dDMwIC04NC41di0xNTBsLTI4IC0xMjVoMzI4cTQwIDAgNzAgLTQwLjV0MzAgLTg0LjV2LTEwMHEwIC00NSAtMjkgLTc0bC0yMzggLTM0NHEtMTYgLTI0IC0zOCAtNDAuNXQtNDUgLTE2LjVoLTI1MHEtNyAwIC00MiAyNXQtNjYgNTBsLTMxIDI1aC02MXEtNDUgMCAtNzIuNSAxOHQtMjcuNSA1N3Y0MDBxMCAzNiAyMCA2M2wxNDUgMTk2bDk2IDE5OHExMyAyOCAzNy41IDQ4dDUxLjUgMjB6IE02NTAgMTEwMGwtMTAwIC0yMTJsLTE1MCAtMjEzdi0zNzVoMTAwbDEzNiAtMTAwaDIxNGwyNTAgMzc1djEyNWgtNDUwbDUwIDIyNXYxNzVoLTUwek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTI2OyIgZD0iTTYwMCAxMTAwaDI1MHEyMyAwIDQ1IC0xNi41dDM4IC00MC41bDIzOCAtMzQ0cTI5IC0yOSAyOSAtNzR2LTEwMHEwIC00NCAtMzAgLTg0LjV0LTcwIC00MC41aC0zMjhxMjggLTExOCAyOCAtMTI1di0xNTBxMCAtNDQgLTMwIC04NC41dC03MCAtNDAuNWgtNTBxLTI3IDAgLTUxLjUgMjB0LTM3LjUgNDhsLTk2IDE5OGwtMTQ1IDE5NnEtMjAgMjcgLTIwIDYzdjQwMHEwIDM5IDI3LjUgNTd0NzIuNSAxOGg2MXExMjQgMTAwIDEzOSAxMDB6IE01MCAxMDAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTYzNiAxMDAwbC0xMzYgLTEwMGgtMTAwdi0zNzVsMTUwIC0yMTNsMTAwIC0yMTJoNTB2MTc1bC01MCAyMjVoNDUwdjEyNWwtMjUwIDM3NWgtMjE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMjc7IiBkPSJNMzU2IDg3M2wzNjMgMjMwcTMxIDE2IDUzIC02bDExMCAtMTEycTEzIC0xMyAxMy41IC0zMnQtMTEuNSAtMzRsLTg0IC0xMjFoMzAycTg0IDAgMTM4IC0zOHQ1NCAtMTEwdC01NSAtMTExdC0xMzkgLTM5aC0xMDZsLTEzMSAtMzM5cS02IC0yMSAtMTkuNSAtNDF0LTI4LjUgLTIwaC0zNDJxLTcgMCAtOTAgODF0LTgzIDk0djUyNXEwIDE3IDE0IDM1LjV0MjggMjguNXpNNDAwIDc5MnYtNTAzbDEwMCAtODloMjkzbDEzMSAzMzkgcTYgMjEgMTkuNSA0MXQyOC41IDIwaDIwM3EyMSAwIDMwLjUgMjV0MC41IDUwdC0zMSAyNWgtNDU2aC03aC02aC01LjV0LTYgMC41dC01IDEuNXQtNSAydC00IDIuNXQtNCA0dC0yLjUgNC41cS0xMiAyNSA1IDQ3bDE0NiAxODNsLTg2IDgzek01MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NTAwIHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyODsiIGQ9Ik00NzUgMTEwM2wzNjYgLTIzMHEyIC0xIDYgLTMuNXQxNCAtMTAuNXQxOCAtMTYuNXQxNC41IC0yMHQ2LjUgLTIyLjV2LTUyNXEwIC0xMyAtODYgLTk0dC05MyAtODFoLTM0MnEtMTUgMCAtMjguNSAyMHQtMTkuNSA0MWwtMTMxIDMzOWgtMTA2cS04NSAwIC0xMzkuNSAzOXQtNTQuNSAxMTF0NTQgMTEwdDEzOCAzOGgzMDJsLTg1IDEyMXEtMTEgMTUgLTEwLjUgMzR0MTMuNSAzMmwxMTAgMTEycTIyIDIyIDUzIDZ6TTM3MCA5NDVsMTQ2IC0xODMgcTE3IC0yMiA1IC00N3EtMiAtMiAtMy41IC00LjV0LTQgLTR0LTQgLTIuNXQtNSAtMnQtNSAtMS41dC02IC0wLjVoLTZoLTYuNWgtNmgtNDc1di0xMDBoMjIxcTE1IDAgMjkgLTIwdDIwIC00MWwxMzAgLTMzOWgyOTRsMTA2IDg5djUwM2wtMzQyIDIzNnpNMTA1MCA4MDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjUgdjUwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEyOTsiIGQ9Ik01NTAgMTI5NHE3MiAwIDExMSAtNTV0MzkgLTEzOXYtMTA2bDMzOSAtMTMxcTIxIC02IDQxIC0xOS41dDIwIC0yOC41di0zNDJxMCAtNyAtODEgLTkwdC05NCAtODNoLTUyNXEtMTcgMCAtMzUuNSAxNHQtMjguNSAyOGwtOSAxNGwtMjMwIDM2M3EtMTYgMzEgNiA1M2wxMTIgMTEwcTEzIDEzIDMyIDEzLjV0MzQgLTExLjVsMTIxIC04NHYzMDJxMCA4NCAzOCAxMzh0MTEwIDU0ek02MDAgOTcydjIwM3EwIDIxIC0yNSAzMC41dC01MCAwLjUgdC0yNSAtMzF2LTQ1NnYtN3YtNnYtNS41dC0wLjUgLTZ0LTEuNSAtNXQtMiAtNXQtMi41IC00dC00IC00dC00LjUgLTIuNXEtMjUgLTEyIC00NyA1bC0xODMgMTQ2bC04MyAtODZsMjM2IC0zMzloNTAzbDg5IDEwMHYyOTNsLTMzOSAxMzFxLTIxIDYgLTQxIDE5LjV0LTIwIDI4LjV6TTQ1MCAyMDBoNTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTUwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMDsiIGQ9Ik0zNTAgMTEwMGg1MDBxMjEgMCAzNS41IDE0LjV0MTQuNSAzNS41djEwMHEwIDIxIC0xNC41IDM1LjV0LTM1LjUgMTQuNWgtNTAwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xMDBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41ek02MDAgMzA2di0xMDZxMCAtODQgLTM5IC0xMzl0LTExMSAtNTV0LTExMCA1NHQtMzggMTM4djMwMmwtMTIxIC04NHEtMTUgLTEyIC0zNCAtMTEuNXQtMzIgMTMuNWwtMTEyIDExMCBxLTIyIDIyIC02IDUzbDIzMCAzNjNxMSAyIDMuNSA2dDEwLjUgMTMuNXQxNi41IDE3dDIwIDEzLjV0MjIuNSA2aDUyNXExMyAwIDk0IC04M3Q4MSAtOTB2LTM0MnEwIC0xNSAtMjAgLTI4LjV0LTQxIC0xOS41ek0zMDggOTAwbC0yMzYgLTMzOWw4MyAtODZsMTgzIDE0NnEyMiAxNyA0NyA1cTIgLTEgNC41IC0yLjV0NCAtNHQyLjUgLTR0MiAtNXQxLjUgLTV0MC41IC02di01LjV2LTZ2LTd2LTQ1NnEwIC0yMiAyNSAtMzF0NTAgMC41dDI1IDMwLjUgdjIwM3EwIDE1IDIwIDI4LjV0NDEgMTkuNWwzMzkgMTMxdjI5M2wtODkgMTAwaC01MDN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMTsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNOTE0IDYzMmwtMjc1IDIyM3EtMTYgMTMgLTI3LjUgOHQtMTEuNSAtMjZ2LTEzN2gtMjc1IHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTE1MHEwIC0xMCA3LjUgLTE3LjV0MTcuNSAtNy41aDI3NXYtMTM3cTAgLTIxIDExLjUgLTI2dDI3LjUgOGwyNzUgMjIzcTE2IDEzIDE2IDMydC0xNiAzMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTMyOyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek01NjEgODU1bC0yNzUgLTIyM3EtMTYgLTEzIC0xNiAtMzJ0MTYgLTMybDI3NSAtMjIzcTE2IC0xMyAyNy41IC04IHQxMS41IDI2djEzN2gyNzVxMTAgMCAxNy41IDcuNXQ3LjUgMTcuNXYxNTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41aC0yNzV2MTM3cTAgMjEgLTExLjUgMjZ0LTI3LjUgLTh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzMzsiIGQ9Ik02MDAgMTE3OHExMTggMCAyMjUgLTQ1LjV0MTg0LjUgLTEyM3QxMjMgLTE4NC41dDQ1LjUgLTIyNXQtNDUuNSAtMjI1dC0xMjMgLTE4NC41dC0xODQuNSAtMTIzdC0yMjUgLTQ1LjV0LTIyNSA0NS41dC0xODQuNSAxMjN0LTEyMyAxODQuNXQtNDUuNSAyMjV0NDUuNSAyMjV0MTIzIDE4NC41dDE4NC41IDEyM3QyMjUgNDUuNXpNODU1IDYzOWwtMjIzIDI3NXEtMTMgMTYgLTMyIDE2dC0zMiAtMTZsLTIyMyAtMjc1cS0xMyAtMTYgLTggLTI3LjUgdDI2IC0xMS41aDEzN3YtMjc1cTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMTUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2Mjc1aDEzN3EyMSAwIDI2IDExLjV0LTggMjcuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTM0OyIgZD0iTTYwMCAxMTc4cTExOCAwIDIyNSAtNDUuNXQxODQuNSAtMTIzdDEyMyAtMTg0LjV0NDUuNSAtMjI1dC00NS41IC0yMjV0LTEyMyAtMTg0LjV0LTE4NC41IC0xMjN0LTIyNSAtNDUuNXQtMjI1IDQ1LjV0LTE4NC41IDEyM3QtMTIzIDE4NC41dC00NS41IDIyNXQ0NS41IDIyNXQxMjMgMTg0LjV0MTg0LjUgMTIzdDIyNSA0NS41ek02NzUgOTAwaC0xNTBxLTEwIDAgLTE3LjUgLTcuNXQtNy41IC0xNy41di0yNzVoLTEzN3EtMjEgMCAtMjYgLTExLjUgdDggLTI3LjVsMjIzIC0yNzVxMTMgLTE2IDMyIC0xNnQzMiAxNmwyMjMgMjc1cTEzIDE2IDggMjcuNXQtMjYgMTEuNWgtMTM3djI3NXEwIDEwIC03LjUgMTcuNXQtMTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTEzNTsiIGQ9Ik02MDAgMTE3NnExMTYgMCAyMjIuNSAtNDZ0MTg0IC0xMjMuNXQxMjMuNSAtMTg0dDQ2IC0yMjIuNXQtNDYgLTIyMi41dC0xMjMuNSAtMTg0dC0xODQgLTEyMy41dC0yMjIuNSAtNDZ0LTIyMi41IDQ2dC0xODQgMTIzLjV0LTEyMy41IDE4NHQtNDYgMjIyLjV0NDYgMjIyLjV0MTIzLjUgMTg0dDE4NCAxMjMuNXQyMjIuNSA0NnpNNjI3IDExMDFxLTE1IC0xMiAtMzYuNSAtMjAuNXQtMzUuNSAtMTJ0LTQzIC04dC0zOSAtNi41IHEtMTUgLTMgLTQ1LjUgMHQtNDUuNSAtMnEtMjAgLTcgLTUxLjUgLTI2LjV0LTM0LjUgLTM0LjVxLTMgLTExIDYuNSAtMjIuNXQ4LjUgLTE4LjVxLTMgLTM0IC0yNy41IC05MXQtMjkuNSAtNzlxLTkgLTM0IDUgLTkzdDggLTg3cTAgLTkgMTcgLTQ0LjV0MTYgLTU5LjVxMTIgMCAyMyAtNXQyMy41IC0xNXQxOS41IC0xNHExNiAtOCAzMyAtMTV0NDAuNSAtMTV0MzQuNSAtMTJxMjEgLTkgNTIuNSAtMzJ0NjAgLTM4dDU3LjUgLTExIHE3IC0xNSAtMyAtMzR0LTIyLjUgLTQwdC05LjUgLTM4cTEzIC0yMSAyMyAtMzQuNXQyNy41IC0yNy41dDM2LjUgLTE4cTAgLTcgLTMuNSAtMTZ0LTMuNSAtMTR0NSAtMTdxMTA0IC0yIDIyMSAxMTJxMzAgMjkgNDYuNSA0N3QzNC41IDQ5dDIxIDYzcS0xMyA4IC0zNyA4LjV0LTM2IDcuNXEtMTUgNyAtNDkuNSAxNXQtNTEuNSAxOXEtMTggMCAtNDEgLTAuNXQtNDMgLTEuNXQtNDIgLTYuNXQtMzggLTE2LjVxLTUxIC0zNSAtNjYgLTEyIHEtNCAxIC0zLjUgMjUuNXQwLjUgMjUuNXEtNiAxMyAtMjYuNSAxNy41dC0yNC41IDYuNXExIDE1IC0wLjUgMzAuNXQtNyAyOHQtMTguNSAxMS41dC0zMSAtMjFxLTIzIC0yNSAtNDIgNHEtMTkgMjggLTggNThxNiAxNiAyMiAyMnE2IC0xIDI2IC0xLjV0MzMuNSAtNHQxOS41IC0xMy41cTcgLTEyIDE4IC0yNHQyMS41IC0yMC41dDIwIC0xNXQxNS41IC0xMC41bDUgLTNxMiAxMiA3LjUgMzAuNXQ4IDM0LjV0LTAuNSAzMnEtMyAxOCAzLjUgMjkgdDE4IDIyLjV0MTUuNSAyNC41cTYgMTQgMTAuNSAzNXQ4IDMxdDE1LjUgMjIuNXQzNCAyMi41cS02IDE4IDEwIDM2cTggMCAyNCAtMS41dDI0LjUgLTEuNXQyMCA0LjV0MjAuNSAxNS41cS0xMCAyMyAtMzEgNDIuNXQtMzcuNSAyOS41dC00OSAyN3QtNDMuNSAyM3EwIDEgMiA4dDMgMTEuNXQxLjUgMTAuNXQtMSA5LjV0LTQuNSA0LjVxMzEgLTEzIDU4LjUgLTE0LjV0MzguNSAyLjVsMTIgNXE1IDI4IC05LjUgNDZ0LTM2LjUgMjR0LTUwIDE1IHQtNDEgMjBxLTE4IC00IC0zNyAwek02MTMgOTk0cTAgLTE3IDggLTQydDE3IC00NXQ5IC0yM3EtOCAxIC0zOS41IDUuNXQtNTIuNSAxMHQtMzcgMTYuNXEzIDExIDE2IDI5LjV0MTYgMjUuNXExMCAtMTAgMTkgLTEwdDE0IDZ0MTMuNSAxNC41dDE2LjUgMTIuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTM2OyIgZD0iTTc1NiAxMTU3cTE2NCA5MiAzMDYgLTlsLTI1OSAtMTM4bDE0NSAtMjMybDI1MSAxMjZxNiAtODkgLTM0IC0xNTYuNXQtMTE3IC0xMTAuNXEtNjAgLTM0IC0xMjcgLTM5LjV0LTEyNiAxNi41bC01OTYgLTU5NnEtMTUgLTE2IC0zNi41IC0xNnQtMzYuNSAxNmwtMTExIDExMHEtMTUgMTUgLTE1IDM2LjV0MTUgMzcuNWw2MDAgNTk5cS0zNCAxMDEgNS41IDIwMS41dDEzNS41IDE1NC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzc7IiBob3Jpei1hZHYteD0iMTIyMCIgZD0iTTEwMCAxMTk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAxMDk2aC0yMDB2LTEwMGgyMDB2MTAwek0xMDAgNzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMCBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTExMDAgNjk2aC01MDB2LTEwMGg1MDB2MTAwek0xMDAgMzk2aDEwMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTEwMHEwIC00MSAtMjkuNSAtNzAuNXQtNzAuNSAtMjkuNWgtMTAwMHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MTAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNMTEwMCAyOTZoLTMwMHYtMTAwaDMwMHYxMDB6ICIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxMzg7IiBkPSJNMTUwIDEyMDBoOTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41dC0xNC41IC0zNS41dC0zNS41IC0xNC41aC05MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA1MDB2LTMwMGwtMjAwIC0yMDB2NTAwbC0zNTAgNTAwaDkwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTM5OyIgZD0iTTUwMCAxMjAwaDIwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtMTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNDAwaC01MDB2MTAwaC0yMDB2LTEwMGgtNTAwdjQwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjVoMzAwdjEwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTUwMCAxMTAwdi0xMDBoMjAwdjEwMGgtMjAwek0xMjAwIDQwMHYtMjAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0xMDAwIHEtNDEgMCAtNzAuNSAyOS41dC0yOS41IDcwLjV2MjAwaDEyMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MDsiIGQ9Ik01MCAxMjAwaDMwMHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNWwtOTQgLTk0bDE5OSAtMTk5cTcgLTggNyAtMTh0LTcgLTE4bC0xMDYgLTEwNnEtOCAtNyAtMTggLTd0LTE4IDdsLTE5OSAxOTlsLTk0IC05NHEtMTQgLTE0IC0yNC41IC0xMHQtMTAuNSAyNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek04NTAgMTIwMGgzMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTk0IDk0IGwtMTk5IC0xOTlxLTggLTcgLTE4IC03dC0xOCA3bC0xMDYgMTA2cS03IDggLTcgMTh0NyAxOGwxOTkgMTk5bC05NCA5NHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNMzY0IDQ3MGwxMDYgLTEwNnE3IC04IDcgLTE4dC03IC0xOGwtMTk5IC0xOTlsOTQgLTk0cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTMwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MzAwcTAgMjEgMTAuNSAyNXQyNC41IC0xMGw5NCAtOTRsMTk5IDE5OSBxOCA3IDE4IDd0MTggLTd6TTEwNzEgMjcxbDk0IDk0cTE0IDE0IDI0LjUgMTB0MTAuNSAtMjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0yNSAxMC41dDEwIDI0LjVsOTQgOTRsLTE5OSAxOTlxLTcgOCAtNyAxOHQ3IDE4bDEwNiAxMDZxOCA3IDE4IDd0MTggLTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0MTsiIGQ9Ik01OTYgMTE5MnExMjEgMCAyMzEuNSAtNDcuNXQxOTAgLTEyN3QxMjcgLTE5MHQ0Ny41IC0yMzEuNXQtNDcuNSAtMjMxLjV0LTEyNyAtMTkwLjV0LTE5MCAtMTI3dC0yMzEuNSAtNDd0LTIzMS41IDQ3dC0xOTAuNSAxMjd0LTEyNyAxOTAuNXQtNDcgMjMxLjV0NDcgMjMxLjV0MTI3IDE5MHQxOTAuNSAxMjd0MjMxLjUgNDcuNXpNNTk2IDEwMTBxLTExMiAwIC0yMDcuNSAtNTUuNXQtMTUxIC0xNTF0LTU1LjUgLTIwNy41dDU1LjUgLTIwNy41IHQxNTEgLTE1MXQyMDcuNSAtNTUuNXQyMDcuNSA1NS41dDE1MSAxNTF0NTUuNSAyMDcuNXQtNTUuNSAyMDcuNXQtMTUxIDE1MXQtMjA3LjUgNTUuNXpNNDU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOC41IC0xNi41dC0zOC41IDE2LjV0LTE2IDM5dDE2IDM4LjV0MzguNSAxNnpNNzU0LjUgOTA1cTIyLjUgMCAzOC41IC0xNnQxNiAtMzguNXQtMTYgLTM5dC0zOCAtMTYuNXEtMTQgMCAtMjkgMTBsLTU1IC0xNDUgcTE3IC0yMyAxNyAtNTFxMCAtMzYgLTI1LjUgLTYxLjV0LTYxLjUgLTI1LjV0LTYxLjUgMjUuNXQtMjUuNSA2MS41cTAgMzIgMjAuNSA1Ni41dDUxLjUgMjkuNWwxMjIgMTI2bDEgMXEtOSAxNCAtOSAyOHEwIDIzIDE2IDM5dDM4LjUgMTZ6TTM0NS41IDcwOXEyMi41IDAgMzguNSAtMTZ0MTYgLTM4LjV0LTE2IC0zOC41dC0zOC41IC0xNnQtMzguNSAxNnQtMTYgMzguNXQxNiAzOC41dDM4LjUgMTZ6TTg1NC41IDcwOXEyMi41IDAgMzguNSAtMTYgdDE2IC0zOC41dC0xNiAtMzguNXQtMzguNSAtMTZ0LTM4LjUgMTZ0LTE2IDM4LjV0MTYgMzguNXQzOC41IDE2eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDI7IiBkPSJNNTQ2IDE3M2w0NjkgNDcwcTkxIDkxIDk5IDE5MnE3IDk4IC01MiAxNzUuNXQtMTU0IDk0LjVxLTIyIDQgLTQ3IDRxLTM0IDAgLTY2LjUgLTEwdC01Ni41IC0yM3QtNTUuNSAtMzh0LTQ4IC00MS41dC00OC41IC00Ny41cS0zNzYgLTM3NSAtMzkxIC0zOTBxLTMwIC0yNyAtNDUgLTQxLjV0LTM3LjUgLTQxdC0zMiAtNDYuNXQtMTYgLTQ3LjV0LTEuNSAtNTYuNXE5IC02MiA1My41IC05NXQ5OS41IC0zM3E3NCAwIDEyNSA1MWw1NDggNTQ4IHEzNiAzNiAyMCA3NXEtNyAxNiAtMjEuNSAyNnQtMzIuNSAxMHEtMjYgMCAtNTAgLTIzcS0xMyAtMTIgLTM5IC0zOGwtMzQxIC0zMzhxLTE1IC0xNSAtMzUuNSAtMTUuNXQtMzQuNSAxMy41dC0xNCAzNC41dDE0IDM0LjVxMzI3IDMzMyAzNjEgMzY3cTM1IDM1IDY3LjUgNTEuNXQ3OC41IDE2LjVxMTQgMCAyOSAtMXE0NCAtOCA3NC41IC0zNS41dDQzLjUgLTY4LjVxMTQgLTQ3IDIgLTk2LjV0LTQ3IC04NC41cS0xMiAtMTEgLTMyIC0zMiB0LTc5LjUgLTgxdC0xMTQuNSAtMTE1dC0xMjQuNSAtMTIzLjV0LTEyMyAtMTE5LjV0LTk2LjUgLTg5dC01NyAtNDVxLTU2IC0yNyAtMTIwIC0yN3EtNzAgMCAtMTI5IDMydC05MyA4OXEtNDggNzggLTM1IDE3M3Q4MSAxNjNsNTExIDUxMXE3MSA3MiAxMTEgOTZxOTEgNTUgMTk4IDU1cTgwIDAgMTUyIC0zM3E3OCAtMzYgMTI5LjUgLTEwM3Q2Ni41IC0xNTRxMTcgLTkzIC0xMSAtMTgzLjV0LTk0IC0xNTYuNWwtNDgyIC00NzYgcS0xNSAtMTUgLTM2IC0xNnQtMzcgMTR0LTE3LjUgMzR0MTQuNSAzNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTQzOyIgZD0iTTY0OSA5NDlxNDggNjggMTA5LjUgMTA0dDEyMS41IDM4LjV0MTE4LjUgLTIwdDEwMi41IC02NHQ3MSAtMTAwLjV0MjcgLTEyM3EwIC01NyAtMzMuNSAtMTE3LjV0LTk0IC0xMjQuNXQtMTI2LjUgLTEyNy41dC0xNTAgLTE1Mi41dC0xNDYgLTE3NHEtNjIgODUgLTE0NS41IDE3NHQtMTUwIDE1Mi41dC0xMjYuNSAxMjcuNXQtOTMuNSAxMjQuNXQtMzMuNSAxMTcuNXEwIDY0IDI4IDEyM3Q3MyAxMDAuNXQxMDQgNjR0MTE5IDIwIHQxMjAuNSAtMzguNXQxMDQuNSAtMTA0ek04OTYgOTcycS0zMyAwIC02NC41IC0xOXQtNTYuNSAtNDZ0LTQ3LjUgLTUzLjV0LTQzLjUgLTQ1LjV0LTM3LjUgLTE5dC0zNiAxOXQtNDAgNDUuNXQtNDMgNTMuNXQtNTQgNDZ0LTY1LjUgMTlxLTY3IDAgLTEyMi41IC01NS41dC01NS41IC0xMzIuNXEwIC0yMyAxMy41IC01MXQ0NiAtNjV0NTcuNSAtNjN0NzYgLTc1bDIyIC0yMnExNSAtMTQgNDQgLTQ0dDUwLjUgLTUxdDQ2IC00NHQ0MSAtMzV0MjMgLTEyIHQyMy41IDEydDQyLjUgMzZ0NDYgNDR0NTIuNSA1MnQ0NCA0M3E0IDQgMTIgMTNxNDMgNDEgNjMuNSA2MnQ1MiA1NXQ0NiA1NXQyNiA0NnQxMS41IDQ0cTAgNzkgLTUzIDEzMy41dC0xMjAgNTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTQ0OyIgZD0iTTc3Ni41IDEyMTRxOTMuNSAwIDE1OS41IC02NmwxNDEgLTE0MXE2NiAtNjYgNjYgLTE2MHEwIC00MiAtMjggLTk1LjV0LTYyIC04Ny41bC0yOSAtMjlxLTMxIDUzIC03NyA5OWwtMTggMThsOTUgOTVsLTI0NyAyNDhsLTM4OSAtMzg5bDIxMiAtMjEybC0xMDUgLTEwNmwtMTkgMThsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTl0NjYgMTU5bDI4MyAyODNxNjUgNjYgMTU4LjUgNjZ6TTYwMCA3MDZsMTA1IDEwNXExMCAtOCAxOSAtMTdsMTQxIC0xNDEgcTY2IC02NiA2NiAtMTU5dC02NiAtMTU5bC0yODMgLTI4M3EtNjYgLTY2IC0xNTkgLTY2dC0xNTkgNjZsLTE0MSAxNDFxLTY2IDY2IC02NiAxNTkuNXQ2NiAxNTkuNWw1NSA1NXEyOSAtNTUgNzUgLTEwMmwxOCAtMTdsLTk1IC05NWwyNDcgLTI0OGwzODkgMzg5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDU7IiBkPSJNNjAzIDEyMDBxODUgMCAxNjIgLTE1dDEyNyAtMzh0NzkgLTQ4dDI5IC00NnYtOTUzcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djk1M3EwIDIxIDMwIDQ2LjV0ODEgNDh0MTI5IDM3LjV0MTYzIDE1ek0zMDAgMTAwMHYtNzAwaDYwMHY3MDBoLTYwMHpNNjAwIDI1NHEtNDMgMCAtNzMuNSAtMzAuNXQtMzAuNSAtNzMuNXQzMC41IC03My41dDczLjUgLTMwLjV0NzMuNSAzMC41IHQzMC41IDczLjV0LTMwLjUgNzMuNXQtNzMuNSAzMC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDY7IiBkPSJNOTAyIDExODVsMjgzIC0yODJxMTUgLTE1IDE1IC0zNnQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNXQtMzUgMTVsLTM2IDM1bC0yNzkgLTI2N3YtMzAwbC0yMTIgMjEwbC0zMDggLTMwN2wtMjgwIC0yMDNsMjAzIDI4MGwzMDcgMzA4bC0yMTAgMjEyaDMwMGwyNjcgMjc5bC0zNSAzNnEtMTUgMTQgLTE1IDM1dDE0LjUgMzUuNXQzNS41IDE0LjV0MzUgLTE1eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNDg7IiBkPSJNNzAwIDEyNDh2LTc4cTM4IC01IDcyLjUgLTE0LjV0NzUuNSAtMzEuNXQ3MSAtNTMuNXQ1MiAtODR0MjQgLTExOC41aC0xNTlxLTQgMzYgLTEwLjUgNTl0LTIxIDQ1dC00MCAzNS41dC02NC41IDIwLjV2LTMwN2w2NCAtMTNxMzQgLTcgNjQgLTE2LjV0NzAgLTMydDY3LjUgLTUyLjV0NDcuNSAtODB0MjAgLTExMnEwIC0xMzkgLTg5IC0yMjR0LTI0NCAtOTd2LTc3aC0xMDB2NzlxLTE1MCAxNiAtMjM3IDEwM3EtNDAgNDAgLTUyLjUgOTMuNSB0LTE1LjUgMTM5LjVoMTM5cTUgLTc3IDQ4LjUgLTEyNnQxMTcuNSAtNjV2MzM1bC0yNyA4cS00NiAxNCAtNzkgMjYuNXQtNzIgMzZ0LTYzIDUydC00MCA3Mi41dC0xNiA5OHEwIDcwIDI1IDEyNnQ2Ny41IDkydDk0LjUgNTd0MTEwIDI3djc3aDEwMHpNNjAwIDc1NHYyNzRxLTI5IC00IC01MCAtMTF0LTQyIC0yMS41dC0zMS41IC00MS41dC0xMC41IC02NXEwIC0yOSA3IC01MC41dDE2LjUgLTM0dDI4LjUgLTIyLjV0MzEuNSAtMTR0MzcuNSAtMTAgcTkgLTMgMTMgLTR6TTcwMCA1NDd2LTMxMHEyMiAyIDQyLjUgNi41dDQ1IDE1LjV0NDEuNSAyN3QyOSA0MnQxMiA1OS41dC0xMi41IDU5LjV0LTM4IDQ0LjV0LTUzIDMxdC02Ni41IDI0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE0OTsiIGQ9Ik01NjEgMTE5N3E4NCAwIDE2MC41IC00MHQxMjMuNSAtMTA5LjV0NDcgLTE0Ny41aC0xNTNxMCA0MCAtMTkuNSA3MS41dC00OS41IDQ4LjV0LTU5LjUgMjZ0LTU1LjUgOXEtMzcgMCAtNzkgLTE0LjV0LTYyIC0zNS41cS00MSAtNDQgLTQxIC0xMDFxMCAtMjYgMTMuNSAtNjN0MjYuNSAtNjF0MzcgLTY2cTYgLTkgOSAtMTRoMjQxdi0xMDBoLTE5N3E4IC01MCAtMi41IC0xMTV0LTMxLjUgLTk1cS00NSAtNjIgLTk5IC0xMTIgcTM0IDEwIDgzIDE3LjV0NzEgNy41cTMyIDEgMTAyIC0xNnQxMDQgLTE3cTgzIDAgMTM2IDMwbDUwIC0xNDdxLTMxIC0xOSAtNTggLTMwLjV0LTU1IC0xNS41dC00MiAtNC41dC00NiAtMC41cS0yMyAwIC03NiAxN3QtMTExIDMyLjV0LTk2IDExLjVxLTM5IC0zIC04MiAtMTZ0LTY3IC0yNWwtMjMgLTExbC01NSAxNDVxNCAzIDE2IDExdDE1LjUgMTAuNXQxMyA5dDE1LjUgMTJ0MTQuNSAxNHQxNy41IDE4LjVxNDggNTUgNTQgMTI2LjUgdC0zMCAxNDIuNWgtMjIxdjEwMGgxNjZxLTIzIDQ3IC00NCAxMDRxLTcgMjAgLTEyIDQxLjV0LTYgNTUuNXQ2IDY2LjV0MjkuNSA3MC41dDU4LjUgNzFxOTcgODggMjYzIDg4eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTA7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkzNSAxMTg0bDIzMCAtMjQ5cTE0IC0xNCAxMCAtMjQuNXQtMjUgLTEwLjVoLTE1MHYtOTAwaC0yMDB2OTAwaC0xNTBxLTIxIDAgLTI1IDEwLjV0MTAgMjQuNWwyMzAgMjQ5cTE0IDE1IDM1IDE1dDM1IC0xNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTUxOyIgZD0iTTEwMDAgNzAwaC0xMDB2MTAwaC0xMDB2LTEwMGgtMTAwdjUwMGgzMDB2LTUwMHpNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTgwMSAxMTAwdi0yMDBoMTAwdjIwMGgtMTAwek0xMDAwIDM1MGwtMjAwIC0yNTBoMjAwdi0xMDBoLTMwMHYxNTBsMjAwIDI1MGgtMjAwdjEwMGgzMDB2LTE1MHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1MjsiIGQ9Ik00MDAgMzAwaDE1MHEyMSAwIDI1IC0xMXQtMTAgLTI1bC0yMzAgLTI1MHEtMTQgLTE1IC0zNSAtMTV0LTM1IDE1bC0yMzAgMjUwcS0xNCAxNCAtMTAgMjV0MjUgMTFoMTUwdjkwMGgyMDB2LTkwMHpNMTAwMCAxMDUwbC0yMDAgLTI1MGgyMDB2LTEwMGgtMzAwdjE1MGwyMDAgMjUwaC0yMDB2MTAwaDMwMHYtMTUwek0xMDAwIDBoLTEwMHYxMDBoLTEwMHYtMTAwaC0xMDB2NTAwaDMwMHYtNTAwek04MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTUzOyIgZD0iTTQwMCAzMDBoMTUwcTIxIDAgMjUgLTExdC0xMCAtMjVsLTIzMCAtMjUwcS0xNCAtMTUgLTM1IC0xNXQtMzUgMTVsLTIzMCAyNTBxLTE0IDE0IC0xMCAyNXQyNSAxMWgxNTB2OTAwaDIwMHYtOTAwek0xMDAwIDcwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMTEwMCAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgNDAwdi0yMDBoMTAwdjIwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTQ7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTExMDAgNzAwaC0xMDB2MTAwaC0yMDB2NDAwaDMwMHYtNTAwek05MDEgMTEwMHYtMjAwaDEwMHYyMDBoLTEwMHpNMTAwMCAwaC0xMDB2NDAwaC0xMDB2MTAwaDIwMHYtNTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTU7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTkwMCAxMDAwaC0yMDB2MjAwaDIwMHYtMjAwek0xMDAwIDcwMGgtMzAwdjIwMGgzMDB2LTIwMHpNMTEwMCA0MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEyMDAgMTAwaC01MDB2MjAwaDUwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTY7IiBkPSJNNDAwIDMwMGgxNTBxMjEgMCAyNSAtMTF0LTEwIC0yNWwtMjMwIC0yNTBxLTE0IC0xNSAtMzUgLTE1dC0zNSAxNWwtMjMwIDI1MHEtMTQgMTQgLTEwIDI1dDI1IDExaDE1MHY5MDBoMjAwdi05MDB6TTEyMDAgMTAwMGgtNTAwdjIwMGg1MDB2LTIwMHpNMTEwMCA3MDBoLTQwMHYyMDBoNDAwdi0yMDB6TTEwMDAgNDAwaC0zMDB2MjAwaDMwMHYtMjAwek05MDAgMTAwaC0yMDB2MjAwaDIwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTc7IiBkPSJNMzUwIDExMDBoNDAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTQwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNTg7IiBkPSJNMzUwIDExMDBoNDAwcTE2NSAwIDI1Ny41IC05Mi41dDkyLjUgLTI1Ny41di00MDBxMCAtMTY1IC05Mi41IC0yNTcuNXQtMjU3LjUgLTkyLjVoLTQwMHEtMTYzIDAgLTI1Ni41IDkyLjV0LTkzLjUgMjU3LjV2NDAwcTAgMTYzIDk0IDI1Ni41dDI1NiA5My41ek04MDAgOTAwaC01MDBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNTAwcTQxIDAgNzAuNSAyOS41dDI5LjUgNzAuNSB2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41ek00NDAgNzcwbDI1MyAtMTkwcTE3IC0xMiAxNyAtMzB0LTE3IC0zMGwtMjUzIC0xOTBxLTE2IC0xMiAtMjggLTYuNXQtMTIgMjYuNXY0MDBxMCAyMSAxMiAyNi41dDI4IC02LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE1OTsiIGQ9Ik0zNTAgMTEwMGg0MDBxMTYzIDAgMjU2LjUgLTk0dDkzLjUgLTI1NnYtNDAwcTAgLTE2NSAtOTIuNSAtMjU3LjV0LTI1Ny41IC05Mi41aC00MDBxLTE2NSAwIC0yNTcuNSA5Mi41dC05Mi41IDI1Ny41djQwMHEwIDE2MyA5Mi41IDI1Ni41dDI1Ny41IDkzLjV6TTgwMCA5MDBoLTUwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNTAwcTAgLTQxIDI5LjUgLTcwLjV0NzAuNSAtMjkuNWg1MDBxNDEgMCA3MC41IDI5LjV0MjkuNSA3MC41IHY1MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTM1MCA3MDBoNDAwcTIxIDAgMjYuNSAtMTJ0LTYuNSAtMjhsLTE5MCAtMjUzcS0xMiAtMTcgLTMwIC0xN3QtMzAgMTdsLTE5MCAyNTNxLTEyIDE2IC02LjUgMjh0MjYuNSAxMnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTYwOyIgZD0iTTM1MCAxMTAwaDQwMHExNjUgMCAyNTcuNSAtOTIuNXQ5Mi41IC0yNTcuNXYtNDAwcTAgLTE2MyAtOTIuNSAtMjU2LjV0LTI1Ny41IC05My41aC00MDBxLTE2MyAwIC0yNTYuNSA5NHQtOTMuNSAyNTZ2NDAwcTAgMTY1IDkyLjUgMjU3LjV0MjU3LjUgOTIuNXpNODAwIDkwMGgtNTAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di01MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjUgdjUwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNNTgwIDY5M2wxOTAgLTI1M3ExMiAtMTYgNi41IC0yOHQtMjYuNSAtMTJoLTQwMHEtMjEgMCAtMjYuNSAxMnQ2LjUgMjhsMTkwIDI1M3ExMiAxNyAzMCAxN3QzMCAtMTd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2MTsiIGQ9Ik01NTAgMTEwMGg0MDBxMTY1IDAgMjU3LjUgLTkyLjV0OTIuNSAtMjU3LjV2LTQwMHEwIC0xNjUgLTkyLjUgLTI1Ny41dC0yNTcuNSAtOTIuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ1MHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2NTAwcTAgNDEgLTI5LjUgNzAuNXQtNzAuNSAyOS41aC00NTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMzggODY3bDMyNCAtMjg0cTE2IC0xNCAxNiAtMzN0LTE2IC0zM2wtMzI0IC0yODRxLTE2IC0xNCAtMjcgLTl0LTExIDI2djE1MGgtMjUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDI1MHYxNTBxMCAyMSAxMSAyNnQyNyAtOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTYyOyIgZD0iTTc5MyAxMTgybDkgLTlxOCAtMTAgNSAtMjdxLTMgLTExIC03OSAtMjI1LjV0LTc4IC0yMjEuNWwzMDAgMXEyNCAwIDMyLjUgLTE3LjV0LTUuNSAtMzUuNXEtMSAwIC0xMzMuNSAtMTU1dC0yNjcgLTMxMi41dC0xMzguNSAtMTYyLjVxLTEyIC0xNSAtMjYgLTE1aC05bC05IDhxLTkgMTEgLTQgMzJxMiA5IDQyIDEyMy41dDc5IDIyNC41bDM5IDExMGgtMzAycS0yMyAwIC0zMSAxOXEtMTAgMjEgNiA0MXE3NSA4NiAyMDkuNSAyMzcuNSB0MjI4IDI1N3Q5OC41IDExMS41cTkgMTYgMjUgMTZoOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTYzOyIgZD0iTTM1MCAxMTAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00NTBxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMHEwIC00MSAyOS41IC03MC41dDcwLjUgLTI5LjVoNDUwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMTY1IDAgLTI1Ny41IDkyLjV0LTkyLjUgMjU3LjV2NDAwIHEwIDE2NSA5Mi41IDI1Ny41dDI1Ny41IDkyLjV6TTkzOCA4NjdsMzI0IC0yODRxMTYgLTE0IDE2IC0zM3QtMTYgLTMzbC0zMjQgLTI4NHEtMTYgLTE0IC0yNyAtOXQtMTEgMjZ2MTUwaC0yNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djIwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMjUwdjE1MHEwIDIxIDExIDI2dDI3IC05eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjQ7IiBkPSJNNzUwIDEyMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTEwLjUgLTI1dC0yNC41IDEwbC0xMDkgMTA5bC0zMTIgLTMxMnEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtMTQxIDE0MXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWwzMTIgMzEybC0xMDkgMTA5cS0xNCAxNCAtMTAgMjQuNXQyNSAxMC41ek00NTYgOTAwaC0xNTZxLTQxIDAgLTcwLjUgLTI5LjV0LTI5LjUgLTcwLjV2LTUwMCBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDUwMHE0MSAwIDcwLjUgMjkuNXQyOS41IDcwLjV2MTQ4bDIwMCAyMDB2LTI5OHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNDAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY0MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41aDMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTY1OyIgZD0iTTYwMCAxMTg2cTExOSAwIDIyNy41IC00Ni41dDE4NyAtMTI1dDEyNSAtMTg3dDQ2LjUgLTIyNy41dC00Ni41IC0yMjcuNXQtMTI1IC0xODd0LTE4NyAtMTI1dC0yMjcuNSAtNDYuNXQtMjI3LjUgNDYuNXQtMTg3IDEyNXQtMTI1IDE4N3QtNDYuNSAyMjcuNXQ0Ni41IDIyNy41dDEyNSAxODd0MTg3IDEyNXQyMjcuNSA0Ni41ek02MDAgMTAyMnEtMTE1IDAgLTIxMiAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTJ0NTYuNSAtMjEyIHQxNTMuNSAtMTUzLjV0MjEyIC01Ni41dDIxMiA1Ni41dDE1My41IDE1My41dDU2LjUgMjEydC01Ni41IDIxMnQtMTUzLjUgMTUzLjV0LTIxMiA1Ni41ek02MDAgNzk0cTgwIDAgMTM3IC01N3Q1NyAtMTM3dC01NyAtMTM3dC0xMzcgLTU3dC0xMzcgNTd0LTU3IDEzN3Q1NyAxMzd0MTM3IDU3eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjY7IiBkPSJNNDUwIDEyMDBoMjAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMjQ1cTIwIDAgMjUgLTExdC05IC0yNmwtMzgzIC00MjZxLTE0IC0xNSAtMzMuNSAtMTV0LTMyLjUgMTVsLTM3OSA0MjZxLTEzIDE1IC04LjUgMjZ0MjUuNSAxMWgyNTB2MzUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTI1MGgtMTEwMHYyNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiBNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE2NzsiIGQ9Ik01ODMgMTE4MmwzNzggLTQzNXExNCAtMTUgOSAtMzF0LTI2IC0xNmgtMjQ0di0yNTBxMCAtMjAgLTE3IC0zNXQtMzkgLTE1aC0yMDBxLTIwIDAgLTMyIDE0LjV0LTEyIDM1LjV2MjUwaC0yNTBxLTIwIDAgLTI1LjUgMTYuNXQ4LjUgMzEuNWwzODMgNDMxcTE0IDE2IDMzLjUgMTd0MzMuNSAtMTR6TTUwIDMwMGgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXogTTkwMCAyMDB2LTUwaDEwMHY1MGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNjg7IiBkPSJNMzk2IDcyM2wzNjkgMzY5cTcgNyAxNy41IDd0MTcuNSAtN2wxMzkgLTEzOXE3IC04IDcgLTE4LjV0LTcgLTE3LjVsLTUyNSAtNTI1cS03IC04IC0xNy41IC04dC0xNy41IDhsLTI5MiAyOTFxLTcgOCAtNyAxOHQ3IDE4bDEzOSAxMzlxOCA3IDE4LjUgN3QxNy41IC03ek01MCAzMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaC0xMTAwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTkwMCAyMDB2LTUwaDEwMHY1MCBoLTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTY5OyIgZD0iTTEzNSAxMDIzbDE0MiAxNDJxMTQgMTQgMzUgMTR0MzUgLTE0bDc3IC03N2wtMjEyIC0yMTJsLTc3IDc2cS0xNCAxNSAtMTQgMzZ0MTQgMzV6TTY1NSA4NTVsMjEwIDIxMHExNCAxNCAyNC41IDEwdDEwLjUgLTI1bC0yIC01OTlxLTEgLTIwIC0xNS41IC0zNXQtMzUuNSAtMTVsLTU5NyAtMXEtMjEgMCAtMjUgMTAuNXQxMCAyNC41bDIwOCAyMDhsLTE1NCAxNTVsMjEyIDIxMnpNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjUgdi0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MDsiIGQ9Ik0zNTAgMTIwMGw1OTkgLTJxMjAgLTEgMzUgLTE1LjV0MTUgLTM1LjVsMSAtNTk3cTAgLTIxIC0xMC41IC0yNXQtMjQuNSAxMGwtMjA4IDIwOGwtMTU1IC0xNTRsLTIxMiAyMTJsMTU1IDE1NGwtMjEwIDIxMHEtMTQgMTQgLTEwIDI0LjV0MjUgMTAuNXpNNTI0IDUxMmwtNzYgLTc3cS0xNSAtMTQgLTM2IC0xNHQtMzUgMTRsLTE0MiAxNDJxLTE0IDE0IC0xNCAzNXQxNCAzNWw3NyA3N3pNNTAgMzAwaDEwMDBxMjEgMCAzNS41IC0xNC41IHQxNC41IC0zNS41di0yNTBoLTExMDB2MjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNOTAwIDIwMHYtNTBoMTAwdjUwaC0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3MTsiIGQ9Ik0xMjAwIDEwM2wtNDgzIDI3NmwtMzE0IC0zOTl2NDIzaC0zOTlsMTE5NiA3OTZ2LTEwOTZ6TTQ4MyA0MjR2LTIzMGw2ODMgOTUzeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzI7IiBkPSJNMTEwMCAxMDAwdi04NTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTE1MHY0MDBoLTcwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzM7IiBkPSJNMTEwMCAxMDAwbC0yIC0xNDlsLTI5OSAtMjk5bC05NSA5NXEtOSA5IC0yMS41IDl0LTIxLjUgLTlsLTE0OSAtMTQ3aC0zMTJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTEzMiA2MzhsMTA2IC0xMDZxNyAtNyA3IC0xNy41dC03IC0xNy41bC00MjAgLTQyMXEtOCAtNyAtMTggLTcgdC0xOCA3bC0yMDIgMjAzcS04IDcgLTggMTcuNXQ4IDE3LjVsMTA2IDEwNnE3IDggMTcuNSA4dDE3LjUgLThsNzkgLTc5bDI5NyAyOTdxNyA3IDE3LjUgN3QxNy41IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzQ7IiBkPSJNMTEwMCAxMDAwdi0yNjlsLTEwMyAtMTAzbC0xMzQgMTM0cS0xNSAxNSAtMzMuNSAxNi41dC0zNC41IC0xMi41bC0yNjYgLTI2NmgtMzI5di00MDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwMHEwIDIwIDE0LjUgMzV0MzUuNSAxNWgyNTB2LTMwMGg1MDB2MzAwaDEwMHpNNzAwIDEwMDBoLTEwMHYyMDBoMTAwdi0yMDB6TTEyMDIgNTcybDcwIC03MHExNSAtMTUgMTUgLTM1LjV0LTE1IC0zNS41bC0xMzEgLTEzMSBsMTMxIC0xMzFxMTUgLTE1IDE1IC0zNS41dC0xNSAtMzUuNWwtNzAgLTcwcS0xNSAtMTUgLTM1LjUgLTE1dC0zNS41IDE1bC0xMzEgMTMxbC0xMzEgLTEzMXEtMTUgLTE1IC0zNS41IC0xNXQtMzUuNSAxNWwtNzAgNzBxLTE1IDE1IC0xNSAzNS41dDE1IDM1LjVsMTMxIDEzMWwtMTMxIDEzMXEtMTUgMTUgLTE1IDM1LjV0MTUgMzUuNWw3MCA3MHExNSAxNSAzNS41IDE1dDM1LjUgLTE1bDEzMSAtMTMxbDEzMSAxMzFxMTUgMTUgMzUuNSAxNSB0MzUuNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NTsiIGQ9Ik0xMTAwIDEwMDB2LTMwMGgtMzUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di0xNTBoLTUwMHYtNDAwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMDBxMCAyMCAxNC41IDM1dDM1LjUgMTVoMjUwdi0zMDBoNTAwdjMwMGgxMDB6TTcwMCAxMDAwaC0xMDB2MjAwaDEwMHYtMjAwek04NTAgNjAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMjUwaDE1MHEyMSAwIDI1IC0xMC41dC0xMCAtMjQuNSBsLTIzMCAtMjMwcS0xNCAtMTQgLTM1IC0xNHQtMzUgMTRsLTIzMCAyMzBxLTE0IDE0IC0xMCAyNC41dDI1IDEwLjVoMTUwdjI1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NjsiIGQ9Ik0xMTAwIDEwMDB2LTQwMGwtMTY1IDE2NXEtMTQgMTUgLTM1IDE1dC0zNSAtMTVsLTI2MyAtMjY1aC00MDJ2LTQwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDAwcTAgMjAgMTQuNSAzNXQzNS41IDE1aDI1MHYtMzAwaDUwMHYzMDBoMTAwek03MDAgMTAwMGgtMTAwdjIwMGgxMDB2LTIwMHpNOTM1IDU2NWwyMzAgLTIyOXExNCAtMTUgMTAgLTI1LjV0LTI1IC0xMC41aC0xNTB2LTI1MHEwIC0yMCAtMTQuNSAtMzUgdC0zNS41IC0xNWgtMTAwcS0yMSAwIC0zNS41IDE1dC0xNC41IDM1djI1MGgtMTUwcS0yMSAwIC0yNSAxMC41dDEwIDI1LjVsMjMwIDIyOXExNCAxNSAzNSAxNXQzNSAtMTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE3NzsiIGQ9Ik01MCAxMTAwaDExMDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTE1MGgtMTIwMHYxNTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjAwIDgwMHYtNTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1NTBoMTIwMHpNMTAwIDUwMHYtMjAwaDQwMHYyMDBoLTQwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTc4OyIgZD0iTTkzNSAxMTY1bDI0OCAtMjMwcTE0IC0xNCAxNCAtMzV0LTE0IC0zNWwtMjQ4IC0yMzBxLTE0IC0xNCAtMjQuNSAtMTB0LTEwLjUgMjV2MTUwaC00MDB2MjAwaDQwMHYxNTBxMCAyMSAxMC41IDI1dDI0LjUgLTEwek0yMDAgODAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHYtMjAwek00MDAgODAwaC0xMDB2MjAwaDEwMHYtMjAwek0xOCA0MzVsMjQ3IDIzMCBxMTQgMTQgMjQuNSAxMHQxMC41IC0yNXYtMTUwaDQwMHYtMjAwaC00MDB2LTE1MHEwIC0yMSAtMTAuNSAtMjV0LTI0LjUgMTBsLTI0NyAyMzBxLTE1IDE0IC0xNSAzNXQxNSAzNXpNOTAwIDMwMGgtMTAwdjIwMGgxMDB2LTIwMHpNMTAwMCA1MDBoNTFxMjAgMCAzNC41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzQuNSAtMTQuNWgtNTF2MjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxNzk7IiBkPSJNODYyIDEwNzNsMjc2IDExNnEyNSAxOCA0My41IDh0MTguNSAtNDF2LTExMDZxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2Mzk3cS00IDEgLTExIDV0LTI0IDE3LjV0LTMwIDI5dC0yNCA0MnQtMTEgNTYuNXYzNTlxMCAzMSAxOC41IDY1dDQzLjUgNTJ6TTU1MCAxMjAwcTIyIDAgMzQuNSAtMTIuNXQxNC41IC0yNC41bDEgLTEzdi00NTBxMCAtMjggLTEwLjUgLTU5LjUgdC0yNSAtNTZ0LTI5IC00NXQtMjUuNSAtMzEuNWwtMTAgLTExdi00NDdxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTIwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDQ3cS00IDQgLTExIDExLjV0LTI0IDMwLjV0LTMwIDQ2dC0yNCA1NXQtMTEgNjB2NDUwcTAgMiAwLjUgNS41dDQgMTJ0OC41IDE1dDE0LjUgMTJ0MjIuNSA1LjVxMjAgMCAzMi41IC0xMi41dDE0LjUgLTI0LjVsMyAtMTN2LTM1MGgxMDB2MzUwdjUuNXQyLjUgMTIgdDcgMTV0MTUgMTJ0MjUuNSA1LjVxMjMgMCAzNS41IC0xMi41dDEzLjUgLTI0LjVsMSAtMTN2LTM1MGgxMDB2MzUwcTAgMiAwLjUgNS41dDMgMTJ0NyAxNXQxNSAxMnQyNC41IDUuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTgwOyIgZD0iTTEyMDAgMTEwMHYtNTZxLTQgMCAtMTEgLTAuNXQtMjQgLTN0LTMwIC03LjV0LTI0IC0xNXQtMTEgLTI0di04ODhxMCAtMjIgMjUgLTM0LjV0NTAgLTEzLjVsMjUgLTJ2LTU2aC00MDB2NTZxNzUgMCA4Ny41IDYuNXQxMi41IDQzLjV2Mzk0aC01MDB2LTM5NHEwIC0zNyAxMi41IC00My41dDg3LjUgLTYuNXYtNTZoLTQwMHY1NnE0IDAgMTEgMC41dDI0IDN0MzAgNy41dDI0IDE1dDExIDI0djg4OHEwIDIyIC0yNSAzNC41dC01MCAxMy41IGwtMjUgMnY1Nmg0MDB2LTU2cS03NSAwIC04Ny41IC02LjV0LTEyLjUgLTQzLjV2LTM5NGg1MDB2Mzk0cTAgMzcgLTEyLjUgNDMuNXQtODcuNSA2LjV2NTZoNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODE7IiBkPSJNNjc1IDEwMDBoMzc1cTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoLTEwNWwtMjk1IC05OHY5OGwtMjAwIDIwMGgtNDAwbDEwMCAxMDBoMzc1ek0xMDAgOTAwaDMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNTAwcTAgLTQxIC0yOS41IC03MC41dC03MC41IC0yOS41aC0zMDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djUwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTEwMCA4MDB2LTIwMGgzMDB2MjAwIGgtMzAwek0xMTAwIDUzNWwtNDAwIC0xMzN2MTYzbDQwMCAxMzN2LTE2M3pNMTAwIDUwMHYtMjAwaDMwMHYyMDBoLTMwMHpNMTEwMCAzOTh2LTI0OHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzc1bC0xMDAgLTEwMGgtMzc1bC0xMDAgMTAwaDQwMGwyMDAgMjAwaDEwNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTgyOyIgZD0iTTE3IDEwMDdsMTYyIDE2MnExNyAxNyA0MCAxNHQzNyAtMjJsMTM5IC0xOTRxMTQgLTIwIDExIC00NC41dC0yMCAtNDEuNWwtMTE5IC0xMThxMTAyIC0xNDIgMjI4IC0yNjh0MjY3IC0yMjdsMTE5IDExOHExNyAxNyA0Mi41IDE5dDQ0LjUgLTEybDE5MiAtMTM2cTE5IC0xNCAyMi41IC0zNy41dC0xMy41IC00MC41bC0xNjMgLTE2MnEtMyAtMSAtOS41IC0xdC0yOS41IDJ0LTQ3LjUgNnQtNjIuNSAxNC41dC03Ny41IDI2LjV0LTkwIDQyLjUgdC0xMDEuNSA2MHQtMTExIDgzdC0xMTkgMTA4LjVxLTc0IDc0IC0xMzMuNSAxNTAuNXQtOTQuNSAxMzguNXQtNjAgMTE5LjV0LTM0LjUgMTAwdC0xNSA3NC41dC00LjUgNDh6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4MzsiIGQ9Ik02MDAgMTEwMHE5MiAwIDE3NSAtMTAuNXQxNDEuNSAtMjd0MTA4LjUgLTM2LjV0ODEuNSAtNDB0NTMuNSAtMzd0MzEgLTI3bDkgLTEwdi0yMDBxMCAtMjEgLTE0LjUgLTMzdC0zNC41IC05bC0yMDIgMzRxLTIwIDMgLTM0LjUgMjB0LTE0LjUgMzh2MTQ2cS0xNDEgMjQgLTMwMCAyNHQtMzAwIC0yNHYtMTQ2cTAgLTIxIC0xNC41IC0zOHQtMzQuNSAtMjBsLTIwMiAtMzRxLTIwIC0zIC0zNC41IDl0LTE0LjUgMzN2MjAwcTMgNCA5LjUgMTAuNSB0MzEgMjZ0NTQgMzcuNXQ4MC41IDM5LjV0MTA5IDM3LjV0MTQxIDI2LjV0MTc1IDEwLjV6TTYwMCA3OTVxNTYgMCA5NyAtOS41dDYwIC0yMy41dDMwIC0yOHQxMiAtMjRsMSAtMTB2LTUwbDM2NSAtMzAzcTE0IC0xNSAyNC41IC00MHQxMC41IC00NXYtMjEycTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYyMTJxMCAyMCAxMC41IDQ1dDI0LjUgNDBsMzY1IDMwM3Y1MCBxMCA0IDEgMTAuNXQxMiAyM3QzMCAyOXQ2MCAyMi41dDk3IDEweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODQ7IiBkPSJNMTEwMCA3MDBsLTIwMCAtMjAwaC02MDBsLTIwMCAyMDB2NTAwaDIwMHYtMjAwaDIwMHYyMDBoMjAwdi0yMDBoMjAwdjIwMGgyMDB2LTUwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODU7IiBkPSJNNzAwIDExMDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtMTAwMGgzMDB2MTAwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMTEwMCA4MDBoLTEwMHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNXYtNzAwaDMwMHY3MDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjV6TTQwMCAwaC0zMDB2NDAwcTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNWgxMDBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTQwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4NjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDcwMHYtMzAwbC0xMDAgLTEwMGgtMjAwdjUwMGgyMDB6IE03MDAgNzAwdi0zMDBoMTAwdjMwMGgtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxODc7IiBkPSJNMjAwIDExMDBoNzAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnYtNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OGgtNzAwcS0xMjQgMCAtMjEyIDg4dC04OCAyMTJ2NTAwcTAgMTI0IDg4IDIxMnQyMTIgODh6TTEwMCA5MDB2LTcwMGg5MDB2NzAwaC05MDB6TTUwMCAzMDBoLTEwMHYyMDBoLTEwMHYtMjAwaC0xMDB2NTAwaDEwMHYtMjAwaDEwMHYyMDBoMTAwdi01MDB6TTkwMCA3MDB2LTMwMGwtMTAwIC0xMDBoLTIwMHY1MDBoMjAweiBNNzAwIDcwMHYtMzAwaDEwMHYzMDBoLTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTg4OyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek01MDAgNzAwaC0yMDB2LTMwMGgyMDB2LTEwMGgtMzAwdjUwMGgzMDB2LTEwMHpNOTAwIDcwMGgtMjAwdi0zMDBoMjAwdi0xMDBoLTMwMHY1MDBoMzAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE4OTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDQwMGwtMzAwIDE1MGwzMDAgMTUwdi0zMDB6TTkwMCA1NTBsLTMwMCAtMTUwdjMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTkwOyIgZD0iTTIwMCAxMTAwaDcwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJ2LTUwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhoLTcwMHEtMTI0IDAgLTIxMiA4OHQtODggMjEydjUwMHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek0xMDAgOTAwdi03MDBoOTAwdjcwMGgtOTAwek05MDAgMzAwaC03MDB2NTAwaDcwMHYtNTAwek04MDAgNzAwaC0xMzBxLTM4IDAgLTY2LjUgLTQzdC0yOC41IC0xMDh0MjcgLTEwN3Q2OCAtNDJoMTMwdjMwMHpNMzAwIDcwMHYtMzAwIGgxMzBxNDEgMCA2OCA0MnQyNyAxMDd0LTI4LjUgMTA4dC02Ni41IDQzaC0xMzB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MTsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDcwMGgtMjAwdi0xMDBoMjAwdi0zMDBoLTMwMHYxMDBoMjAwdjEwMGgtMjAwdjMwMGgzMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MjsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNMzAwIDcwMGgyMDB2LTQwMGgtMzAwdjUwMGgxMDB2LTEwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNMzAwIDYwMHYtMjAwaDEwMHYyMDBoLTEwMHogTTcwMCAzMDBoLTEwMHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5MzsiIGQ9Ik0yMDAgMTEwMGg3MDBxMTI0IDAgMjEyIC04OHQ4OCAtMjEydi01MDBxMCAtMTI0IC04OCAtMjEydC0yMTIgLTg4aC03MDBxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnY1MDBxMCAxMjQgODggMjEydDIxMiA4OHpNMTAwIDkwMHYtNzAwaDkwMHY3MDBoLTkwMHpNNTAwIDUwMGwtMTk5IC0yMDBoLTEwMHY1MGwxOTkgMjAwdjE1MGgtMjAwdjEwMGgzMDB2LTMwMHpNOTAwIDMwMGgtMTAwdjQwMGgtMTAwdjEwMGgyMDB2LTUwMHpNNzAxIDMwMGgtMTAwIHYxMDBoMTAwdi0xMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTE5NDsiIGQ9Ik02MDAgMTE5MXExMjAgMCAyMjkuNSAtNDd0MTg4LjUgLTEyNnQxMjYgLTE4OC41dDQ3IC0yMjkuNXQtNDcgLTIyOS41dC0xMjYgLTE4OC41dC0xODguNSAtMTI2dC0yMjkuNSAtNDd0LTIyOS41IDQ3dC0xODguNSAxMjZ0LTEyNiAxODguNXQtNDcgMjI5LjV0NDcgMjI5LjV0MTI2IDE4OC41dDE4OC41IDEyNnQyMjkuNSA0N3pNNjAwIDEwMjFxLTExNCAwIC0yMTEgLTU2LjV0LTE1My41IC0xNTMuNXQtNTYuNSAtMjExdDU2LjUgLTIxMSB0MTUzLjUgLTE1My41dDIxMSAtNTYuNXQyMTEgNTYuNXQxNTMuNSAxNTMuNXQ1Ni41IDIxMXQtNTYuNSAyMTF0LTE1My41IDE1My41dC0yMTEgNTYuNXpNODAwIDcwMGgtMzAwdi0yMDBoMzAwdi0xMDBoLTMwMGwtMTAwIDEwMHYyMDBsMTAwIDEwMGgzMDB2LTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTk1OyIgZD0iTTYwMCAxMTkxcTEyMCAwIDIyOS41IC00N3QxODguNSAtMTI2dDEyNiAtMTg4LjV0NDcgLTIyOS41dC00NyAtMjI5LjV0LTEyNiAtMTg4LjV0LTE4OC41IC0xMjZ0LTIyOS41IC00N3QtMjI5LjUgNDd0LTE4OC41IDEyNnQtMTI2IDE4OC41dC00NyAyMjkuNXQ0NyAyMjkuNXQxMjYgMTg4LjV0MTg4LjUgMTI2dDIyOS41IDQ3ek02MDAgMTAyMXEtMTE0IDAgLTIxMSAtNTYuNXQtMTUzLjUgLTE1My41dC01Ni41IC0yMTF0NTYuNSAtMjExIHQxNTMuNSAtMTUzLjV0MjExIC01Ni41dDIxMSA1Ni41dDE1My41IDE1My41dDU2LjUgMjExdC01Ni41IDIxMXQtMTUzLjUgMTUzLjV0LTIxMSA1Ni41ek04MDAgNzAwdi0xMDBsLTUwIC01MGwxMDAgLTEwMHYtNTBoLTEwMGwtMTAwIDEwMGgtMTUwdi0xMDBoLTEwMHY0MDBoMzAwek01MDAgNzAwdi0xMDBoMjAwdjEwMGgtMjAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTc7IiBkPSJNNTAzIDEwODlxMTEwIDAgMjAwLjUgLTU5LjV0MTM0LjUgLTE1Ni41cTQ0IDE0IDkwIDE0cTEyMCAwIDIwNSAtODYuNXQ4NSAtMjA3dC04NSAtMjA3dC0yMDUgLTg2LjVoLTEyOHYyNTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTMwMHEtMjEgMCAtMzUuNSAtMTQuNXQtMTQuNSAtMzUuNXYtMjUwaC0yMjJxLTgwIDAgLTEzNiA1Ny41dC01NiAxMzYuNXEwIDY5IDQzIDEyMi41dDEwOCA2Ny41cS0yIDE5IC0yIDM3cTAgMTAwIDQ5IDE4NSB0MTM0IDEzNHQxODUgNDl6TTUyNSA1MDBoMTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMjc1aDEzN3EyMSAwIDI2IC0xMS41dC04IC0yNy41bC0yMjMgLTI0NHEtMTMgLTE2IC0zMiAtMTZ0LTMyIDE2bC0yMjMgMjQ0cS0xMyAxNiAtOCAyNy41dDI2IDExLjVoMTM3djI3NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUxOTg7IiBkPSJNNTAyIDEwODlxMTEwIDAgMjAxIC01OS41dDEzNSAtMTU2LjVxNDMgMTUgODkgMTVxMTIxIDAgMjA2IC04Ni41dDg2IC0yMDYuNXEwIC05OSAtNjAgLTE4MXQtMTUwIC0xMTBsLTM3OCAzNjBxLTEzIDE2IC0zMS41IDE2dC0zMS41IC0xNmwtMzgxIC0zNjVoLTlxLTc5IDAgLTEzNS41IDU3LjV0LTU2LjUgMTM2LjVxMCA2OSA0MyAxMjIuNXQxMDggNjcuNXEtMiAxOSAtMiAzOHEwIDEwMCA0OSAxODQuNXQxMzMuNSAxMzR0MTg0LjUgNDkuNXogTTYzMiA0NjdsMjIzIC0yMjhxMTMgLTE2IDggLTI3LjV0LTI2IC0xMS41aC0xMzd2LTI3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djI3NWgtMTM3cS0yMSAwIC0yNiAxMS41dDggMjcuNXExOTkgMjA0IDIyMyAyMjhxMTkgMTkgMzEuNSAxOXQzMi41IC0xOXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMTk5OyIgZD0iTTcwMCAxMDB2MTAwaDQwMGwtMjcwIDMwMGgxNzBsLTI3MCAzMDBoMTcwbC0zMDAgMzMzbC0zMDAgLTMzM2gxNzBsLTI3MCAtMzAwaDE3MGwtMjcwIC0zMDBoNDAwdi0xMDBoLTUwcS0yMSAwIC0zNS41IC0xNC41dC0xNC41IC0zNS41di01MGg0MDB2NTBxMCAyMSAtMTQuNSAzNS41dC0zNS41IDE0LjVoLTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDA7IiBkPSJNNjAwIDExNzlxOTQgMCAxNjcuNSAtNTYuNXQ5OS41IC0xNDUuNXE4OSAtNiAxNTAuNSAtNzEuNXQ2MS41IC0xNTUuNXEwIC02MSAtMjkuNSAtMTEyLjV0LTc5LjUgLTgyLjVxOSAtMjkgOSAtNTVxMCAtNzQgLTUyLjUgLTEyNi41dC0xMjYuNSAtNTIuNXEtNTUgMCAtMTAwIDMwdi0yNTFxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwaC0zMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41djI1MXEtNDUgLTMwIC0xMDAgLTMwIHEtNzQgMCAtMTI2LjUgNTIuNXQtNTIuNSAxMjYuNXEwIDE4IDQgMzhxLTQ3IDIxIC03NS41IDY1dC0yOC41IDk3cTAgNzQgNTIuNSAxMjYuNXQxMjYuNSA1Mi41cTUgMCAyMyAtMnEwIDIgLTEgMTB0LTEgMTNxMCAxMTYgODEuNSAxOTcuNXQxOTcuNSA4MS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDE7IiBkPSJNMTAxMCAxMDEwcTExMSAtMTExIDE1MC41IC0yNjAuNXQwIC0yOTl0LTE1MC41IC0yNjAuNXEtODMgLTgzIC0xOTEuNSAtMTI2LjV0LTIxOC41IC00My41dC0yMTguNSA0My41dC0xOTEuNSAxMjYuNXEtMTExIDExMSAtMTUwLjUgMjYwLjV0MCAyOTl0MTUwLjUgMjYwLjVxODMgODMgMTkxLjUgMTI2LjV0MjE4LjUgNDMuNXQyMTguNSAtNDMuNXQxOTEuNSAtMTI2LjV6TTQ3NiAxMDY1cS00IDAgLTggLTFxLTEyMSAtMzQgLTIwOS41IC0xMjIuNSB0LTEyMi41IC0yMDkuNXEtNCAtMTIgMi41IC0yM3QxOC41IC0xNGwzNiAtOXEzIC0xIDcgLTFxMjMgMCAyOSAyMnEyNyA5NiA5OCAxNjZxNzAgNzEgMTY2IDk4cTExIDMgMTcuNSAxMy41dDMuNSAyMi41bC05IDM1cS0zIDEzIC0xNCAxOXEtNyA0IC0xNSA0ek01MTIgOTIwcS00IDAgLTkgLTJxLTgwIC0yNCAtMTM4LjUgLTgyLjV0LTgyLjUgLTEzOC41cS00IC0xMyAyIC0yNHQxOSAtMTRsMzQgLTlxNCAtMSA4IC0xcTIyIDAgMjggMjEgcTE4IDU4IDU4LjUgOTguNXQ5Ny41IDU4LjVxMTIgMyAxOCAxMy41dDMgMjEuNWwtOSAzNXEtMyAxMiAtMTQgMTlxLTcgNCAtMTUgNHpNNzE5LjUgNzE5LjVxLTQ5LjUgNDkuNSAtMTE5LjUgNDkuNXQtMTE5LjUgLTQ5LjV0LTQ5LjUgLTExOS41dDQ5LjUgLTExOS41dDExOS41IC00OS41dDExOS41IDQ5LjV0NDkuNSAxMTkuNXQtNDkuNSAxMTkuNXpNODU1IDU1MXEtMjIgMCAtMjggLTIxcS0xOCAtNTggLTU4LjUgLTk4LjV0LTk4LjUgLTU3LjUgcS0xMSAtNCAtMTcgLTE0LjV0LTMgLTIxLjVsOSAtMzVxMyAtMTIgMTQgLTE5cTcgLTQgMTUgLTRxNCAwIDkgMnE4MCAyNCAxMzguNSA4Mi41dDgyLjUgMTM4LjVxNCAxMyAtMi41IDI0dC0xOC41IDE0bC0zNCA5cS00IDEgLTggMXpNMTAwMCA1MTVxLTIzIDAgLTI5IC0yMnEtMjcgLTk2IC05OCAtMTY2cS03MCAtNzEgLTE2NiAtOThxLTExIC0zIC0xNy41IC0xMy41dC0zLjUgLTIyLjVsOSAtMzVxMyAtMTMgMTQgLTE5cTcgLTQgMTUgLTQgcTQgMCA4IDFxMTIxIDM0IDIwOS41IDEyMi41dDEyMi41IDIwOS41cTQgMTIgLTIuNSAyM3QtMTguNSAxNGwtMzYgOXEtMyAxIC03IDF6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMjsiIGQ9Ik03MDAgODAwaDMwMHYtMzgwaC0xODB2MjAwaC0zNDB2LTIwMGgtMzgwdjc1NXEwIDEwIDcuNSAxNy41dDE3LjUgNy41aDU3NXYtNDAwek0xMDAwIDkwMGgtMjAwdjIwMHpNNzAwIDMwMGgxNjJsLTIxMiAtMjEybC0yMTIgMjEyaDE2MnYyMDBoMTAwdi0yMDB6TTUyMCAwaC0zOTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYzOTV6TTEwMDAgMjIwdi0xOTVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xOTV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwMzsiIGQ9Ik03MDAgODAwaDMwMHYtNTIwbC0zNTAgMzUwbC01NTAgLTU1MHYxMDk1cTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNTc1di00MDB6TTEwMDAgOTAwaC0yMDB2MjAwek04NjIgMjAwaC0xNjJ2LTIwMGgtMTAwdjIwMGgtMTYybDIxMiAyMTJ6TTQ4MCAwaC0zNTVxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1NWgzODB2LTgwek0xMDAwIDgwdi01NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTE1NXY4MGgxODB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIwNDsiIGQ9Ik0xMTYyIDgwMGgtMTYydi0yMDBoMTAwbDEwMCAtMTAwaC0zMDB2MzAwaC0xNjJsMjEyIDIxMnpNMjAwIDgwMGgyMDBxMjcgMCA0MCAtMnQyOS41IC0xMC41dDIzLjUgLTMwdDcgLTU3LjVoMzAwdi0xMDBoLTYwMGwtMjAwIC0zNTB2NDUwaDEwMHEwIDM2IDcgNTcuNXQyMy41IDMwdDI5LjUgMTAuNXQ0MCAyek04MDAgNDAwaDI0MGwtMjQwIC00MDBoLTgwMGwzMDAgNTAwaDUwMHYtMTAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDU7IiBkPSJNNjUwIDExMDBoMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0zMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djEwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMDAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTgwMCBxMCAtNDEgLTI5LjUgLTcwLjV0LTcwLjUgLTI5LjVoLTYwMHEtMSAwIC0yMCA0bDI0NiAyNDZsLTMyNiAzMjZ2MzI0cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXYtMTUwcTAgLTYyIDQ0IC0xMDZ0MTA2IC00NGgzMDBxNjIgMCAxMDYgNDR0NDQgMTA2ek00MTIgMjUwbC0yMTIgLTIxMnYxNjJoLTIwMHYxMDBoMjAwdjE2MnoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjA2OyIgZD0iTTQ1MCAxMTAwaDEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMzAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDUwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNODAwIDg1MHYxNTBxNDEgMCA3MC41IC0yOS41dDI5LjUgLTcwLjV2LTUwMCBoLTIwMHYtMzAwaDIwMHEwIC0zNiAtNyAtNTcuNXQtMjMuNSAtMzB0LTI5LjUgLTEwLjV0LTQwIC0yaC02MDBxLTQxIDAgLTcwLjUgMjkuNXQtMjkuNSA3MC41djgwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV2LTE1MHEwIC02MiA0NCAtMTA2dDEwNiAtNDRoMzAwcTYyIDAgMTA2IDQ0dDQ0IDEwNnpNMTIxMiAyNTBsLTIxMiAtMjEydjE2MmgtMjAwdjEwMGgyMDB2MTYyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMDk7IiBkPSJNNjU4IDExOTdsNjM3IC0xMTA0cTIzIC0zOCA3IC02NS41dC02MCAtMjcuNWgtMTI3NnEtNDQgMCAtNjAgMjcuNXQ3IDY1LjVsNjM3IDExMDRxMjIgMzkgNTQgMzl0NTQgLTM5ek03MDQgODAwaC0yMDhxLTIwIDAgLTMyIC0xNC41dC04IC0zNC41bDU4IC0zMDJxNCAtMjAgMjEuNSAtMzQuNXQzNy41IC0xNC41aDU0cTIwIDAgMzcuNSAxNC41dDIxLjUgMzQuNWw1OCAzMDJxNCAyMCAtOCAzNC41dC0zMiAxNC41ek01MDAgMzAwdi0xMDBoMjAwIHYxMDBoLTIwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjEwOyIgZD0iTTQyNSAxMTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek00MjUgODAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41IHQxNy41IDcuNXpNODI1IDgwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNMjUgNTAwaDI1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTI1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNODI1IDUwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNSB2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXYxNTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDI1IDIwMGgyNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di0xNTBxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0yNTBxLTEwIDAgLTE3LjUgNy41IHQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTgyNSAyMDBoMjUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxMTsiIGQ9Ik03MDAgMTIwMGgxMDB2LTIwMGgtMTAwdi0xMDBoMzUwcTYyIDAgODYuNSAtMzkuNXQtMy41IC05NC41bC02NiAtMTMycS00MSAtODMgLTgxIC0xMzRoLTc3MnEtNDAgNTEgLTgxIDEzNGwtNjYgMTMycS0yOCA1NSAtMy41IDk0LjV0ODYuNSAzOS41aDM1MHYxMDBoLTEwMHYyMDBoMTAwdjEwMGgyMDB2LTEwMHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEybDEzNyAtMTAwIGgtOTUwbDEzOCAxMDBoLTEzcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTI7IiBkPSJNNjAwIDEzMDBxNDAgMCA2OC41IC0yOS41dDI4LjUgLTcwLjVoLTE5NHEwIDQxIDI4LjUgNzAuNXQ2OC41IDI5LjV6TTQ0MyAxMTAwaDMxNHExOCAtMzcgMTggLTc1cTAgLTggLTMgLTI1aDMyOHE0MSAwIDQ0LjUgLTE2LjV0LTMwLjUgLTM4LjVsLTE3NSAtMTQ1aC02NzhsLTE3OCAxNDVxLTM0IDIyIC0yOSAzOC41dDQ2IDE2LjVoMzI4cS0zIDE3IC0zIDI1cTAgMzggMTggNzV6TTI1MCA3MDBoNzAwcTIxIDAgMzUuNSAtMTQuNSB0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTUwdi0yMDBsMjc1IC0yMDBoLTk1MGwyNzUgMjAwdjIwMGgtMTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41ek01MCAxMDBoMTEwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoLTEyMDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMTM7IiBkPSJNNjAwIDExODFxNzUgMCAxMjggLTUzdDUzIC0xMjh0LTUzIC0xMjh0LTEyOCAtNTN0LTEyOCA1M3QtNTMgMTI4dDUzIDEyOHQxMjggNTN6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTMgbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNDsiIGQ9Ik02MDAgMTMwMHE0NyAwIDkyLjUgLTUzLjV0NzEgLTEyM3QyNS41IC0xMjMuNXEwIC03OCAtNTUuNSAtMTMzLjV0LTEzMy41IC01NS41dC0xMzMuNSA1NS41dC01NS41IDEzMy41cTAgNjIgMzQgMTQzbDE0NCAtMTQzbDExMSAxMTFsLTE2MyAxNjNxMzQgMjYgNjMgMjZ6TTYwMiA3OThoNDZxMzQgMCA1NS41IC0yOC41dDIxLjUgLTg2LjVxMCAtNzYgMzkgLTE4M2gtMzI0cTM5IDEwNyAzOSAxODNxMCA1OCAyMS41IDg2LjV0NTYuNSAyOC41aDQ1IHpNMjUwIDQwMGg3MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV0LTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTEzbDEzOCAtMTAwaC05NTBsMTM3IDEwMGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNTsiIGQ9Ik02MDAgMTIwMGwzMDAgLTE2MXYtMTM5aC0zMDBxMCAtNTcgMTguNSAtMTA4dDUwIC05MS41dDYzIC03MnQ3MCAtNjcuNXQ1Ny41IC02MWgtNTMwcS02MCA4MyAtOTAuNSAxNzcuNXQtMzAuNSAxNzguNXQzMyAxNjQuNXQ4Ny41IDEzOS41dDEyNiA5Ni41dDE0NS41IDQxLjV2LTk4ek0yNTAgNDAwaDcwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTNsMTM4IC0xMDBoLTk1MGwxMzcgMTAwIGgtMTJxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6TTUwIDEwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtMTIwMHY1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxNjsiIGQ9Ik02MDAgMTMwMHE0MSAwIDcwLjUgLTI5LjV0MjkuNSAtNzAuNXYtNzhxNDYgLTI2IDczIC03MnQyNyAtMTAwdi01MGgtNDAwdjUwcTAgNTQgMjcgMTAwdDczIDcydjc4cTAgNDEgMjkuNSA3MC41dDcwLjUgMjkuNXpNNDAwIDgwMGg0MDBxNTQgMCAxMDAgLTI3dDcyIC03M2gtMTcydi0xMDBoMjAwdi0xMDBoLTIwMHYtMTAwaDIwMHYtMTAwaC0yMDB2LTEwMGgyMDBxMCAtODMgLTU4LjUgLTE0MS41dC0xNDEuNSAtNTguNWgtNDAwIHEtODMgMCAtMTQxLjUgNTguNXQtNTguNSAxNDEuNXY0MDBxMCA4MyA1OC41IDE0MS41dDE0MS41IDU4LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIxODsiIGQ9Ik0xNTAgMTEwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY1MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0xMjUgNDAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMjgzbDIyNCAtMjI0cTEzIC0xMyAxMyAtMzEuNXQtMTMgLTMyIHQtMzEuNSAtMTMuNXQtMzEuNSAxM2wtODggODhoLTUyNGwtODcgLTg4cS0xMyAtMTMgLTMyIC0xM3QtMzIgMTMuNXQtMTMgMzJ0MTMgMzEuNWwyMjQgMjI0aC0yODlxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41ek01NDEgMzAwbC0xMDAgLTEwMGgzMjRsLTEwMCAxMDBoLTEyNHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjE5OyIgZD0iTTIwMCAxMTAwaDgwMHE4MyAwIDE0MS41IC01OC41dDU4LjUgLTE0MS41di0yMDBoLTEwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNWgtMjUwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41aC0xMDBxMCA0MSAtMjkuNSA3MC41dC03MC41IDI5LjVoLTI1MHEtNDEgMCAtNzAuNSAtMjkuNXQtMjkuNSAtNzAuNWgtMTAwdjIwMHEwIDgzIDU4LjUgMTQxLjV0MTQxLjUgNTguNXpNMTAwIDYwMGgxMDAwcTQxIDAgNzAuNSAtMjkuNSB0MjkuNSAtNzAuNXYtMzAwaC0xMjAwdjMwMHEwIDQxIDI5LjUgNzAuNXQ3MC41IDI5LjV6TTMwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHpNMTEwMCAxMDB2LTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djUwaDIwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjIxOyIgZD0iTTQ4MCAxMTY1bDY4MiAtNjgzcTMxIC0zMSAzMSAtNzUuNXQtMzEgLTc1LjVsLTEzMSAtMTMxaC00ODFsLTUxNyA1MThxLTMyIDMxIC0zMiA3NS41dDMyIDc1LjVsMjk1IDI5NnEzMSAzMSA3NS41IDMxdDc2LjUgLTMxek0xMDggNzk0bDM0MiAtMzQybDMwMyAzMDRsLTM0MSAzNDF6TTI1MCAxMDBoODAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di01MGgtOTAwdjUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjIzOyIgZD0iTTEwNTcgNjQ3bC0xODkgNTA2cS04IDE5IC0yNy41IDMzdC00MC41IDE0aC00MDBxLTIxIDAgLTQwLjUgLTE0dC0yNy41IC0zM2wtMTg5IC01MDZxLTggLTE5IDEuNSAtMzN0MzAuNSAtMTRoNjI1di0xNTBxMCAtMjEgMTQuNSAtMzUuNXQzNS41IC0xNC41dDM1LjUgMTQuNXQxNC41IDM1LjV2MTUwaDEyNXEyMSAwIDMwLjUgMTR0MS41IDMzek04OTcgMGgtNTk1djUwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWg1MHY1MCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDQ4djMwMGgyMDB2LTMwMGg0N3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBoNTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTUweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjQ7IiBkPSJNOTAwIDgwMGgzMDB2LTU3NXEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTM3NXY1OTFsLTMwMCAzMDB2ODRxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNMTIwMCA5MDBoLTIwMHYyMDB6TTQwMCA2MDBoMzAwdi01NzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC02NTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY5NTBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgzNzV2LTQwMHpNNzAwIDcwMGgtMjAwdjIwMHogIiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIyNTsiIGQ9Ik00ODQgMTA5NWgxOTVxNzUgMCAxNDYgLTMyLjV0MTI0IC04NnQ4OS41IC0xMjIuNXQ0OC41IC0xNDJxMTggLTE0IDM1IC0yMHEzMSAtMTAgNjQuNSA2LjV0NDMuNSA0OC41cTEwIDM0IC0xNSA3MXEtMTkgMjcgLTkgNDNxNSA4IDEyLjUgMTF0MTkgLTF0MjMuNSAtMTZxNDEgLTQ0IDM5IC0xMDVxLTMgLTYzIC00NiAtMTA2LjV0LTEwNCAtNDMuNWgtNjJxLTcgLTU1IC0zNSAtMTE3dC01NiAtMTAwbC0zOSAtMjM0cS0zIC0yMCAtMjAgLTM0LjUgdC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMTIgNzBxLTQ5IC0xNCAtOTEgLTE0aC0xOTVxLTI0IDAgLTY1IDhsLTExIC02NHEtMyAtMjAgLTIwIC0zNC41dC0zOCAtMTQuNWgtMTAwcS0yMSAwIC0zMyAxNC41dC05IDM0LjVsMjYgMTU3cS04NCA3NCAtMTI4IDE3NWwtMTU5IDUzcS0xOSA3IC0zMyAyNnQtMTQgNDB2NTBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDEyNHExMSA4NyA1NiAxNjZsLTExMSA5NSBxLTE2IDE0IC0xMi41IDIzLjV0MjQuNSA5LjVoMjAzcTExNiAxMDEgMjUwIDEwMXpNNjc1IDEwMDBoLTI1MHEtMTAgMCAtMTcuNSAtNy41dC03LjUgLTE3LjV2LTUwcTAgLTEwIDcuNSAtMTcuNXQxNy41IC03LjVoMjUwcTEwIDAgMTcuNSA3LjV0Ny41IDE3LjV2NTBxMCAxMCAtNy41IDE3LjV0LTE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMjY7IiBkPSJNNjQxIDkwMGw0MjMgMjQ3cTE5IDggNDIgMi41dDM3IC0yMS41bDMyIC0zOHExNCAtMTUgMTIuNSAtMzZ0LTE3LjUgLTM0bC0xMzkgLTEyMGgtMzkwek01MCAxMTAwaDEwNnE2NyAwIDEwMyAtMTd0NjYgLTcxbDEwMiAtMjEyaDgyM3EyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNTBxMCAtMjEgLTE0IC00MHQtMzMgLTI2bC03MzcgLTEzMnEtMjMgLTQgLTQwIDZ0LTI2IDI1cS00MiA2NyAtMTAwIDY3aC0zMDBxLTYyIDAgLTEwNiA0NCB0LTQ0IDEwNnYyMDBxMCA2MiA0NCAxMDZ0MTA2IDQ0ek0xNzMgOTI4aC04MHEtMTkgMCAtMjggLTE0dC05IC0zNXYtNTZxMCAtNTEgNDIgLTUxaDEzNHExNiAwIDIxLjUgOHQ1LjUgMjRxMCAxMSAtMTYgNDV0LTI3IDUxcS0xOCAyOCAtNDMgMjh6TTU1MCA3MjdxLTMyIDAgLTU0LjUgLTIyLjV0LTIyLjUgLTU0LjV0MjIuNSAtNTQuNXQ1NC41IC0yMi41dDU0LjUgMjIuNXQyMi41IDU0LjV0LTIyLjUgNTQuNXQtNTQuNSAyMi41ek0xMzAgMzg5IGwxNTIgMTMwcTE4IDE5IDM0IDI0dDMxIC0zLjV0MjQuNSAtMTcuNXQyNS41IC0yOHEyOCAtMzUgNTAuNSAtNTF0NDguNSAtMTNsNjMgNWw0OCAtMTc5cTEzIC02MSAtMy41IC05Ny41dC02Ny41IC03OS41bC04MCAtNjlxLTQ3IC00MCAtMTA5IC0zNS41dC0xMDMgNTEuNWwtMTMwIDE1MXEtNDAgNDcgLTM1LjUgMTA5LjV0NTEuNSAxMDIuNXpNMzgwIDM3N2wtMTAyIC04OHEtMzEgLTI3IDIgLTY1bDM3IC00M3ExMyAtMTUgMjcuNSAtMTkuNSB0MzEuNSA2LjVsNjEgNTNxMTkgMTYgMTQgNDlxLTIgMjAgLTEyIDU2dC0xNyA0NXEtMTEgMTIgLTE5IDE0dC0yMyAtOHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjI3OyIgZD0iTTYyNSAxMjAwaDE1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTEwOXE3OSAtMzMgMTMxIC04Ny41dDUzIC0xMjguNXExIC00NiAtMTUgLTg0LjV0LTM5IC02MXQtNDYgLTM4dC0zOSAtMjEuNWwtMTcgLTZxNiAwIDE1IC0xLjV0MzUgLTl0NTAgLTE3LjV0NTMgLTMwdDUwIC00NXQzNS41IC02NHQxNC41IC04NHEwIC01OSAtMTEuNSAtMTA1LjV0LTI4LjUgLTc2LjV0LTQ0IC01MXQtNDkuNSAtMzEuNXQtNTQuNSAtMTZ0LTQ5LjUgLTYuNSB0LTQzLjUgLTF2LTc1cTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtMTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2NzVoLTEwMHYtNzVxMCAtMTAgLTcuNSAtMTcuNXQtMTcuNSAtNy41aC0xNTBxLTEwIDAgLTE3LjUgNy41dC03LjUgMTcuNXY3NWgtMTc1cS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjVoNzV2NjAwaC03NXEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MCBxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNzV2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNWgxNTBxMTAgMCAxNy41IC03LjV0Ny41IC0xNy41di03NWgxMDB2NzVxMCAxMCA3LjUgMTcuNXQxNy41IDcuNXpNNDAwIDkwMHYtMjAwaDI2M3EyOCAwIDQ4LjUgMTAuNXQzMCAyNXQxNSAyOXQ1LjUgMjUuNWwxIDEwcTAgNCAtMC41IDExdC02IDI0dC0xNSAzMHQtMzAgMjR0LTQ4LjUgMTFoLTI2M3pNNDAwIDUwMHYtMjAwaDM2M3EyOCAwIDQ4LjUgMTAuNSB0MzAgMjV0MTUgMjl0NS41IDI1LjVsMSAxMHEwIDQgLTAuNSAxMXQtNiAyNHQtMTUgMzB0LTMwIDI0dC00OC41IDExaC0zNjN6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMDsiIGQ9Ik0yMTIgMTE5OGg3ODBxODYgMCAxNDcgLTYxdDYxIC0xNDd2LTQxNnEwIC01MSAtMTggLTE0Mi41dC0zNiAtMTU3LjVsLTE4IC02NnEtMjkgLTg3IC05My41IC0xNDYuNXQtMTQ2LjUgLTU5LjVoLTU3MnEtODIgMCAtMTQ3IDU5dC05MyAxNDdxLTggMjggLTIwIDczdC0zMiAxNDMuNXQtMjAgMTQ5LjV2NDE2cTAgODYgNjEgMTQ3dDE0NyA2MXpNNjAwIDEwNDVxLTcwIDAgLTEzMi41IC0xMS41dC0xMDUuNSAtMzAuNXQtNzguNSAtNDEuNSB0LTU3IC00NXQtMzYgLTQxdC0yMC41IC0zMC41bC02IC0xMmwxNTYgLTI0M2g1NjBsMTU2IDI0M3EtMiA1IC02IDEyLjV0LTIwIDI5LjV0LTM2LjUgNDJ0LTU3IDQ0LjV0LTc5IDQydC0xMDUgMjkuNXQtMTMyLjUgMTJ6TTc2MiA3MDNoLTE1N2wxOTUgMjYxeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzE7IiBkPSJNNDc1IDEzMDBoMTUwcTEwMyAwIDE4OSAtODZ0ODYgLTE4OXYtNTAwcTAgLTQxIC00MiAtODN0LTgzIC00MmgtNDUwcS00MSAwIC04MyA0MnQtNDIgODN2NTAwcTAgMTAzIDg2IDE4OXQxODkgODZ6TTcwMCAzMDB2LTIyNXEwIC0yMSAtMjcgLTQ4dC00OCAtMjdoLTE1MHEtMjEgMCAtNDggMjd0LTI3IDQ4djIyNWgzMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzMjsiIGQ9Ik00NzUgMTMwMGg5NnEwIC0xNTAgODkuNSAtMjM5LjV0MjM5LjUgLTg5LjV2LTQ0NnEwIC00MSAtNDIgLTgzdC04MyAtNDJoLTQ1MHEtNDEgMCAtODMgNDJ0LTQyIDgzdjUwMHEwIDEwMyA4NiAxODl0MTg5IDg2ek03MDAgMzAwdi0yMjVxMCAtMjEgLTI3IC00OHQtNDggLTI3aC0xNTBxLTIxIDAgLTQ4IDI3dC0yNyA0OHYyMjVoMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzM7IiBkPSJNMTI5NCA3NjdsLTYzOCAtMjgzbC0zNzggMTcwbC03OCAtNjB2LTIyNGwxMDAgLTE1MHYtMTk5bC0xNTAgMTQ4bC0xNTAgLTE0OXYyMDBsMTAwIDE1MHYyNTBxMCA0IC0wLjUgMTAuNXQwIDkuNXQxIDh0MyA4dDYuNSA2bDQ3IDQwbC0xNDcgNjVsNjQyIDI4M3pNMTAwMCAzODBsLTM1MCAtMTY2bC0zNTAgMTY2djE0N2wzNTAgLTE2NWwzNTAgMTY1di0xNDd6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzNDsiIGQ9Ik0yNTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek02NTAgODAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek0xMDUwIDgwMHE2MiAwIDEwNiAtNDR0NDQgLTEwNnQtNDQgLTEwNnQtMTA2IC00NHQtMTA2IDQ0dC00NCAxMDZ0NDQgMTA2dDEwNiA0NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjM1OyIgZD0iTTU1MCAxMTAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgNzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0ek01NTAgMzAwcTYyIDAgMTA2IC00NHQ0NCAtMTA2dC00NCAtMTA2dC0xMDYgLTQ0dC0xMDYgNDR0LTQ0IDEwNnQ0NCAxMDZ0MTA2IDQ0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzY7IiBkPSJNMTI1IDExMDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjV0MTcuNSA3LjV6TTEyNSA3MDBoOTUwcTEwIDAgMTcuNSAtNy41dDcuNSAtMTcuNXYtMTUwcTAgLTEwIC03LjUgLTE3LjV0LTE3LjUgLTcuNWgtOTUwcS0xMCAwIC0xNy41IDcuNXQtNy41IDE3LjV2MTUwcTAgMTAgNy41IDE3LjUgdDE3LjUgNy41ek0xMjUgMzAwaDk1MHExMCAwIDE3LjUgLTcuNXQ3LjUgLTE3LjV2LTE1MHEwIC0xMCAtNy41IC0xNy41dC0xNy41IC03LjVoLTk1MHEtMTAgMCAtMTcuNSA3LjV0LTcuNSAxNy41djE1MHEwIDEwIDcuNSAxNy41dDE3LjUgNy41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzc7IiBkPSJNMzUwIDEyMDBoNTAwcTE2MiAwIDI1NiAtOTMuNXQ5NCAtMjU2LjV2LTUwMHEwIC0xNjUgLTkzLjUgLTI1Ny41dC0yNTYuNSAtOTIuNWgtNTAwcS0xNjUgMCAtMjU3LjUgOTIuNXQtOTIuNSAyNTcuNXY1MDBxMCAxNjUgOTIuNSAyNTcuNXQyNTcuNSA5Mi41ek05MDAgMTAwMGgtNjAwcS00MSAwIC03MC41IC0yOS41dC0yOS41IC03MC41di02MDBxMCAtNDEgMjkuNSAtNzAuNXQ3MC41IC0yOS41aDYwMHE0MSAwIDcwLjUgMjkuNSB0MjkuNSA3MC41djYwMHEwIDQxIC0yOS41IDcwLjV0LTcwLjUgMjkuNXpNMzUwIDkwMGg1MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTMwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYzMDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek00MDAgODAwdi0yMDBoNDAwdjIwMGgtNDAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyMzg7IiBkPSJNMTUwIDExMDBoMTAwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNTB2LTIwMGg1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXQtMTQuNSAtMzUuNSB0LTM1LjUgLTE0LjVoLTEwMDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjVoNTB2MjAwaC01MHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV0MTQuNSAzNS41dDM1LjUgMTQuNWg1MHYyMDBoLTUwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXQxNC41IDM1LjV0MzUuNSAxNC41aDUwdjIwMGgtNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41dDE0LjUgMzUuNXQzNS41IDE0LjV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTIzOTsiIGQ9Ik02NTAgMTE4N3E4NyAtNjcgMTE4LjUgLTE1NnQwIC0xNzh0LTExOC41IC0xNTVxLTg3IDY2IC0xMTguNSAxNTV0MCAxNzh0MTE4LjUgMTU2ek0zMDAgODAwcTEyNCAwIDIxMiAtODh0ODggLTIxMnEtMTI0IDAgLTIxMiA4OHQtODggMjEyek0xMDAwIDgwMHEwIC0xMjQgLTg4IC0yMTJ0LTIxMiAtODhxMCAxMjQgODggMjEydDIxMiA4OHpNMzAwIDUwMHExMjQgMCAyMTIgLTg4dDg4IC0yMTJxLTEyNCAwIC0yMTIgODh0LTg4IDIxMnogTTEwMDAgNTAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek03MDAgMTk5di0xNDRxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjV0LTM1LjUgMTQuNXQtMTQuNSAzNS41djE0MnE0MCAtNCA0MyAtNHExNyAwIDU3IDZ6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0MDsiIGQ9Ik03NDUgODc4bDY5IDE5cTI1IDYgNDUgLTEybDI5OCAtMjk1cTExIC0xMSAxNSAtMjYuNXQtMiAtMzAuNXEtNSAtMTQgLTE4IC0yMy41dC0yOCAtOS41aC04cTEgMCAxIC0xM3EwIC0yOSAtMiAtNTZ0LTguNSAtNjJ0LTIwIC02M3QtMzMgLTUzdC01MSAtMzl0LTcyLjUgLTE0aC0xNDZxLTE4NCAwIC0xODQgMjg4cTAgMjQgMTAgNDdxLTIwIDQgLTYyIDR0LTYzIC00cTExIC0yNCAxMSAtNDdxMCAtMjg4IC0xODQgLTI4OGgtMTQyIHEtNDggMCAtODQuNSAyMXQtNTYgNTF0LTMyIDcxLjV0LTE2IDc1dC0zLjUgNjguNXEwIDEzIDIgMTNoLTdxLTE1IDAgLTI3LjUgOS41dC0xOC41IDIzLjVxLTYgMTUgLTIgMzAuNXQxNSAyNS41bDI5OCAyOTZxMjAgMTggNDYgMTFsNzYgLTE5cTIwIC01IDMwLjUgLTIyLjV0NS41IC0zNy41dC0yMi41IC0zMXQtMzcuNSAtNWwtNTEgMTJsLTE4MiAtMTkzaDg5MWwtMTgyIDE5M2wtNDQgLTEycS0yMCAtNSAtMzcuNSA2dC0yMi41IDMxdDYgMzcuNSB0MzEgMjIuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQxOyIgZD0iTTEyMDAgOTAwaC01MHEwIDIxIC00IDM3dC05LjUgMjYuNXQtMTggMTcuNXQtMjIgMTF0LTI4LjUgNS41dC0zMSAydC0zNyAwLjVoLTIwMHYtODUwcTAgLTIyIDI1IC0zNC41dDUwIC0xMy41bDI1IC0ydi0xMDBoLTQwMHYxMDBxNCAwIDExIDAuNXQyNCAzdDMwIDd0MjQgMTV0MTEgMjQuNXY4NTBoLTIwMHEtMjUgMCAtMzcgLTAuNXQtMzEgLTJ0LTI4LjUgLTUuNXQtMjIgLTExdC0xOCAtMTcuNXQtOS41IC0yNi41dC00IC0zN2gtNTB2MzAwIGgxMDAwdi0zMDB6TTUwMCA0NTBoLTI1cTAgMTUgLTQgMjQuNXQtOSAxNC41dC0xNyA3LjV0LTIwIDN0LTI1IDAuNWgtMTAwdi00MjVxMCAtMTEgMTIuNSAtMTcuNXQyNS41IC03LjVoMTJ2LTUwaC0yMDB2NTBxNTAgMCA1MCAyNXY0MjVoLTEwMHEtMTcgMCAtMjUgLTAuNXQtMjAgLTN0LTE3IC03LjV0LTkgLTE0LjV0LTQgLTI0LjVoLTI1djE1MGg1MDB2LTE1MHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQyOyIgZD0iTTEwMDAgMzAwdjUwcS0yNSAwIC01NSAzMnEtMTQgMTQgLTI1IDMxdC0xNiAyN2wtNCAxMWwtMjg5IDc0N2gtNjlsLTMwMCAtNzU0cS0xOCAtMzUgLTM5IC01NnEtOSAtOSAtMjQuNSAtMTguNXQtMjYuNSAtMTQuNWwtMTEgLTV2LTUwaDI3M3Y1MHEtNDkgMCAtNzguNSAyMS41dC0xMS41IDY3LjVsNjkgMTc2aDI5M2w2MSAtMTY2cTEzIC0zNCAtMy41IC02Ni41dC01NS41IC0zMi41di01MGgzMTJ6TTQxMiA2OTFsMTM0IDM0MmwxMjEgLTM0MiBoLTI1NXpNMTEwMCAxNTB2LTEwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtMTAwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2MTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNWgxMDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDM7IiBkPSJNNTAgMTIwMGgxMTAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xMTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xMTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXYxMTAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjExIDExMThoLTcwcS0xMyAwIC0xOCAtMTJsLTI5OSAtNzUzcS0xNyAtMzIgLTM1IC01MXEtMTggLTE4IC01NiAtMzRxLTEyIC01IC0xMiAtMTh2LTUwcTAgLTggNS41IC0xNHQxNC41IC02IGgyNzNxOCAwIDE0IDZ0NiAxNHY1MHEwIDggLTYgMTR0LTE0IDZxLTU1IDAgLTcxIDIzcS0xMCAxNCAwIDM5bDYzIDE2M2gyNjZsNTcgLTE1M3ExMSAtMzEgLTYgLTU1cS0xMiAtMTcgLTM2IC0xN3EtOCAwIC0xNCAtNnQtNiAtMTR2LTUwcTAgLTggNiAtMTR0MTQgLTZoMzEzcTggMCAxNCA2dDYgMTR2NTBxMCA3IC01LjUgMTN0LTEzLjUgN3EtMTcgMCAtNDIgMjVxLTI1IDI3IC00MCA2M2gtMWwtMjg4IDc0OHEtNSAxMiAtMTkgMTJ6TTYzOSA2MTEgaC0xOTdsMTAzIDI2NHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQ0OyIgZD0iTTEyMDAgMTEwMGgtMTIwMHYxMDBoMTIwMHYtMTAwek01MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtOTAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djkwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTY1MCAxMDAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDAgcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgOTAwdi0zMDBoMzAwdjMwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNDU7IiBkPSJNNTAgMTIwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTkwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY5MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek02NTAgNzAwaDQwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMCBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek03MDAgNjAwdi0zMDBoMzAwdjMwMGgtMzAwek0xMjAwIDBoLTEyMDB2MTAwaDEyMDB2LTEwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQ2OyIgZD0iTTUwIDEwMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0zNTBoMTAwdjE1MHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di0xNTBoMTAwdi0xMDBoLTEwMHYtMTUwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC00MDBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djE1MGgtMTAwdi0zNTBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMCBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djgwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTcwMCA3MDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0NzsiIGQ9Ik0xMDAgMGgtMTAwdjEyMDBoMTAwdi0xMjAwek0yNTAgMTEwMGg0MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtNDAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41ek0zMDAgMTAwMHYtMzAwaDMwMHYzMDBoLTMwMHpNMjUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjQ4OyIgZD0iTTYwMCAxMTAwaDE1MHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTEwMGg0NTBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMHEwIC0yMSAtMTQuNSAtMzUuNXQtMzUuNSAtMTQuNWgtOTAwcS0yMSAwIC0zNS41IDE0LjV0LTE0LjUgMzUuNXY0MDBxMCAyMSAxNC41IDM1LjV0MzUuNSAxNC41aDM1MHYxMDBoLTE1MHEtMjEgMCAtMzUuNSAxNC41IHQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjVoMTUwdjEwMGgxMDB2LTEwMHpNNDAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI0OTsiIGQ9Ik0xMjAwIDBoLTEwMHYxMjAwaDEwMHYtMTIwMHpNNTUwIDExMDBoNDAwcTIxIDAgMzUuNSAtMTQuNXQxNC41IC0zNS41di00MDBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTQwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXpNNjAwIDEwMDB2LTMwMGgzMDB2MzAwaC0zMDB6TTUwIDUwMGg5MDBxMjEgMCAzNS41IC0xNC41dDE0LjUgLTM1LjV2LTQwMCBxMCAtMjEgLTE0LjUgLTM1LjV0LTM1LjUgLTE0LjVoLTkwMHEtMjEgMCAtMzUuNSAxNC41dC0xNC41IDM1LjV2NDAwcTAgMjEgMTQuNSAzNS41dDM1LjUgMTQuNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjUwOyIgZD0iTTg2NSA1NjVsLTQ5NCAtNDk0cS0yMyAtMjMgLTQxIC0yM3EtMTQgMCAtMjIgMTMuNXQtOCAzOC41djEwMDBxMCAyNSA4IDM4LjV0MjIgMTMuNXExOCAwIDQxIC0yM2w0OTQgLTQ5NHExNCAtMTQgMTQgLTM1dC0xNCAtMzV6IiAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTI1MTsiIGQ9Ik0zMzUgNjM1bDQ5NCA0OTRxMjkgMjkgNTAgMjAuNXQyMSAtNDkuNXYtMTAwMHEwIC00MSAtMjEgLTQ5LjV0LTUwIDIwLjVsLTQ5NCA0OTRxLTE0IDE0IC0xNCAzNXQxNCAzNXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjUyOyIgZD0iTTEwMCA5MDBoMTAwMHE0MSAwIDQ5LjUgLTIxdC0yMC41IC01MGwtNDk0IC00OTRxLTE0IC0xNCAtMzUgLTE0dC0zNSAxNGwtNDk0IDQ5NHEtMjkgMjkgLTIwLjUgNTB0NDkuNSAyMXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjUzOyIgZD0iTTYzNSA4NjVsNDk0IC00OTRxMjkgLTI5IDIwLjUgLTUwdC00OS41IC0yMWgtMTAwMHEtNDEgMCAtNDkuNSAyMXQyMC41IDUwbDQ5NCA0OTRxMTQgMTQgMzUgMTR0MzUgLTE0eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTQ7IiBkPSJNNzAwIDc0MXYtMTgybC02OTIgLTMyM3YyMjFsNDEzIDE5M2wtNDEzIDE5M3YyMjF6TTEyMDAgMGgtODAwdjIwMGg4MDB2LTIwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU1OyIgZD0iTTEyMDAgOTAwaC0yMDB2LTEwMGgyMDB2LTEwMGgtMzAwdjMwMGgyMDB2MTAwaC0yMDB2MTAwaDMwMHYtMzAwek0wIDcwMGg1MHEwIDIxIDQgMzd0OS41IDI2LjV0MTggMTcuNXQyMiAxMXQyOC41IDUuNXQzMSAydDM3IDAuNWgxMDB2LTU1MHEwIC0yMiAtMjUgLTM0LjV0LTUwIC0xMy41bC0yNSAtMnYtMTAwaDQwMHYxMDBxLTQgMCAtMTEgMC41dC0yNCAzdC0zMCA3dC0yNCAxNXQtMTEgMjQuNXY1NTBoMTAwcTI1IDAgMzcgLTAuNXQzMSAtMiB0MjguNSAtNS41dDIyIC0xMXQxOCAtMTcuNXQ5LjUgLTI2LjV0NCAtMzdoNTB2MzAwaC04MDB2LTMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU2OyIgZD0iTTgwMCA3MDBoLTUwcTAgMjEgLTQgMzd0LTkuNSAyNi41dC0xOCAxNy41dC0yMiAxMXQtMjguNSA1LjV0LTMxIDJ0LTM3IDAuNWgtMTAwdi01NTBxMCAtMjIgMjUgLTM0LjV0NTAgLTE0LjVsMjUgLTF2LTEwMGgtNDAwdjEwMHE0IDAgMTEgMC41dDI0IDN0MzAgN3QyNCAxNXQxMSAyNC41djU1MGgtMTAwcS0yNSAwIC0zNyAtMC41dC0zMSAtMnQtMjguNSAtNS41dC0yMiAtMTF0LTE4IC0xNy41dC05LjUgLTI2LjV0LTQgLTM3aC01MHYzMDAgaDgwMHYtMzAwek0xMTAwIDIwMGgtMjAwdi0xMDBoMjAwdi0xMDBoLTMwMHYzMDBoMjAwdjEwMGgtMjAwdjEwMGgzMDB2LTMwMHoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU3OyIgZD0iTTcwMSAxMDk4aDE2MHExNiAwIDIxIC0xMXQtNyAtMjNsLTQ2NCAtNDY0bDQ2NCAtNDY0cTEyIC0xMiA3IC0yM3QtMjEgLTExaC0xNjBxLTEzIDAgLTIzIDlsLTQ3MSA0NzFxLTcgOCAtNyAxOHQ3IDE4bDQ3MSA0NzFxMTAgOSAyMyA5eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUyNTg7IiBkPSJNMzM5IDEwOThoMTYwcTEzIDAgMjMgLTlsNDcxIC00NzFxNyAtOCA3IC0xOHQtNyAtMThsLTQ3MSAtNDcxcS0xMCAtOSAtMjMgLTloLTE2MHEtMTYgMCAtMjEgMTF0NyAyM2w0NjQgNDY0bC00NjQgNDY0cS0xMiAxMiAtNyAyM3QyMSAxMXoiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjU5OyIgZD0iTTEwODcgODgycTExIC01IDExIC0yMXYtMTYwcTAgLTEzIC05IC0yM2wtNDcxIC00NzFxLTggLTcgLTE4IC03dC0xOCA3bC00NzEgNDcxcS05IDEwIC05IDIzdjE2MHEwIDE2IDExIDIxdDIzIC03bDQ2NCAtNDY0bDQ2NCA0NjRxMTIgMTIgMjMgN3oiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMjYwOyIgZD0iTTYxOCA5OTNsNDcxIC00NzFxOSAtMTAgOSAtMjN2LTE2MHEwIC0xNiAtMTEgLTIxdC0yMyA3bC00NjQgNDY0bC00NjQgLTQ2NHEtMTIgLTEyIC0yMyAtN3QtMTEgMjF2MTYwcTAgMTMgOSAyM2w0NzEgNDcxcTggNyAxOCA3dDE4IC03eiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGY4ZmY7IiBkPSJNMTAwMCAxMjAwcTAgLTEyNCAtODggLTIxMnQtMjEyIC04OHEwIDEyNCA4OCAyMTJ0MjEyIDg4ek00NTAgMTAwMGgxMDBxMjEgMCA0MCAtMTR0MjYgLTMzbDc5IC0xOTRxNSAxIDE2IDNxMzQgNiA1NCA5LjV0NjAgN3Q2NS41IDF0NjEgLTEwdDU2LjUgLTIzdDQyLjUgLTQydDI5IC02NHQ1IC05MnQtMTkuNSAtMTIxLjVxLTEgLTcgLTMgLTE5LjV0LTExIC01MHQtMjAuNSAtNzN0LTMyLjUgLTgxLjV0LTQ2LjUgLTgzdC02NCAtNzAgdC04Mi41IC01MHEtMTMgLTUgLTQyIC01dC02NS41IDIuNXQtNDcuNSAyLjVxLTE0IDAgLTQ5LjUgLTMuNXQtNjMgLTMuNXQtNDMuNSA3cS01NyAyNSAtMTA0LjUgNzguNXQtNzUgMTExLjV0LTQ2LjUgMTEydC0yNiA5MGwtNyAzNXEtMTUgNjMgLTE4IDExNXQ0LjUgODguNXQyNiA2NHQzOS41IDQzLjV0NTIgMjUuNXQ1OC41IDEzdDYyLjUgMnQ1OS41IC00LjV0NTUuNSAtOGwtMTQ3IDE5MnEtMTIgMTggLTUuNSAzMHQyNy41IDEyeiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNTExOyIgZD0iTTI1MCAxMjAwaDYwMHEyMSAwIDM1LjUgLTE0LjV0MTQuNSAtMzUuNXYtNDAwcTAgLTIxIC0xNC41IC0zNS41dC0zNS41IC0xNC41aC0xNTB2LTUwMGwtMjU1IC0xNzhxLTE5IC05IC0zMiAtMXQtMTMgMjl2NjUwaC0xNTBxLTIxIDAgLTM1LjUgMTQuNXQtMTQuNSAzNS41djQwMHEwIDIxIDE0LjUgMzUuNXQzNS41IDE0LjV6TTQwMCAxMTAwdi0xMDBoMzAwdjEwMGgtMzAweiIgLz4KPGdseXBoIHVuaWNvZGU9IiYjeDFmNmFhOyIgZD0iTTI1MCAxMjAwaDc1MHEzOSAwIDY5LjUgLTQwLjV0MzAuNSAtODQuNXYtOTMzbC03MDAgLTExN3Y5NTBsNjAwIDEyNWgtNzAwdi0xMDAwaC0xMDB2MTAyNXEwIDIzIDE1LjUgNDl0MzQuNSAyNnpNNTAwIDUyNXYtMTAwbDEwMCAyMHYxMDB6IiAvPgo8L2ZvbnQ+CjwvZGVmcz48L3N2Zz4g"
|
20900 |
+
|
20901 |
+
/***/ }),
|
20902 |
+
/* 273 */
|
20903 |
+
/***/ (function(module, exports) {
|
20904 |
+
|
20905 |
+
|
20906 |
+
/**
|
20907 |
+
* When source maps are enabled, `style-loader` uses a link element with a data-uri to
|
20908 |
+
* embed the css on the page. This breaks all relative urls because now they are relative to a
|
20909 |
+
* bundle instead of the current page.
|
20910 |
+
*
|
20911 |
+
* One solution is to only use full urls, but that may be impossible.
|
20912 |
+
*
|
20913 |
+
* Instead, this function "fixes" the relative urls to be absolute according to the current page location.
|
20914 |
+
*
|
20915 |
+
* A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.
|
20916 |
+
*
|
20917 |
+
*/
|
20918 |
+
|
20919 |
+
module.exports = function (css) {
|
20920 |
+
// get current location
|
20921 |
+
var location = typeof window !== "undefined" && window.location;
|
20922 |
+
|
20923 |
+
if (!location) {
|
20924 |
+
throw new Error("fixUrls requires window.location");
|
20925 |
+
}
|
20926 |
+
|
20927 |
+
// blank or null?
|
20928 |
+
if (!css || typeof css !== "string") {
|
20929 |
+
return css;
|
20930 |
+
}
|
20931 |
+
|
20932 |
+
var baseUrl = location.protocol + "//" + location.host;
|
20933 |
+
var currentDir = baseUrl + location.pathname.replace(/\/[^\/]*$/, "/");
|
20934 |
+
|
20935 |
+
// convert each url(...)
|
20936 |
+
/*
|
20937 |
+
This regular expression is just a way to recursively match brackets within
|
20938 |
+
a string.
|
20939 |
+
/url\s*\( = Match on the word "url" with any whitespace after it and then a parens
|
20940 |
+
( = Start a capturing group
|
20941 |
+
(?: = Start a non-capturing group
|
20942 |
+
[^)(] = Match anything that isn't a parentheses
|
20943 |
+
| = OR
|
20944 |
+
\( = Match a start parentheses
|
20945 |
+
(?: = Start another non-capturing groups
|
20946 |
+
[^)(]+ = Match anything that isn't a parentheses
|
20947 |
+
| = OR
|
20948 |
+
\( = Match a start parentheses
|
20949 |
+
[^)(]* = Match anything that isn't a parentheses
|
20950 |
+
\) = Match a end parentheses
|
20951 |
+
) = End Group
|
20952 |
+
*\) = Match anything and then a close parens
|
20953 |
+
) = Close non-capturing group
|
20954 |
+
* = Match anything
|
20955 |
+
) = Close capturing group
|
20956 |
+
\) = Match a close parens
|
20957 |
+
/gi = Get all matches, not the first. Be case insensitive.
|
20958 |
+
*/
|
20959 |
+
var fixedCss = css.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function (fullMatch, origUrl) {
|
20960 |
+
// strip quotes (if they exist)
|
20961 |
+
var unquotedOrigUrl = origUrl.trim().replace(/^"(.*)"$/, function (o, $1) {
|
20962 |
+
return $1;
|
20963 |
+
}).replace(/^'(.*)'$/, function (o, $1) {
|
20964 |
+
return $1;
|
20965 |
+
});
|
20966 |
+
|
20967 |
+
// already a full url? no change
|
20968 |
+
if (/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/)/i.test(unquotedOrigUrl)) {
|
20969 |
+
return fullMatch;
|
20970 |
+
}
|
20971 |
+
|
20972 |
+
// convert the url to a full url
|
20973 |
+
var newUrl;
|
20974 |
+
|
20975 |
+
if (unquotedOrigUrl.indexOf("//") === 0) {
|
20976 |
+
//TODO: should we add protocol?
|
20977 |
+
newUrl = unquotedOrigUrl;
|
20978 |
+
} else if (unquotedOrigUrl.indexOf("/") === 0) {
|
20979 |
+
// path should be relative to the base url
|
20980 |
+
newUrl = baseUrl + unquotedOrigUrl; // already starts with '/'
|
20981 |
+
} else {
|
20982 |
+
// path should be relative to current directory
|
20983 |
+
newUrl = currentDir + unquotedOrigUrl.replace(/^\.\//, ""); // Strip leading './'
|
20984 |
+
}
|
20985 |
+
|
20986 |
+
// send back the fixed url(...)
|
20987 |
+
return "url(" + JSON.stringify(newUrl) + ")";
|
20988 |
+
});
|
20989 |
+
|
20990 |
+
// send back the fixed css
|
20991 |
+
return fixedCss;
|
20992 |
+
};
|
20993 |
+
|
20994 |
+
/***/ }),
|
20995 |
+
/* 274 */
|
20996 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
20997 |
+
|
20998 |
+
"use strict";
|
20999 |
+
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
21000 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__AppBar__ = __webpack_require__(275);
|
21001 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__AppBar___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__AppBar__);
|
21002 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "AppBar", function() { return __WEBPACK_IMPORTED_MODULE_0__AppBar___default.a; });
|
21003 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__AutoComplete__ = __webpack_require__(345);
|
21004 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__AutoComplete___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__AutoComplete__);
|
21005 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "AutoComplete", function() { return __WEBPACK_IMPORTED_MODULE_1__AutoComplete___default.a; });
|
21006 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Avatar__ = __webpack_require__(180);
|
21007 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Avatar___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__Avatar__);
|
21008 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "Avatar", function() { return __WEBPACK_IMPORTED_MODULE_2__Avatar___default.a; });
|
21009 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Badge__ = __webpack_require__(363);
|
21010 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Badge___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__Badge__);
|
21011 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "Badge", function() { return __WEBPACK_IMPORTED_MODULE_3__Badge___default.a; });
|
21012 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__BottomNavigation__ = __webpack_require__(365);
|
21013 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__BottomNavigation___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__BottomNavigation__);
|
21014 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "BottomNavigation", function() { return __WEBPACK_IMPORTED_MODULE_4__BottomNavigation___default.a; });
|
21015 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__BottomNavigation_BottomNavigationItem__ = __webpack_require__(181);
|
21016 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__BottomNavigation_BottomNavigationItem___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__BottomNavigation_BottomNavigationItem__);
|
21017 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "BottomNavigationItem", function() { return __WEBPACK_IMPORTED_MODULE_5__BottomNavigation_BottomNavigationItem___default.a; });
|
21018 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Card__ = __webpack_require__(367);
|
21019 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Card___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__Card__);
|
21020 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "Card", function() { return __WEBPACK_IMPORTED_MODULE_6__Card___default.a; });
|
21021 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Card_CardActions__ = __webpack_require__(187);
|
21022 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Card_CardActions___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7__Card_CardActions__);
|
21023 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "CardActions", function() { return __WEBPACK_IMPORTED_MODULE_7__Card_CardActions___default.a; });
|
21024 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Card_CardHeader__ = __webpack_require__(183);
|
21025 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Card_CardHeader___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__Card_CardHeader__);
|
21026 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "CardHeader", function() { return __WEBPACK_IMPORTED_MODULE_8__Card_CardHeader___default.a; });
|
21027 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__Card_CardMedia__ = __webpack_require__(185);
|
21028 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__Card_CardMedia___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9__Card_CardMedia__);
|
21029 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "CardMedia", function() { return __WEBPACK_IMPORTED_MODULE_9__Card_CardMedia___default.a; });
|
21030 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__Card_CardTitle__ = __webpack_require__(184);
|
21031 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__Card_CardTitle___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__Card_CardTitle__);
|
21032 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "CardTitle", function() { return __WEBPACK_IMPORTED_MODULE_10__Card_CardTitle___default.a; });
|
21033 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__Card_CardText__ = __webpack_require__(186);
|
21034 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__Card_CardText___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11__Card_CardText__);
|
21035 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "CardText", function() { return __WEBPACK_IMPORTED_MODULE_11__Card_CardText___default.a; });
|
21036 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__Checkbox__ = __webpack_require__(118);
|
21037 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__Checkbox___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12__Checkbox__);
|
21038 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "Checkbox", function() { return __WEBPACK_IMPORTED_MODULE_12__Checkbox___default.a; });
|
21039 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__Chip__ = __webpack_require__(374);
|
21040 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__Chip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13__Chip__);
|
21041 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "Chip", function() { return __WEBPACK_IMPORTED_MODULE_13__Chip___default.a; });
|
21042 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__CircularProgress__ = __webpack_require__(377);
|
21043 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__CircularProgress___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14__CircularProgress__);
|
21044 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "CircularProgress", function() { return __WEBPACK_IMPORTED_MODULE_14__CircularProgress___default.a; });
|
21045 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__DatePicker__ = __webpack_require__(379);
|
21046 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__DatePicker___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_15__DatePicker__);
|
21047 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "DatePicker", function() { return __WEBPACK_IMPORTED_MODULE_15__DatePicker___default.a; });
|
21048 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__Dialog__ = __webpack_require__(121);
|
21049 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__Dialog___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_16__Dialog__);
|
21050 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "Dialog", function() { return __WEBPACK_IMPORTED_MODULE_16__Dialog___default.a; });
|
21051 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__Divider__ = __webpack_require__(179);
|
21052 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__Divider___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_17__Divider__);
|
21053 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "Divider", function() { return __WEBPACK_IMPORTED_MODULE_17__Divider___default.a; });
|
21054 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__Drawer__ = __webpack_require__(397);
|
21055 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__Drawer___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_18__Drawer__);
|
21056 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "Drawer", function() { return __WEBPACK_IMPORTED_MODULE_18__Drawer___default.a; });
|
21057 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__DropDownMenu__ = __webpack_require__(189);
|
21058 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__DropDownMenu___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_19__DropDownMenu__);
|
21059 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "DropDownMenu", function() { return __WEBPACK_IMPORTED_MODULE_19__DropDownMenu___default.a; });
|
21060 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__FlatButton__ = __webpack_require__(78);
|
21061 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__FlatButton___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_20__FlatButton__);
|
21062 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "FlatButton", function() { return __WEBPACK_IMPORTED_MODULE_20__FlatButton___default.a; });
|
21063 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__FloatingActionButton__ = __webpack_require__(403);
|
21064 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__FloatingActionButton___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_21__FloatingActionButton__);
|
21065 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "FloatingActionButton", function() { return __WEBPACK_IMPORTED_MODULE_21__FloatingActionButton___default.a; });
|
21066 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__FontIcon__ = __webpack_require__(112);
|
21067 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__FontIcon___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_22__FontIcon__);
|
21068 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "FontIcon", function() { return __WEBPACK_IMPORTED_MODULE_22__FontIcon___default.a; });
|
21069 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__GridList__ = __webpack_require__(405);
|
21070 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__GridList___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_23__GridList__);
|
21071 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "GridList", function() { return __WEBPACK_IMPORTED_MODULE_23__GridList___default.a; });
|
21072 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__GridList_GridTile__ = __webpack_require__(190);
|
21073 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__GridList_GridTile___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_24__GridList_GridTile__);
|
21074 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "GridTile", function() { return __WEBPACK_IMPORTED_MODULE_24__GridList_GridTile___default.a; });
|
21075 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__IconButton__ = __webpack_require__(55);
|
21076 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__IconButton___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_25__IconButton__);
|
21077 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "IconButton", function() { return __WEBPACK_IMPORTED_MODULE_25__IconButton___default.a; });
|
21078 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__IconMenu__ = __webpack_require__(407);
|
21079 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__IconMenu___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_26__IconMenu__);
|
21080 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "IconMenu", function() { return __WEBPACK_IMPORTED_MODULE_26__IconMenu___default.a; });
|
21081 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__LinearProgress__ = __webpack_require__(409);
|
21082 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__LinearProgress___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_27__LinearProgress__);
|
21083 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "LinearProgress", function() { return __WEBPACK_IMPORTED_MODULE_27__LinearProgress___default.a; });
|
21084 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__List__ = __webpack_require__(411);
|
21085 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__List___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_28__List__);
|
21086 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "List", function() { return __WEBPACK_IMPORTED_MODULE_28__List___default.a; });
|
21087 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__List_ListItem__ = __webpack_require__(117);
|
21088 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__List_ListItem___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_29__List_ListItem__);
|
21089 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "ListItem", function() { return __WEBPACK_IMPORTED_MODULE_29__List_ListItem___default.a; });
|
21090 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__List_makeSelectable__ = __webpack_require__(192);
|
21091 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__List_makeSelectable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_30__List_makeSelectable__);
|
21092 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "makeSelectable", function() { return __WEBPACK_IMPORTED_MODULE_30__List_makeSelectable___default.a; });
|
21093 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__Menu__ = __webpack_require__(176);
|
21094 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__Menu___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_31__Menu__);
|
21095 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "Menu", function() { return __WEBPACK_IMPORTED_MODULE_31__Menu___default.a; });
|
21096 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__MenuItem__ = __webpack_require__(115);
|
21097 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__MenuItem___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_32__MenuItem__);
|
21098 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "MenuItem", function() { return __WEBPACK_IMPORTED_MODULE_32__MenuItem___default.a; });
|
21099 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__styles_MuiThemeProvider__ = __webpack_require__(123);
|
21100 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__styles_MuiThemeProvider___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_33__styles_MuiThemeProvider__);
|
21101 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "MuiThemeProvider", function() { return __WEBPACK_IMPORTED_MODULE_33__styles_MuiThemeProvider___default.a; });
|
21102 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__Paper__ = __webpack_require__(20);
|
21103 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__Paper___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_34__Paper__);
|
21104 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "Paper", function() { return __WEBPACK_IMPORTED_MODULE_34__Paper___default.a; });
|
21105 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__Popover__ = __webpack_require__(446);
|
21106 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__Popover___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_35__Popover__);
|
21107 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "Popover", function() { return __WEBPACK_IMPORTED_MODULE_35__Popover___default.a; });
|
21108 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__RadioButton__ = __webpack_require__(447);
|
21109 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__RadioButton___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_36__RadioButton__);
|
21110 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "RadioButton", function() { return __WEBPACK_IMPORTED_MODULE_36__RadioButton___default.a; });
|
21111 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__RadioButton_RadioButtonGroup__ = __webpack_require__(198);
|
21112 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__RadioButton_RadioButtonGroup___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_37__RadioButton_RadioButtonGroup__);
|
21113 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "RadioButtonGroup", function() { return __WEBPACK_IMPORTED_MODULE_37__RadioButton_RadioButtonGroup___default.a; });
|
21114 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__RaisedButton__ = __webpack_require__(199);
|
21115 |
+
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__RaisedButton___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_38__RaisedButton__);
|
21116 |
+
/* harmony reexport (default from non-hamory) */ __webpack_require__.d(__webpack_exports__, "RaisedButton", function() { return __WEBPACK_IMPORTED_MODULE_38__RaisedButton___default.a; }
|