apeman-react-range
Version:
apeman react package for range input component.
133 lines (125 loc) • 14.4 kB
JavaScript
/**
* Style for ApRange.
* @constructor ApRangeStyle
*/
;
const React = require('react'),
types = React.PropTypes,
extend = require('extend'),
ApStyle = require('apeman-react-style')['ApStyle'];
/** @lends ApRangeStyle */
const ApRangeStyle = React.createClass({
displayName: 'ApRangeStyle',
propTypes: {
scope: types.bool,
type: types.string,
style: types.object,
handleSize: types.number,
barHeight: types.number,
highlightColor: types.string
},
getDefaultProps: function () {
return {
scoped: false,
type: 'text/css',
style: {},
handleSize: 24,
barHeight: 4,
highlightColor: '#38E'
};
},
render: function () {
let s = this,
props = s.props;
let handleSize = props.handleSize,
barHeight = props.barHeight,
barMargin = (handleSize - barHeight) / 2,
highlightColor = props.highlightColor;
let data = {
'.ap-range': {
position: `relative`,
height: `${ handleSize + 2 }px`
},
'.ap-range-inner': {
display: `flex`
},
'.ap-range-bar-wrap': {
display: `block`,
position: `relative`,
width: `100%`,
boxSizing: `border-box`
},
'.ap-range-bar': {
position: `absolute`,
left: 0,
right: 0,
top: 0,
height: `${ barHeight + barMargin * 2 }px`
},
'.ap-range-bar-bg': {
position: `absolute`,
top: barMargin,
left: 0,
right: 0,
height: `${ barHeight }px`,
borderRadius: `${ barHeight / 2 }px`,
border: `1px solid #BBB`,
backgroundColor: `#CCC`
},
'.ap-range-bar-highlight': {
backgroundColor: `${ highlightColor }`,
top: barMargin - 1,
position: `absolute`,
height: barHeight + 2,
borderRadius: barHeight / 2,
border: `1px solid rgba(0,0,0,0.1)`
},
'.ap-range-handle': {
position: `absolute`,
left: `${ -handleSize / 2 }px`,
top: 0,
display: `inline-block`,
cursor: '-webkit-grab'
},
'.ap-range-handle:active': {
cursor: `-webkit-grabbing`,
backgroundColor: `#FCFCFC`
},
'.ap-range-handle-from': { left: -handleSize / 2 },
'.ap-range-handle-to': { left: -handleSize / 2 },
'.ap-range-handle-icon': {
width: handleSize,
height: handleSize,
borderRadius: 0,
display: `inline-block`,
backgroundColor: `white`,
border: `1px solid #DDD`,
boxShadow: `1px 1px 2px rgba(0,0,0,0.5)`
},
'.ap-range-label': {
display: `inline-block`,
padding: `2px 4px`,
textAlign: `right`,
minWidth: `24px`,
fontSize: `14px`,
lineHeight: `${ handleSize + 2 }px`,
boxSizing: `border-box`
}
},
smallMediaData = {},
mediumMediaData = {},
largeMediaData = {};
return React.createElement(
ApStyle,
{ scoped: props.scoped,
data: extend(data, props.style),
smallMediaData: smallMediaData,
mediumMediaData: mediumMediaData,
largeMediaData: largeMediaData
},
props.children
);
}
});
module.exports = ApRangeStyle;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImpzeC9hcF9yYW5nZV9zdHlsZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxZQUFZLENBQUM7O0FBRWIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztNQUMxQixLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVM7TUFDdkIsTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7TUFDMUIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQzs7O0FBQUMsQUFJdkQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQzs7O0FBQ25DLGFBQVMsRUFBRTtBQUNQLGFBQUssRUFBRSxLQUFLLENBQUMsSUFBSTtBQUNqQixZQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU07QUFDbEIsYUFBSyxFQUFFLEtBQUssQ0FBQyxNQUFNO0FBQ25CLGtCQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU07QUFDeEIsaUJBQVMsRUFBRSxLQUFLLENBQUMsTUFBTTtBQUN2QixzQkFBYyxFQUFFLEtBQUssQ0FBQyxNQUFNO0tBQy9CO0FBQ0QsbUJBQWUsRUFBRSxZQUFZO0FBQ3pCLGVBQU87QUFDSCxrQkFBTSxFQUFFLEtBQUs7QUFDYixnQkFBSSxFQUFFLFVBQVU7QUFDaEIsaUJBQUssRUFBRSxFQUFFO0FBQ1Qsc0JBQVUsRUFBRSxFQUFFO0FBQ2QscUJBQVMsRUFBRSxDQUFDO0FBQ1osMEJBQWMsRUFBRSxNQUFNO1NBQ3pCLENBQUE7S0FDSjtBQUNELFVBQU0sRUFBRSxZQUFZO0FBQ2hCLFlBQUksQ0FBQyxHQUFHLElBQUk7WUFDUixLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQzs7QUFFcEIsWUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVU7WUFDN0IsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTO1lBQzNCLFNBQVMsR0FBRyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUEsR0FBSSxDQUFDO1lBQ3hDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDOztBQUUxQyxZQUFJLElBQUksR0FBRztBQUNILHVCQUFXLEVBQUU7QUFDVCx3QkFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO0FBQ3BCLHNCQUFNLEVBQUUsQ0FBQyxHQUFFLFVBQVUsR0FBRyxDQUFDLEVBQUMsRUFBRSxDQUFDO2FBQ2hDO0FBQ0QsNkJBQWlCLEVBQUU7QUFDZix1QkFBTyxFQUFFLENBQUMsSUFBSSxDQUFDO2FBQ2xCO0FBQ0QsZ0NBQW9CLEVBQUU7QUFDbEIsdUJBQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztBQUNoQix3QkFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO0FBQ3BCLHFCQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUM7QUFDYix5QkFBUyxFQUFFLENBQUMsVUFBVSxDQUFDO2FBQzFCO0FBQ0QsMkJBQWUsRUFBRTtBQUNiLHdCQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUM7QUFDcEIsb0JBQUksRUFBRSxDQUFDO0FBQ1AscUJBQUssRUFBRSxDQUFDO0FBQ1IsbUJBQUcsRUFBRSxDQUFDO0FBQ04sc0JBQU0sRUFBRSxDQUFDLEdBQUUsU0FBUyxHQUFJLFNBQVMsR0FBRyxDQUFDLEFBQUMsRUFBQyxFQUFFLENBQUM7YUFDN0M7QUFDRCw4QkFBa0IsRUFBRTtBQUNoQix3QkFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO0FBQ3BCLG1CQUFHLEVBQUUsU0FBUztBQUNkLG9CQUFJLEVBQUUsQ0FBQztBQUNQLHFCQUFLLEVBQUUsQ0FBQztBQUNSLHNCQUFNLEVBQUUsQ0FBQyxHQUFFLFNBQVMsRUFBQyxFQUFFLENBQUM7QUFDeEIsNEJBQVksRUFBRSxDQUFDLEdBQUUsU0FBUyxHQUFHLENBQUMsRUFBQyxFQUFFLENBQUM7QUFDbEMsc0JBQU0sRUFBRSxDQUFDLGNBQWMsQ0FBQztBQUN4QiwrQkFBZSxFQUFFLENBQUMsSUFBSSxDQUFDO2FBQzFCO0FBQ0QscUNBQXlCLEVBQUU7QUFDdkIsK0JBQWUsRUFBRSxDQUFDLEdBQUUsY0FBYyxFQUFDLENBQUM7QUFDcEMsbUJBQUcsRUFBRSxTQUFTLEdBQUcsQ0FBQztBQUNsQix3QkFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO0FBQ3BCLHNCQUFNLEVBQUUsU0FBUyxHQUFHLENBQUM7QUFDckIsNEJBQVksRUFBRSxTQUFTLEdBQUcsQ0FBQztBQUMzQixzQkFBTSxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDdEM7QUFDRCw4QkFBa0IsRUFBRTtBQUNoQix3QkFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO0FBQ3BCLG9CQUFJLEVBQUUsQ0FBQyxHQUFFLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBQyxFQUFFLENBQUM7QUFDNUIsbUJBQUcsRUFBRSxDQUFDO0FBQ04sdUJBQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztBQUN2QixzQkFBTSxFQUFFLGNBQWM7YUFDekI7QUFDRCxxQ0FBeUIsRUFBRTtBQUN2QixzQkFBTSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7QUFDMUIsK0JBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQzthQUM3QjtBQUNELG1DQUF1QixFQUFFLEVBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBQztBQUNoRCxpQ0FBcUIsRUFBRSxFQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUM7QUFDOUMsbUNBQXVCLEVBQUU7QUFDckIscUJBQUssRUFBRSxVQUFVO0FBQ2pCLHNCQUFNLEVBQUUsVUFBVTtBQUNsQiw0QkFBWSxFQUFFLENBQUM7QUFDZix1QkFBTyxFQUFFLENBQUMsWUFBWSxDQUFDO0FBQ3ZCLCtCQUFlLEVBQUUsQ0FBQyxLQUFLLENBQUM7QUFDeEIsc0JBQU0sRUFBRSxDQUFDLGNBQWMsQ0FBQztBQUN4Qix5QkFBUyxFQUFFLENBQUMsMkJBQTJCLENBQUM7YUFDM0M7QUFDRCw2QkFBaUIsRUFBRTtBQUNmLHVCQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7QUFDdkIsdUJBQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztBQUNsQix5QkFBUyxFQUFFLENBQUMsS0FBSyxDQUFDO0FBQ2xCLHdCQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUM7QUFDaEIsd0JBQVEsRUFBRSxDQUFDLElBQUksQ0FBQztBQUNoQiwwQkFBVSxFQUFFLENBQUMsR0FBRSxVQUFVLEdBQUcsQ0FBQyxFQUFDLEVBQUUsQ0FBQztBQUNqQyx5QkFBUyxFQUFFLENBQUMsVUFBVSxDQUFDO2FBQzFCO1NBQ0o7WUFDRCxjQUFjLEdBQUcsRUFBRTtZQUNuQixlQUFlLEdBQUcsRUFBRTtZQUNwQixjQUFjLEdBQUcsRUFBRSxDQUFDOztBQUV4QixlQUNJO0FBQUMsbUJBQU87Y0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQUFBQztBQUNyQixvQkFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxBQUFDO0FBQ2hDLDhCQUFjLEVBQUUsY0FBYyxBQUFDO0FBQy9CLCtCQUFlLEVBQUUsZUFBZSxBQUFDO0FBQ2pDLDhCQUFjLEVBQUUsY0FBYyxBQUFDOztZQUN0QyxLQUFLLENBQUMsUUFBUTtTQUFXLENBQzdCO0tBQ0w7Q0FDSixDQUFDLENBQUM7O0FBRUgsTUFBTSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMiLCJmaWxlIjoiYXBfcmFuZ2Vfc3R5bGUuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL29rdW5pc2hpdGFrYS9wcm9qZWN0cy9hcGVtYW4tcmVhY3QtbGFiby9hcGVtYW4tcmVhY3QtcmFuZ2UvbGliL2pzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3R5bGUgZm9yIEFwUmFuZ2UuXG4gKiBAY29uc3RydWN0b3IgQXBSYW5nZVN0eWxlXG4gKi9cblxuXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKSxcbiAgICB0eXBlcyA9IFJlYWN0LlByb3BUeXBlcyxcbiAgICBleHRlbmQgPSByZXF1aXJlKCdleHRlbmQnKSxcbiAgICBBcFN0eWxlID0gcmVxdWlyZSgnYXBlbWFuLXJlYWN0LXN0eWxlJylbJ0FwU3R5bGUnXTtcblxuXG4vKiogQGxlbmRzIEFwUmFuZ2VTdHlsZSAqL1xuY29uc3QgQXBSYW5nZVN0eWxlID0gUmVhY3QuY3JlYXRlQ2xhc3Moe1xuICAgIHByb3BUeXBlczoge1xuICAgICAgICBzY29wZTogdHlwZXMuYm9vbCxcbiAgICAgICAgdHlwZTogdHlwZXMuc3RyaW5nLFxuICAgICAgICBzdHlsZTogdHlwZXMub2JqZWN0LFxuICAgICAgICBoYW5kbGVTaXplOiB0eXBlcy5udW1iZXIsXG4gICAgICAgIGJhckhlaWdodDogdHlwZXMubnVtYmVyLFxuICAgICAgICBoaWdobGlnaHRDb2xvcjogdHlwZXMuc3RyaW5nXG4gICAgfSxcbiAgICBnZXREZWZhdWx0UHJvcHM6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNjb3BlZDogZmFsc2UsXG4gICAgICAgICAgICB0eXBlOiAndGV4dC9jc3MnLFxuICAgICAgICAgICAgc3R5bGU6IHt9LFxuICAgICAgICAgICAgaGFuZGxlU2l6ZTogMjQsXG4gICAgICAgICAgICBiYXJIZWlnaHQ6IDQsXG4gICAgICAgICAgICBoaWdobGlnaHRDb2xvcjogJyMzOEUnXG4gICAgICAgIH1cbiAgICB9LFxuICAgIHJlbmRlcjogZnVuY3Rpb24gKCkge1xuICAgICAgICBsZXQgcyA9IHRoaXMsXG4gICAgICAgICAgICBwcm9wcyA9IHMucHJvcHM7XG5cbiAgICAgICAgbGV0IGhhbmRsZVNpemUgPSBwcm9wcy5oYW5kbGVTaXplLFxuICAgICAgICAgICAgYmFySGVpZ2h0ID0gcHJvcHMuYmFySGVpZ2h0LFxuICAgICAgICAgICAgYmFyTWFyZ2luID0gKGhhbmRsZVNpemUgLSBiYXJIZWlnaHQpIC8gMixcbiAgICAgICAgICAgIGhpZ2hsaWdodENvbG9yID0gcHJvcHMuaGlnaGxpZ2h0Q29sb3I7XG5cbiAgICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgJy5hcC1yYW5nZSc6IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGByZWxhdGl2ZWAsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYCR7aGFuZGxlU2l6ZSArIDJ9cHhgXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAnLmFwLXJhbmdlLWlubmVyJzoge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBgZmxleGBcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICcuYXAtcmFuZ2UtYmFyLXdyYXAnOiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGBibG9ja2AsXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBgcmVsYXRpdmVgLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYDEwMCVgLFxuICAgICAgICAgICAgICAgICAgICBib3hTaXppbmc6IGBib3JkZXItYm94YFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgJy5hcC1yYW5nZS1iYXInOiB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBgYWJzb2x1dGVgLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICAgICAgICByaWdodDogMCxcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGAke2JhckhlaWdodCArIChiYXJNYXJnaW4gKiAyKX1weGBcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICcuYXAtcmFuZ2UtYmFyLWJnJzoge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYGFic29sdXRlYCxcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBiYXJNYXJnaW4sXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGAke2JhckhlaWdodH1weGAsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogYCR7YmFySGVpZ2h0IC8gMn1weGAsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAjQkJCYCxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBgI0NDQ2BcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICcuYXAtcmFuZ2UtYmFyLWhpZ2hsaWdodCc6IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBgJHtoaWdobGlnaHRDb2xvcn1gLFxuICAgICAgICAgICAgICAgICAgICB0b3A6IGJhck1hcmdpbiAtIDEsXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBgYWJzb2x1dGVgLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGJhckhlaWdodCArIDIsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogYmFySGVpZ2h0IC8gMixcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKWBcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICcuYXAtcmFuZ2UtaGFuZGxlJzoge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYGFic29sdXRlYCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYCR7LWhhbmRsZVNpemUgLyAyfXB4YCxcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBgaW5saW5lLWJsb2NrYCxcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiAnLXdlYmtpdC1ncmFiJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgJy5hcC1yYW5nZS1oYW5kbGU6YWN0aXZlJzoge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGAtd2Via2l0LWdyYWJiaW5nYCxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBgI0ZDRkNGQ2BcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICcuYXAtcmFuZ2UtaGFuZGxlLWZyb20nOiB7bGVmdDogLWhhbmRsZVNpemUgLyAyfSxcbiAgICAgICAgICAgICAgICAnLmFwLXJhbmdlLWhhbmRsZS10byc6IHtsZWZ0OiAtaGFuZGxlU2l6ZSAvIDJ9LFxuICAgICAgICAgICAgICAgICcuYXAtcmFuZ2UtaGFuZGxlLWljb24nOiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBoYW5kbGVTaXplLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGhhbmRsZVNpemUsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogMCxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYGlubGluZS1ibG9ja2AsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYHdoaXRlYCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkICNERERgLFxuICAgICAgICAgICAgICAgICAgICBib3hTaGFkb3c6IGAxcHggMXB4IDJweCByZ2JhKDAsMCwwLDAuNSlgXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAnLmFwLXJhbmdlLWxhYmVsJzoge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBgaW5saW5lLWJsb2NrYCxcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogYDJweCA0cHhgLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246IGByaWdodGAsXG4gICAgICAgICAgICAgICAgICAgIG1pbldpZHRoOiBgMjRweGAsXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBgMTRweGAsXG4gICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IGAke2hhbmRsZVNpemUgKyAyfXB4YCxcbiAgICAgICAgICAgICAgICAgICAgYm94U2l6aW5nOiBgYm9yZGVyLWJveGBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc21hbGxNZWRpYURhdGEgPSB7fSxcbiAgICAgICAgICAgIG1lZGl1bU1lZGlhRGF0YSA9IHt9LFxuICAgICAgICAgICAgbGFyZ2VNZWRpYURhdGEgPSB7fTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEFwU3R5bGUgc2NvcGVkPXtwcm9wcy5zY29wZWR9XG4gICAgICAgICAgICAgICAgICAgICBkYXRhPXtleHRlbmQoZGF0YSwgcHJvcHMuc3R5bGUpfVxuICAgICAgICAgICAgICAgICAgICAgc21hbGxNZWRpYURhdGE9e3NtYWxsTWVkaWFEYXRhfVxuICAgICAgICAgICAgICAgICAgICAgbWVkaXVtTWVkaWFEYXRhPXttZWRpdW1NZWRpYURhdGF9XG4gICAgICAgICAgICAgICAgICAgICBsYXJnZU1lZGlhRGF0YT17bGFyZ2VNZWRpYURhdGF9XG4gICAgICAgICAgICA+e3Byb3BzLmNoaWxkcmVufTwvQXBTdHlsZT5cbiAgICAgICAgKTtcbiAgICB9XG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBBcFJhbmdlU3R5bGU7XG4iXX0=