New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@economist/component-blog-post

Package Overview
Dependencies
Maintainers
1
Versions
66
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@economist/component-blog-post - npm Package Compare versions

Comparing version 1.22.0 to 1.22.1

79

lib/index.js

@@ -7,2 +7,4 @@ 'use strict';

exports.generateBlogPostFlyTitle = generateBlogPostFlyTitle;
var _author = require('./parts/author');

@@ -66,2 +68,10 @@

function generateBlogPostFlyTitle(showSiblingArticlesList, siblingListTitle, flyTitle) {
var blogFlyTitle = flyTitle;
if (showSiblingArticlesList && siblingListTitle !== flyTitle) {
blogFlyTitle = siblingListTitle + ': ' + flyTitle;
}
return blogFlyTitle;
}
var BlogPost = function (_React$Component) {

@@ -174,5 +184,26 @@ _inherits(BlogPost, _React$Component);

BlogPost.prototype.addSiblingsList = function addSiblingsList(showSiblingArticlesList, flyTitle, siblingsListTitle, elementClassName, content) {
var siblingArticles = showSiblingArticlesList && this.props.issueSiblingsList ? this.props.issueSiblingsList : null;
var siblingArticlesList = showSiblingArticlesList ? (0, _blogPostSiblingsList.siblingList)(siblingArticles, flyTitle, elementClassName, siblingsListTitle, this.props.sideText) : null;
BlogPost.prototype.addSiblingsList = function addSiblingsList(siblingListProps) {
var showSiblingArticlesList = siblingListProps.showSiblingArticlesList,
flyTitle = siblingListProps.flyTitle,
siblingsListTitle = siblingListProps.siblingsListTitle,
elementClassName = siblingListProps.elementClassName,
content = siblingListProps.content,
issueSiblingsList = siblingListProps.issueSiblingsList,
articleListPosition = siblingListProps.articleListPosition,
nextArticleLink = siblingListProps.nextArticleLink;
var siblingArticles = showSiblingArticlesList && issueSiblingsList ? issueSiblingsList : null;
var _props = this.props,
sideText = _props.sideText,
siblingListSideTitle = _props.siblingListSideTitle;
var siblingListData = {
siblingArticles: siblingArticles,
flyTitle: flyTitle,
elementClassName: elementClassName,
siblingsListTitle: siblingsListTitle,
sideText: sideText,
siblingListSideTitle: siblingListSideTitle
};
var siblingArticlesList = showSiblingArticlesList ? (0, _blogPostSiblingsList.siblingList)(siblingListData) : null;
var innerContentElements = showSiblingArticlesList ? content.filter(function (contentElement) {

@@ -186,5 +217,5 @@ var innerContent = contentElement.key === 'inner-content';

})[0].props.text : null;
if (showSiblingArticlesList && (blogPostTextElements || content && this.props.nextArticleLink)) {
blogPostTextElements.splice(this.props.articleListPosition, 0, siblingArticlesList);
content.splice(content.length - 1, 0, this.props.nextArticleLink);
if (showSiblingArticlesList && (blogPostTextElements || content && nextArticleLink)) {
blogPostTextElements.splice(articleListPosition, 0, siblingArticlesList);
content.splice(content.length - 1, 0, nextArticleLink);
}

@@ -194,5 +225,9 @@ };

BlogPost.prototype.render = function render() {
var _props = this.props,
flyTitle = _props.flyTitle,
showSiblingArticlesList = _props.showSiblingArticlesList;
var _props2 = this.props,
flyTitle = _props2.flyTitle,
showSiblingArticlesList = _props2.showSiblingArticlesList,
siblingListSideTitle = _props2.siblingListSideTitle,
issueSiblingsList = _props2.issueSiblingsList,
articleListPosition = _props2.articleListPosition,
nextArticleLink = _props2.nextArticleLink;

@@ -262,5 +297,5 @@ var siblingsListTitle = this.props.sectionName;

));
var _props2 = this.props,
commentCount = _props2.commentCount,
commentStatus = _props2.commentStatus;
var _props3 = this.props,
commentCount = _props3.commentCount,
commentStatus = _props3.commentStatus;

@@ -283,2 +318,3 @@ var commentSection = null;

));
var TitleComponent = this.props.TitleComponent;

@@ -290,3 +326,13 @@ var articleHeader = showSiblingArticlesList ? _react2.default.createElement(

) : null;
this.addSiblingsList(showSiblingArticlesList, flyTitle, siblingsListTitle, elementClassName, content);
var siblingListProps = {
showSiblingArticlesList: showSiblingArticlesList,
flyTitle: flyTitle,
siblingsListTitle: siblingsListTitle,
elementClassName: elementClassName,
content: content,
issueSiblingsList: issueSiblingsList,
articleListPosition: articleListPosition,
nextArticleLink: nextArticleLink
};
this.addSiblingsList(siblingListProps);
return _react2.default.createElement(

@@ -305,3 +351,3 @@ 'article',

title: this.props.title,
flyTitle: this.props.flyTitle,
flyTitle: generateBlogPostFlyTitle(showSiblingArticlesList, siblingListSideTitle, flyTitle),
Heading: "h1",

@@ -356,3 +402,4 @@ titleClassName: showSiblingArticlesList ? 'flytitle-and-title__siblings-list-title ' + elementClassName : '',

articleListPosition: _react2.default.PropTypes.number,
classNameModifier: _react2.default.PropTypes.string
classNameModifier: _react2.default.PropTypes.string,
siblingListSideTitle: _react2.default.PropTypes.string
};

@@ -404,2 +451,2 @@ }

exports.default = BlogPost;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJ0d29EaWdpdHMiLCJpbnQiLCJCbG9nUG9zdCIsImFkZERhdGVUaW1lIiwic2VjdGlvbkRhdGVBdXRob3IiLCJwcm9wcyIsImRhdGVUaW1lIiwiZGF0ZUZvcm1hdCIsImRhdGVTdHJpbmciLCJ0aW1lc3RhbXBJU08iLCJyZXN1bHQiLCJzbGljZSIsImNvbmNhdCIsImFkZEltYWdlIiwiY29udGVudCIsImltYWdlIiwiYmxvZ0ltYWdlIiwic3JjIiwiY2FwdGlvbiIsImFsdCIsImltYWdlQ2FwdGlvbiIsImFkZFJ1YnJpYyIsInJ1YnJpYyIsImFkZEJsb2dQb3N0U2VjdGlvbiIsInNlY3Rpb24iLCJzZWN0aW9uVXJsIiwidGVzdCIsImJsb2dQb3N0U2VjdGlvbiIsImFkZEJ5TGluZSIsImJ5bGluZSIsImFkZFNpYmxpbmdzTGlzdCIsInNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0IiwiZmx5VGl0bGUiLCJzaWJsaW5nc0xpc3RUaXRsZSIsImVsZW1lbnRDbGFzc05hbWUiLCJzaWJsaW5nQXJ0aWNsZXMiLCJpc3N1ZVNpYmxpbmdzTGlzdCIsInNpYmxpbmdBcnRpY2xlc0xpc3QiLCJzaWRlVGV4dCIsImlubmVyQ29udGVudEVsZW1lbnRzIiwiZmlsdGVyIiwiY29udGVudEVsZW1lbnQiLCJpbm5lckNvbnRlbnQiLCJrZXkiLCJjaGlsZHJlbiIsImJsb2dQb3N0VGV4dEVsZW1lbnRzIiwiYmxvZ1Bvc3RUZXh0IiwidGV4dCIsIm5leHRBcnRpY2xlTGluayIsInNwbGljZSIsImFydGljbGVMaXN0UG9zaXRpb24iLCJsZW5ndGgiLCJyZW5kZXIiLCJzZWN0aW9uTmFtZSIsImNsYXNzTmFtZU1vZGlmaWVyIiwid3JhcHBlZElubmVyQ29udGVudCIsImFzaWRlYWJsZUNvbnRlbnQiLCJwdXNoIiwic2hhcmVCYXJQdWJsaWNhdGVEYXRlIiwiRGF0ZSIsInB1YmxpY2F0aW9uRGF0ZSIsIlN0cmluZyIsImdldEZ1bGxZZWFyIiwiZ2V0TW9udGgiLCJnZXREYXRlIiwicmVwbGFjZSIsInNoYXJlQmFyRGVmYXVsdCIsInR5cGUiLCJ0aXRsZSIsImlkIiwiYXV0aG9yIiwiYWZ0ZXJUZXh0IiwiY29tbWVudENvdW50IiwiY29tbWVudFN0YXR1cyIsImNvbW1lbnRTZWN0aW9uIiwiZmlyc3RUb0NvbW1lbnRMYWJlbCIsInZpZXdDb21tZW50c0xhYmVsIiwiY29tbWVudHNVcmkiLCJUaXRsZUNvbXBvbmVudCIsImFydGljbGVIZWFkZXIiLCJjbGFzc05hbWUiLCJpdGVtUHJvcCIsIml0ZW1UeXBlIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwic2hhcGUiLCJub2RlIiwiaXNSZXF1aXJlZCIsImZ1bmMiLCJpbnN0YW5jZU9mIiwib25lT2ZUeXBlIiwibnVtYmVyIiwib25lT2YiLCJvYmplY3QiLCJhcnJheU9mIiwiYm9vbCIsImRhdGUiLCJ0ZW5NaW51dGVzIiwiYWRkUG9zdEZpeCIsImRheSIsImRheXN0ciIsInRvU3RyaW5nIiwibGFzdENoYXIiLCJjaGFyQXQiLCJwb3N0Rml4Iiwic2hvcnRNb250aExpc3QiLCJtaW51dGVzIiwiZ2V0TWludXRlcyIsImdldEhvdXJzIiwiam9pbiIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7O0FBRUE7Ozs7QUFDQTs7Ozs7Ozs7Ozs7O0FBRUEsU0FBU0EsU0FBVCxDQUFtQkMsR0FBbkIsRUFBd0I7QUFDdEIsU0FBT0EsTUFBTSxDQUFOLEdBQVUsS0FBS0EsR0FBZixHQUFxQixNQUFNQSxHQUFsQyxDQURzQixDQUNpQjtBQUN4Qzs7SUFFb0JDLFE7Ozs7Ozs7OztxQkE4Rm5CQyxXLHdCQUFZQyxpQixFQUFtQkMsSyxFQUFPO0FBQUEsUUFDNUJDLFFBRDRCLEdBQ3VCRCxLQUR2QixDQUM1QkMsUUFENEI7QUFBQSxRQUNsQkMsVUFEa0IsR0FDdUJGLEtBRHZCLENBQ2xCRSxVQURrQjtBQUFBLFFBQ05DLFVBRE0sR0FDdUJILEtBRHZCLENBQ05HLFVBRE07QUFBQSxRQUNNQyxZQUROLEdBQ3VCSixLQUR2QixDQUNNSSxZQUROOztBQUVwQyxRQUFJQyxTQUFTTixrQkFBa0JPLEtBQWxCLEVBQWI7QUFDQSxRQUFJTCxRQUFKLEVBQWM7QUFDWkksZUFBU0EsT0FBT0UsTUFBUCxDQUNQO0FBQUE7QUFBQTtBQUNFLHFCQUFVLHFCQURaO0FBRUUsb0JBQVMsYUFGWDtBQUdFLG9CQUFVLEtBQUtQLEtBQUwsQ0FBV0MsUUFIdkI7QUFJRSxlQUFJO0FBSk47QUFLRUMsbUJBQVdELFFBQVg7QUFMRixPQURPLENBQVQ7QUFPRDtBQUNELFFBQUlFLGNBQWNDLFlBQWxCLEVBQWdDO0FBQzlCQyxlQUFTQSxPQUFPRSxNQUFQLENBQ1A7QUFBQTtBQUFBO0FBQ0UscUJBQVUscUJBRFo7QUFFRSxvQkFBUyxhQUZYO0FBR0Usb0JBQVVILFlBSFo7QUFJRSxlQUFJO0FBSk47QUFLRUQ7QUFMRixPQURPLENBQVQ7QUFPRDtBQUNELFdBQU9FLE1BQVA7QUFDRCxHOztxQkFFREcsUSxxQkFBU0MsTyxFQUFxQjtBQUFBLFFBQVpDLEtBQVksdUVBQUosRUFBSTs7QUFDNUIsUUFBSSxLQUFLVixLQUFMLENBQVdXLFNBQWYsRUFBMEI7QUFDeEIsdUJBQ0tGLE9BREwsRUFFSyxLQUFLVCxLQUFMLENBQVdXLFNBRmhCO0FBSUQsS0FMRCxNQUtPLElBQUlELEtBQUosRUFBVztBQUFBLFVBQ1JFLEdBRFEsR0FDY0YsS0FEZCxDQUNSRSxHQURRO0FBQUEsVUFDSEMsT0FERyxHQUNjSCxLQURkLENBQ0hHLE9BREc7QUFBQSxVQUNNQyxHQUROLEdBQ2NKLEtBRGQsQ0FDTUksR0FETjs7QUFFaEIsVUFBSUYsR0FBSixFQUFTO0FBQ1AsWUFBTUcsZUFBZUYsVUFBVSx3REFBYyxTQUFTQSxPQUF2QixFQUFnQyxLQUFJLDBCQUFwQyxHQUFWLEdBQThFLElBQW5HO0FBQ0EsZUFBT0osUUFBUUYsTUFBUixDQUNMO0FBQ0UsZUFBSSxTQUROO0FBRUUsbUJBQVNRLFlBRlg7QUFHRSxlQUFLSCxHQUhQO0FBSUUsZUFBS0U7QUFKUCxVQURLLENBQVA7QUFRRDtBQUNGO0FBQ0QsV0FBT0wsT0FBUDtBQUNELEc7O3FCQUVETyxTLHNCQUFVUCxPLEVBQVNRLE0sRUFBUTtBQUN6QixRQUFJQSxNQUFKLEVBQVk7QUFDVixhQUFPUixRQUFRRixNQUFSLENBQWUsa0RBQVEsUUFBUVUsTUFBaEIsRUFBd0IsS0FBSSxtQkFBNUIsR0FBZixDQUFQO0FBQ0Q7QUFDRCxXQUFPUixPQUFQO0FBQ0QsRzs7cUJBRURTLGtCLCtCQUFtQm5CLGlCLEVBQW1Cb0IsTyxFQUFTQyxVLEVBQVk7QUFDekQsUUFBSUQsT0FBSixFQUFhO0FBQ1gsVUFBSUMsY0FBYyxDQUFDLGVBQWVDLElBQWYsQ0FBb0JELFVBQXBCLENBQW5CLEVBQW9EO0FBQ2xEQSxxQkFBYSx1QkFBUSxHQUFSLEVBQWFBLFVBQWIsQ0FBYjtBQUNEO0FBQ0QsVUFBTUUsa0JBQWtCRixhQUN0QjtBQUFBO0FBQUEsVUFBRyxNQUFNQSxVQUFULEVBQXFCLFdBQVUseUJBQS9CO0FBQ0dEO0FBREgsT0FEc0IsR0FJcEJBLE9BSko7QUFLQSxhQUFPcEIsa0JBQWtCUSxNQUFsQixDQUNMLDJEQUFpQixLQUFJLG9CQUFyQixFQUEwQyxTQUFTZSxlQUFuRCxHQURLLENBQVA7QUFHRDtBQUNELFdBQU92QixpQkFBUDtBQUNELEc7O3FCQUVEd0IsUyxzQkFBVXhCLGlCLEVBQW1CeUIsTSxFQUFRO0FBQ25DLFFBQUlBLE1BQUosRUFBWTtBQUNWLGFBQU96QixrQkFBa0JRLE1BQWxCLENBQ0w7QUFBQTtBQUFBLFVBQUcsV0FBVSw2QkFBYixFQUEyQyxLQUFJLDZCQUEvQztBQUNHLGFBREg7QUFFRTtBQUFBO0FBQUE7QUFDRSx1QkFBVSxtQkFEWjtBQUVFLHNCQUFTO0FBRlg7QUFHRWlCO0FBSEY7QUFGRixPQURLLENBQVA7QUFTRDtBQUNELFdBQU96QixpQkFBUDtBQUNELEc7O3FCQUVEMEIsZSw0QkFBZ0JDLHVCLEVBQXlCQyxRLEVBQVVDLGlCLEVBQW1CQyxnQixFQUFrQnBCLE8sRUFBUztBQUMvRixRQUFNcUIsa0JBQWtCSiwyQkFBMkIsS0FBSzFCLEtBQUwsQ0FBVytCLGlCQUF0QyxHQUN4QixLQUFLL0IsS0FBTCxDQUFXK0IsaUJBRGEsR0FDTyxJQUQvQjtBQUVBLFFBQU1DLHNCQUFzQk4sMEJBQzFCLHVDQUNFSSxlQURGLEVBRUVILFFBRkYsRUFHRUUsZ0JBSEYsRUFJRUQsaUJBSkYsRUFLRSxLQUFLNUIsS0FBTCxDQUFXaUMsUUFMYixDQUQwQixHQVF4QixJQVJKO0FBU0EsUUFBTUMsdUJBQXVCUiwwQkFBMkJqQixRQUFRMEIsTUFBUixDQUFlLFVBQUNDLGNBQUQsRUFBb0I7QUFDekYsVUFBTUMsZUFBZUQsZUFBZUUsR0FBZixLQUF1QixlQUE1QztBQUNBLGFBQU9ELFlBQVA7QUFDRCxLQUh1RCxFQUdyRCxDQUhxRCxFQUdsRHJDLEtBSGtELENBRzVDdUMsUUFIaUIsR0FHTCxJQUh4QjtBQUlBLFFBQU1DLHVCQUF1QmQsMEJBQTJCUSxxQkFBcUJDLE1BQXJCLENBQTRCLFVBQUNDLGNBQUQsRUFBb0I7QUFDdEcsVUFBTUssZUFBZUwsZUFBZUUsR0FBZixLQUF1QixpQkFBNUM7QUFDQSxhQUFPRyxZQUFQO0FBQ0QsS0FIdUQsRUFHckQsQ0FIcUQsRUFHbER6QyxLQUhrRCxDQUc1QzBDLElBSGlCLEdBR1QsSUFIcEI7QUFJQSxRQUFJaEIsNEJBQTRCYyx3QkFBeUIvQixXQUFXLEtBQUtULEtBQUwsQ0FBVzJDLGVBQTNFLENBQUosRUFBa0c7QUFDaEdILDJCQUFxQkksTUFBckIsQ0FBNEIsS0FBSzVDLEtBQUwsQ0FBVzZDLG1CQUF2QyxFQUE0RCxDQUE1RCxFQUErRGIsbUJBQS9EO0FBQ0F2QixjQUFRbUMsTUFBUixDQUFlbkMsUUFBUXFDLE1BQVIsR0FBaUIsQ0FBaEMsRUFBbUMsQ0FBbkMsRUFBc0MsS0FBSzlDLEtBQUwsQ0FBVzJDLGVBQWpEO0FBQ0Q7QUFDRixHOztxQkFFREksTSxxQkFBUztBQUFBLGlCQUN1QyxLQUFLL0MsS0FENUM7QUFBQSxRQUNDMkIsUUFERCxVQUNDQSxRQUREO0FBQUEsUUFDV0QsdUJBRFgsVUFDV0EsdUJBRFg7O0FBRVAsUUFBTUUsb0JBQW9CLEtBQUs1QixLQUFMLENBQVdnRCxXQUFyQztBQUNBLFFBQU1uQixtQkFBbUJILDJCQUEyQixLQUFLMUIsS0FBTCxDQUFXaUQsaUJBQXRDLGtDQUNPLEtBQUtqRCxLQUFMLENBQVdpRCxpQkFEbEIsR0FDeUMsRUFEbEU7QUFFQSxRQUFJeEMsVUFBVSxFQUFkO0FBQ0E7QUFDQTtBQUNBLFFBQUl5QyxzQkFBc0IsRUFBMUI7QUFDQSxRQUFNQyxtQkFBbUIsRUFBekI7QUFDQSxRQUFJcEQsb0JBQW9CLEVBQXhCO0FBQ0FVLGNBQVUsS0FBS08sU0FBTCxDQUFlUCxPQUFmLEVBQXdCLEtBQUtULEtBQUwsQ0FBV2lCLE1BQW5DLENBQVY7QUFDQWxCLHdCQUFvQixLQUFLbUIsa0JBQUwsQ0FBd0JuQixpQkFBeEIsRUFBMkMsS0FBS0MsS0FBTCxDQUFXbUIsT0FBdEQsRUFBK0QsS0FBS25CLEtBQUwsQ0FBV29CLFVBQTFFLENBQXBCO0FBQ0FyQix3QkFBb0IsS0FBS0QsV0FBTCxDQUFpQkMsaUJBQWpCLEVBQW9DLEtBQUtDLEtBQXpDLENBQXBCO0FBQ0FELHdCQUFvQixLQUFLd0IsU0FBTCxDQUFleEIsaUJBQWYsRUFBa0MsS0FBS0MsS0FBTCxDQUFXd0IsTUFBN0MsQ0FBcEI7QUFDQSxRQUFJekIsa0JBQWtCK0MsTUFBdEIsRUFBOEI7QUFDNUJLLHVCQUFpQkMsSUFBakIsQ0FDRTtBQUFBO0FBQUE7QUFDRSxxQkFBVSxnQ0FEWjtBQUVFLGVBQUk7QUFGTjtBQUlHckQ7QUFKSCxPQURGO0FBUUQ7O0FBRUQ7QUFDQSxRQUFJc0Qsd0JBQXdCLElBQUlDLElBQUosQ0FBUyxLQUFLdEQsS0FBTCxDQUFXdUQsZUFBWCxHQUE2QixJQUF0QyxDQUE1QixDQTNCTyxDQTJCaUU7QUFDeEVGLDRCQUF3QixDQUFJRyxPQUFPSCxzQkFBc0JJLFdBQXRCLEVBQVAsQ0FBSixjQUNyQkQsT0FBTzdELFVBQVUwRCxzQkFBc0JLLFFBQXRCLEtBQW1DLENBQTdDLENBQVAsQ0FEcUIsY0FFckJGLE9BQU83RCxVQUFVMEQsc0JBQXNCTSxPQUF0QixFQUFWLENBQVAsQ0FGcUIsRUFFaUNDLE9BRmpDLENBRXlDLEtBRnpDLEVBRWdELEVBRmhELENBQXhCO0FBR0EsUUFBTUMsa0JBQ0g7QUFDQyxXQUFJLFVBREw7QUFFQyxZQUFNLEtBQUs3RCxLQUFMLENBQVc4RCxJQUFYLEtBQW9CLE1BQXBCLEdBQTZCLElBQTdCLEdBQW9DLEdBRjNDO0FBR0MsYUFBTyxLQUFLOUQsS0FBTCxDQUFXK0QsS0FIbkI7QUFJQyxnQkFBVSxLQUFLL0QsS0FBTCxDQUFXMkIsUUFKdEI7QUFLQyx1QkFBaUIwQixxQkFMbEI7QUFNQyxpQkFBVyxLQUFLckQsS0FBTCxDQUFXZ0U7QUFOdkIsTUFESDtBQVNBYixxQkFBaUJDLElBQWpCLENBQ0VTLGVBREY7QUFHQVgsMEJBQXNCLEtBQUsxQyxRQUFMLENBQWMwQyxtQkFBZCxFQUFtQyxLQUFLbEQsS0FBTCxDQUFXVSxLQUE5QyxDQUF0QjtBQUNBLFFBQUl5QyxpQkFBaUJMLE1BQXJCLEVBQTZCO0FBQzNCSSwwQkFBb0JFLElBQXBCLENBQ0U7QUFBQTtBQUFBLFVBQUssV0FBVSw4QkFBZixFQUE4QyxLQUFJLG1CQUFsRDtBQUNFLGVBQUk7QUFETjtBQUdFO0FBQUE7QUFBQSxZQUFLLFdBQVUsaUVBQWY7QUFDR0Q7QUFESDtBQUhGLE9BREY7QUFTRDtBQUNELFFBQUksS0FBS25ELEtBQUwsQ0FBV2lFLE1BQWYsRUFBdUI7QUFDckJmLDBCQUFvQkUsSUFBcEIsQ0FBeUIsa0RBQVEsS0FBSSxtQkFBWixFQUFnQyxRQUFRLEtBQUtwRCxLQUFMLENBQVdpRSxNQUFuRCxHQUF6QjtBQUNEO0FBQ0RmLHdCQUFvQkUsSUFBcEIsQ0FBeUIsZ0RBQU0sTUFBTSxLQUFLcEQsS0FBTCxDQUFXMEMsSUFBdkIsRUFBNkIsS0FBSSxpQkFBakMsR0FBekI7QUFDQVEsd0JBQW9CRSxJQUFwQixDQUF5QjtBQUFBO0FBQUEsUUFBSyxLQUFJLHVCQUFUO0FBQWtDLFdBQUtwRCxLQUFMLENBQVdrRTtBQUE3QyxLQUF6QjtBQUNBekQsWUFBUTJDLElBQVIsQ0FBYTtBQUFBO0FBQUEsUUFBSyxXQUFVLGtCQUFmLEVBQWtDLEtBQUksZUFBdEM7QUFBdURGO0FBQXZELEtBQWI7QUE1RE8sa0JBNkRpQyxLQUFLbEQsS0E3RHRDO0FBQUEsUUE2RENtRSxZQTdERCxXQTZEQ0EsWUE3REQ7QUFBQSxRQTZEZUMsYUE3RGYsV0E2RGVBLGFBN0RmOztBQThEUCxRQUFJQyxpQkFBaUIsSUFBckI7QUFDQSxRQUFJRCxrQkFBa0IsVUFBbEIsSUFBZ0MsRUFBRUEsa0JBQWtCLFVBQWxCLElBQWdDRCxpQkFBaUIsQ0FBbkQsQ0FBcEMsRUFBMkY7QUFDekZFLHVCQUNFO0FBQ0UsYUFBSSxxQkFETjtBQUVFLDZCQUFxQixLQUFLckUsS0FBTCxDQUFXc0UsbUJBRmxDO0FBR0Usc0JBQWNILFlBSGhCO0FBSUUsMkJBQW1CLEtBQUtuRSxLQUFMLENBQVd1RSxpQkFKaEM7QUFLRSxxQkFBYSxLQUFLdkUsS0FBTCxDQUFXd0U7QUFMMUIsUUFERjtBQVNEO0FBQ0QvRCxZQUFRMkMsSUFBUixDQUNFO0FBQUE7QUFBQSxRQUFLLFdBQVUseUJBQWYsRUFBeUMsS0FBSSx5QkFBN0M7QUFDR1MscUJBREg7QUFFR1E7QUFGSCxLQURGO0FBTUEsUUFBTUksaUJBQWlCLEtBQUt6RSxLQUFMLENBQVd5RSxjQUFsQztBQUNBLFFBQU1DLGdCQUFnQmhELDBCQUNwQjtBQUFBO0FBQUEsUUFBTSxnREFBK0NHLGdCQUFyRDtBQUNHRDtBQURILEtBRG9CLEdBSWxCLElBSko7QUFLQSxTQUFLSCxlQUFMLENBQ0VDLHVCQURGLEVBRUVDLFFBRkYsRUFHRUMsaUJBSEYsRUFJRUMsZ0JBSkYsRUFLRXBCLE9BTEY7QUFPQSxXQUNFO0FBQUE7QUFBQTtBQUNFLHVCQURGO0FBRUUsbUJBQVcsMEJBQVcsV0FBWCxFQUF3QixLQUFLVCxLQUFMLENBQVcyRSxTQUFuQyxDQUZiO0FBR0Usa0JBQVUsS0FBSzNFLEtBQUwsQ0FBVzRFLFFBSHZCO0FBSUUsa0JBQVUsS0FBSzVFLEtBQUwsQ0FBVzZFLFFBSnZCO0FBS0UsY0FBSyxTQUxQO0FBTUUsYUFBSTtBQU5OO0FBUUdILG1CQVJIO0FBU0Usb0NBQUMsY0FBRDtBQUNFLGVBQU8sS0FBSzFFLEtBQUwsQ0FBVytELEtBRHBCO0FBRUUsa0JBQVUsS0FBSy9ELEtBQUwsQ0FBVzJCLFFBRnZCO0FBR0UsaUJBQVMsSUFIWDtBQUlFLHdCQUFnQkQsdUVBQzhCRyxnQkFEOUIsR0FDb0QsRUFMdEU7QUFNRSwyQkFBbUJILDBFQUM4QkcsZ0JBRDlCLEdBQ29EO0FBUHpFLFFBVEY7QUFrQkdwQjtBQWxCSCxLQURGO0FBc0JELEc7Ozs7d0JBaFVzQjtBQUNyQixhQUFPO0FBQ0xrRSxtQkFBVyxnQkFBTUcsU0FBTixDQUFnQkMsTUFEdEI7QUFFTHJFLGVBQU8sZ0JBQU1vRSxTQUFOLENBQWdCRSxLQUFoQixDQUFzQjtBQUMzQnBFLGVBQUssZ0JBQU1rRSxTQUFOLENBQWdCQyxNQURNO0FBRTNCbEUsbUJBQVMsZ0JBQU1pRSxTQUFOLENBQWdCQyxNQUZFO0FBRzNCakUsZUFBSyxnQkFBTWdFLFNBQU4sQ0FBZ0JDO0FBSE0sU0FBdEIsQ0FGRjtBQU9MZCxnQkFBUSxnQkFBTWEsU0FBTixDQUFnQkMsTUFQbkI7QUFRTHZELGdCQUFRLGdCQUFNc0QsU0FBTixDQUFnQkMsTUFSbkI7QUFTTDVELGlCQUFTLGdCQUFNMkQsU0FBTixDQUFnQkcsSUFUcEI7QUFVTDdELG9CQUFZLGdCQUFNMEQsU0FBTixDQUFnQkMsTUFWdkI7QUFXTHBELGtCQUFVLGdCQUFNbUQsU0FBTixDQUFnQkMsTUFYckI7QUFZTGhCLGVBQU8sZ0JBQU1lLFNBQU4sQ0FBZ0JDLE1BQWhCLENBQXVCRyxVQVp6QjtBQWFMcEIsY0FBTSxnQkFBTWdCLFNBQU4sQ0FBZ0JDLE1BQWhCLENBQXVCRyxVQWJ4QjtBQWNMbEIsWUFBSSxnQkFBTWMsU0FBTixDQUFnQkMsTUFBaEIsQ0FBdUJHLFVBZHRCO0FBZUwzQix5QkFBaUIsZ0JBQU11QixTQUFOLENBQWdCQyxNQUFoQixDQUF1QkcsVUFmbkM7QUFnQkxULHdCQUFnQixnQkFBTUssU0FBTixDQUFnQkssSUFBaEIsQ0FBcUJELFVBaEJoQztBQWlCTGpFLGdCQUFRLGdCQUFNNkQsU0FBTixDQUFnQkMsTUFqQm5CO0FBa0JMOUUsa0JBQVUsZ0JBQU02RSxTQUFOLENBQWdCTSxVQUFoQixDQUEyQjlCLElBQTNCLENBbEJMO0FBbUJMbkQsb0JBQVksZ0JBQU0yRSxTQUFOLENBQWdCQyxNQW5CdkI7QUFvQkwzRSxzQkFBYyxnQkFBTTBFLFNBQU4sQ0FBZ0JDLE1BcEJ6QjtBQXFCTDdFLG9CQUFZLGdCQUFNNEUsU0FBTixDQUFnQkssSUFyQnZCO0FBc0JMekMsY0FBTSxnQkFBTW9DLFNBQU4sQ0FBZ0JPLFNBQWhCLENBQTBCLENBQzlCLGdCQUFNUCxTQUFOLENBQWdCQyxNQURjLEVBRTlCLGdCQUFNRCxTQUFOLENBQWdCRyxJQUZjLENBQTFCLEVBR0hDLFVBekJFO0FBMEJMaEIsbUJBQVcsZ0JBQU1ZLFNBQU4sQ0FBZ0JHLElBMUJ0QjtBQTJCTEosa0JBQVUsZ0JBQU1DLFNBQU4sQ0FBZ0JDLE1BM0JyQjtBQTRCTEgsa0JBQVUsZ0JBQU1FLFNBQU4sQ0FBZ0JDLE1BNUJyQjtBQTZCTFosc0JBQWMsZ0JBQU1XLFNBQU4sQ0FBZ0JRLE1BQWhCLENBQXVCSixVQTdCaEM7QUE4QkxkLHVCQUFlLGdCQUFNVSxTQUFOLENBQWdCUyxLQUFoQixDQUFzQixDQUNuQyxVQURtQyxFQUVuQyxVQUZtQyxFQUduQyxXQUhtQyxFQUluQyxpQkFKbUMsQ0FBdEIsRUFLWkwsVUFuQ0U7QUFvQ0xaLDZCQUFxQixnQkFBTVEsU0FBTixDQUFnQkMsTUFBaEIsQ0FBdUJHLFVBcEN2QztBQXFDTFgsMkJBQW1CLGdCQUFNTyxTQUFOLENBQWdCQyxNQUFoQixDQUF1QkcsVUFyQ3JDO0FBc0NMVixxQkFBYSxnQkFBTU0sU0FBTixDQUFnQkMsTUFBaEIsQ0FBdUJHLFVBdEMvQjtBQXVDTHZFLG1CQUFXLGdCQUFNbUUsU0FBTixDQUFnQlUsTUF2Q3RCO0FBd0NMeEMscUJBQWEsZ0JBQU04QixTQUFOLENBQWdCQyxNQXhDeEI7QUF5Q0xoRCwyQkFBbUIsZ0JBQU0rQyxTQUFOLENBQWdCVyxPQUFoQixDQUF3QixnQkFBTVgsU0FBTixDQUFnQlUsTUFBeEMsQ0F6Q2Q7QUEwQ0w5RCxpQ0FBeUIsZ0JBQU1vRCxTQUFOLENBQWdCWSxJQTFDcEM7QUEyQ0x6RCxrQkFBVSxnQkFBTTZDLFNBQU4sQ0FBZ0JDLE1BM0NyQjtBQTRDTHBDLHlCQUFpQixnQkFBTW1DLFNBQU4sQ0FBZ0JHLElBNUM1QjtBQTZDTHBDLDZCQUFxQixnQkFBTWlDLFNBQU4sQ0FBZ0JRLE1BN0NoQztBQThDTHJDLDJCQUFtQixnQkFBTTZCLFNBQU4sQ0FBZ0JDO0FBOUM5QixPQUFQO0FBZ0REOzs7d0JBQ3lCO0FBQ3hCLGFBQU87QUFDTEYsa0JBQVUsK0JBREw7QUFFTEQsa0JBQVUsVUFGTDtBQUdMTiw2QkFBcUIseUJBSGhCO0FBSUxDLDJCQUFtQixlQUpkO0FBS0xyRSxvQkFBWSxvQkFBQ3lGLElBQUQsRUFBVTtBQUNwQixjQUFNQyxhQUFhLEVBQW5CO0FBQ0E7QUFDQSxtQkFBU0MsVUFBVCxDQUFvQkMsR0FBcEIsRUFBeUI7QUFDdkIsZ0JBQU1DLFNBQVNELElBQUlFLFFBQUosRUFBZjtBQUNBLGdCQUFNQyxXQUFXRixPQUFPRyxNQUFQLENBQWNILE9BQU9qRCxNQUFQLEdBQWdCLENBQTlCLENBQWpCO0FBQ0EsZ0JBQUlxRCxVQUFVLEVBQWQ7QUFDQSxvQkFBUUYsUUFBUjtBQUNFLG1CQUFLLEdBQUw7QUFDRUUsMEJBQVUsSUFBVjtBQUNBO0FBQ0YsbUJBQUssR0FBTDtBQUNFQSwwQkFBVSxJQUFWO0FBQ0E7QUFDRixtQkFBSyxHQUFMO0FBQ0VBLDBCQUFVLElBQVY7QUFDQTtBQUNGO0FBQ0VBLDBCQUFVLElBQVY7QUFDQTtBQVpKO0FBY0Esd0JBQVdMLEdBQVgsR0FBbUJLLE9BQW5CO0FBQ0Q7QUFDRCxjQUFNQyxpQkFBaUIsQ0FDckIsS0FEcUIsRUFDZCxLQURjLEVBQ1AsS0FETyxFQUNBLEtBREEsRUFDTyxLQURQLEVBQ2MsS0FEZCxFQUVyQixLQUZxQixFQUVkLEtBRmMsRUFFUCxLQUZPLEVBRUEsS0FGQSxFQUVPLEtBRlAsRUFFYyxLQUZkLENBQXZCO0FBSUEsY0FBSUMsVUFBVVYsS0FBS1csVUFBTCxLQUFvQlYsVUFBcEIsR0FBaUMsR0FBakMsR0FBdUMsRUFBckQ7QUFDQVMscUJBQVdWLEtBQUtXLFVBQUwsRUFBWDtBQUNBLGlCQUFPLE1BQU1GLGVBQWVULEtBQUtqQyxRQUFMLEVBQWYsQ0FBTixPQUNEbUMsV0FBV0YsS0FBS2hDLE9BQUwsRUFBWCxDQURDLEVBRURnQyxLQUFLbEMsV0FBTCxFQUZDLFFBR0RrQyxLQUFLWSxRQUFMLEVBSEMsU0FHb0JGLE9BSHBCLEVBR2lDRyxJQUhqQyxDQUdzQyxHQUh0QyxDQUFQO0FBSUQ7QUF0Q0ksT0FBUDtBQXdDRDs7OztFQTVGbUMsZ0JBQU1DLFM7O2tCQUF2QjVHLFEiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXV0aG9yIGZyb20gJy4vcGFydHMvYXV0aG9yJztcbmltcG9ydCBCbG9nUG9zdEltYWdlIGZyb20gJy4vcGFydHMvYmxvZy1wb3N0LWltYWdlJztcbmltcG9ydCBCbG9nUG9zdFNlY3Rpb24gZnJvbSAnLi9wYXJ0cy9ibG9nLXBvc3Qtc2VjdGlvbic7XG5pbXBvcnQgQ29tbWVudHMgZnJvbSAnLi9wYXJ0cy9jb21tZW50cyc7XG5pbXBvcnQgSW1hZ2VDYXB0aW9uIGZyb20gJy4vcGFydHMvaW1hZ2UtY2FwdGlvbic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJ1YnJpYyBmcm9tICcuL3BhcnRzL3J1YnJpYyc7XG5pbXBvcnQgU2hhcmVCYXIgZnJvbSAnLi9wYXJ0cy9ibG9nLXBvc3Qtc2hhcmViYXInO1xuaW1wb3J0IFRleHQgZnJvbSAnLi9wYXJ0cy90ZXh0JztcbmltcG9ydCB7IHNpYmxpbmdMaXN0IH0gZnJvbSAnLi9wYXJ0cy9ibG9nLXBvc3Qtc2libGluZ3MtbGlzdCc7XG5cbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHVybEpvaW4gZnJvbSAndXJsLWpvaW4nO1xuXG5mdW5jdGlvbiB0d29EaWdpdHMoaW50KSB7XG4gIHJldHVybiBpbnQgPiA5ID8gJycgKyBpbnQgOiAnMCcgKyBpbnQ7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmxvZ1Bvc3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BUeXBlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY2xhc3NOYW1lOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgaW1hZ2U6IFJlYWN0LlByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIHNyYzogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgY2FwdGlvbjogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgYWx0OiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgfSksXG4gICAgICBhdXRob3I6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBieWxpbmU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBzZWN0aW9uOiBSZWFjdC5Qcm9wVHlwZXMubm9kZSxcbiAgICAgIHNlY3Rpb25Vcmw6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBmbHlUaXRsZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHRpdGxlOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB0eXBlOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBpZDogUmVhY3QuUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgcHVibGljYXRpb25EYXRlOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBUaXRsZUNvbXBvbmVudDogUmVhY3QuUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIHJ1YnJpYzogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGRhdGVUaW1lOiBSZWFjdC5Qcm9wVHlwZXMuaW5zdGFuY2VPZihEYXRlKSxcbiAgICAgIGRhdGVTdHJpbmc6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICB0aW1lc3RhbXBJU086IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBkYXRlRm9ybWF0OiBSZWFjdC5Qcm9wVHlwZXMuZnVuYyxcbiAgICAgIHRleHQ6IFJlYWN0LlByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBSZWFjdC5Qcm9wVHlwZXMubm9kZSxcbiAgICAgIF0pLmlzUmVxdWlyZWQsXG4gICAgICBhZnRlclRleHQ6IFJlYWN0LlByb3BUeXBlcy5ub2RlLFxuICAgICAgaXRlbVR5cGU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBpdGVtUHJvcDogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGNvbW1lbnRDb3VudDogUmVhY3QuUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICAgICAgY29tbWVudFN0YXR1czogUmVhY3QuUHJvcFR5cGVzLm9uZU9mKFtcbiAgICAgICAgJ2Rpc2FibGVkJyxcbiAgICAgICAgJ3JlYWRvbmx5JyxcbiAgICAgICAgJ3JlYWR3cml0ZScsXG4gICAgICAgICdmYmNvbW1lbnRwbHVnaW4nLFxuICAgICAgXSkuaXNSZXF1aXJlZCxcbiAgICAgIGZpcnN0VG9Db21tZW50TGFiZWw6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHZpZXdDb21tZW50c0xhYmVsOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBjb21tZW50c1VyaTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgYmxvZ0ltYWdlOiBSZWFjdC5Qcm9wVHlwZXMub2JqZWN0LFxuICAgICAgc2VjdGlvbk5hbWU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBpc3N1ZVNpYmxpbmdzTGlzdDogUmVhY3QuUHJvcFR5cGVzLmFycmF5T2YoUmVhY3QuUHJvcFR5cGVzLm9iamVjdCksXG4gICAgICBzaG93U2libGluZ0FydGljbGVzTGlzdDogUmVhY3QuUHJvcFR5cGVzLmJvb2wsXG4gICAgICBzaWRlVGV4dDogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIG5leHRBcnRpY2xlTGluazogUmVhY3QuUHJvcFR5cGVzLm5vZGUsXG4gICAgICBhcnRpY2xlTGlzdFBvc2l0aW9uOiBSZWFjdC5Qcm9wVHlwZXMubnVtYmVyLFxuICAgICAgY2xhc3NOYW1lTW9kaWZpZXI6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgfTtcbiAgfVxuICBzdGF0aWMgZ2V0IGRlZmF1bHRQcm9wcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXRlbVR5cGU6ICdodHRwOi8vc2NoZW1hLm9yZy9CbG9nUG9zdGluZycsXG4gICAgICBpdGVtUHJvcDogJ2Jsb2dQb3N0JyxcbiAgICAgIGZpcnN0VG9Db21tZW50TGFiZWw6ICdCZSB0aGUgZmlyc3QgdG8gY29tbWVudCcsXG4gICAgICB2aWV3Q29tbWVudHNMYWJlbDogJ1ZpZXcgY29tbWVudHMnLFxuICAgICAgZGF0ZUZvcm1hdDogKGRhdGUpID0+IHtcbiAgICAgICAgY29uc3QgdGVuTWludXRlcyA9IDEwO1xuICAgICAgICAvLyBTZXAgMTl0aCAyMDE1LCA5OjQ5XG4gICAgICAgIGZ1bmN0aW9uIGFkZFBvc3RGaXgoZGF5KSB7XG4gICAgICAgICAgY29uc3QgZGF5c3RyID0gZGF5LnRvU3RyaW5nKCk7XG4gICAgICAgICAgY29uc3QgbGFzdENoYXIgPSBkYXlzdHIuY2hhckF0KGRheXN0ci5sZW5ndGggLSAxKTtcbiAgICAgICAgICBsZXQgcG9zdEZpeCA9ICcnO1xuICAgICAgICAgIHN3aXRjaCAobGFzdENoYXIpIHtcbiAgICAgICAgICAgIGNhc2UgJzEnOlxuICAgICAgICAgICAgICBwb3N0Rml4ID0gJ3N0JztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICcyJzpcbiAgICAgICAgICAgICAgcG9zdEZpeCA9ICduZCc7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMyc6XG4gICAgICAgICAgICAgIHBvc3RGaXggPSAncmQnO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHBvc3RGaXggPSAndGgnO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGAkeyBkYXkgfSR7IHBvc3RGaXggfWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2hvcnRNb250aExpc3QgPSBbXG4gICAgICAgICAgJ0phbicsICdGZWInLCAnTWFyJywgJ0FwcicsICdNYXknLCAnSnVuJyxcbiAgICAgICAgICAnSnVsJywgJ0F1ZycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEZWMnLFxuICAgICAgICBdO1xuICAgICAgICBsZXQgbWludXRlcyA9IGRhdGUuZ2V0TWludXRlcygpIDwgdGVuTWludXRlcyA/ICcwJyA6ICcnO1xuICAgICAgICBtaW51dGVzICs9IGRhdGUuZ2V0TWludXRlcygpO1xuICAgICAgICByZXR1cm4gWyBgJHsgc2hvcnRNb250aExpc3RbZGF0ZS5nZXRNb250aCgpXSB9YCxcbiAgICAgICAgICBgJHsgYWRkUG9zdEZpeChkYXRlLmdldERhdGUoKSkgfWAsXG4gICAgICAgICAgYCR7IGRhdGUuZ2V0RnVsbFllYXIoKSB9LGAsXG4gICAgICAgICAgYCR7IGRhdGUuZ2V0SG91cnMoKSB9OiR7IG1pbnV0ZXMgfWAgXS5qb2luKCcgJyk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBhZGREYXRlVGltZShzZWN0aW9uRGF0ZUF1dGhvciwgcHJvcHMpIHtcbiAgICBjb25zdCB7IGRhdGVUaW1lLCBkYXRlRm9ybWF0LCBkYXRlU3RyaW5nLCB0aW1lc3RhbXBJU08gfSA9IHByb3BzO1xuICAgIGxldCByZXN1bHQgPSBzZWN0aW9uRGF0ZUF1dGhvci5zbGljZSgpO1xuICAgIGlmIChkYXRlVGltZSkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdCgoXG4gICAgICAgIDx0aW1lXG4gICAgICAgICAgY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19kYXRldGltZVwiXG4gICAgICAgICAgaXRlbVByb3A9XCJkYXRlQ3JlYXRlZFwiXG4gICAgICAgICAgZGF0ZVRpbWU9e3RoaXMucHJvcHMuZGF0ZVRpbWV9XG4gICAgICAgICAga2V5PVwiYmxvZy1wb3N0X19kYXRldGltZVwiXG4gICAgICAgID57ZGF0ZUZvcm1hdChkYXRlVGltZSl9PC90aW1lPikpO1xuICAgIH1cbiAgICBpZiAoZGF0ZVN0cmluZyAmJiB0aW1lc3RhbXBJU08pIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoKFxuICAgICAgICA8dGltZVxuICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fZGF0ZXRpbWVcIlxuICAgICAgICAgIGl0ZW1Qcm9wPVwiZGF0ZUNyZWF0ZWRcIlxuICAgICAgICAgIGRhdGVUaW1lPXt0aW1lc3RhbXBJU099XG4gICAgICAgICAga2V5PVwiYmxvZy1wb3N0X19kYXRldGltZUlTT1wiXG4gICAgICAgID57ZGF0ZVN0cmluZ308L3RpbWU+KSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBhZGRJbWFnZShjb250ZW50LCBpbWFnZSA9IHt9KSB7XG4gICAgaWYgKHRoaXMucHJvcHMuYmxvZ0ltYWdlKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5jb250ZW50LFxuICAgICAgICAuLi50aGlzLnByb3BzLmJsb2dJbWFnZSxcbiAgICAgIF07XG4gICAgfSBlbHNlIGlmIChpbWFnZSkge1xuICAgICAgY29uc3QgeyBzcmMsIGNhcHRpb24sIGFsdCB9ID0gaW1hZ2U7XG4gICAgICBpZiAoc3JjKSB7XG4gICAgICAgIGNvbnN0IGltYWdlQ2FwdGlvbiA9IGNhcHRpb24gPyA8SW1hZ2VDYXB0aW9uIGNhcHRpb249e2NhcHRpb259IGtleT1cImJsb2ctcG9zdF9faW1hZ2UtY2FwdGlvblwiIC8+IDogbnVsbDtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQuY29uY2F0KFxuICAgICAgICAgIDxCbG9nUG9zdEltYWdlXG4gICAgICAgICAgICBrZXk9XCJibG9naW1nXCJcbiAgICAgICAgICAgIGNhcHRpb249e2ltYWdlQ2FwdGlvbn1cbiAgICAgICAgICAgIHNyYz17c3JjfVxuICAgICAgICAgICAgYWx0PXthbHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICBhZGRSdWJyaWMoY29udGVudCwgcnVicmljKSB7XG4gICAgaWYgKHJ1YnJpYykge1xuICAgICAgcmV0dXJuIGNvbnRlbnQuY29uY2F0KDxSdWJyaWMgcnVicmljPXtydWJyaWN9IGtleT1cImJsb2ctcG9zdF9fcnVicmljXCIgLz4pO1xuICAgIH1cbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIGFkZEJsb2dQb3N0U2VjdGlvbihzZWN0aW9uRGF0ZUF1dGhvciwgc2VjdGlvbiwgc2VjdGlvblVybCkge1xuICAgIGlmIChzZWN0aW9uKSB7XG4gICAgICBpZiAoc2VjdGlvblVybCAmJiAhL14oXFx3KzopP1xcL1xcLy8udGVzdChzZWN0aW9uVXJsKSkge1xuICAgICAgICBzZWN0aW9uVXJsID0gdXJsSm9pbignLycsIHNlY3Rpb25VcmwpO1xuICAgICAgfVxuICAgICAgY29uc3QgYmxvZ1Bvc3RTZWN0aW9uID0gc2VjdGlvblVybCA/IChcbiAgICAgICAgPGEgaHJlZj17c2VjdGlvblVybH0gY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19zZWN0aW9uLWxpbmtcIj5cbiAgICAgICAgICB7c2VjdGlvbn1cbiAgICAgICAgPC9hPlxuICAgICAgKSA6IHNlY3Rpb247XG4gICAgICByZXR1cm4gc2VjdGlvbkRhdGVBdXRob3IuY29uY2F0KFxuICAgICAgICA8QmxvZ1Bvc3RTZWN0aW9uIGtleT1cImJsb2ctcG9zdF9fc2VjdGlvblwiIHNlY3Rpb249e2Jsb2dQb3N0U2VjdGlvbn0gLz5cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBzZWN0aW9uRGF0ZUF1dGhvcjtcbiAgfVxuXG4gIGFkZEJ5TGluZShzZWN0aW9uRGF0ZUF1dGhvciwgYnlsaW5lKSB7XG4gICAgaWYgKGJ5bGluZSkge1xuICAgICAgcmV0dXJuIHNlY3Rpb25EYXRlQXV0aG9yLmNvbmNhdChcbiAgICAgICAgPHAgY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19ieWxpbmUtY29udGFpbmVyXCIga2V5PVwiYmxvZy1wb3N0X19ieWxpbmUtY29udGFpbmVyXCI+XG4gICAgICAgICAge1wiYnkgXCJ9XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fYnlsaW5lXCJcbiAgICAgICAgICAgIGl0ZW1Qcm9wPVwiYXV0aG9yXCJcbiAgICAgICAgICA+e2J5bGluZX08L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBzZWN0aW9uRGF0ZUF1dGhvcjtcbiAgfVxuXG4gIGFkZFNpYmxpbmdzTGlzdChzaG93U2libGluZ0FydGljbGVzTGlzdCwgZmx5VGl0bGUsIHNpYmxpbmdzTGlzdFRpdGxlLCBlbGVtZW50Q2xhc3NOYW1lLCBjb250ZW50KSB7XG4gICAgY29uc3Qgc2libGluZ0FydGljbGVzID0gc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgJiYgdGhpcy5wcm9wcy5pc3N1ZVNpYmxpbmdzTGlzdCA/XG4gICAgdGhpcy5wcm9wcy5pc3N1ZVNpYmxpbmdzTGlzdCA6IG51bGw7XG4gICAgY29uc3Qgc2libGluZ0FydGljbGVzTGlzdCA9IHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0ID8gKFxuICAgICAgc2libGluZ0xpc3QoXG4gICAgICAgIHNpYmxpbmdBcnRpY2xlcyxcbiAgICAgICAgZmx5VGl0bGUsXG4gICAgICAgIGVsZW1lbnRDbGFzc05hbWUsXG4gICAgICAgIHNpYmxpbmdzTGlzdFRpdGxlLFxuICAgICAgICB0aGlzLnByb3BzLnNpZGVUZXh0XG4gICAgICApXG4gICAgKSA6IG51bGw7XG4gICAgY29uc3QgaW5uZXJDb250ZW50RWxlbWVudHMgPSBzaG93U2libGluZ0FydGljbGVzTGlzdCA/IChjb250ZW50LmZpbHRlcigoY29udGVudEVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGlubmVyQ29udGVudCA9IGNvbnRlbnRFbGVtZW50LmtleSA9PT0gJ2lubmVyLWNvbnRlbnQnO1xuICAgICAgcmV0dXJuIGlubmVyQ29udGVudDtcbiAgICB9KVswXS5wcm9wcy5jaGlsZHJlbikgOiBudWxsO1xuICAgIGNvbnN0IGJsb2dQb3N0VGV4dEVsZW1lbnRzID0gc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgPyAoaW5uZXJDb250ZW50RWxlbWVudHMuZmlsdGVyKChjb250ZW50RWxlbWVudCkgPT4ge1xuICAgICAgY29uc3QgYmxvZ1Bvc3RUZXh0ID0gY29udGVudEVsZW1lbnQua2V5ID09PSAnYmxvZy1wb3N0X190ZXh0JztcbiAgICAgIHJldHVybiBibG9nUG9zdFRleHQ7XG4gICAgfSlbMF0ucHJvcHMudGV4dCkgOiBudWxsO1xuICAgIGlmIChzaG93U2libGluZ0FydGljbGVzTGlzdCAmJiAoYmxvZ1Bvc3RUZXh0RWxlbWVudHMgfHwgKGNvbnRlbnQgJiYgdGhpcy5wcm9wcy5uZXh0QXJ0aWNsZUxpbmspKSkge1xuICAgICAgYmxvZ1Bvc3RUZXh0RWxlbWVudHMuc3BsaWNlKHRoaXMucHJvcHMuYXJ0aWNsZUxpc3RQb3NpdGlvbiwgMCwgc2libGluZ0FydGljbGVzTGlzdCk7XG4gICAgICBjb250ZW50LnNwbGljZShjb250ZW50Lmxlbmd0aCAtIDEsIDAsIHRoaXMucHJvcHMubmV4dEFydGljbGVMaW5rKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBmbHlUaXRsZSwgc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qgc2libGluZ3NMaXN0VGl0bGUgPSB0aGlzLnByb3BzLnNlY3Rpb25OYW1lO1xuICAgIGNvbnN0IGVsZW1lbnRDbGFzc05hbWUgPSBzaG93U2libGluZ0FydGljbGVzTGlzdCAmJiB0aGlzLnByb3BzLmNsYXNzTmFtZU1vZGlmaWVyID9cbiAgICAgIGBibG9nLXBvc3RfX3NpYmxpbmdzLWxpc3QtLSR7IHRoaXMucHJvcHMuY2xhc3NOYW1lTW9kaWZpZXIgfWAgOiAnJztcbiAgICBsZXQgY29udGVudCA9IFtdO1xuICAgIC8vIGFzaWRlIGFuZCB0ZXh0IGNvbnRlbnQgYXJlIHdyYXBwZWQgdG9nZXRoZXIgaW50byBhIGNvbXBvbmVudC5cbiAgICAvLyB0aGF0IG1ha2VzIGl0IGVhc2llciB0byBtb3ZlIHRoZSBhc2lkZSBhcm91bmQgcmVsYXRpdmVseSB0byBpdHMgY29udGFpbnRlclxuICAgIGxldCB3cmFwcGVkSW5uZXJDb250ZW50ID0gW107XG4gICAgY29uc3QgYXNpZGVhYmxlQ29udGVudCA9IFtdO1xuICAgIGxldCBzZWN0aW9uRGF0ZUF1dGhvciA9IFtdO1xuICAgIGNvbnRlbnQgPSB0aGlzLmFkZFJ1YnJpYyhjb250ZW50LCB0aGlzLnByb3BzLnJ1YnJpYyk7XG4gICAgc2VjdGlvbkRhdGVBdXRob3IgPSB0aGlzLmFkZEJsb2dQb3N0U2VjdGlvbihzZWN0aW9uRGF0ZUF1dGhvciwgdGhpcy5wcm9wcy5zZWN0aW9uLCB0aGlzLnByb3BzLnNlY3Rpb25VcmwpO1xuICAgIHNlY3Rpb25EYXRlQXV0aG9yID0gdGhpcy5hZGREYXRlVGltZShzZWN0aW9uRGF0ZUF1dGhvciwgdGhpcy5wcm9wcyk7XG4gICAgc2VjdGlvbkRhdGVBdXRob3IgPSB0aGlzLmFkZEJ5TGluZShzZWN0aW9uRGF0ZUF1dGhvciwgdGhpcy5wcm9wcy5ieWxpbmUpO1xuICAgIGlmIChzZWN0aW9uRGF0ZUF1dGhvci5sZW5ndGgpIHtcbiAgICAgIGFzaWRlYWJsZUNvbnRlbnQucHVzaChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fc2VjdGlvbi1kYXRlLWF1dGhvclwiXG4gICAgICAgICAga2V5PVwiYmxvZy1wb3N0X19zZWN0aW9uLWRhdGUtYXV0aG9yXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtzZWN0aW9uRGF0ZUF1dGhvcn1cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFNoYXJlIGJhciBwdWJsaWNhdGlvbkRhdGUgZm9ybWF0dGVkXG4gICAgbGV0IHNoYXJlQmFyUHVibGljYXRlRGF0ZSA9IG5ldyBEYXRlKHRoaXMucHJvcHMucHVibGljYXRpb25EYXRlICogMTAwMCkgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgIHNoYXJlQmFyUHVibGljYXRlRGF0ZSA9IGAkeyBTdHJpbmcoc2hhcmVCYXJQdWJsaWNhdGVEYXRlLmdldEZ1bGxZZWFyKCkpIH1cbiAgICAkeyBTdHJpbmcodHdvRGlnaXRzKHNoYXJlQmFyUHVibGljYXRlRGF0ZS5nZXRNb250aCgpICsgMSkpIH1cbiAgICAkeyBTdHJpbmcodHdvRGlnaXRzKHNoYXJlQmFyUHVibGljYXRlRGF0ZS5nZXREYXRlKCkpKSB9YC5yZXBsYWNlKC9cXHMvZywgJycpO1xuICAgIGNvbnN0IHNoYXJlQmFyRGVmYXVsdCA9XG4gICAgICAoPFNoYXJlQmFyXG4gICAgICAgIGtleT1cInNoYXJlYmFyXCJcbiAgICAgICAgdHlwZT17dGhpcy5wcm9wcy50eXBlID09PSAncG9zdCcgPyAnQkwnIDogJ0EnfVxuICAgICAgICB0aXRsZT17dGhpcy5wcm9wcy50aXRsZX1cbiAgICAgICAgZmx5VGl0bGU9e3RoaXMucHJvcHMuZmx5VGl0bGV9XG4gICAgICAgIHB1YmxpY2F0aW9uRGF0ZT17c2hhcmVCYXJQdWJsaWNhdGVEYXRlfVxuICAgICAgICBjb250ZW50SUQ9e3RoaXMucHJvcHMuaWR9XG4gICAgICAgLz4pO1xuICAgIGFzaWRlYWJsZUNvbnRlbnQucHVzaChcbiAgICAgIHNoYXJlQmFyRGVmYXVsdFxuICAgICk7XG4gICAgd3JhcHBlZElubmVyQ29udGVudCA9IHRoaXMuYWRkSW1hZ2Uod3JhcHBlZElubmVyQ29udGVudCwgdGhpcy5wcm9wcy5pbWFnZSk7XG4gICAgaWYgKGFzaWRlYWJsZUNvbnRlbnQubGVuZ3RoKSB7XG4gICAgICB3cmFwcGVkSW5uZXJDb250ZW50LnB1c2goKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fYXNpZGVhYmxlLXdyYXBwZXJcIiBrZXk9XCJhc2lkZWFibGUtY29udGVudFwiXG4gICAgICAgICAgcmVmPVwiYXNpZGVhYmxlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19hc2lkZWFibGUtY29udGVudCBibG9nLXBvc3RfX2FzaWRlYWJsZS1jb250ZW50LS1tZXRhXCI+XG4gICAgICAgICAgICB7YXNpZGVhYmxlQ29udGVudH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMuYXV0aG9yKSB7XG4gICAgICB3cmFwcGVkSW5uZXJDb250ZW50LnB1c2goPEF1dGhvciBrZXk9XCJibG9nLXBvc3RfX2F1dGhvclwiIGF1dGhvcj17dGhpcy5wcm9wcy5hdXRob3J9IC8+KTtcbiAgICB9XG4gICAgd3JhcHBlZElubmVyQ29udGVudC5wdXNoKDxUZXh0IHRleHQ9e3RoaXMucHJvcHMudGV4dH0ga2V5PVwiYmxvZy1wb3N0X190ZXh0XCIgLz4pO1xuICAgIHdyYXBwZWRJbm5lckNvbnRlbnQucHVzaCg8ZGl2IGtleT1cImJsb2ctcG9zdF9fYWZ0ZXItdGV4dFwiPnt0aGlzLnByb3BzLmFmdGVyVGV4dH08L2Rpdj4pO1xuICAgIGNvbnRlbnQucHVzaCg8ZGl2IGNsYXNzTmFtZT1cImJsb2ctcG9zdF9faW5uZXJcIiBrZXk9XCJpbm5lci1jb250ZW50XCI+e3dyYXBwZWRJbm5lckNvbnRlbnR9PC9kaXY+KTtcbiAgICBjb25zdCB7IGNvbW1lbnRDb3VudCwgY29tbWVudFN0YXR1cyB9ID0gdGhpcy5wcm9wcztcbiAgICBsZXQgY29tbWVudFNlY3Rpb24gPSBudWxsO1xuICAgIGlmIChjb21tZW50U3RhdHVzICE9PSAnZGlzYWJsZWQnICYmICEoY29tbWVudFN0YXR1cyA9PT0gJ3JlYWRvbmx5JyAmJiBjb21tZW50Q291bnQgPT09IDApKSB7XG4gICAgICBjb21tZW50U2VjdGlvbiA9IChcbiAgICAgICAgPENvbW1lbnRzXG4gICAgICAgICAga2V5PVwiYmxvZy1wb3N0X19jb21tZW50c1wiXG4gICAgICAgICAgZmlyc3RUb0NvbW1lbnRMYWJlbD17dGhpcy5wcm9wcy5maXJzdFRvQ29tbWVudExhYmVsfVxuICAgICAgICAgIGNvbW1lbnRDb3VudD17Y29tbWVudENvdW50fVxuICAgICAgICAgIHZpZXdDb21tZW50c0xhYmVsPXt0aGlzLnByb3BzLnZpZXdDb21tZW50c0xhYmVsfVxuICAgICAgICAgIGNvbW1lbnRzVXJpPXt0aGlzLnByb3BzLmNvbW1lbnRzVXJpfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG4gICAgY29udGVudC5wdXNoKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9nLXBvc3RfX2JvdHRvbS1wYW5lbFwiIGtleT1cImJsb2ctcG9zdF9fYm90dG9tLXBhbmVsXCI+XG4gICAgICAgIHtzaGFyZUJhckRlZmF1bHR9XG4gICAgICAgIHtjb21tZW50U2VjdGlvbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gICAgY29uc3QgVGl0bGVDb21wb25lbnQgPSB0aGlzLnByb3BzLlRpdGxlQ29tcG9uZW50O1xuICAgIGNvbnN0IGFydGljbGVIZWFkZXIgPSBzaG93U2libGluZ0FydGljbGVzTGlzdCA/IChcbiAgICAgIDxzcGFuIGNsYXNzTmFtZT17YGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC1oZWFkZXIgJHsgZWxlbWVudENsYXNzTmFtZSB9YH0+XG4gICAgICAgIHtzaWJsaW5nc0xpc3RUaXRsZX1cbiAgICAgIDwvc3Bhbj5cbiAgICApIDogbnVsbDtcbiAgICB0aGlzLmFkZFNpYmxpbmdzTGlzdChcbiAgICAgIHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0LFxuICAgICAgZmx5VGl0bGUsXG4gICAgICBzaWJsaW5nc0xpc3RUaXRsZSxcbiAgICAgIGVsZW1lbnRDbGFzc05hbWUsXG4gICAgICBjb250ZW50XG4gICAgKTtcbiAgICByZXR1cm4gKFxuICAgICAgPGFydGljbGVcbiAgICAgICAgaXRlbVNjb3BlXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnYmxvZy1wb3N0JywgdGhpcy5wcm9wcy5jbGFzc05hbWUpfVxuICAgICAgICBpdGVtUHJvcD17dGhpcy5wcm9wcy5pdGVtUHJvcH1cbiAgICAgICAgaXRlbVR5cGU9e3RoaXMucHJvcHMuaXRlbVR5cGV9XG4gICAgICAgIHJvbGU9XCJhcnRpY2xlXCJcbiAgICAgICAgcmVmPVwiYXJ0aWNsZVwiXG4gICAgICA+XG4gICAgICAgIHthcnRpY2xlSGVhZGVyfVxuICAgICAgICA8VGl0bGVDb21wb25lbnRcbiAgICAgICAgICB0aXRsZT17dGhpcy5wcm9wcy50aXRsZX1cbiAgICAgICAgICBmbHlUaXRsZT17dGhpcy5wcm9wcy5mbHlUaXRsZX1cbiAgICAgICAgICBIZWFkaW5nPXtcImgxXCJ9XG4gICAgICAgICAgdGl0bGVDbGFzc05hbWU9e3Nob3dTaWJsaW5nQXJ0aWNsZXNMaXN0ID9cbiAgICAgICAgICAgIGBmbHl0aXRsZS1hbmQtdGl0bGVfX3NpYmxpbmdzLWxpc3QtdGl0bGUgJHsgZWxlbWVudENsYXNzTmFtZSB9YCA6ICcnfVxuICAgICAgICAgIGZseVRpdGxlQ2xhc3NOYW1lPXtzaG93U2libGluZ0FydGljbGVzTGlzdCA/XG4gICAgICAgICAgICBgZmx5dGl0bGUtYW5kLXRpdGxlX19zaWJsaW5ncy1saXN0LWZseXRpdGxlICR7IGVsZW1lbnRDbGFzc05hbWUgfWAgOiAnJ31cbiAgICAgICAgLz5cbiAgICAgICAge2NvbnRlbnR9XG4gICAgICA8L2FydGljbGU+XG4gICAgKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJnZW5lcmF0ZUJsb2dQb3N0Rmx5VGl0bGUiLCJ0d29EaWdpdHMiLCJpbnQiLCJzaG93U2libGluZ0FydGljbGVzTGlzdCIsInNpYmxpbmdMaXN0VGl0bGUiLCJmbHlUaXRsZSIsImJsb2dGbHlUaXRsZSIsIkJsb2dQb3N0IiwiYWRkRGF0ZVRpbWUiLCJzZWN0aW9uRGF0ZUF1dGhvciIsInByb3BzIiwiZGF0ZVRpbWUiLCJkYXRlRm9ybWF0IiwiZGF0ZVN0cmluZyIsInRpbWVzdGFtcElTTyIsInJlc3VsdCIsInNsaWNlIiwiY29uY2F0IiwiYWRkSW1hZ2UiLCJjb250ZW50IiwiaW1hZ2UiLCJibG9nSW1hZ2UiLCJzcmMiLCJjYXB0aW9uIiwiYWx0IiwiaW1hZ2VDYXB0aW9uIiwiYWRkUnVicmljIiwicnVicmljIiwiYWRkQmxvZ1Bvc3RTZWN0aW9uIiwic2VjdGlvbiIsInNlY3Rpb25VcmwiLCJ0ZXN0IiwiYmxvZ1Bvc3RTZWN0aW9uIiwiYWRkQnlMaW5lIiwiYnlsaW5lIiwiYWRkU2libGluZ3NMaXN0Iiwic2libGluZ0xpc3RQcm9wcyIsInNpYmxpbmdzTGlzdFRpdGxlIiwiZWxlbWVudENsYXNzTmFtZSIsImlzc3VlU2libGluZ3NMaXN0IiwiYXJ0aWNsZUxpc3RQb3NpdGlvbiIsIm5leHRBcnRpY2xlTGluayIsInNpYmxpbmdBcnRpY2xlcyIsInNpZGVUZXh0Iiwic2libGluZ0xpc3RTaWRlVGl0bGUiLCJzaWJsaW5nTGlzdERhdGEiLCJzaWJsaW5nQXJ0aWNsZXNMaXN0IiwiaW5uZXJDb250ZW50RWxlbWVudHMiLCJmaWx0ZXIiLCJjb250ZW50RWxlbWVudCIsImlubmVyQ29udGVudCIsImtleSIsImNoaWxkcmVuIiwiYmxvZ1Bvc3RUZXh0RWxlbWVudHMiLCJibG9nUG9zdFRleHQiLCJ0ZXh0Iiwic3BsaWNlIiwibGVuZ3RoIiwicmVuZGVyIiwic2VjdGlvbk5hbWUiLCJjbGFzc05hbWVNb2RpZmllciIsIndyYXBwZWRJbm5lckNvbnRlbnQiLCJhc2lkZWFibGVDb250ZW50IiwicHVzaCIsInNoYXJlQmFyUHVibGljYXRlRGF0ZSIsIkRhdGUiLCJwdWJsaWNhdGlvbkRhdGUiLCJTdHJpbmciLCJnZXRGdWxsWWVhciIsImdldE1vbnRoIiwiZ2V0RGF0ZSIsInJlcGxhY2UiLCJzaGFyZUJhckRlZmF1bHQiLCJ0eXBlIiwidGl0bGUiLCJpZCIsImF1dGhvciIsImFmdGVyVGV4dCIsImNvbW1lbnRDb3VudCIsImNvbW1lbnRTdGF0dXMiLCJjb21tZW50U2VjdGlvbiIsImZpcnN0VG9Db21tZW50TGFiZWwiLCJ2aWV3Q29tbWVudHNMYWJlbCIsImNvbW1lbnRzVXJpIiwiVGl0bGVDb21wb25lbnQiLCJhcnRpY2xlSGVhZGVyIiwiY2xhc3NOYW1lIiwiaXRlbVByb3AiLCJpdGVtVHlwZSIsIlByb3BUeXBlcyIsInN0cmluZyIsInNoYXBlIiwibm9kZSIsImlzUmVxdWlyZWQiLCJmdW5jIiwiaW5zdGFuY2VPZiIsIm9uZU9mVHlwZSIsIm51bWJlciIsIm9uZU9mIiwib2JqZWN0IiwiYXJyYXlPZiIsImJvb2wiLCJkYXRlIiwidGVuTWludXRlcyIsImFkZFBvc3RGaXgiLCJkYXkiLCJkYXlzdHIiLCJ0b1N0cmluZyIsImxhc3RDaGFyIiwiY2hhckF0IiwicG9zdEZpeCIsInNob3J0TW9udGhMaXN0IiwibWludXRlcyIsImdldE1pbnV0ZXMiLCJnZXRIb3VycyIsImpvaW4iLCJDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7OztRQWtCZ0JBLHdCLEdBQUFBLHdCOztBQWxCaEI7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7O0FBRUE7Ozs7QUFDQTs7Ozs7Ozs7Ozs7O0FBRUEsU0FBU0MsU0FBVCxDQUFtQkMsR0FBbkIsRUFBd0I7QUFDdEIsU0FBT0EsTUFBTSxDQUFOLEdBQVUsS0FBS0EsR0FBZixHQUFxQixNQUFNQSxHQUFs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VSxJQUFWO0FBQ0E7QUFDRixtQkFBSyxHQUFMO0FBQ0VBLDBCQUFVLElBQVY7QUFDQTtBQUNGO0FBQ0VBLDBCQUFVLElBQVY7QUFDQTtBQVpKO0FBY0Esd0JBQVdMLEdBQVgsR0FBbUJLLE9BQW5CO0FBQ0Q7QUFDRCxjQUFNQyxpQkFBaUIsQ0FDckIsS0FEcUIsRUFDZCxLQURjLEVBQ1AsS0FETyxFQUNBLEtBREEsRUFDTyxLQURQLEVBQ2MsS0FEZCxFQUVyQixLQUZxQixFQUVkLEtBRmMsRUFFUCxLQUZPLEVBRUEsS0FGQSxFQUVPLEtBRlAsRUFFYyxLQUZkLENBQXZCO0FBSUEsY0FBSUMsVUFBVVYsS0FBS1csVUFBTCxLQUFvQlYsVUFBcEIsR0FBaUMsR0FBakMsR0FBdUMsRUFBckQ7QUFDQVMscUJBQVdWLEtBQUtXLFVBQUwsRUFBWDtBQUNBLGlCQUFPLE1BQU1GLGVBQWVULEtBQUtqQyxRQUFMLEVBQWYsQ0FBTixPQUNEbUMsV0FBV0YsS0FBS2hDLE9BQUwsRUFBWCxDQURDLEVBRURnQyxLQUFLbEMsV0FBTCxFQUZDLFFBR0RrQyxLQUFLWSxRQUFMLEVBSEMsU0FHb0JGLE9BSHBCLEVBR2lDRyxJQUhqQyxDQUdzQyxHQUh0QyxDQUFQO0FBSUQ7QUF0Q0ksT0FBUDtBQXdDRDs7OztFQTdGbUMsZ0JBQU1DLFM7O2tCQUF2QjdHLFEiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXV0aG9yIGZyb20gJy4vcGFydHMvYXV0aG9yJztcbmltcG9ydCBCbG9nUG9zdEltYWdlIGZyb20gJy4vcGFydHMvYmxvZy1wb3N0LWltYWdlJztcbmltcG9ydCBCbG9nUG9zdFNlY3Rpb24gZnJvbSAnLi9wYXJ0cy9ibG9nLXBvc3Qtc2VjdGlvbic7XG5pbXBvcnQgQ29tbWVudHMgZnJvbSAnLi9wYXJ0cy9jb21tZW50cyc7XG5pbXBvcnQgSW1hZ2VDYXB0aW9uIGZyb20gJy4vcGFydHMvaW1hZ2UtY2FwdGlvbic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJ1YnJpYyBmcm9tICcuL3BhcnRzL3J1YnJpYyc7XG5pbXBvcnQgU2hhcmVCYXIgZnJvbSAnLi9wYXJ0cy9ibG9nLXBvc3Qtc2hhcmViYXInO1xuaW1wb3J0IFRleHQgZnJvbSAnLi9wYXJ0cy90ZXh0JztcbmltcG9ydCB7IHNpYmxpbmdMaXN0IH0gZnJvbSAnLi9wYXJ0cy9ibG9nLXBvc3Qtc2libGluZ3MtbGlzdCc7XG5cbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHVybEpvaW4gZnJvbSAndXJsLWpvaW4nO1xuXG5mdW5jdGlvbiB0d29EaWdpdHMoaW50KSB7XG4gIHJldHVybiBpbnQgPiA5ID8gJycgKyBpbnQgOiAnMCcgKyBpbnQ7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQmxvZ1Bvc3RGbHlUaXRsZShcbiAgc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QsXG4gIHNpYmxpbmdMaXN0VGl0bGUsXG4gIGZseVRpdGxlXG4pIHtcbiAgbGV0IGJsb2dGbHlUaXRsZSA9IGZseVRpdGxlO1xuICBpZiAoc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgJiYgc2libGluZ0xpc3RUaXRsZSAhPT0gZmx5VGl0bGUpIHtcbiAgICBibG9nRmx5VGl0bGUgPSBgJHsgc2libGluZ0xpc3RUaXRsZSB9OiAkeyBmbHlUaXRsZSB9YDtcbiAgfVxuICByZXR1cm4gYmxvZ0ZseVRpdGxlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCbG9nUG9zdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBnZXQgcHJvcFR5cGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjbGFzc05hbWU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBpbWFnZTogUmVhY3QuUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgc3JjOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBjYXB0aW9uOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBhbHQ6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICB9KSxcbiAgICAgIGF1dGhvcjogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGJ5bGluZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHNlY3Rpb246IFJlYWN0LlByb3BUeXBlcy5ub2RlLFxuICAgICAgc2VjdGlvblVybDogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGZseVRpdGxlOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgdGl0bGU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHR5cGU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIGlkOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBwdWJsaWNhdGlvbkRhdGU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIFRpdGxlQ29tcG9uZW50OiBSZWFjdC5Qcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgcnVicmljOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgZGF0ZVRpbWU6IFJlYWN0LlByb3BUeXBlcy5pbnN0YW5jZU9mKERhdGUpLFxuICAgICAgZGF0ZVN0cmluZzogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHRpbWVzdGFtcElTTzogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGRhdGVGb3JtYXQ6IFJlYWN0LlByb3BUeXBlcy5mdW5jLFxuICAgICAgdGV4dDogUmVhY3QuUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFJlYWN0LlByb3BUeXBlcy5ub2RlLFxuICAgICAgXSkuaXNSZXF1aXJlZCxcbiAgICAgIGFmdGVyVGV4dDogUmVhY3QuUHJvcFR5cGVzLm5vZGUsXG4gICAgICBpdGVtVHlwZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGl0ZW1Qcm9wOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgY29tbWVudENvdW50OiBSZWFjdC5Qcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gICAgICBjb21tZW50U3RhdHVzOiBSZWFjdC5Qcm9wVHlwZXMub25lT2YoW1xuICAgICAgICAnZGlzYWJsZWQnLFxuICAgICAgICAncmVhZG9ubHknLFxuICAgICAgICAncmVhZHdyaXRlJyxcbiAgICAgICAgJ2ZiY29tbWVudHBsdWdpbicsXG4gICAgICBdKS5pc1JlcXVpcmVkLFxuICAgICAgZmlyc3RUb0NvbW1lbnRMYWJlbDogUmVhY3QuUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgdmlld0NvbW1lbnRzTGFiZWw6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIGNvbW1lbnRzVXJpOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBibG9nSW1hZ2U6IFJlYWN0LlByb3BUeXBlcy5vYmplY3QsXG4gICAgICBzZWN0aW9uTmFtZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGlzc3VlU2libGluZ3NMaXN0OiBSZWFjdC5Qcm9wVHlwZXMuYXJyYXlPZihSZWFjdC5Qcm9wVHlwZXMub2JqZWN0KSxcbiAgICAgIHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0OiBSZWFjdC5Qcm9wVHlwZXMuYm9vbCxcbiAgICAgIHNpZGVUZXh0OiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgbmV4dEFydGljbGVMaW5rOiBSZWFjdC5Qcm9wVHlwZXMubm9kZSxcbiAgICAgIGFydGljbGVMaXN0UG9zaXRpb246IFJlYWN0LlByb3BUeXBlcy5udW1iZXIsXG4gICAgICBjbGFzc05hbWVNb2RpZmllcjogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHNpYmxpbmdMaXN0U2lkZVRpdGxlOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgIH07XG4gIH1cbiAgc3RhdGljIGdldCBkZWZhdWx0UHJvcHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW1UeXBlOiAnaHR0cDovL3NjaGVtYS5vcmcvQmxvZ1Bvc3RpbmcnLFxuICAgICAgaXRlbVByb3A6ICdibG9nUG9zdCcsXG4gICAgICBmaXJzdFRvQ29tbWVudExhYmVsOiAnQmUgdGhlIGZpcnN0IHRvIGNvbW1lbnQnLFxuICAgICAgdmlld0NvbW1lbnRzTGFiZWw6ICdWaWV3IGNvbW1lbnRzJyxcbiAgICAgIGRhdGVGb3JtYXQ6IChkYXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRlbk1pbnV0ZXMgPSAxMDtcbiAgICAgICAgLy8gU2VwIDE5dGggMjAxNSwgOTo0OVxuICAgICAgICBmdW5jdGlvbiBhZGRQb3N0Rml4KGRheSkge1xuICAgICAgICAgIGNvbnN0IGRheXN0ciA9IGRheS50b1N0cmluZygpO1xuICAgICAgICAgIGNvbnN0IGxhc3RDaGFyID0gZGF5c3RyLmNoYXJBdChkYXlzdHIubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgbGV0IHBvc3RGaXggPSAnJztcbiAgICAgICAgICBzd2l0Y2ggKGxhc3RDaGFyKSB7XG4gICAgICAgICAgICBjYXNlICcxJzpcbiAgICAgICAgICAgICAgcG9zdEZpeCA9ICdzdCc7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMic6XG4gICAgICAgICAgICAgIHBvc3RGaXggPSAnbmQnO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJzMnOlxuICAgICAgICAgICAgICBwb3N0Rml4ID0gJ3JkJztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBwb3N0Rml4ID0gJ3RoJztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBgJHsgZGF5IH0keyBwb3N0Rml4IH1gO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNob3J0TW9udGhMaXN0ID0gW1xuICAgICAgICAgICdKYW4nLCAnRmViJywgJ01hcicsICdBcHInLCAnTWF5JywgJ0p1bicsXG4gICAgICAgICAgJ0p1bCcsICdBdWcnLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGVjJyxcbiAgICAgICAgXTtcbiAgICAgICAgbGV0IG1pbnV0ZXMgPSBkYXRlLmdldE1pbnV0ZXMoKSA8IHRlbk1pbnV0ZXMgPyAnMCcgOiAnJztcbiAgICAgICAgbWludXRlcyArPSBkYXRlLmdldE1pbnV0ZXMoKTtcbiAgICAgICAgcmV0dXJuIFsgYCR7IHNob3J0TW9udGhMaXN0W2RhdGUuZ2V0TW9udGgoKV0gfWAsXG4gICAgICAgICAgYCR7IGFkZFBvc3RGaXgoZGF0ZS5nZXREYXRlKCkpIH1gLFxuICAgICAgICAgIGAkeyBkYXRlLmdldEZ1bGxZZWFyKCkgfSxgLFxuICAgICAgICAgIGAkeyBkYXRlLmdldEhvdXJzKCkgfTokeyBtaW51dGVzIH1gIF0uam9pbignICcpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgYWRkRGF0ZVRpbWUoc2VjdGlvbkRhdGVBdXRob3IsIHByb3BzKSB7XG4gICAgY29uc3QgeyBkYXRlVGltZSwgZGF0ZUZvcm1hdCwgZGF0ZVN0cmluZywgdGltZXN0YW1wSVNPIH0gPSBwcm9wcztcbiAgICBsZXQgcmVzdWx0ID0gc2VjdGlvbkRhdGVBdXRob3Iuc2xpY2UoKTtcbiAgICBpZiAoZGF0ZVRpbWUpIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoKFxuICAgICAgICA8dGltZVxuICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fZGF0ZXRpbWVcIlxuICAgICAgICAgIGl0ZW1Qcm9wPVwiZGF0ZUNyZWF0ZWRcIlxuICAgICAgICAgIGRhdGVUaW1lPXt0aGlzLnByb3BzLmRhdGVUaW1lfVxuICAgICAgICAgIGtleT1cImJsb2ctcG9zdF9fZGF0ZXRpbWVcIlxuICAgICAgICA+e2RhdGVGb3JtYXQoZGF0ZVRpbWUpfTwvdGltZT4pKTtcbiAgICB9XG4gICAgaWYgKGRhdGVTdHJpbmcgJiYgdGltZXN0YW1wSVNPKSB7XG4gICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KChcbiAgICAgICAgPHRpbWVcbiAgICAgICAgICBjbGFzc05hbWU9XCJibG9nLXBvc3RfX2RhdGV0aW1lXCJcbiAgICAgICAgICBpdGVtUHJvcD1cImRhdGVDcmVhdGVkXCJcbiAgICAgICAgICBkYXRlVGltZT17dGltZXN0YW1wSVNPfVxuICAgICAgICAgIGtleT1cImJsb2ctcG9zdF9fZGF0ZXRpbWVJU09cIlxuICAgICAgICA+e2RhdGVTdHJpbmd9PC90aW1lPikpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgYWRkSW1hZ2UoY29udGVudCwgaW1hZ2UgPSB7fSkge1xuICAgIGlmICh0aGlzLnByb3BzLmJsb2dJbWFnZSkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uY29udGVudCxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5ibG9nSW1hZ2UsXG4gICAgICBdO1xuICAgIH0gZWxzZSBpZiAoaW1hZ2UpIHtcbiAgICAgIGNvbnN0IHsgc3JjLCBjYXB0aW9uLCBhbHQgfSA9IGltYWdlO1xuICAgICAgaWYgKHNyYykge1xuICAgICAgICBjb25zdCBpbWFnZUNhcHRpb24gPSBjYXB0aW9uID8gPEltYWdlQ2FwdGlvbiBjYXB0aW9uPXtjYXB0aW9ufSBrZXk9XCJibG9nLXBvc3RfX2ltYWdlLWNhcHRpb25cIiAvPiA6IG51bGw7XG4gICAgICAgIHJldHVybiBjb250ZW50LmNvbmNhdChcbiAgICAgICAgICA8QmxvZ1Bvc3RJbWFnZVxuICAgICAgICAgICAga2V5PVwiYmxvZ2ltZ1wiXG4gICAgICAgICAgICBjYXB0aW9uPXtpbWFnZUNhcHRpb259XG4gICAgICAgICAgICBzcmM9e3NyY31cbiAgICAgICAgICAgIGFsdD17YWx0fVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgYWRkUnVicmljKGNvbnRlbnQsIHJ1YnJpYykge1xuICAgIGlmIChydWJyaWMpIHtcbiAgICAgIHJldHVybiBjb250ZW50LmNvbmNhdCg8UnVicmljIHJ1YnJpYz17cnVicmljfSBrZXk9XCJibG9nLXBvc3RfX3J1YnJpY1wiIC8+KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICBhZGRCbG9nUG9zdFNlY3Rpb24oc2VjdGlvbkRhdGVBdXRob3IsIHNlY3Rpb24sIHNlY3Rpb25VcmwpIHtcbiAgICBpZiAoc2VjdGlvbikge1xuICAgICAgaWYgKHNlY3Rpb25VcmwgJiYgIS9eKFxcdys6KT9cXC9cXC8vLnRlc3Qoc2VjdGlvblVybCkpIHtcbiAgICAgICAgc2VjdGlvblVybCA9IHVybEpvaW4oJy8nLCBzZWN0aW9uVXJsKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGJsb2dQb3N0U2VjdGlvbiA9IHNlY3Rpb25VcmwgPyAoXG4gICAgICAgIDxhIGhyZWY9e3NlY3Rpb25Vcmx9IGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fc2VjdGlvbi1saW5rXCI+XG4gICAgICAgICAge3NlY3Rpb259XG4gICAgICAgIDwvYT5cbiAgICAgICkgOiBzZWN0aW9uO1xuICAgICAgcmV0dXJuIHNlY3Rpb25EYXRlQXV0aG9yLmNvbmNhdChcbiAgICAgICAgPEJsb2dQb3N0U2VjdGlvbiBrZXk9XCJibG9nLXBvc3RfX3NlY3Rpb25cIiBzZWN0aW9uPXtibG9nUG9zdFNlY3Rpb259IC8+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gc2VjdGlvbkRhdGVBdXRob3I7XG4gIH1cblxuICBhZGRCeUxpbmUoc2VjdGlvbkRhdGVBdXRob3IsIGJ5bGluZSkge1xuICAgIGlmIChieWxpbmUpIHtcbiAgICAgIHJldHVybiBzZWN0aW9uRGF0ZUF1dGhvci5jb25jYXQoXG4gICAgICAgIDxwIGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fYnlsaW5lLWNvbnRhaW5lclwiIGtleT1cImJsb2ctcG9zdF9fYnlsaW5lLWNvbnRhaW5lclwiPlxuICAgICAgICAgIHtcImJ5IFwifVxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJibG9nLXBvc3RfX2J5bGluZVwiXG4gICAgICAgICAgICBpdGVtUHJvcD1cImF1dGhvclwiXG4gICAgICAgICAgPntieWxpbmV9PC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gc2VjdGlvbkRhdGVBdXRob3I7XG4gIH1cblxuICBhZGRTaWJsaW5nc0xpc3Qoc2libGluZ0xpc3RQcm9wcykge1xuICAgIGNvbnN0IHtcbiAgICAgIHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0LFxuICAgICAgZmx5VGl0bGUsXG4gICAgICBzaWJsaW5nc0xpc3RUaXRsZSxcbiAgICAgIGVsZW1lbnRDbGFzc05hbWUsXG4gICAgICBjb250ZW50LFxuICAgICAgaXNzdWVTaWJsaW5nc0xpc3QsXG4gICAgICBhcnRpY2xlTGlzdFBvc2l0aW9uLFxuICAgICAgbmV4dEFydGljbGVMaW5rLFxuICAgIH0gPSBzaWJsaW5nTGlzdFByb3BzO1xuICAgIGNvbnN0IHNpYmxpbmdBcnRpY2xlcyA9IHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0ICYmIGlzc3VlU2libGluZ3NMaXN0ID9cbiAgICBpc3N1ZVNpYmxpbmdzTGlzdCA6IG51bGw7XG4gICAgY29uc3QgeyBzaWRlVGV4dCwgc2libGluZ0xpc3RTaWRlVGl0bGUgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qgc2libGluZ0xpc3REYXRhID0ge1xuICAgICAgc2libGluZ0FydGljbGVzLFxuICAgICAgZmx5VGl0bGUsXG4gICAgICBlbGVtZW50Q2xhc3NOYW1lLFxuICAgICAgc2libGluZ3NMaXN0VGl0bGUsXG4gICAgICBzaWRlVGV4dCxcbiAgICAgIHNpYmxpbmdMaXN0U2lkZVRpdGxlLFxuICAgIH07XG4gICAgY29uc3Qgc2libGluZ0FydGljbGVzTGlzdCA9IHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0ID8gc2libGluZ0xpc3Qoc2libGluZ0xpc3REYXRhKSA6IG51bGw7XG4gICAgY29uc3QgaW5uZXJDb250ZW50RWxlbWVudHMgPSBzaG93U2libGluZ0FydGljbGVzTGlzdCA/IChjb250ZW50LmZpbHRlcigoY29udGVudEVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGlubmVyQ29udGVudCA9IGNvbnRlbnRFbGVtZW50LmtleSA9PT0gJ2lubmVyLWNvbnRlbnQnO1xuICAgICAgcmV0dXJuIGlubmVyQ29udGVudDtcbiAgICB9KVswXS5wcm9wcy5jaGlsZHJlbikgOiBudWxsO1xuICAgIGNvbnN0IGJsb2dQb3N0VGV4dEVsZW1lbnRzID0gc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgPyAoaW5uZXJDb250ZW50RWxlbWVudHMuZmlsdGVyKChjb250ZW50RWxlbWVudCkgPT4ge1xuICAgICAgY29uc3QgYmxvZ1Bvc3RUZXh0ID0gY29udGVudEVsZW1lbnQua2V5ID09PSAnYmxvZy1wb3N0X190ZXh0JztcbiAgICAgIHJldHVybiBibG9nUG9zdFRleHQ7XG4gICAgfSlbMF0ucHJvcHMudGV4dCkgOiBudWxsO1xuICAgIGlmIChzaG93U2libGluZ0FydGljbGVzTGlzdCAmJiAoYmxvZ1Bvc3RUZXh0RWxlbWVudHMgfHwgKGNvbnRlbnQgJiYgbmV4dEFydGljbGVMaW5rKSkpIHtcbiAgICAgIGJsb2dQb3N0VGV4dEVsZW1lbnRzLnNwbGljZShhcnRpY2xlTGlzdFBvc2l0aW9uLCAwLCBzaWJsaW5nQXJ0aWNsZXNMaXN0KTtcbiAgICAgIGNvbnRlbnQuc3BsaWNlKGNvbnRlbnQubGVuZ3RoIC0gMSwgMCwgbmV4dEFydGljbGVMaW5rKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgZmx5VGl0bGUsXG4gICAgICBzaG93U2libGluZ0FydGljbGVzTGlzdCxcbiAgICAgIHNpYmxpbmdMaXN0U2lkZVRpdGxlLFxuICAgICAgaXNzdWVTaWJsaW5nc0xpc3QsXG4gICAgICBhcnRpY2xlTGlzdFBvc2l0aW9uLFxuICAgICAgbmV4dEFydGljbGVMaW5rLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHNpYmxpbmdzTGlzdFRpdGxlID0gdGhpcy5wcm9wcy5zZWN0aW9uTmFtZTtcbiAgICBjb25zdCBlbGVtZW50Q2xhc3NOYW1lID0gc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgJiYgdGhpcy5wcm9wcy5jbGFzc05hbWVNb2RpZmllciA/XG4gICAgICBgYmxvZy1wb3N0X19zaWJsaW5ncy1saXN0LS0keyB0aGlzLnByb3BzLmNsYXNzTmFtZU1vZGlmaWVyIH1gIDogJyc7XG4gICAgbGV0IGNvbnRlbnQgPSBbXTtcbiAgICAvLyBhc2lkZSBhbmQgdGV4dCBjb250ZW50IGFyZSB3cmFwcGVkIHRvZ2V0aGVyIGludG8gYSBjb21wb25lbnQuXG4gICAgLy8gdGhhdCBtYWtlcyBpdCBlYXNpZXIgdG8gbW92ZSB0aGUgYXNpZGUgYXJvdW5kIHJlbGF0aXZlbHkgdG8gaXRzIGNvbnRhaW50ZXJcbiAgICBsZXQgd3JhcHBlZElubmVyQ29udGVudCA9IFtdO1xuICAgIGNvbnN0IGFzaWRlYWJsZUNvbnRlbnQgPSBbXTtcbiAgICBsZXQgc2VjdGlvbkRhdGVBdXRob3IgPSBbXTtcbiAgICBjb250ZW50ID0gdGhpcy5hZGRSdWJyaWMoY29udGVudCwgdGhpcy5wcm9wcy5ydWJyaWMpO1xuICAgIHNlY3Rpb25EYXRlQXV0aG9yID0gdGhpcy5hZGRCbG9nUG9zdFNlY3Rpb24oc2VjdGlvbkRhdGVBdXRob3IsIHRoaXMucHJvcHMuc2VjdGlvbiwgdGhpcy5wcm9wcy5zZWN0aW9uVXJsKTtcbiAgICBzZWN0aW9uRGF0ZUF1dGhvciA9IHRoaXMuYWRkRGF0ZVRpbWUoc2VjdGlvbkRhdGVBdXRob3IsIHRoaXMucHJvcHMpO1xuICAgIHNlY3Rpb25EYXRlQXV0aG9yID0gdGhpcy5hZGRCeUxpbmUoc2VjdGlvbkRhdGVBdXRob3IsIHRoaXMucHJvcHMuYnlsaW5lKTtcbiAgICBpZiAoc2VjdGlvbkRhdGVBdXRob3IubGVuZ3RoKSB7XG4gICAgICBhc2lkZWFibGVDb250ZW50LnB1c2goXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9XCJibG9nLXBvc3RfX3NlY3Rpb24tZGF0ZS1hdXRob3JcIlxuICAgICAgICAgIGtleT1cImJsb2ctcG9zdF9fc2VjdGlvbi1kYXRlLWF1dGhvclwiXG4gICAgICAgID5cbiAgICAgICAgICB7c2VjdGlvbkRhdGVBdXRob3J9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBTaGFyZSBiYXIgcHVibGljYXRpb25EYXRlIGZvcm1hdHRlZFxuICAgIGxldCBzaGFyZUJhclB1YmxpY2F0ZURhdGUgPSBuZXcgRGF0ZSh0aGlzLnByb3BzLnB1YmxpY2F0aW9uRGF0ZSAqIDEwMDApIC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICBzaGFyZUJhclB1YmxpY2F0ZURhdGUgPSBgJHsgU3RyaW5nKHNoYXJlQmFyUHVibGljYXRlRGF0ZS5nZXRGdWxsWWVhcigpKSB9XG4gICAgJHsgU3RyaW5nKHR3b0RpZ2l0cyhzaGFyZUJhclB1YmxpY2F0ZURhdGUuZ2V0TW9udGgoKSArIDEpKSB9XG4gICAgJHsgU3RyaW5nKHR3b0RpZ2l0cyhzaGFyZUJhclB1YmxpY2F0ZURhdGUuZ2V0RGF0ZSgpKSkgfWAucmVwbGFjZSgvXFxzL2csICcnKTtcbiAgICBjb25zdCBzaGFyZUJhckRlZmF1bHQgPVxuICAgICAgKDxTaGFyZUJhclxuICAgICAgICBrZXk9XCJzaGFyZWJhclwiXG4gICAgICAgIHR5cGU9e3RoaXMucHJvcHMudHlwZSA9PT0gJ3Bvc3QnID8gJ0JMJyA6ICdBJ31cbiAgICAgICAgdGl0bGU9e3RoaXMucHJvcHMudGl0bGV9XG4gICAgICAgIGZseVRpdGxlPXt0aGlzLnByb3BzLmZseVRpdGxlfVxuICAgICAgICBwdWJsaWNhdGlvbkRhdGU9e3NoYXJlQmFyUHVibGljYXRlRGF0ZX1cbiAgICAgICAgY29udGVudElEPXt0aGlzLnByb3BzLmlkfVxuICAgICAgIC8+KTtcbiAgICBhc2lkZWFibGVDb250ZW50LnB1c2goXG4gICAgICBzaGFyZUJhckRlZmF1bHRcbiAgICApO1xuICAgIHdyYXBwZWRJbm5lckNvbnRlbnQgPSB0aGlzLmFkZEltYWdlKHdyYXBwZWRJbm5lckNvbnRlbnQsIHRoaXMucHJvcHMuaW1hZ2UpO1xuICAgIGlmIChhc2lkZWFibGVDb250ZW50Lmxlbmd0aCkge1xuICAgICAgd3JhcHBlZElubmVyQ29udGVudC5wdXNoKChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9nLXBvc3RfX2FzaWRlYWJsZS13cmFwcGVyXCIga2V5PVwiYXNpZGVhYmxlLWNvbnRlbnRcIlxuICAgICAgICAgIHJlZj1cImFzaWRlYWJsZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fYXNpZGVhYmxlLWNvbnRlbnQgYmxvZy1wb3N0X19hc2lkZWFibGUtY29udGVudC0tbWV0YVwiPlxuICAgICAgICAgICAge2FzaWRlYWJsZUNvbnRlbnR9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnByb3BzLmF1dGhvcikge1xuICAgICAgd3JhcHBlZElubmVyQ29udGVudC5wdXNoKDxBdXRob3Iga2V5PVwiYmxvZy1wb3N0X19hdXRob3JcIiBhdXRob3I9e3RoaXMucHJvcHMuYXV0aG9yfSAvPik7XG4gICAgfVxuICAgIHdyYXBwZWRJbm5lckNvbnRlbnQucHVzaCg8VGV4dCB0ZXh0PXt0aGlzLnByb3BzLnRleHR9IGtleT1cImJsb2ctcG9zdF9fdGV4dFwiIC8+KTtcbiAgICB3cmFwcGVkSW5uZXJDb250ZW50LnB1c2goPGRpdiBrZXk9XCJibG9nLXBvc3RfX2FmdGVyLXRleHRcIj57dGhpcy5wcm9wcy5hZnRlclRleHR9PC9kaXY+KTtcbiAgICBjb250ZW50LnB1c2goPGRpdiBjbGFzc05hbWU9XCJibG9nLXBvc3RfX2lubmVyXCIga2V5PVwiaW5uZXItY29udGVudFwiPnt3cmFwcGVkSW5uZXJDb250ZW50fTwvZGl2Pik7XG4gICAgY29uc3QgeyBjb21tZW50Q291bnQsIGNvbW1lbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG4gICAgbGV0IGNvbW1lbnRTZWN0aW9uID0gbnVsbDtcbiAgICBpZiAoY29tbWVudFN0YXR1cyAhPT0gJ2Rpc2FibGVkJyAmJiAhKGNvbW1lbnRTdGF0dXMgPT09ICdyZWFkb25seScgJiYgY29tbWVudENvdW50ID09PSAwKSkge1xuICAgICAgY29tbWVudFNlY3Rpb24gPSAoXG4gICAgICAgIDxDb21tZW50c1xuICAgICAgICAgIGtleT1cImJsb2ctcG9zdF9fY29tbWVudHNcIlxuICAgICAgICAgIGZpcnN0VG9Db21tZW50TGFiZWw9e3RoaXMucHJvcHMuZmlyc3RUb0NvbW1lbnRMYWJlbH1cbiAgICAgICAgICBjb21tZW50Q291bnQ9e2NvbW1lbnRDb3VudH1cbiAgICAgICAgICB2aWV3Q29tbWVudHNMYWJlbD17dGhpcy5wcm9wcy52aWV3Q29tbWVudHNMYWJlbH1cbiAgICAgICAgICBjb21tZW50c1VyaT17dGhpcy5wcm9wcy5jb21tZW50c1VyaX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnRlbnQucHVzaChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19ib3R0b20tcGFuZWxcIiBrZXk9XCJibG9nLXBvc3RfX2JvdHRvbS1wYW5lbFwiPlxuICAgICAgICB7c2hhcmVCYXJEZWZhdWx0fVxuICAgICAgICB7Y29tbWVudFNlY3Rpb259XG4gICAgICA8L2Rpdj5cbiAgICApO1xuXG4gICAgY29uc3QgVGl0bGVDb21wb25lbnQgPSB0aGlzLnByb3BzLlRpdGxlQ29tcG9uZW50O1xuICAgIGNvbnN0IGFydGljbGVIZWFkZXIgPSBzaG93U2libGluZ0FydGljbGVzTGlzdCA/IChcbiAgICAgIDxzcGFuIGNsYXNzTmFtZT17YGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC1oZWFkZXIgJHsgZWxlbWVudENsYXNzTmFtZSB9YH0+XG4gICAgICAgIHtzaWJsaW5nc0xpc3RUaXRsZX1cbiAgICAgIDwvc3Bhbj5cbiAgICApIDogbnVsbDtcbiAgICBjb25zdCBzaWJsaW5nTGlzdFByb3BzID0ge1xuICAgICAgc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QsXG4gICAgICBmbHlUaXRsZSxcbiAgICAgIHNpYmxpbmdzTGlzdFRpdGxlLFxuICAgICAgZWxlbWVudENsYXNzTmFtZSxcbiAgICAgIGNvbnRlbnQsXG4gICAgICBpc3N1ZVNpYmxpbmdzTGlzdCxcbiAgICAgIGFydGljbGVMaXN0UG9zaXRpb24sXG4gICAgICBuZXh0QXJ0aWNsZUxpbmssXG4gICAgfTtcbiAgICB0aGlzLmFkZFNpYmxpbmdzTGlzdChzaWJsaW5nTGlzdFByb3BzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPGFydGljbGVcbiAgICAgICAgaXRlbVNjb3BlXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnYmxvZy1wb3N0JywgdGhpcy5wcm9wcy5jbGFzc05hbWUpfVxuICAgICAgICBpdGVtUHJvcD17dGhpcy5wcm9wcy5pdGVtUHJvcH1cbiAgICAgICAgaXRlbVR5cGU9e3RoaXMucHJvcHMuaXRlbVR5cGV9XG4gICAgICAgIHJvbGU9XCJhcnRpY2xlXCJcbiAgICAgICAgcmVmPVwiYXJ0aWNsZVwiXG4gICAgICA+XG4gICAgICAgIHthcnRpY2xlSGVhZGVyfVxuICAgICAgICA8VGl0bGVDb21wb25lbnRcbiAgICAgICAgICB0aXRsZT17dGhpcy5wcm9wcy50aXRsZX1cbiAgICAgICAgICBmbHlUaXRsZT17Z2VuZXJhdGVCbG9nUG9zdEZseVRpdGxlKHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0LCBzaWJsaW5nTGlzdFNpZGVUaXRsZSwgZmx5VGl0bGUpfVxuICAgICAgICAgIEhlYWRpbmc9e1wiaDFcIn1cbiAgICAgICAgICB0aXRsZUNsYXNzTmFtZT17c2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgP1xuICAgICAgICAgICAgYGZseXRpdGxlLWFuZC10aXRsZV9fc2libGluZ3MtbGlzdC10aXRsZSAkeyBlbGVtZW50Q2xhc3NOYW1lIH1gIDogJyd9XG4gICAgICAgICAgZmx5VGl0bGVDbGFzc05hbWU9e3Nob3dTaWJsaW5nQXJ0aWNsZXNMaXN0ID9cbiAgICAgICAgICAgIGBmbHl0aXRsZS1hbmQtdGl0bGVfX3NpYmxpbmdzLWxpc3QtZmx5dGl0bGUgJHsgZWxlbWVudENsYXNzTmFtZSB9YCA6ICcnfVxuICAgICAgICAvPlxuICAgICAgICB7Y29udGVudH1cbiAgICAgIDwvYXJ0aWNsZT5cbiAgICApO1xuICB9XG59XG4iXX0=

@@ -16,4 +16,11 @@ 'use strict';

function siblingList(articlesList, flyTitle, elementClassName, siblingsListTitle, sideText) {
if (!articlesList) {
function siblingList(siblingListData) {
var siblingArticles = siblingListData.siblingArticles,
flyTitle = siblingListData.flyTitle,
elementClassName = siblingListData.elementClassName,
siblingsListTitle = siblingListData.siblingsListTitle,
sideText = siblingListData.sideText,
siblingListSideTitle = siblingListData.siblingListSideTitle;
if (!siblingArticles) {
return null;

@@ -28,3 +35,3 @@ }

{ className: 'blog-post__side-flytitle' },
flyTitle
siblingListSideTitle
),

@@ -39,3 +46,3 @@ _react2.default.createElement(

{ className: 'blog-post__siblings-list ' + elementClassName },
articlesList.map(function (article, index) {
siblingArticles.map(function (article, index) {
var isCurrentArticleSelected = article.flyTitle === flyTitle;

@@ -73,3 +80,3 @@ var bulletPointClassName = isCurrentArticleSelected ? 'blog-post__siblings-list-bullet ' + elementClassName : '';

siblingList.propTypes = {
articlesList: _react2.default.PropTypes.arrayOf(_react2.default.PropTypes.node),
siblingArticles: _react2.default.PropTypes.arrayOf(_react2.default.PropTypes.node),
flyTitle: _react2.default.PropTypes.string,

@@ -81,2 +88,2 @@ elementClassName: _react2.default.PropTypes.string,

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJ0cy9ibG9nLXBvc3Qtc2libGluZ3MtbGlzdC5qcyJdLCJuYW1lcyI6WyJzaWJsaW5nTGlzdCIsImFydGljbGVzTGlzdCIsImZseVRpdGxlIiwiZWxlbWVudENsYXNzTmFtZSIsInNpYmxpbmdzTGlzdFRpdGxlIiwic2lkZVRleHQiLCJibG9nU2lkZVRleHQiLCJ0b0xvd2VyQ2FzZSIsIm1hcCIsImFydGljbGUiLCJpbmRleCIsImlzQ3VycmVudEFydGljbGVTZWxlY3RlZCIsImJ1bGxldFBvaW50Q2xhc3NOYW1lIiwiZmlyc3RMaW5rQ2xhc3NOYW1lIiwid2ViVVJMIiwidGl0bGUiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJhcnJheU9mIiwibm9kZSIsInN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7O1FBR2dCQSxXLEdBQUFBLFc7O0FBSGhCOzs7O0FBQ0E7Ozs7OztBQUVPLFNBQVNBLFdBQVQsQ0FDTEMsWUFESyxFQUVMQyxRQUZLLEVBR0xDLGdCQUhLLEVBSUxDLGlCQUpLLEVBS0xDLFFBTEssRUFNTDtBQUNBLE1BQUksQ0FBQ0osWUFBTCxFQUFtQjtBQUNqQixXQUFPLElBQVA7QUFDRDtBQUNELE1BQU1LLGVBQWVELFdBQVdBLFFBQVgscUJBQXVDRCxrQkFBa0JHLFdBQWxCLEVBQXZDLE1BQXJCO0FBQ0EsU0FDRTtBQUFBO0FBQUEsTUFBSywrQ0FBOENKLGdCQUFuRCxFQUF3RSxLQUFJLDBCQUE1RTtBQUNFO0FBQUE7QUFBQSxRQUFNLFdBQVUsMEJBQWhCO0FBQTRDRDtBQUE1QyxLQURGO0FBRUU7QUFBQTtBQUFBLFFBQU0sV0FBVSxzQkFBaEI7QUFBd0NJO0FBQXhDLEtBRkY7QUFHRTtBQUFBO0FBQUEsUUFBSSx5Q0FBd0NILGdCQUE1QztBQUNHRixtQkFBYU8sR0FBYixDQUFpQixVQUFDQyxPQUFELEVBQVVDLEtBQVYsRUFBb0I7QUFDcEMsWUFBTUMsMkJBQTJCRixRQUFRUCxRQUFSLEtBQXFCQSxRQUF0RDtBQUNBLFlBQU1VLHVCQUF1QkQsZ0VBQ1NSLGdCQURULEdBQytCLEVBRDVEO0FBRUEsWUFBTVUscUJBQXFCRix1RUFDa0JSLGdCQURsQixHQUN3QyxFQURuRTtBQUVBLGVBQ0U7QUFBQTtBQUFBLFlBQUksS0FBS08sS0FBVCxFQUFnQixXQUFXLGdFQUNjUCxnQkFEZCxFQUNtQ1Msb0JBRG5DLENBQTNCO0FBR0U7QUFBQTtBQUFBO0FBQ0Usb0JBQU1ILFFBQVFLLE1BRGhCO0FBRUUseUJBQVcscUVBQ2lDWCxnQkFEakMsRUFDc0RVLGtCQUR0RDtBQUZiO0FBTUU7QUFBQTtBQUFBLGdCQUFNLGtEQUFpRFYsZ0JBQXZEO0FBQTZFTSxzQkFBUVAsUUFBckY7QUFBQTtBQUFBLGFBTkY7QUFPRTtBQUFBO0FBQUEsZ0JBQU0sK0NBQThDQyxnQkFBcEQ7QUFBMEVNLHNCQUFRTTtBQUFsRjtBQVBGO0FBSEYsU0FERjtBQWVELE9BckJBO0FBREg7QUFIRixHQURGO0FBOEJEOztBQUVELElBQUlDLFFBQVFDLEdBQVIsQ0FBWUMsUUFBWixLQUF5QixZQUE3QixFQUEyQztBQUN6Q2xCLGNBQVltQixTQUFaLEdBQXdCO0FBQ3RCbEIsa0JBQWMsZ0JBQU1tQixTQUFOLENBQWdCQyxPQUFoQixDQUF3QixnQkFBTUQsU0FBTixDQUFnQkUsSUFBeEMsQ0FEUTtBQUV0QnBCLGNBQVUsZ0JBQU1rQixTQUFOLENBQWdCRyxNQUZKO0FBR3RCcEIsc0JBQWtCLGdCQUFNaUIsU0FBTixDQUFnQkcsTUFIWjtBQUl0Qm5CLHVCQUFtQixnQkFBTWdCLFNBQU4sQ0FBZ0JHLE1BSmI7QUFLdEJsQixjQUFVLGdCQUFNZSxTQUFOLENBQWdCRztBQUxKLEdBQXhCO0FBT0QiLCJmaWxlIjoiYmxvZy1wb3N0LXNpYmxpbmdzLWxpc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzaWJsaW5nTGlzdChcbiAgYXJ0aWNsZXNMaXN0LFxuICBmbHlUaXRsZSxcbiAgZWxlbWVudENsYXNzTmFtZSxcbiAgc2libGluZ3NMaXN0VGl0bGUsXG4gIHNpZGVUZXh0XG4pIHtcbiAgaWYgKCFhcnRpY2xlc0xpc3QpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBibG9nU2lkZVRleHQgPSBzaWRlVGV4dCA/IHNpZGVUZXh0IDogYE1vcmUgaW4gdGhpcyAkeyBzaWJsaW5nc0xpc3RUaXRsZS50b0xvd2VyQ2FzZSgpIH06YDtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC1hc2lkZSAkeyBlbGVtZW50Q2xhc3NOYW1lIH1gfSBrZXk9XCJibG9nLXBvc3RfX3NpYmxpbmdzLWxpc3RcIj5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fc2lkZS1mbHl0aXRsZVwiPntmbHlUaXRsZX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJibG9nLXBvc3RfX3NpZGUtdGV4dFwiPntibG9nU2lkZVRleHR9PC9zcGFuPlxuICAgICAgPHVsIGNsYXNzTmFtZT17YGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdCAkeyBlbGVtZW50Q2xhc3NOYW1lIH1gfT5cbiAgICAgICAge2FydGljbGVzTGlzdC5tYXAoKGFydGljbGUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgaXNDdXJyZW50QXJ0aWNsZVNlbGVjdGVkID0gYXJ0aWNsZS5mbHlUaXRsZSA9PT0gZmx5VGl0bGU7XG4gICAgICAgICAgY29uc3QgYnVsbGV0UG9pbnRDbGFzc05hbWUgPSBpc0N1cnJlbnRBcnRpY2xlU2VsZWN0ZWQgP1xuICAgICAgICAgICAgYGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC1idWxsZXQgJHsgZWxlbWVudENsYXNzTmFtZSB9YCA6ICcnO1xuICAgICAgICAgIGNvbnN0IGZpcnN0TGlua0NsYXNzTmFtZSA9IGlzQ3VycmVudEFydGljbGVTZWxlY3RlZCA/XG4gICAgICAgICAgICBgYmxvZy1wb3N0X19zaWJsaW5ncy1saXN0LXNlbGVjdGVkLWxpbmsgJHsgZWxlbWVudENsYXNzTmFtZSB9YCA6ICcnO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8bGkga2V5PXtpbmRleH0gY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICAgICAgICAgIGBibG9nLXBvc3RfX3NpYmxpbmdzLWxpc3QtYXJ0aWNsZSAkeyBlbGVtZW50Q2xhc3NOYW1lIH1gLCBidWxsZXRQb2ludENsYXNzTmFtZVxuICAgICAgICAgICAgKX0+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgaHJlZj17YXJ0aWNsZS53ZWJVUkx9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICAgICAgICAgICAgYGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC1hcnRpY2xlLWxpbmsgJHsgZWxlbWVudENsYXNzTmFtZSB9YCwgZmlyc3RMaW5rQ2xhc3NOYW1lXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC1mbHl0aXRsZSAkeyBlbGVtZW50Q2xhc3NOYW1lIH1gfT57YXJ0aWNsZS5mbHlUaXRsZX06PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC10aXRsZSAkeyBlbGVtZW50Q2xhc3NOYW1lIH1gfT57YXJ0aWNsZS50aXRsZX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSl9XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICBzaWJsaW5nTGlzdC5wcm9wVHlwZXMgPSB7XG4gICAgYXJ0aWNsZXNMaXN0OiBSZWFjdC5Qcm9wVHlwZXMuYXJyYXlPZihSZWFjdC5Qcm9wVHlwZXMubm9kZSksXG4gICAgZmx5VGl0bGU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgZWxlbWVudENsYXNzTmFtZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzaWJsaW5nc0xpc3RUaXRsZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzaWRlVGV4dDogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgfTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJ0cy9ibG9nLXBvc3Qtc2libGluZ3MtbGlzdC5qcyJdLCJuYW1lcyI6WyJzaWJsaW5nTGlzdCIsInNpYmxpbmdMaXN0RGF0YSIsInNpYmxpbmdBcnRpY2xlcyIsImZseVRpdGxlIiwiZWxlbWVudENsYXNzTmFtZSIsInNpYmxpbmdzTGlzdFRpdGxlIiwic2lkZVRleHQiLCJzaWJsaW5nTGlzdFNpZGVUaXRsZSIsImJsb2dTaWRlVGV4dCIsInRvTG93ZXJDYXNlIiwibWFwIiwiYXJ0aWNsZSIsImluZGV4IiwiaXNDdXJyZW50QXJ0aWNsZVNlbGVjdGVkIiwiYnVsbGV0UG9pbnRDbGFzc05hbWUiLCJmaXJzdExpbmtDbGFzc05hbWUiLCJ3ZWJVUkwiLCJ0aXRsZSIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImFycmF5T2YiLCJub2RlIiwic3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7UUFHZ0JBLFcsR0FBQUEsVzs7QUFIaEI7Ozs7QUFDQTs7Ozs7O0FBRU8sU0FBU0EsV0FBVCxDQUFxQkMsZUFBckIsRUFBc0M7QUFBQSxNQUV6Q0MsZUFGeUMsR0FRdkNELGVBUnVDLENBRXpDQyxlQUZ5QztBQUFBLE1BR3pDQyxRQUh5QyxHQVF2Q0YsZUFSdUMsQ0FHekNFLFFBSHlDO0FBQUEsTUFJekNDLGdCQUp5QyxHQVF2Q0gsZUFSdUMsQ0FJekNHLGdCQUp5QztBQUFBLE1BS3pDQyxpQkFMeUMsR0FRdkNKLGVBUnVDLENBS3pDSSxpQkFMeUM7QUFBQSxNQU16Q0MsUUFOeUMsR0FRdkNMLGVBUnVDLENBTXpDSyxRQU55QztBQUFBLE1BT3pDQyxvQkFQeUMsR0FRdkNOLGVBUnVDLENBT3pDTSxvQkFQeUM7O0FBUzNDLE1BQUksQ0FBQ0wsZUFBTCxFQUFzQjtBQUNwQixXQUFPLElBQVA7QUFDRDtBQUNELE1BQU1NLGVBQWVGLFdBQVdBLFFBQVgscUJBQXVDRCxrQkFBa0JJLFdBQWxCLEVBQXZDLE1BQXJCO0FBQ0EsU0FDRTtBQUFBO0FBQUEsTUFBSywrQ0FBOENMLGdCQUFuRCxFQUF3RSxLQUFJLDBCQUE1RTtBQUNFO0FBQUE7QUFBQSxRQUFNLFdBQVUsMEJBQWhCO0FBQTRDRztBQUE1QyxLQURGO0FBRUU7QUFBQTtBQUFBLFFBQU0sV0FBVSxzQkFBaEI7QUFBd0NDO0FBQXhDLEtBRkY7QUFHRTtBQUFBO0FBQUEsUUFBSSx5Q0FBd0NKLGdCQUE1QztBQUNHRixzQkFBZ0JRLEdBQWhCLENBQW9CLFVBQUNDLE9BQUQsRUFBVUMsS0FBVixFQUFvQjtBQUN2QyxZQUFNQywyQkFBMkJGLFFBQVFSLFFBQVIsS0FBcUJBLFFBQXREO0FBQ0EsWUFBTVcsdUJBQXVCRCxnRUFDU1QsZ0JBRFQsR0FDK0IsRUFENUQ7QUFFQSxZQUFNVyxxQkFBcUJGLHVFQUNrQlQsZ0JBRGxCLEdBQ3dDLEVBRG5FO0FBRUEsZUFDRTtBQUFBO0FBQUEsWUFBSSxLQUFLUSxLQUFULEVBQWdCLFdBQVcsZ0VBQ2NSLGdCQURkLEVBQ21DVSxvQkFEbkMsQ0FBM0I7QUFHRTtBQUFBO0FBQUE7QUFDRSxvQkFBTUgsUUFBUUssTUFEaEI7QUFFRSx5QkFBVyxxRUFDaUNaLGdCQURqQyxFQUNzRFcsa0JBRHREO0FBRmI7QUFNRTtBQUFBO0FBQUEsZ0JBQU0sa0RBQWlEWCxnQkFBdkQ7QUFBNkVPLHNCQUFRUixRQUFyRjtBQUFBO0FBQUEsYUFORjtBQU9FO0FBQUE7QUFBQSxnQkFBTSwrQ0FBOENDLGdCQUFwRDtBQUEwRU8sc0JBQVFNO0FBQWxGO0FBUEY7QUFIRixTQURGO0FBZUQsT0FyQkE7QUFESDtBQUhGLEdBREY7QUE4QkQ7O0FBRUQsSUFBSUMsUUFBUUMsR0FBUixDQUFZQyxRQUFaLEtBQXlCLFlBQTdCLEVBQTJDO0FBQ3pDcEIsY0FBWXFCLFNBQVosR0FBd0I7QUFDdEJuQixxQkFBaUIsZ0JBQU1vQixTQUFOLENBQWdCQyxPQUFoQixDQUF3QixnQkFBTUQsU0FBTixDQUFnQkUsSUFBeEMsQ0FESztBQUV0QnJCLGNBQVUsZ0JBQU1tQixTQUFOLENBQWdCRyxNQUZKO0FBR3RCckIsc0JBQWtCLGdCQUFNa0IsU0FBTixDQUFnQkcsTUFIWjtBQUl0QnBCLHVCQUFtQixnQkFBTWlCLFNBQU4sQ0FBZ0JHLE1BSmI7QUFLdEJuQixjQUFVLGdCQUFNZ0IsU0FBTixDQUFnQkc7QUFMSixHQUF4QjtBQU9EIiwiZmlsZSI6ImJsb2ctcG9zdC1zaWJsaW5ncy1saXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2libGluZ0xpc3Qoc2libGluZ0xpc3REYXRhKSB7XG4gIGNvbnN0IHtcbiAgICBzaWJsaW5nQXJ0aWNsZXMsXG4gICAgZmx5VGl0bGUsXG4gICAgZWxlbWVudENsYXNzTmFtZSxcbiAgICBzaWJsaW5nc0xpc3RUaXRsZSxcbiAgICBzaWRlVGV4dCxcbiAgICBzaWJsaW5nTGlzdFNpZGVUaXRsZSxcbiAgfSA9IHNpYmxpbmdMaXN0RGF0YTtcbiAgaWYgKCFzaWJsaW5nQXJ0aWNsZXMpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBibG9nU2lkZVRleHQgPSBzaWRlVGV4dCA/IHNpZGVUZXh0IDogYE1vcmUgaW4gdGhpcyAkeyBzaWJsaW5nc0xpc3RUaXRsZS50b0xvd2VyQ2FzZSgpIH06YDtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC1hc2lkZSAkeyBlbGVtZW50Q2xhc3NOYW1lIH1gfSBrZXk9XCJibG9nLXBvc3RfX3NpYmxpbmdzLWxpc3RcIj5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fc2lkZS1mbHl0aXRsZVwiPntzaWJsaW5nTGlzdFNpZGVUaXRsZX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJibG9nLXBvc3RfX3NpZGUtdGV4dFwiPntibG9nU2lkZVRleHR9PC9zcGFuPlxuICAgICAgPHVsIGNsYXNzTmFtZT17YGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdCAkeyBlbGVtZW50Q2xhc3NOYW1lIH1gfT5cbiAgICAgICAge3NpYmxpbmdBcnRpY2xlcy5tYXAoKGFydGljbGUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgaXNDdXJyZW50QXJ0aWNsZVNlbGVjdGVkID0gYXJ0aWNsZS5mbHlUaXRsZSA9PT0gZmx5VGl0bGU7XG4gICAgICAgICAgY29uc3QgYnVsbGV0UG9pbnRDbGFzc05hbWUgPSBpc0N1cnJlbnRBcnRpY2xlU2VsZWN0ZWQgP1xuICAgICAgICAgICAgYGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC1idWxsZXQgJHsgZWxlbWVudENsYXNzTmFtZSB9YCA6ICcnO1xuICAgICAgICAgIGNvbnN0IGZpcnN0TGlua0NsYXNzTmFtZSA9IGlzQ3VycmVudEFydGljbGVTZWxlY3RlZCA/XG4gICAgICAgICAgICBgYmxvZy1wb3N0X19zaWJsaW5ncy1saXN0LXNlbGVjdGVkLWxpbmsgJHsgZWxlbWVudENsYXNzTmFtZSB9YCA6ICcnO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8bGkga2V5PXtpbmRleH0gY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICAgICAgICAgIGBibG9nLXBvc3RfX3NpYmxpbmdzLWxpc3QtYXJ0aWNsZSAkeyBlbGVtZW50Q2xhc3NOYW1lIH1gLCBidWxsZXRQb2ludENsYXNzTmFtZVxuICAgICAgICAgICAgKX0+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgaHJlZj17YXJ0aWNsZS53ZWJVUkx9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICAgICAgICAgICAgYGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC1hcnRpY2xlLWxpbmsgJHsgZWxlbWVudENsYXNzTmFtZSB9YCwgZmlyc3RMaW5rQ2xhc3NOYW1lXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC1mbHl0aXRsZSAkeyBlbGVtZW50Q2xhc3NOYW1lIH1gfT57YXJ0aWNsZS5mbHlUaXRsZX06PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC10aXRsZSAkeyBlbGVtZW50Q2xhc3NOYW1lIH1gfT57YXJ0aWNsZS50aXRsZX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSl9XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICBzaWJsaW5nTGlzdC5wcm9wVHlwZXMgPSB7XG4gICAgc2libGluZ0FydGljbGVzOiBSZWFjdC5Qcm9wVHlwZXMuYXJyYXlPZihSZWFjdC5Qcm9wVHlwZXMubm9kZSksXG4gICAgZmx5VGl0bGU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgZWxlbWVudENsYXNzTmFtZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzaWJsaW5nc0xpc3RUaXRsZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzaWRlVGV4dDogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgfTtcbn1cbiJdfQ==
{
"name": "@economist/component-blog-post",
"version": "1.22.0",
"version": "1.22.1",
"description": "Blog post",

@@ -5,0 +5,0 @@ "homepage": "https://github.com/economist-components/component-blog-post",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc