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

react-server

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-server - npm Package Compare versions

Comparing version

to
0.0.9

{
"name": "react-server",
"version": "0.0.7",
"version": "0.0.9",
"description": "React Server",

@@ -38,4 +38,4 @@ "main": "target/server/server.js",

"peerDependencies": {
"react": "0.14.2",
"react-dom": "0.14.2",
"react": "~0.14.2",
"react-dom": "~0.14.2",
"superagent": "1.2.0"

@@ -70,3 +70,3 @@ },

"react-dom": "0.14.2",
"react-server-gulp-module-tagger": "^0.0.6",
"react-server-gulp-module-tagger": "^0.0.8",
"superagent": "1.2.0",

@@ -73,0 +73,0 @@ "webpack": "1.4.13",

@@ -14,2 +14,3 @@ var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();

var ensureRootElementWithContainer = _require.ensureRootElementWithContainer;
var getRootElementAttributes = _require.getRootElementAttributes;

@@ -47,3 +48,3 @@ var RootContainer = (function (_React$Component) {

RootContainer.flattenForRender = function (element) {
return [{ containerOpen: containerAttrs(element) }].concat(prepChildren(element)).concat([{ containerClose: true }]).reduce(function (m, v) {
return [{ containerOpen: getRootElementAttributes(element) }].concat(prepChildren(element)).concat([{ containerClose: true }]).reduce(function (m, v) {
return m.concat(Array.isArray(v) ? v : [v]);

@@ -57,16 +58,2 @@ }, []);

function containerAttrs(element) {
var props = element.props;
var attrs = {};
if (props.className) attrs.class = props.className;
// TODO: Others?
['id', 'style'].forEach(function (k) {
return props[k] && (attrs[k] = props[k]);
});
return attrs;
}
function prepChildren(element) {

@@ -77,2 +64,2 @@ return React.Children.toArray(element.props.children).map(function (child) {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUm9vdENvbnRhaW5lci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzs7ZUFDVSxPQUFPLENBQUMsZUFBZSxDQUFDOztJQUExRCw4QkFBOEIsWUFBOUIsOEJBQThCOztJQUU3QixhQUFhO1dBQWIsYUFBYTs7VUFBYixhQUFhO3dCQUFiLGFBQWE7OzZCQUFiLGFBQWE7OztjQUFiLGFBQWE7O1NBQ1osa0JBQUc7QUFDUixTQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7R0FDbEU7OztRQUhJLGFBQWE7R0FBUyxLQUFLLENBQUMsU0FBUzs7QUFNM0MsTUFBTSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7O0FBRS9CLGFBQWEsQ0FBQyxTQUFTLEdBQUc7QUFDekIsT0FBTSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSTtBQUM1QixpQkFBZ0IsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUk7Q0FDdEMsQ0FBQTs7QUFFRCxhQUFhLENBQUMsWUFBWSxHQUFHO0FBQzVCLGlCQUFnQixFQUFFLElBQUk7Q0FDdEIsQ0FBQTs7QUFFRCxhQUFhLENBQUMsZ0JBQWdCLEdBQUcsVUFBUyxPQUFPLEVBQUU7QUFDbEQsUUFBTyxDQUFDLEVBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQy9DLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDN0IsTUFBTSxDQUFDLENBQUMsRUFBQyxjQUFjLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUNoQyxNQUFNLENBQUMsVUFBQyxDQUFDLEVBQUMsQ0FBQztTQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUFBLEVBQUUsRUFBRSxDQUFDLENBQUE7Q0FDdkQsQ0FBQTs7QUFFRCxhQUFhLENBQUMsZUFBZSxHQUFHLFVBQVMsT0FBTyxFQUFFO0FBQ2pELFFBQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztDQUNsRSxDQUFBOztBQUVELFNBQVMsY0FBYyxDQUFFLE9BQU8sRUFBRTtBQUNqQyxLQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0FBQzFCLEtBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQzs7QUFFZixLQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDOzs7QUFHbkQsRUFDQyxJQUFJLEVBQ0osT0FBTyxDQUNQLENBQUMsT0FBTyxDQUFDLFVBQUEsQ0FBQztTQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBLEFBQUM7RUFBQSxDQUFDLENBQUM7O0FBRWxELFFBQU8sS0FBSyxDQUFDO0NBQ2I7O0FBRUQsU0FBUyxZQUFZLENBQUUsT0FBTyxFQUFFO0FBQy9CLFFBQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQ3hELFVBQUEsS0FBSztTQUFJLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQzNDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FDckMsOEJBQThCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztFQUFBLENBQ2hELENBQUE7Q0FDRCIsImZpbGUiOiJjb21wb25lbnRzL1Jvb3RDb250YWluZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIHtlbnN1cmVSb290RWxlbWVudFdpdGhDb250YWluZXJ9ID0gcmVxdWlyZSgnLi9Sb290RWxlbWVudCcpO1xuXG5jbGFzcyBSb290Q29udGFpbmVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblx0cmVuZGVyKCkge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIlJvb3RDb250YWluZXJzIGNhbid0IGdvIGluIG5vbi1Sb290Q29udGFpbmVycyFcIik7XG5cdH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBSb290Q29udGFpbmVyO1xuXG5Sb290Q29udGFpbmVyLnByb3BUeXBlcyA9IHtcblx0bGlzdGVuOiBSZWFjdC5Qcm9wVHlwZXMuZnVuYyxcblx0X2lzUm9vdENvbnRhaW5lcjogUmVhY3QuUHJvcFR5cGVzLmJvb2wsXG59XG5cblJvb3RDb250YWluZXIuZGVmYXVsdFByb3BzID0ge1xuXHRfaXNSb290Q29udGFpbmVyOiB0cnVlLFxufVxuXG5Sb290Q29udGFpbmVyLmZsYXR0ZW5Gb3JSZW5kZXIgPSBmdW5jdGlvbihlbGVtZW50KSB7XG5cdHJldHVybiBbe2NvbnRhaW5lck9wZW46IGNvbnRhaW5lckF0dHJzKGVsZW1lbnQpfV1cblx0XHQuY29uY2F0KHByZXBDaGlsZHJlbihlbGVtZW50KSlcblx0XHQuY29uY2F0KFt7Y29udGFpbmVyQ2xvc2U6IHRydWV9XSlcblx0XHQucmVkdWNlKChtLHYpID0+IG0uY29uY2F0KEFycmF5LmlzQXJyYXkodik/djpbdl0pLCBbXSlcbn1cblxuUm9vdENvbnRhaW5lci5pc1Jvb3RDb250YWluZXIgPSBmdW5jdGlvbihlbGVtZW50KSB7XG5cdHJldHVybiBlbGVtZW50ICYmIGVsZW1lbnQucHJvcHMgJiYgZWxlbWVudC5wcm9wcy5faXNSb290Q29udGFpbmVyO1xufVxuXG5mdW5jdGlvbiBjb250YWluZXJBdHRycyAoZWxlbWVudCkge1xuXHR2YXIgcHJvcHMgPSBlbGVtZW50LnByb3BzO1xuXHR2YXIgYXR0cnMgPSB7fTtcblxuXHRpZiAocHJvcHMuY2xhc3NOYW1lKSBhdHRycy5jbGFzcyA9IHByb3BzLmNsYXNzTmFtZTtcblxuXHQvLyBUT0RPOiBPdGhlcnM/XG5cdFtcblx0XHQnaWQnLFxuXHRcdCdzdHlsZScsXG5cdF0uZm9yRWFjaChrID0+IHByb3BzW2tdICYmIChhdHRyc1trXSA9IHByb3BzW2tdKSk7XG5cblx0cmV0dXJuIGF0dHJzO1xufVxuXG5mdW5jdGlvbiBwcmVwQ2hpbGRyZW4gKGVsZW1lbnQpIHtcblx0cmV0dXJuIFJlYWN0LkNoaWxkcmVuLnRvQXJyYXkoZWxlbWVudC5wcm9wcy5jaGlsZHJlbikubWFwKFxuXHRcdGNoaWxkID0+IFJvb3RDb250YWluZXIuaXNSb290Q29udGFpbmVyKGNoaWxkKVxuXHRcdFx0P1Jvb3RDb250YWluZXIuZmxhdHRlbkZvclJlbmRlcihjaGlsZClcblx0XHRcdDplbnN1cmVSb290RWxlbWVudFdpdGhDb250YWluZXIoY2hpbGQsIGVsZW1lbnQpXG5cdClcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUm9vdENvbnRhaW5lci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzs7ZUFJekIsT0FBTyxDQUFDLGVBQWUsQ0FBQzs7SUFGM0IsOEJBQThCLFlBQTlCLDhCQUE4QjtJQUM5Qix3QkFBd0IsWUFBeEIsd0JBQXdCOztJQUduQixhQUFhO1dBQWIsYUFBYTs7VUFBYixhQUFhO3dCQUFiLGFBQWE7OzZCQUFiLGFBQWE7OztjQUFiLGFBQWE7O1NBQ1osa0JBQUc7QUFDUixTQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7R0FDbEU7OztRQUhJLGFBQWE7R0FBUyxLQUFLLENBQUMsU0FBUzs7QUFNM0MsTUFBTSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7O0FBRS9CLGFBQWEsQ0FBQyxTQUFTLEdBQUc7QUFDekIsT0FBTSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSTtBQUM1QixpQkFBZ0IsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUk7Q0FDdEMsQ0FBQTs7QUFFRCxhQUFhLENBQUMsWUFBWSxHQUFHO0FBQzVCLGlCQUFnQixFQUFFLElBQUk7Q0FDdEIsQ0FBQTs7QUFFRCxhQUFhLENBQUMsZ0JBQWdCLEdBQUcsVUFBUyxPQUFPLEVBQUU7QUFDbEQsUUFBTyxDQUFDLEVBQUMsYUFBYSxFQUFFLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FDekQsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUM3QixNQUFNLENBQUMsQ0FBQyxFQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQ2hDLE1BQU0sQ0FBQyxVQUFDLENBQUMsRUFBQyxDQUFDO1NBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQUEsRUFBRSxFQUFFLENBQUMsQ0FBQTtDQUN2RCxDQUFBOztBQUVELGFBQWEsQ0FBQyxlQUFlLEdBQUcsVUFBUyxPQUFPLEVBQUU7QUFDakQsUUFBTyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO0NBQ2xFLENBQUE7O0FBRUQsU0FBUyxZQUFZLENBQUUsT0FBTyxFQUFFO0FBQy9CLFFBQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQ3hELFVBQUEsS0FBSztTQUFJLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQzNDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FDckMsOEJBQThCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztFQUFBLENBQ2hELENBQUE7Q0FDRCIsImZpbGUiOiJjb21wb25lbnRzL1Jvb3RDb250YWluZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIHtcblx0ZW5zdXJlUm9vdEVsZW1lbnRXaXRoQ29udGFpbmVyLFxuXHRnZXRSb290RWxlbWVudEF0dHJpYnV0ZXMsXG59ID0gcmVxdWlyZSgnLi9Sb290RWxlbWVudCcpO1xuXG5jbGFzcyBSb290Q29udGFpbmVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblx0cmVuZGVyKCkge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIlJvb3RDb250YWluZXJzIGNhbid0IGdvIGluIG5vbi1Sb290Q29udGFpbmVycyFcIik7XG5cdH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBSb290Q29udGFpbmVyO1xuXG5Sb290Q29udGFpbmVyLnByb3BUeXBlcyA9IHtcblx0bGlzdGVuOiBSZWFjdC5Qcm9wVHlwZXMuZnVuYyxcblx0X2lzUm9vdENvbnRhaW5lcjogUmVhY3QuUHJvcFR5cGVzLmJvb2wsXG59XG5cblJvb3RDb250YWluZXIuZGVmYXVsdFByb3BzID0ge1xuXHRfaXNSb290Q29udGFpbmVyOiB0cnVlLFxufVxuXG5Sb290Q29udGFpbmVyLmZsYXR0ZW5Gb3JSZW5kZXIgPSBmdW5jdGlvbihlbGVtZW50KSB7XG5cdHJldHVybiBbe2NvbnRhaW5lck9wZW46IGdldFJvb3RFbGVtZW50QXR0cmlidXRlcyhlbGVtZW50KX1dXG5cdFx0LmNvbmNhdChwcmVwQ2hpbGRyZW4oZWxlbWVudCkpXG5cdFx0LmNvbmNhdChbe2NvbnRhaW5lckNsb3NlOiB0cnVlfV0pXG5cdFx0LnJlZHVjZSgobSx2KSA9PiBtLmNvbmNhdChBcnJheS5pc0FycmF5KHYpP3Y6W3ZdKSwgW10pXG59XG5cblJvb3RDb250YWluZXIuaXNSb290Q29udGFpbmVyID0gZnVuY3Rpb24oZWxlbWVudCkge1xuXHRyZXR1cm4gZWxlbWVudCAmJiBlbGVtZW50LnByb3BzICYmIGVsZW1lbnQucHJvcHMuX2lzUm9vdENvbnRhaW5lcjtcbn1cblxuZnVuY3Rpb24gcHJlcENoaWxkcmVuIChlbGVtZW50KSB7XG5cdHJldHVybiBSZWFjdC5DaGlsZHJlbi50b0FycmF5KGVsZW1lbnQucHJvcHMuY2hpbGRyZW4pLm1hcChcblx0XHRjaGlsZCA9PiBSb290Q29udGFpbmVyLmlzUm9vdENvbnRhaW5lcihjaGlsZClcblx0XHRcdD9Sb290Q29udGFpbmVyLmZsYXR0ZW5Gb3JSZW5kZXIoY2hpbGQpXG5cdFx0XHQ6ZW5zdXJlUm9vdEVsZW1lbnRXaXRoQ29udGFpbmVyKGNoaWxkLCBlbGVtZW50KVxuXHQpXG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=

@@ -105,2 +105,16 @@ var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();

RootElement.getRootElementAttributes = function (element) {
var props = element.props;
var attrs = {};
if (props.className) attrs.class = props.className;
// TODO: Others?
['id', 'style'].forEach(function (k) {
return props[k] && (attrs[k] = props[k]);
});
return attrs;
};
RootElement.ensureRootElementWithContainer = function (element, container) {

@@ -158,2 +172,2 @@

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUm9vdEVsZW1lbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDN0IsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDOztBQUVyQixJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUMsTUFBTSxFQUFDLDBDQUEwQyxFQUFDLE9BQU8sRUFBQyxFQUFDLFFBQVEsRUFBQyxHQUFHLEVBQUMsUUFBUSxFQUFDLGtCQUFrQixFQUFDLEVBQUMsQ0FBQyxDQUFDOztJQUUvSSxXQUFXO1dBQVgsV0FBVzs7VUFBWCxXQUFXO3dCQUFYLFdBQVc7OzZCQUFYLFdBQVc7OztjQUFYLFdBQVc7O1NBQ0MsNkJBQUc7OztBQUNuQixPQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO0FBQ3pCLFFBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQUEsVUFBVSxFQUFJO0FBQ2xDLFNBQUksR0FBRyxHQUFjLElBQUksSUFBSSxFQUFBLENBQUM7QUFDOUIsU0FBSSxJQUFJLEdBQWEsTUFBSyxZQUFZLEVBQUUsQ0FBQztBQUN6QyxTQUFJLEtBQUssR0FBWSxFQUFFLE1BQUssWUFBWSxDQUFDO0FBQ3pDLFNBQUksU0FBUyxHQUFRLEdBQUcsR0FBRyxNQUFLLEdBQUcsQ0FBQztBQUNwQyxTQUFJLGNBQWMsR0FBRyxHQUFHLEdBQUcsTUFBSyxHQUFHLENBQUM7QUFDcEMsV0FBSyxHQUFHLEdBQWEsR0FBRyxDQUFDOzs7QUFHekIsa0JBQVcsSUFBSSxFQUFJLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLEdBQUcsRUFBSTtBQUN4QyxZQUFNLENBQUMsSUFBSSx1QkFBcUIsR0FBRyxFQUFJLFNBQVMsQ0FBQyxDQUFDO0FBQ2xELFlBQU0sQ0FBQyxJQUFJLDRCQUEwQixHQUFH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QUE4QixDQUFDLE9BQU8sRUFBRSxFQUFDLEtBQUssRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDO0NBQ3ZFLENBQUE7O0FBRUQsV0FBVyxDQUFDLGNBQWMsR0FBRyxVQUFTLE9BQU8sRUFBRTtBQUM5QyxLQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFFLEVBQUUsQ0FBQSxDQUFFLEtBQUssSUFBRSxFQUFFLENBQUEsQ0FBRSxNQUFNLENBQUM7QUFDOUMsS0FBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDbkUsS0FBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3BCLEtBQUksT0FBTyxDQUFDO0FBQ1osS0FBSSxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQUEsVUFBVSxFQUFJOzs7OztBQUt0QyxNQUFJLE9BQU8sRUFBRSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQzs7OztBQUl4QyxNQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUU7QUFDNUIsTUFBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRTtBQUN2QyxjQUFVLEVBQVYsVUFBVTtBQUNWLGFBQVMsRUFBVCxTQUFTO0FBQ1QsZUFBVyxFQUFYLFdBQVc7SUFDWCxDQUFDLENBQUMsQ0FBQztHQUNKO0VBQ0QsQ0FBQyxDQUFDO0FBQ0gsS0FBSSxTQUFTLEdBQUcsVUFBQSxRQUFRO1NBQUksT0FBTyxHQUFHLFFBQVE7RUFBQSxDQUFDO0FBQy9DLFFBQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQTtDQUNsQixDQUFBIiwiZmlsZSI6ImNvbXBvbmVudHMvUm9vdEVsZW1lbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIFEgPSByZXF1aXJlKCdxJyk7XG5cbnZhciBsb2dnZXIgPSByZXF1aXJlKCcuLi9sb2dnaW5nJykuZ2V0TG9nZ2VyKHtcIm5hbWVcIjpcInJlYWN0LXNlcnZlci5jb3JlLmNvbXBvbmVudHMuUm9vdEVsZW1lbnRcIixcImNvbG9yXCI6e1wic2VydmVyXCI6MTU5LFwiY2xpZW50XCI6XCJyZ2IoMTI3LDIxMiwyMTIpXCJ9fSk7XG5cbmNsYXNzIFJvb3RFbGVtZW50IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblx0Y29tcG9uZW50RGlkTW91bnQoKSB7XG5cdFx0aWYgKHRoaXMucHJvcHMuc3Vic2NyaWJlKSB7XG5cdFx0XHR0aGlzLnByb3BzLnN1YnNjcmliZShjaGlsZFByb3BzID0+IHtcblx0XHRcdFx0dmFyIG5vdyAgICAgICAgICAgID0gbmV3IERhdGU7XG5cdFx0XHRcdHZhciBuYW1lICAgICAgICAgICA9IHRoaXMuZ2V0Q2hpbGROYW1lKCk7XG5cdFx0XHRcdHZhciBjb3VudCAgICAgICAgICA9ICsrdGhpcy5fY2hhbmdlQ291bnQ7XG5cdFx0XHRcdHZhciBmcm9tTW91bnQgICAgICA9IG5vdyAtIHRoaXMuX3QwO1xuXHRcdFx0XHR2YXIgZnJvbUxhc3RDaGFuZ2UgPSBub3cgLSB0aGlzLl90MTtcblx0XHRcdFx0dGhpcy5fdDEgICAgICAgICAgID0gbm93O1xuXG5cdFx0XHRcdC8vIExvZyBzb21lIHN0dWZmIGFib3V0IHRoZSBjaGFuZ2UuXG5cdFx0XHRcdFtgYnlOYW1lLiR7bmFtZX1gLCAnYWxsJ10uZm9yRWFjaCh0YWcgPT4ge1xuXHRcdFx0XHRcdGxvZ2dlci50aW1lKGBjaGFuZ2UuZnJvbU1vdW50LiR7dGFnfWAsIGZyb21Nb3VudCk7XG5cdFx0XHRcdFx0bG9nZ2VyLnRpbWUoYGNoYW5nZS5mcm9tTGFzdENoYW5nZS4ke3RhZ31gLCBmcm9tTGFzdENoYW5nZSk7XG5cdFx0XHRcdFx0bG9nZ2VyLmdhdWdlKGBjaGFuZ2UuY291bnQuJHt0YWd9YCwgY291bnQpO1xuXHRcdFx0XHR9KTtcblxuXHRcdFx0XHQvLyBPa2F5LCBub3cgd2UndmUgY29tcGxhaW5lZCBhYm91dCBpdFxuXHRcdFx0XHQvLyBzdWZmaWNpZW50bHksIGxldCdzIGdvIGFoZWFkIGFuZCB1cGRhdGUuXG5cdFx0XHRcdHRoaXMucHJvcHMuY2hpbGRQcm9wcyA9IGNoaWxkUHJvcHM7XG5cdFx0XHRcdHRoaXMuZm9yY2VVcGRhdGUoKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuXHRcdGlmICh0aGlzLnByb3BzLnVuc3Vic2NyaWJlKSB0aGlzLnByb3BzLnVuc3Vic2NyaWJlKCk7XG5cdH1cblxuXHRyZW5kZXIoKSB7XG5cblx0XHQvLyBXZSdsbCB1c2UgdGhlc2UgdG8gbG9nIHN0dWZmIGFib3V0IHJlLXJlbmRlcnMuXG5cdFx0aWYgKCF0aGlzLl90MCkge1xuXHRcdFx0dGhpcy5fdDAgPSB0aGlzLl90MSA9IG5ldyBEYXRlO1xuXHRcdFx0dGhpcy5fY2hhbmdlQ291bnQgPSAwO1xuXHRcdH1cblxuXHRcdGlmICh0eXBlb2YgdGhpcy5wcm9wcy5jaGlsZHJlbiA9PT0gJ3N0cmluZycpIHtcblxuXHRcdFx0bG9nZ2VyLmVycm9yKFxuXHRcdFx0XHRcIlJvb3QgZWxlbWVudHMgY2Fubm90IGJlIHJhdyB0ZXh0XCIsXG5cdFx0XHRcdHsgdGV4dDogdGhpcy5wcm9wcy5jaGlsZHJlbiB9XG5cdFx0XHQpO1xuXG5cdFx0XHQvLyBEb24ndCBrZWVwIGNob2tpbmcgb24gaXQuICBKdXN0IGd1dCBpdC5cblx0XHRcdHJldHVybiA8ZGl2IC8+O1xuXHRcdH1cblxuXHRcdHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoXG5cdFx0XHRSZWFjdC5DaGlsZHJlbi5vbmx5KHRoaXMucHJvcHMuY2hpbGRyZW4pLFxuXHRcdFx0dGhpcy5wcm9wcy5jaGlsZFByb3BzXG5cdFx0KTtcblx0fVxuXG5cdGdldENoaWxkTmFtZSgpIHtcblx0XHRpZiAoIXRoaXMuX2NoaWxkTmFtZSl7XG5cdFx0XHR0aGlzLl9jaGlsZE5hbWUgPSAoUmVhY3QuQ2hpbGRyZW4ub25seShcblx0XHRcdFx0dGhpcy5wcm9wcy5jaGlsZHJlblxuXHRcdFx0KS50eXBlLmRpc3BsYXlOYW1lfHwnVW5rbm93bicpLnNwbGl0KCcuJykucG9wKCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLl9jaGlsZE5hbWU7XG5cdH1cblxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFJvb3RFbGVtZW50O1xuXG5Sb290RWxlbWVudC5wcm9wVHlwZXMgPSB7XG5cdGxpc3RlbjogUmVhY3QuUHJvcFR5cGVzLmZ1bmMsXG5cdGNoaWxkUHJvcHM6IFJlYWN0LlByb3BUeXBlcy5vYmplY3QsXG5cdF9pc1Jvb3RFbGVtZW50OiBSZWFjdC5Qcm9wVHlwZXMuYm9vbCxcbn1cblxuUm9vdEVsZW1lbnQuZGVmYXVsdFByb3BzID0ge1xuXHRfaXNSb290RWxlbWVudDogdHJ1ZSxcbn1cblxuUm9vdEVsZW1lbnQuaXNSb290RWxlbWVudCA9IGZ1bmN0aW9uKGVsZW1lbnQpIHtcblx0cmV0dXJuIGVsZW1lbnQgJiYgZWxlbWVudC5wcm9wcyAmJiBlbGVtZW50LnByb3BzLl9pc1Jvb3RFbGVtZW50O1xufVxuXG5Sb290RWxlbWVudC5lbnN1cmVSb290RWxlbWVudFdpdGhDb250YWluZXIgPSBmdW5jdGlvbihlbGVtZW50LCBjb250YWluZXIpIHtcblxuXHQvLyBJZiBpdCdzIF9hbHJlYWR5XyBhIHJvb3QgZWxlbWVudCwgcGFzcyBpdCBhbG9uZy5cblx0aWYgKFJvb3RFbGVtZW50LmlzUm9vdEVsZW1lbnQoZWxlbWVudCkgfHwgKFxuXG5cdFx0Ly8gQWx0ZXJuYXRpdmVseSwgaWYgaXQncyBhIGNvbnRyb2wgb2JqZWN0IHBhc3MgaXQgYWxvbmcuXG5cdFx0Ly9cblx0XHQvLyBXZSBleGNsdWRlIHN0cmluZ3MgaGVyZSBzaW5jZSB3ZSBhbHJlYWR5IGdyaXBlIGFib3V0IHRoZW1cblx0XHQvLyBhdCByZW5kZXIgdGltZS5cblx0XHQvL1xuXHRcdCFSZWFjdC5pc1ZhbGlkRWxlbWVudChlbGVtZW50KSAmJiB0eXBlb2YgZWxlbWVudCAhPT0gJ3N0cmluZydcblx0KSl7XG5cdFx0cmV0dXJuIGVsZW1lbnQ7XG5cdH1cblxuXHRyZXR1cm4gPFJvb3RFbGVtZW50IGxpc3Rlbj17Y29udGFpbmVyLnByb3BzLmxpc3Rlbn0+e2VsZW1lbnR9PC9Sb290RWxlbWVudD47XG59XG5cblJvb3RFbGVtZW50LmVuc3VyZVJvb3RFbGVtZW50ID0gZnVuY3Rpb24oZWxlbWVudCl7XG5cdHJldHVybiBSb290RWxlbWVudC5lbnN1cmVSb290RWxlbWVudFdpdGhDb250YWluZXIoZWxlbWVudCwge3Byb3BzOnt9fSk7XG59XG5cblJvb3RFbGVtZW50LnNjaGVkdWxlUmVuZGVyID0gZnVuY3Rpb24oZWxlbWVudCkge1xuXHR2YXIgbGlzdGVuID0gKChlbGVtZW50fHx7fSkucHJvcHN8fHt9KS5saXN0ZW47XG5cdGlmICghbGlzdGVuKSByZXR1cm4gUShlbGVtZW50KS50aGVuKFJvb3RFbGVtZW50LmVuc3VyZVJvb3RFbGVtZW50KTtcblx0dmFyIGRmZCA9IFEuZGVmZXIoKTtcblx0dmFyIHVwZGF0ZXI7XG5cdHZhciB1bnN1YnNjcmliZSA9IGxpc3RlbihjaGlsZFByb3BzID0+IHtcblxuXHRcdC8vIE9uY2UgdGhlIGNvbXBvbmVudCBoYXMgbW91bnRlZCBpdCB3aWxsIHByb3ZpZGUgYW4gdXBkYXRlci5cblx0XHQvLyBBZnRlciB0aGF0IHdlIGNhbiBqdXN0IHNob3J0LWNpcmN1aXQgaGVyZSBhbmQgbGV0IGl0IGhhbmRsZVxuXHRcdC8vIHVwZGF0aW5nIGl0c2VsZi5cblx0XHRpZiAodXBkYXRlcikgcmV0dXJuIHVwZGF0ZXIoY2hpbGRQcm9wcyk7XG5cblx0XHQvLyBUaGUgcHJvbWlzZSBpdHNlbGYgd2lsbCBvbmx5IHJlc29sdmUgb25jZSwgYnV0IHdlIGRvbid0XG5cdFx0Ly8gd2FudCB0byBfY2xvbmVfIG11bHRpcGxlIHRpbWVzLlxuXHRcdGlmIChkZmQucHJvbWlzZS5pc1BlbmRpbmcoKSkge1xuXHRcdFx0ZGZkLnJlc29sdmUoUmVhY3QuY2xvbmVFbGVtZW50KGVsZW1lbnQsIHtcblx0XHRcdFx0Y2hpbGRQcm9wcyxcblx0XHRcdFx0c3Vic2NyaWJlLFxuXHRcdFx0XHR1bnN1YnNjcmliZSxcblx0XHRcdH0pKTtcblx0XHR9XG5cdH0pO1xuXHR2YXIgc3Vic2NyaWJlID0gY2FsbGJhY2sgPT4gdXBkYXRlciA9IGNhbGxiYWNrO1xuXHRyZXR1cm4gZGZkLnByb21pc2Vcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUm9vdEVsZW1lbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDN0IsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDOztBQUVyQixJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUMsTUFBTSxFQUFDLDBDQUEwQyxFQUFDLE9BQU8sRUFBQyxFQUFDLFFBQVEsRUFBQyxHQUFHLEVBQUMsUUFBUSxFQUFDLGtCQUFrQixFQUFDLEVBQUMsQ0FBQyxDQUFDOztJQUUvSSxXQUFXO1dBQVgsV0FBVzs7VUFBWCxXQUFXO3dCQUFYLFdBQVc7OzZCQUFYLFdBQVc7OztjQUFYLFdBQVc7O1NBQ0MsNkJBQUc7OztBQUNuQixPQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO0FBQ3pCLFFBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQUEsVUFBVSxFQUFJO0FBQ2xDLFNBQUksR0FBRyxHQUFjLElBQUksSUFBSSxFQUFBLENBQUM7QUFDOUIsU0FBSSxJQUFJLEdBQWEsTUFBSyxZQUFZLEVBQUUsQ0FBQztBQUN6QyxTQUFJLEtBQUssR0FBWSxFQUFFLE1BQUssWUFBWSxDQUFDO0FBQ3pDLFNBQUksU0FBUyxHQUFRLEdBQUcsR0FBRyxNQUFLLEdBQUcsQ0FBQztBQUNwQyxTQUFJLGNBQWMsR0FBRyxHQUFHLEdBQUcsTUFBSyxHQUFHLENBQUM7QUFDcEMsV0FBSyxHQUFHLEdBQWEsR0FBRyxDQUFDOzs7QUFHekIsa0JBQVcsSUFBSSxFQUFJLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLEdBQUcsRUFBSTtBQUN4QyxZQUFNLENBQUMsSUFBSSx1QkFBcUIsR0FBRyxFQUFJLFNBQVMsQ0FBQyxDQUFDO0FBQ2xELFlBQU0sQ0FBQyxJQUFJLDRCQUEwQixHQUFH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QUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7QUFDdkMsY0FBVSxFQUFWLFVBQVU7QUFDVixhQUFTLEVBQVQsU0FBUztBQUNULGVBQVcsRUFBWCxXQUFXO0lBQ1gsQ0FBQyxDQUFDLENBQUM7R0FDSjtFQUNELENBQUMsQ0FBQztBQUNILEtBQUksU0FBUyxHQUFHLFVBQUEsUUFBUTtTQUFJLE9BQU8sR0FBRyxRQUFRO0VBQUEsQ0FBQztBQUMvQyxRQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUE7Q0FDbEIsQ0FBQSIsImZpbGUiOiJjb21wb25lbnRzL1Jvb3RFbGVtZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcbnZhciBRID0gcmVxdWlyZSgncScpO1xuXG52YXIgbG9nZ2VyID0gcmVxdWlyZSgnLi4vbG9nZ2luZycpLmdldExvZ2dlcih7XCJuYW1lXCI6XCJyZWFjdC1zZXJ2ZXIuY29yZS5jb21wb25lbnRzLlJvb3RFbGVtZW50XCIsXCJjb2xvclwiOntcInNlcnZlclwiOjE1OSxcImNsaWVudFwiOlwicmdiKDEyNywyMTIsMjEyKVwifX0pO1xuXG5jbGFzcyBSb290RWxlbWVudCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cdGNvbXBvbmVudERpZE1vdW50KCkge1xuXHRcdGlmICh0aGlzLnByb3BzLnN1YnNjcmliZSkge1xuXHRcdFx0dGhpcy5wcm9wcy5zdWJzY3JpYmUoY2hpbGRQcm9wcyA9PiB7XG5cdFx0XHRcdHZhciBub3cgICAgICAgICAgICA9IG5ldyBEYXRlO1xuXHRcdFx0XHR2YXIgbmFtZSAgICAgICAgICAgPSB0aGlzLmdldENoaWxkTmFtZSgpO1xuXHRcdFx0XHR2YXIgY291bnQgICAgICAgICAgPSArK3RoaXMuX2NoYW5nZUNvdW50O1xuXHRcdFx0XHR2YXIgZnJvbU1vdW50ICAgICAgPSBub3cgLSB0aGlzLl90MDtcblx0XHRcdFx0dmFyIGZyb21MYXN0Q2hhbmdlID0gbm93IC0gdGhpcy5fdDE7XG5cdFx0XHRcdHRoaXMuX3QxICAgICAgICAgICA9IG5vdztcblxuXHRcdFx0XHQvLyBMb2cgc29tZSBzdHVmZiBhYm91dCB0aGUgY2hhbmdlLlxuXHRcdFx0XHRbYGJ5TmFtZS4ke25hbWV9YCwgJ2FsbCddLmZvckVhY2godGFnID0+IHtcblx0XHRcdFx0XHRsb2dnZXIudGltZShgY2hhbmdlLmZyb21Nb3VudC4ke3RhZ31gLCBmcm9tTW91bnQpO1xuXHRcdFx0XHRcdGxvZ2dlci50aW1lKGBjaGFuZ2UuZnJvbUxhc3RDaGFuZ2UuJHt0YWd9YCwgZnJvbUxhc3RDaGFuZ2UpO1xuXHRcdFx0XHRcdGxvZ2dlci5nYXVnZShgY2hhbmdlLmNvdW50LiR7dGFnfWAsIGNvdW50KTtcblx0XHRcdFx0fSk7XG5cblx0XHRcdFx0Ly8gT2theSwgbm93IHdlJ3ZlIGNvbXBsYWluZWQgYWJvdXQgaXRcblx0XHRcdFx0Ly8gc3VmZmljaWVudGx5LCBsZXQncyBnbyBhaGVhZCBhbmQgdXBkYXRlLlxuXHRcdFx0XHR0aGlzLnByb3BzLmNoaWxkUHJvcHMgPSBjaGlsZFByb3BzO1xuXHRcdFx0XHR0aGlzLmZvcmNlVXBkYXRlKCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcblx0XHRpZiAodGhpcy5wcm9wcy51bnN1YnNjcmliZSkgdGhpcy5wcm9wcy51bnN1YnNjcmliZSgpO1xuXHR9XG5cblx0cmVuZGVyKCkge1xuXG5cdFx0Ly8gV2UnbGwgdXNlIHRoZXNlIHRvIGxvZyBzdHVmZiBhYm91dCByZS1yZW5kZXJzLlxuXHRcdGlmICghdGhpcy5fdDApIHtcblx0XHRcdHRoaXMuX3QwID0gdGhpcy5fdDEgPSBuZXcgRGF0ZTtcblx0XHRcdHRoaXMuX2NoYW5nZUNvdW50ID0gMDtcblx0XHR9XG5cblx0XHRpZiAodHlwZW9mIHRoaXMucHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnKSB7XG5cblx0XHRcdGxvZ2dlci5lcnJvcihcblx0XHRcdFx0XCJSb290IGVsZW1lbnRzIGNhbm5vdCBiZSByYXcgdGV4dFwiLFxuXHRcdFx0XHR7IHRleHQ6IHRoaXMucHJvcHMuY2hpbGRyZW4gfVxuXHRcdFx0KTtcblxuXHRcdFx0Ly8gRG9uJ3Qga2VlcCBjaG9raW5nIG9uIGl0LiAgSnVzdCBndXQgaXQuXG5cdFx0XHRyZXR1cm4gPGRpdiAvPjtcblx0XHR9XG5cblx0XHRyZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KFxuXHRcdFx0UmVhY3QuQ2hpbGRyZW4ub25seSh0aGlzLnByb3BzLmNoaWxkcmVuKSxcblx0XHRcdHRoaXMucHJvcHMuY2hpbGRQcm9wc1xuXHRcdCk7XG5cdH1cblxuXHRnZXRDaGlsZE5hbWUoKSB7XG5cdFx0aWYgKCF0aGlzLl9jaGlsZE5hbWUpe1xuXHRcdFx0dGhpcy5fY2hpbGROYW1lID0gKFJlYWN0LkNoaWxkcmVuLm9ubHkoXG5cdFx0XHRcdHRoaXMucHJvcHMuY2hpbGRyZW5cblx0XHRcdCkudHlwZS5kaXNwbGF5TmFtZXx8J1Vua25vd24nKS5zcGxpdCgnLicpLnBvcCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5fY2hpbGROYW1lO1xuXHR9XG5cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBSb290RWxlbWVudDtcblxuUm9vdEVsZW1lbnQucHJvcFR5cGVzID0ge1xuXHRsaXN0ZW46IFJlYWN0LlByb3BUeXBlcy5mdW5jLFxuXHRjaGlsZFByb3BzOiBSZWFjdC5Qcm9wVHlwZXMub2JqZWN0LFxuXHRfaXNSb290RWxlbWVudDogUmVhY3QuUHJvcFR5cGVzLmJvb2wsXG59XG5cblJvb3RFbGVtZW50LmRlZmF1bHRQcm9wcyA9IHtcblx0X2lzUm9vdEVsZW1lbnQ6IHRydWUsXG59XG5cblJvb3RFbGVtZW50LmlzUm9vdEVsZW1lbnQgPSBmdW5jdGlvbihlbGVtZW50KSB7XG5cdHJldHVybiBlbGVtZW50ICYmIGVsZW1lbnQucHJvcHMgJiYgZWxlbWVudC5wcm9wcy5faXNSb290RWxlbWVudDtcbn1cblxuUm9vdEVsZW1lbnQuZ2V0Um9vdEVsZW1lbnRBdHRyaWJ1dGVzID0gZnVuY3Rpb24oZWxlbWVudCkge1xuXHR2YXIgcHJvcHMgPSBlbGVtZW50LnByb3BzO1xuXHR2YXIgYXR0cnMgPSB7fTtcblxuXHRpZiAocHJvcHMuY2xhc3NOYW1lKSBhdHRycy5jbGFzcyA9IHByb3BzLmNsYXNzTmFtZTtcblxuXHQvLyBUT0RPOiBPdGhlcnM/XG5cdFtcblx0XHQnaWQnLFxuXHRcdCdzdHlsZScsXG5cdF0uZm9yRWFjaChrID0+IHByb3BzW2tdICYmIChhdHRyc1trXSA9IHByb3BzW2tdKSk7XG5cblx0cmV0dXJuIGF0dHJzO1xufVxuXG5Sb290RWxlbWVudC5lbnN1cmVSb290RWxlbWVudFdpdGhDb250YWluZXIgPSBmdW5jdGlvbihlbGVtZW50LCBjb250YWluZXIpIHtcblxuXHQvLyBJZiBpdCdzIF9hbHJlYWR5XyBhIHJvb3QgZWxlbWVudCwgcGFzcyBpdCBhbG9uZy5cblx0aWYgKFJvb3RFbGVtZW50LmlzUm9vdEVsZW1lbnQoZWxlbWVudCkgfHwgKFxuXG5cdFx0Ly8gQWx0ZXJuYXRpdmVseSwgaWYgaXQncyBhIGNvbnRyb2wgb2JqZWN0IHBhc3MgaXQgYWxvbmcuXG5cdFx0Ly9cblx0XHQvLyBXZSBleGNsdWRlIHN0cmluZ3MgaGVyZSBzaW5jZSB3ZSBhbHJlYWR5IGdyaXBlIGFib3V0IHRoZW1cblx0XHQvLyBhdCByZW5kZXIgdGltZS5cblx0XHQvL1xuXHRcdCFSZWFjdC5pc1ZhbGlkRWxlbWVudChlbGVtZW50KSAmJiB0eXBlb2YgZWxlbWVudCAhPT0gJ3N0cmluZydcblx0KSl7XG5cdFx0cmV0dXJuIGVsZW1lbnQ7XG5cdH1cblxuXHRyZXR1cm4gPFJvb3RFbGVtZW50IGxpc3Rlbj17Y29udGFpbmVyLnByb3BzLmxpc3Rlbn0+e2VsZW1lbnR9PC9Sb290RWxlbWVudD47XG59XG5cblJvb3RFbGVtZW50LmVuc3VyZVJvb3RFbGVtZW50ID0gZnVuY3Rpb24oZWxlbWVudCl7XG5cdHJldHVybiBSb290RWxlbWVudC5lbnN1cmVSb290RWxlbWVudFdpdGhDb250YWluZXIoZWxlbWVudCwge3Byb3BzOnt9fSk7XG59XG5cblJvb3RFbGVtZW50LnNjaGVkdWxlUmVuZGVyID0gZnVuY3Rpb24oZWxlbWVudCkge1xuXHR2YXIgbGlzdGVuID0gKChlbGVtZW50fHx7fSkucHJvcHN8fHt9KS5saXN0ZW47XG5cdGlmICghbGlzdGVuKSByZXR1cm4gUShlbGVtZW50KS50aGVuKFJvb3RFbGVtZW50LmVuc3VyZVJvb3RFbGVtZW50KTtcblx0dmFyIGRmZCA9IFEuZGVmZXIoKTtcblx0dmFyIHVwZGF0ZXI7XG5cdHZhciB1bnN1YnNjcmliZSA9IGxpc3RlbihjaGlsZFByb3BzID0+IHtcblxuXHRcdC8vIE9uY2UgdGhlIGNvbXBvbmVudCBoYXMgbW91bnRlZCBpdCB3aWxsIHByb3ZpZGUgYW4gdXBkYXRlci5cblx0XHQvLyBBZnRlciB0aGF0IHdlIGNhbiBqdXN0IHNob3J0LWNpcmN1aXQgaGVyZSBhbmQgbGV0IGl0IGhhbmRsZVxuXHRcdC8vIHVwZGF0aW5nIGl0c2VsZi5cblx0XHRpZiAodXBkYXRlcikgcmV0dXJuIHVwZGF0ZXIoY2hpbGRQcm9wcyk7XG5cblx0XHQvLyBUaGUgcHJvbWlzZSBpdHNlbGYgd2lsbCBvbmx5IHJlc29sdmUgb25jZSwgYnV0IHdlIGRvbid0XG5cdFx0Ly8gd2FudCB0byBfY2xvbmVfIG11bHRpcGxlIHRpbWVzLlxuXHRcdGlmIChkZmQucHJvbWlzZS5pc1BlbmRpbmcoKSkge1xuXHRcdFx0ZGZkLnJlc29sdmUoUmVhY3QuY2xvbmVFbGVtZW50KGVsZW1lbnQsIHtcblx0XHRcdFx0Y2hpbGRQcm9wcyxcblx0XHRcdFx0c3Vic2NyaWJlLFxuXHRcdFx0XHR1bnN1YnNjcmliZSxcblx0XHRcdH0pKTtcblx0XHR9XG5cdH0pO1xuXHR2YXIgc3Vic2NyaWJlID0gY2FsbGJhY2sgPT4gdXBkYXRlciA9IGNhbGxiYWNrO1xuXHRyZXR1cm4gZGZkLnByb21pc2Vcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==

@@ -6,2 +6,3 @@

React = require("react"),
ReactDOMServer = require("react-dom/server"),
FragmentDataCache = require("../../components/FragmentDataCache"),

@@ -37,3 +38,3 @@ isArray = require("lodash/lang/isArray");

TritonAgent.get(URL).then(function (res) {
var $ = cheerio.load(React.renderToStaticMarkup(React.createElement(FragmentDataCache, null)));
var $ = cheerio.load(ReactDOMServer.renderToStaticMarkup(React.createElement(FragmentDataCache, null)));

@@ -65,3 +66,3 @@ var dataStr = $("#triton-fragment-data-cache").attr("data-triton-data-cache");

TritonAgent.get(URL).then(function (res) {
var htmlStr = React.renderToStaticMarkup(React.createElement(FragmentDataCache, { cacheNodeId: "fooBarBaz" }));
var htmlStr = ReactDOMServer.renderToStaticMarkup(React.createElement(FragmentDataCache, { cacheNodeId: "fooBarBaz" }));
var $ = cheerio.load(htmlStr);

@@ -104,3 +105,3 @@

TritonAgent.get(URL).then(function (res) {
// do nothing here
// do nothing here
});

@@ -111,3 +112,3 @@

var htmlStr = React.renderToStaticMarkup(fragmentComponent);
var htmlStr = ReactDOMServer.renderToStaticMarkup(fragmentComponent);
var $ = cheerio.load(htmlStr);

@@ -143,3 +144,3 @@

TritonAgent.get(URL).then(function (res) {
// do nothing here
// do nothing here
});

@@ -150,3 +151,3 @@

var htmlStr = React.renderToStaticMarkup(fragmentComponent);
var htmlStr = ReactDOMServer.renderToStaticMarkup(fragmentComponent);
var $ = cheerio.load(htmlStr);

@@ -190,3 +191,3 @@

var htmlStr = React.renderToStaticMarkup(fragmentComponent);
var htmlStr = ReactDOMServer.renderToStaticMarkup(fragmentComponent);
var $ = cheerio.load(htmlStr);

@@ -235,3 +236,3 @@

var htmlStr = React.renderToStaticMarkup(fragmentComponent);
var htmlStr = ReactDOMServer.renderToStaticMarkup(fragmentComponent);
var $ = cheerio.load(htmlStr);

@@ -280,3 +281,3 @@

var htmlStr = React.renderToStaticMarkup(fragmentComponent);
var htmlStr = ReactDOMServer.renderToStaticMarkup(fragmentComponent);
var $ = cheerio.load(htmlStr);

@@ -314,2 +315,2 @@

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvY29tcG9uZW50cy9GcmFnbWVudERhdGFDYWNoZVNwZWMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztJQUM1QyxVQUFVLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUNsQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUM1QixLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUN4QixpQkFBaUIsR0FBRyxPQUFPLENBQUMsb0NBQW9DLENBQUM7SUFDakUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUN6Qzs7ZUFLRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7O0lBRmxDLFVBQVUsWUFBVixVQUFVO0lBQ1YsY0FBYyxZQUFkLGNBQWM7O0FBR2YsUUFBUSxDQUFDLG1CQUFtQixFQUFFLFlBQU07O0FBRWxDLEtBQUksTUFBTSxDQUFDOztBQUVaLFVBQVMsQ0FBRSxVQUFDLElBQUksRUFBSztBQUNwQixZQUFVLENBQUUsVUFBQyxhQUFhLEVBQUs7QUFDOUIsU0FBTSxHQUFHLGFBQWEsQ0FBQztBQUN2QixPQUFJLEVBQUUsQ0FBQztHQUNQLENBQUMsQ0FBQztFQUNILENBQUMsQ0FBQzs7QUFFSCxTQUFRLENBQUUsWUFBTTs7QUFFZixRQUFNLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0VBQ3pCLENBQUMsQ0FBQzs7QUFFSCxTQUFRLENBQUMsV0FBVyxFQUFFLFlBQU07QUFDM0IsSUFBRSxDQUFDLDhDQUE4QyxFQUFFLGNBQWMsQ0FBQyxVQUFBLElBQUksRUFBSTs7QUFFekUsT0FBSSxHQUFHLEdBQUcsV0FBVyxDQUFDOztBQUV0QixjQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUNsQixJQUFJLENBQUMsVUFBQSxHQUFHLEVBQUk7QUFDWixRQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FB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OiJ0ZXN0L2NvbXBvbmVudHMvRnJhZ21lbnREYXRhQ2FjaGVTcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG52YXIgVHJpdG9uQWdlbnQgPSByZXF1aXJlKFwiLi4vLi4vVHJpdG9uQWdlbnRcIilcbixcdHN1cGVyYWdlbnQgPSByZXF1aXJlKFwic3VwZXJhZ2VudFwiKVxuLFx0Y2hlZXJpbyA9IHJlcXVpcmUoXCJjaGVlcmlvXCIpXG4sXHRSZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKVxuLFx0RnJhZ21lbnREYXRhQ2FjaGUgPSByZXF1aXJlKFwiLi4vLi4vY29tcG9uZW50cy9GcmFnbWVudERhdGFDYWNoZVwiKVxuLFx0aXNBcnJheSA9IHJlcXVpcmUoXCJsb2Rhc2gvbGFuZy9pc0FycmF5XCIpXG47XG5cbnZhciB7XG5cdG1ha2VTZXJ2ZXIsXG5cdHdpdGhSbHNDb250ZXh0XG59ID0gcmVxdWlyZShcIi4uL1RyaXRvbkFnZW50L3NldHVwXCIpO1xuXG5kZXNjcmliZShcIkZyYWdtZW50RGF0YUNhY2hlXCIsICgpID0+IHtcblxuXHRcdHZhciBzZXJ2ZXI7XG5cblx0YmVmb3JlQWxsKCAoZG9uZSkgPT4ge1xuXHRcdG1ha2VTZXJ2ZXIoIChjcmVhdGVkU2VydmVyKSA9PiB7XG5cdFx0XHRzZXJ2ZXIgPSBjcmVhdGVkU2VydmVyO1xuXHRcdFx0ZG9uZSgpO1xuXHRcdH0pO1xuXHR9KTtcblxuXHRhZnRlckFsbCggKCkgPT4ge1xuXHRcdC8vIHRlYXIgZG93biBzZXJ2ZXJcblx0XHRzZXJ2ZXIgJiYgc2VydmVyLmNsb3NlKCk7XG5cdH0pO1xuXG5cdGRlc2NyaWJlKFwiY29tcG9uZW50XCIsICgpID0+IHtcblx0XHRpdChcInNlcmlhbGl6ZXMgdG8gZGF0YS10cml0b24tZGF0YS1jYWNoZSBhcyBKU09OXCIsIHdpdGhSbHNDb250ZXh0KGRvbmUgPT4ge1xuXG5cdFx0XHR2YXIgVVJMID0gXCIvZGVzY3JpYmVcIjtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFVSTClcblx0XHRcdFx0LnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChSZWFjdC5yZW5kZXJUb1N0YXRpY01hcmt1cCg8RnJhZ21lbnREYXRhQ2FjaGUgLz4pKTtcblxuXHRcdFx0XHRcdHZhciBkYXRhU3RyID0gJChcIiN0cml0b24tZnJhZ21lbnQtZGF0YS1jYWNoZVwiKS5hdHRyKFwiZGF0YS10cml0b24tZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0XHR2YXIgcGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoZGF0YVN0cik7XG5cblx0XHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFVSTCkpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFVSTCkucmVzLmJvZHkpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdFx0Ly8gaXQgc2hvdWxkIGluY2x1ZGUgdGhlIHJlcy5ib2R5IHByb3Agb25seVxuXHRcdFx0XHRcdGV4cGVjdChPYmplY3Qua2V5cyhnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBVUkwpLnJlcykubGVuZ3RoKS50b0JlKDEpO1xuXG5cdFx0XHRcdFx0ZG9uZSgpO1xuXHRcdFx0XHR9KS5jYXRjaChlcnIgPT4ge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGVyci5zdGFjayk7XG5cblx0XHRcdFx0XHQvLyB0aGlzIHdpbGwgZmFpbCB0aGUgdGVzdFxuXHRcdFx0XHRcdGV4cGVjdChlcnIpLnRvQmVVbmRlZmluZWQoKTtcblx0XHRcdFx0XHRkb25lKCk7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5kb25lKCk7XG5cblx0XHR9KSk7XG5cblx0XHRpdChcImNhbiBiZSBwYXNzZWQgYSBjYWNoZU5vZGVJZCBvdmVycmlkZVwiLCB3aXRoUmxzQ29udGV4dChkb25lID0+IHtcblxuXHRcdFx0dmFyIFVSTCA9IFwiL2Rlc2NyaWJlXCI7XG5cblx0XHRcdFRyaXRvbkFnZW50LmdldChVUkwpXG5cdFx0XHRcdC50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0dmFyIGh0bWxTdHIgPSBSZWFjdC5yZW5kZXJUb1N0YXRpY01hcmt1cCg8RnJhZ21lbnREYXRhQ2FjaGUgY2FjaGVOb2RlSWQ9XCJmb29CYXJCYXpcIiAvPik7XG5cdFx0XHRcdFx0dmFyICQgPSBjaGVlcmlvLmxvYWQoaHRtbFN0cik7XG5cblx0XHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHRcdCxcdGRhdGFTdHJcblx0XHRcdFx0XHQsXHRwYXJzZWREYXRhO1xuXG5cdFx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdFx0ZXhwZWN0KG5vZGUubGVuZ3RoKS50b0JlKDApO1xuXG5cdFx0XHRcdFx0bm9kZSA9ICQoJyNmb29CYXJCYXonKTtcblx0XHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0XHRkYXRhU3RyID0gbm9kZS5hdHRyKFwiZGF0YS10cml0b24tZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0XHRwYXJzZWREYXRhID0gSlNPTi5wYXJzZShkYXRhU3RyKTtcblxuXHRcdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGVbVVJMXSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMuYm9keSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHQvLyBpdCBzaG91bGQgaW5jbHVkZSB0aGUgcmVzLmJvZHkgcHJvcCBvbmx5XG5cdFx0XHRcdFx0ZXhwZWN0KE9iamVjdC5rZXlzKGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFVSTCkucmVzKS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0XHRkb25lKCk7XG5cdFx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyLnN0YWNrKTtcblxuXHRcdFx0XHRcdC8vIHRoaXMgd2lsbCBmYWlsIHRoZSB0ZXN0XG5cdFx0XHRcdFx0ZXhwZWN0KGVycikudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRcdGRvbmUoKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmRvbmUoKTtcblxuXHRcdH0pKTtcblx0fSk7XG5cblx0ZGVzY3JpYmUoXCJGcmFnbWVudERhdGFDYWNoZS5jcmVhdGVXaGVuUmVhZHlcIiwgKCkgPT4ge1xuXHRcdFxuXHRcdGl0KFwicmVzb2x2ZXMgd2l0aCBhIEZyYWdtZW50RGF0YUNhY2hlIHdoZW4gVHJpdG9uQWdlbnQgcmVzb2x2ZXNcIiwgd2l0aFJsc0NvbnRleHQoZG9uZSA9PiB7XG5cdFx0XHR2YXIgVVJMID0gXCIvZGVzY3JpYmVcIjtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFVSTClcblx0XHRcdFx0LnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHQvLyBkbyBub3RoaW5nIGhlcmVcdFxuXHRcdFx0XHR9KTtcblxuXHRcdFx0RnJhZ21lbnREYXRhQ2FjaGUuY3JlYXRlV2hlblJlYWR5KCkudGhlbihmcmFnbWVudENvbXBvbmVudCA9PiB7XG5cdFx0XHRcdGV4cGVjdChmcmFnbWVudENvbXBvbmVudCkudG9CZURlZmluZWQoKTtcblxuXHRcdFx0XHR2YXIgaHRtbFN0ciA9IFJlYWN0LnJlbmRlclRvU3RhdGljTWFya3VwKGZyYWdtZW50Q29tcG9uZW50KTtcblx0XHRcdFx0dmFyICQgPSBjaGVlcmlvLmxvYWQoaHRtbFN0cik7XG5cblx0XHRcdFx0dmFyIG5vZGVcblx0XHRcdFx0LFx0ZGF0YVN0clxuXHRcdFx0XHQsXHRwYXJzZWREYXRhO1xuXG5cdFx0XHRcdG5vZGUgPSAkKFwiI3RyaXRvbi1mcmFnbWVudC1kYXRhLWNhY2hlXCIpO1xuXHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZGF0YVN0ciA9IG5vZGUuYXR0cihcImRhdGEtdHJpdG9uLWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtVUkxdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMuYm9keSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0Ly8gaXQgc2hvdWxkIGluY2x1ZGUgdGhlIHJlcy5ib2R5IHByb3Agb25seVxuXHRcdFx0XHRleHBlY3QoT2JqZWN0LmtleXMoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMpLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkb25lKCk7XG5cdFx0XHR9KS5jYXRjaChlcnIgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlcnIuc3RhY2spO1xuXHRcdFx0XHQvLyB0aGlzIHdpbGwgY2F1c2UgdGhlIHRlc3QgdG8gZmFpbFxuXHRcdFx0XHRleHBlY3QoZXJyKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdGRvbmUoKTtcblx0XHRcdH0pXG5cdFx0XHQuZG9uZSgpO1xuXG5cdFx0fSkpO1xuXG5cdFx0aXQoXCJwYXNzZXMgYWRkaXRpb25hbCBwcm9wcyB0byBGcmFnbWVudERhdGFDYWNoZSB2aWEgb3B0aW9ucyBvYmplY3RcIiwgd2l0aFJsc0NvbnRleHQoZG9uZSA9PiB7XG5cdFx0XHR2YXIgVVJMID0gXCIvZGVzY3JpYmVcIjtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFVSTClcblx0XHRcdFx0LnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHQvLyBkbyBub3RoaW5nIGhlcmVcdFxuXHRcdFx0XHR9KTtcblxuXHRcdFx0RnJhZ21lbnREYXRhQ2FjaGUuY3JlYXRlV2hlblJlYWR5KHtjYWNoZU5vZGVJZDogJ2Zvb0JhckJheid9KS50aGVuKGZyYWdtZW50Q29tcG9uZW50ID0+IHtcblx0XHRcdFx0ZXhwZWN0KGZyYWdtZW50Q29tcG9uZW50KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdHZhciBodG1sU3RyID0gUmVhY3QucmVuZGVyVG9TdGF0aWNNYXJrdXAoZnJhZ21lbnRDb21wb25lbnQpO1xuXHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHQsXHRkYXRhU3RyXG5cdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgwKTtcblxuXHRcdFx0XHRub2RlID0gJCgnI2Zvb0JhckJheicpO1xuXHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZGF0YVN0ciA9IG5vZGUuYXR0cihcImRhdGEtdHJpdG9uLWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtVUkxdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMuYm9keSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0Ly8gaXQgc2hvdWxkIGluY2x1ZGUgdGhlIHJlcy5ib2R5IHByb3Agb25seVxuXHRcdFx0XHRleHBlY3QoT2JqZWN0LmtleXMoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMpLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkb25lKCk7XG5cdFx0XHR9KS5jYXRjaChlcnIgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlcnIuc3RhY2spO1xuXHRcdFx0XHQvLyB0aGlzIHdpbGwgY2F1c2UgdGhlIHRlc3QgdG8gZmFpbFxuXHRcdFx0XHRleHBlY3QoZXJyKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdGRvbmUoKTtcblx0XHRcdH0pXG5cdFx0XHQuZG9uZSgpO1xuXG5cdFx0fSkpO1xuXG5cdFx0aXQoXCJkb2VzIHNvbWV0aGluZyByZWFzb25hYmxlIHdoZW4gYSByZXF1ZXN0IGVycm9yc1wiLCB3aXRoUmxzQ29udGV4dChkb25lID0+IHtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFwiL2Rlc2NyaWJlXCIpLnRoZW4ocmVzID0+IHt9KTtcblx0XHRcdFRyaXRvbkFnZW50LmdldChcIi9lcnJvclwiKS50aGVuKHJlcyA9PiB7fSk7XG5cblx0XHRcdEZyYWdtZW50RGF0YUNhY2hlLmNyZWF0ZVdoZW5SZWFkeSgpLnRoZW4oZnJhZ21lbnRDb21wb25lbnQgPT4ge1xuXHRcdFx0XHRcblx0XHRcdFx0ZXhwZWN0KGZyYWdtZW50Q29tcG9uZW50KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdHZhciBodG1sU3RyID0gUmVhY3QucmVuZGVyVG9TdGF0aWNNYXJrdXAoZnJhZ21lbnRDb21wb25lbnQpO1xuXHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHQsXHRkYXRhU3RyXG5cdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkYXRhU3RyID0gbm9kZS5hdHRyKFwiZGF0YS10cml0b24tZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0cGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoZGF0YVN0cik7XG5cblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1wiL2Rlc2NyaWJlXCJdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZGVzY3JpYmVcIikucmVzLmJvZHkpLnRvQmVEZWZpbmVkKCk7XG5cblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1wiL2Vycm9yXCJdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZXJyb3JcIikucmVzKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBcIi9lcnJvclwiKS5lcnIpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBcIi9lcnJvclwiKS5lcnIucmVzcG9uc2UpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBcIi9lcnJvclwiKS5lcnIucmVzcG9uc2UuYm9keSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XG5cdFx0XHRcdC8vIGl0IHNob3VsZCBpbmNsdWRlIHRoZSByZXMuYm9keSBwcm9wIG9ubHlcblx0XHRcdFx0ZXhwZWN0KE9iamVjdC5rZXlzKGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFwiL2Rlc2NyaWJlXCIpLnJlcykubGVuZ3RoKS50b0JlKDEpO1xuXHRcdFx0XHRleHBlY3QoT2JqZWN0LmtleXMoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZXJyb3JcIikuZXJyLnJlc3BvbnNlKS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZG9uZSgpO1xuXHRcdFx0fSkuY2F0Y2goZXJyID0+IHtcblx0XHRcdFx0Y29uc29sZS5sb2coZXJyLnN0YWNrKTtcblx0XHRcdFx0Ly8gdGhpcyB3aWxsIGNhdXNlIHRoZSB0ZXN0IHRvIGZhaWxcblx0XHRcdFx0ZXhwZWN0KGVycikudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRkb25lKCk7XG5cdFx0XHR9KVxuXHRcdFx0LmRvbmUoKTtcblxuXHRcdH0pKTtcblxuXHRcdGl0KFwiZG9lcyBzb21ldGhpbmcgcmVhc29uYWJsZSB3aGVuIGEgcmVxdWVzdCB0aW1lcyBvdXRcIiwgd2l0aFJsc0NvbnRleHQoZG9uZSA9PiB7XG5cblx0XHRcdFRyaXRvbkFnZW50LmdldChcIi9kZXNjcmliZVwiKS50aGVuKHJlcyA9PiB7fSk7XG5cdFx0XHRUcml0b25BZ2VudC5nZXQoXCIvdGltZW91dFwiKVxuXHRcdFx0XHQucXVlcnkoeyBkZWxheTogMTAwMCB9KVxuXHRcdFx0XHQudGltZW91dCgxMDApXG5cdFx0XHRcdC50aGVuKHJlcyA9PiB7fSk7XG5cblx0XHRcdEZyYWdtZW50RGF0YUNhY2hlLmNyZWF0ZVdoZW5SZWFkeSgpLnRoZW4oZnJhZ21lbnRDb21wb25lbnQgPT4ge1xuXG5cdFx0XHRcdGV4cGVjdChmcmFnbWVudENvbXBvbmVudCkudG9CZURlZmluZWQoKTtcblxuXHRcdFx0XHR2YXIgaHRtbFN0ciA9IFJlYWN0LnJlbmRlclRvU3RhdGljTWFya3VwKGZyYWdtZW50Q29tcG9uZW50KTtcblx0XHRcdFx0dmFyICQgPSBjaGVlcmlvLmxvYWQoaHRtbFN0cik7XG5cblx0XHRcdFx0dmFyIG5vZGVcblx0XHRcdFx0LFx0ZGF0YVN0clxuXHRcdFx0XHQsXHRwYXJzZWREYXRhO1xuXG5cdFx0XHRcdG5vZGUgPSAkKFwiI3RyaXRvbi1mcmFnbWVudC1kYXRhLWNhY2hlXCIpO1xuXHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZGF0YVN0ciA9IG5vZGUuYXR0cihcImRhdGEtdHJpdG9uLWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtcIi9kZXNjcmliZVwiXSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFwiL2Rlc2NyaWJlXCIpLnJlcy5ib2R5KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtcIi90aW1lb3V0XCJdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvdGltZW91dFwiKS5yZXMpLnRvQmVVbmRlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFwiL3RpbWVvdXRcIikuZXJyKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvdGltZW91dFwiKS5lcnIucmVzcG9uc2UpLnRvQmVVbmRlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFwiL3RpbWVvdXRcIikuZXJyLnRpbWVvdXQpLnRvQmVEZWZpbmVkKCk7XG5cblx0XHRcdFx0ZG9uZSgpO1xuXG5cdFx0XHR9KS5jYXRjaChlcnIgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlcnIuc3RhY2spO1xuXHRcdFx0XHQvLyB0aGlzIHdpbGwgY2F1c2UgdGhlIHRlc3QgdG8gZmFpbFxuXHRcdFx0XHRleHBlY3QoZXJyKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdGRvbmUoKTtcblx0XHRcdH0pLmRvbmUoKTtcblxuXHRcdH0pKTtcblxuXHRcdGl0KFwiZGVoeWRyYXRlcyBhbiBhcnJheSBvZiBlbnRyaWVzIHdoZW4gdHdvIHJlcXVlc3RzIGFyZSBtYWRlIHRvIHRoZSBzYW1lIFVSTFwiLCB3aXRoUmxzQ29udGV4dChkb25lID0+IHtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFwiL2Rlc2NyaWJlXCIpLnF1ZXJ5KHtcImZvb1wiOiBcImJhclwifSkudGhlbihyZXMgPT4gcmVzKTtcblx0XHRcdFRyaXRvbkFnZW50LmdldChcIi9kZXNjcmliZVwiKS5xdWVyeSh7XCJmb29cIjogXCJiYXpcIn0pLnRoZW4ocmVzID0+IHJlcyk7XG5cblx0XHRcdEZyYWdtZW50RGF0YUNhY2hlLmNyZWF0ZVdoZW5SZWFkeSgpLnRoZW4oZnJhZ21lbnRDb21wb25lbnQgPT4ge1xuXG5cdFx0XHRcdGV4cGVjdChmcmFnbWVudENvbXBvbmVudCkudG9CZURlZmluZWQoKTtcblxuXHRcdFx0XHR2YXIgaHRtbFN0ciA9IFJlYWN0LnJlbmRlclRvU3RhdGljTWFya3VwKGZyYWdtZW50Q29tcG9uZW50KTtcblx0XHRcdFx0dmFyICQgPSBjaGVlcmlvLmxvYWQoaHRtbFN0cik7XG5cblx0XHRcdFx0dmFyIG5vZGVcblx0XHRcdFx0LFx0ZGF0YVN0clxuXHRcdFx0XHQsXHRwYXJzZWREYXRhO1xuXG5cdFx0XHRcdG5vZGUgPSAkKFwiI3RyaXRvbi1mcmFnbWVudC1kYXRhLWNhY2hlXCIpO1xuXHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZGF0YVN0ciA9IG5vZGUuYXR0cihcImRhdGEtdHJpdG9uLWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtcIi9kZXNjcmliZVwiXSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1wiL2Rlc2NyaWJlXCJdLmxlbmd0aCkudG9CZSgyKTtcblxuXHRcdFx0XHRkb25lKCk7XG5cblx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKGVyci5zdGFjayk7XG5cdFx0XHRcdC8vIHRoaXMgd2lsbCBjYXVzZSB0aGUgdGVzdCB0byBmYWlsXG5cdFx0XHRcdGV4cGVjdChlcnIpLnRvQmVVbmRlZmluZWQoKTtcblx0XHRcdFx0ZG9uZSgpO1xuXHRcdFx0fSkuZG9uZSgpO1xuXHRcdH0pKTtcblx0fSk7XG5cblx0ZnVuY3Rpb24gZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgdXJsKSB7XG5cdFx0dmFyIGVudHJ5T3JBcnJheSA9IHBhcnNlZERhdGEuZGF0YUNhY2hlW3VybF07XG5cdFx0Ly8gd2UgZXhwZWN0IGEgX3NpbmdsZV8gZW50cnlcblx0XHRleHBlY3QoaXNBcnJheShlbnRyeU9yQXJyYXkpKS50b0JlRmFsc3koKTtcblx0XHRyZXR1cm4gZW50cnlPckFycmF5O1xuXHR9XG5cbn0pOyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvY29tcG9uZW50cy9GcmFnbWVudERhdGFDYWNoZVNwZWMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztJQUM1QyxVQUFVLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUNsQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUM1QixLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUN4QixjQUFjLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDO0lBQzVDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztJQUNqRSxPQUFPLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQ3pDOztlQUtHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQzs7SUFGbEMsVUFBVSxZQUFWLFVBQVU7SUFDVixjQUFjLFlBQWQsY0FBYzs7QUFHZixRQUFRLENBQUMsbUJBQW1CLEVBQUUsWUFBTTs7QUFFbEMsS0FBSSxNQUFNLENBQUM7O0FBRVosVUFBUyxDQUFFLFVBQUMsSUFBSSxFQUFLO0FBQ3BCLFlBQVUsQ0FBRSxVQUFDLGFBQWEsRUFBSztBQUM5QixTQUFNLEdBQUcsYUFBYSxDQUFDO0FBQ3ZCLE9BQUksRUFBRSxDQUFDO0dBQ1AsQ0FBQyxDQUFDO0VBQ0gsQ0FBQyxDQUFDOztBQUVILFNBQVEsQ0FBRSxZQUFNOztBQUVmLFFBQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7RUFDekIsQ0FBQyxDQUFDOztBQUVILFNBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBTTtBQUMzQixJQUFFLENBQUMsOENBQThDLEVBQUUsY0FBYyxDQUFDLFVBQUEsSUFBSSxFQUFJOztBQUV6RSxPQUFJLEdBQUcsR0FBRyxXQUFXLENBQUM7O0FBRXRCLGNBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQ2xCLElBQUksQ0FBQyxVQUFBLEdBQUcsRUFBSTtBQUNaLFFBQUks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WUFBWSxDQUFDO0VBQ3BCO0NBRUQsQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QvY29tcG9uZW50cy9GcmFnbWVudERhdGFDYWNoZVNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbnZhciBUcml0b25BZ2VudCA9IHJlcXVpcmUoXCIuLi8uLi9Ucml0b25BZ2VudFwiKVxuLFx0c3VwZXJhZ2VudCA9IHJlcXVpcmUoXCJzdXBlcmFnZW50XCIpXG4sXHRjaGVlcmlvID0gcmVxdWlyZShcImNoZWVyaW9cIilcbixcdFJlYWN0ID0gcmVxdWlyZShcInJlYWN0XCIpXG4sXHRSZWFjdERPTVNlcnZlciA9IHJlcXVpcmUoXCJyZWFjdC1kb20vc2VydmVyXCIpXG4sXHRGcmFnbWVudERhdGFDYWNoZSA9IHJlcXVpcmUoXCIuLi8uLi9jb21wb25lbnRzL0ZyYWdtZW50RGF0YUNhY2hlXCIpXG4sXHRpc0FycmF5ID0gcmVxdWlyZShcImxvZGFzaC9sYW5nL2lzQXJyYXlcIilcbjtcblxudmFyIHtcblx0bWFrZVNlcnZlcixcblx0d2l0aFJsc0NvbnRleHRcbn0gPSByZXF1aXJlKFwiLi4vVHJpdG9uQWdlbnQvc2V0dXBcIik7XG5cbmRlc2NyaWJlKFwiRnJhZ21lbnREYXRhQ2FjaGVcIiwgKCkgPT4ge1xuXG5cdFx0dmFyIHNlcnZlcjtcblxuXHRiZWZvcmVBbGwoIChkb25lKSA9PiB7XG5cdFx0bWFrZVNlcnZlciggKGNyZWF0ZWRTZXJ2ZXIpID0+IHtcblx0XHRcdHNlcnZlciA9IGNyZWF0ZWRTZXJ2ZXI7XG5cdFx0XHRkb25lKCk7XG5cdFx0fSk7XG5cdH0pO1xuXG5cdGFmdGVyQWxsKCAoKSA9PiB7XG5cdFx0Ly8gdGVhciBkb3duIHNlcnZlclxuXHRcdHNlcnZlciAmJiBzZXJ2ZXIuY2xvc2UoKTtcblx0fSk7XG5cblx0ZGVzY3JpYmUoXCJjb21wb25lbnRcIiwgKCkgPT4ge1xuXHRcdGl0KFwic2VyaWFsaXplcyB0byBkYXRhLXRyaXRvbi1kYXRhLWNhY2hlIGFzIEpTT05cIiwgd2l0aFJsc0NvbnRleHQoZG9uZSA9PiB7XG5cblx0XHRcdHZhciBVUkwgPSBcIi9kZXNjcmliZVwiO1xuXG5cdFx0XHRUcml0b25BZ2VudC5nZXQoVVJMKVxuXHRcdFx0XHQudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdHZhciAkID0gY2hlZXJpby5sb2FkKFJlYWN0RE9NU2VydmVyLnJlbmRlclRvU3RhdGljTWFya3VwKDxGcmFnbWVudERhdGFDYWNoZSAvPikpO1xuXG5cdFx0XHRcdFx0dmFyIGRhdGFTdHIgPSAkKFwiI3RyaXRvbi1mcmFnbWVudC1kYXRhLWNhY2hlXCIpLmF0dHIoXCJkYXRhLXRyaXRvbi1kYXRhLWNhY2hlXCIpO1xuXHRcdFx0XHRcdHZhciBwYXJzZWREYXRhID0gSlNPTi5wYXJzZShkYXRhU3RyKTtcblxuXHRcdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMuYm9keSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHQvLyBpdCBzaG91bGQgaW5jbHVkZSB0aGUgcmVzLmJvZHkgcHJvcCBvbmx5XG5cdFx0XHRcdFx0ZXhwZWN0KE9iamVjdC5rZXlzKGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFVSTCkucmVzKS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0XHRkb25lKCk7XG5cdFx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyLnN0YWNrKTtcblxuXHRcdFx0XHRcdC8vIHRoaXMgd2lsbCBmYWlsIHRoZSB0ZXN0XG5cdFx0XHRcdFx0ZXhwZWN0KGVycikudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRcdGRvbmUoKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmRvbmUoKTtcblxuXHRcdH0pKTtcblxuXHRcdGl0KFwiY2FuIGJlIHBhc3NlZCBhIGNhY2hlTm9kZUlkIG92ZXJyaWRlXCIsIHdpdGhSbHNDb250ZXh0KGRvbmUgPT4ge1xuXG5cdFx0XHR2YXIgVVJMID0gXCIvZGVzY3JpYmVcIjtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFVSTClcblx0XHRcdFx0LnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR2YXIgaHRtbFN0ciA9IFJlYWN0RE9NU2VydmVyLnJlbmRlclRvU3RhdGljTWFya3VwKDxGcmFnbWVudERhdGFDYWNoZSBjYWNoZU5vZGVJZD1cImZvb0JhckJhelwiIC8+KTtcblx0XHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHRcdHZhciBub2RlXG5cdFx0XHRcdFx0LFx0ZGF0YVN0clxuXHRcdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0XHRub2RlID0gJChcIiN0cml0b24tZnJhZ21lbnQtZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMCk7XG5cblx0XHRcdFx0XHRub2RlID0gJCgnI2Zvb0JhckJheicpO1xuXHRcdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRcdGRhdGFTdHIgPSBub2RlLmF0dHIoXCJkYXRhLXRyaXRvbi1kYXRhLWNhY2hlXCIpO1xuXHRcdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtVUkxdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBVUkwpLnJlcy5ib2R5KS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRcdC8vIGl0IHNob3VsZCBpbmNsdWRlIHRoZSByZXMuYm9keSBwcm9wIG9ubHlcblx0XHRcdFx0XHRleHBlY3QoT2JqZWN0LmtleXMoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMpLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRcdGRvbmUoKTtcblx0XHRcdFx0fSkuY2F0Y2goZXJyID0+IHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIuc3RhY2spO1xuXG5cdFx0XHRcdFx0Ly8gdGhpcyB3aWxsIGZhaWwgdGhlIHRlc3Rcblx0XHRcdFx0XHRleHBlY3QoZXJyKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdFx0ZG9uZSgpO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuZG9uZSgpO1xuXG5cdFx0fSkpO1xuXHR9KTtcblxuXHRkZXNjcmliZShcIkZyYWdtZW50RGF0YUNhY2hlLmNyZWF0ZVdoZW5SZWFkeVwiLCAoKSA9PiB7XG5cblx0XHRpdChcInJlc29sdmVzIHdpdGggYSBGcmFnbWVudERhdGFDYWNoZSB3aGVuIFRyaXRvbkFnZW50IHJlc29sdmVzXCIsIHdpdGhSbHNDb250ZXh0KGRvbmUgPT4ge1xuXHRcdFx0dmFyIFVSTCA9IFwiL2Rlc2NyaWJlXCI7XG5cblx0XHRcdFRyaXRvbkFnZW50LmdldChVUkwpXG5cdFx0XHRcdC50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0Ly8gZG8gbm90aGluZyBoZXJlXG5cdFx0XHRcdH0pO1xuXG5cdFx0XHRGcmFnbWVudERhdGFDYWNoZS5jcmVhdGVXaGVuUmVhZHkoKS50aGVuKGZyYWdtZW50Q29tcG9uZW50ID0+IHtcblx0XHRcdFx0ZXhwZWN0KGZyYWdtZW50Q29tcG9uZW50KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdHZhciBodG1sU3RyID0gUmVhY3RET01TZXJ2ZXIucmVuZGVyVG9TdGF0aWNNYXJrdXAoZnJhZ21lbnRDb21wb25lbnQpO1xuXHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHQsXHRkYXRhU3RyXG5cdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkYXRhU3RyID0gbm9kZS5hdHRyKFwiZGF0YS10cml0b24tZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0cGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoZGF0YVN0cik7XG5cblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1VSTF0pLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBVUkwpLnJlcy5ib2R5KS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHQvLyBpdCBzaG91bGQgaW5jbHVkZSB0aGUgcmVzLmJvZHkgcHJvcCBvbmx5XG5cdFx0XHRcdGV4cGVjdChPYmplY3Qua2V5cyhnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBVUkwpLnJlcykubGVuZ3RoKS50b0JlKDEpO1xuXG5cdFx0XHRcdGRvbmUoKTtcblx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKGVyci5zdGFjayk7XG5cdFx0XHRcdC8vIHRoaXMgd2lsbCBjYXVzZSB0aGUgdGVzdCB0byBmYWlsXG5cdFx0XHRcdGV4cGVjdChlcnIpLnRvQmVVbmRlZmluZWQoKTtcblx0XHRcdFx0ZG9uZSgpO1xuXHRcdFx0fSlcblx0XHRcdC5kb25lKCk7XG5cblx0XHR9KSk7XG5cblx0XHRpdChcInBhc3NlcyBhZGRpdGlvbmFsIHByb3BzIHRvIEZyYWdtZW50RGF0YUNhY2hlIHZpYSBvcHRpb25zIG9iamVjdFwiLCB3aXRoUmxzQ29udGV4dChkb25lID0+IHtcblx0XHRcdHZhciBVUkwgPSBcIi9kZXNjcmliZVwiO1xuXG5cdFx0XHRUcml0b25BZ2VudC5nZXQoVVJMKVxuXHRcdFx0XHQudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdC8vIGRvIG5vdGhpbmcgaGVyZVxuXHRcdFx0XHR9KTtcblxuXHRcdFx0RnJhZ21lbnREYXRhQ2FjaGUuY3JlYXRlV2hlblJlYWR5KHtjYWNoZU5vZGVJZDogJ2Zvb0JhckJheid9KS50aGVuKGZyYWdtZW50Q29tcG9uZW50ID0+IHtcblx0XHRcdFx0ZXhwZWN0KGZyYWdtZW50Q29tcG9uZW50KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdHZhciBodG1sU3RyID0gUmVhY3RET01TZXJ2ZXIucmVuZGVyVG9TdGF0aWNNYXJrdXAoZnJhZ21lbnRDb21wb25lbnQpO1xuXHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHQsXHRkYXRhU3RyXG5cdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgwKTtcblxuXHRcdFx0XHRub2RlID0gJCgnI2Zvb0JhckJheicpO1xuXHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZGF0YVN0ciA9IG5vZGUuYXR0cihcImRhdGEtdHJpdG9uLWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtVUkxdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMuYm9keSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0Ly8gaXQgc2hvdWxkIGluY2x1ZGUgdGhlIHJlcy5ib2R5IHByb3Agb25seVxuXHRcdFx0XHRleHBlY3QoT2JqZWN0LmtleXMoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMpLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkb25lKCk7XG5cdFx0XHR9KS5jYXRjaChlcnIgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlcnIuc3RhY2spO1xuXHRcdFx0XHQvLyB0aGlzIHdpbGwgY2F1c2UgdGhlIHRlc3QgdG8gZmFpbFxuXHRcdFx0XHRleHBlY3QoZXJyKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdGRvbmUoKTtcblx0XHRcdH0pXG5cdFx0XHQuZG9uZSgpO1xuXG5cdFx0fSkpO1xuXG5cdFx0aXQoXCJkb2VzIHNvbWV0aGluZyByZWFzb25hYmxlIHdoZW4gYSByZXF1ZXN0IGVycm9yc1wiLCB3aXRoUmxzQ29udGV4dChkb25lID0+IHtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFwiL2Rlc2NyaWJlXCIpLnRoZW4ocmVzID0+IHt9KTtcblx0XHRcdFRyaXRvbkFnZW50LmdldChcIi9lcnJvclwiKS50aGVuKHJlcyA9PiB7fSk7XG5cblx0XHRcdEZyYWdtZW50RGF0YUNhY2hlLmNyZWF0ZVdoZW5SZWFkeSgpLnRoZW4oZnJhZ21lbnRDb21wb25lbnQgPT4ge1xuXG5cdFx0XHRcdGV4cGVjdChmcmFnbWVudENvbXBvbmVudCkudG9CZURlZmluZWQoKTtcblxuXHRcdFx0XHR2YXIgaHRtbFN0ciA9IFJlYWN0RE9NU2VydmVyLnJlbmRlclRvU3RhdGljTWFya3VwKGZyYWdtZW50Q29tcG9uZW50KTtcblx0XHRcdFx0dmFyICQgPSBjaGVlcmlvLmxvYWQoaHRtbFN0cik7XG5cblx0XHRcdFx0dmFyIG5vZGVcblx0XHRcdFx0LFx0ZGF0YVN0clxuXHRcdFx0XHQsXHRwYXJzZWREYXRhO1xuXG5cdFx0XHRcdG5vZGUgPSAkKFwiI3RyaXRvbi1mcmFnbWVudC1kYXRhLWNhY2hlXCIpO1xuXHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZGF0YVN0ciA9IG5vZGUuYXR0cihcImRhdGEtdHJpdG9uLWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtcIi9kZXNjcmliZVwiXSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFwiL2Rlc2NyaWJlXCIpLnJlcy5ib2R5KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtcIi9lcnJvclwiXSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFwiL2Vycm9yXCIpLnJlcykudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZXJyb3JcIikuZXJyKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZXJyb3JcIikuZXJyLnJlc3BvbnNlKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZXJyb3JcIikuZXJyLnJlc3BvbnNlLmJvZHkpLnRvQmVEZWZpbmVkKCk7XG5cblx0XHRcdFx0Ly8gaXQgc2hvdWxkIGluY2x1ZGUgdGhlIHJlcy5ib2R5IHByb3Agb25seVxuXHRcdFx0XHRleHBlY3QoT2JqZWN0LmtleXMoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZGVzY3JpYmVcIikucmVzKS5sZW5ndGgpLnRvQmUoMSk7XG5cdFx0XHRcdGV4cGVjdChPYmplY3Qua2V5cyhnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBcIi9lcnJvclwiKS5lcnIucmVzcG9uc2UpLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkb25lKCk7XG5cdFx0XHR9KS5jYXRjaChlcnIgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlcnIuc3RhY2spO1xuXHRcdFx0XHQvLyB0aGlzIHdpbGwgY2F1c2UgdGhlIHRlc3QgdG8gZmFpbFxuXHRcdFx0XHRleHBlY3QoZXJyKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdGRvbmUoKTtcblx0XHRcdH0pXG5cdFx0XHQuZG9uZSgpO1xuXG5cdFx0fSkpO1xuXG5cdFx0aXQoXCJkb2VzIHNvbWV0aGluZyByZWFzb25hYmxlIHdoZW4gYSByZXF1ZXN0IHRpbWVzIG91dFwiLCB3aXRoUmxzQ29udGV4dChkb25lID0+IHtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFwiL2Rlc2NyaWJlXCIpLnRoZW4ocmVzID0+IHt9KTtcblx0XHRcdFRyaXRvbkFnZW50LmdldChcIi90aW1lb3V0XCIpXG5cdFx0XHRcdC5xdWVyeSh7IGRlbGF5OiAxMDAwIH0pXG5cdFx0XHRcdC50aW1lb3V0KDEwMClcblx0XHRcdFx0LnRoZW4ocmVzID0+IHt9KTtcblxuXHRcdFx0RnJhZ21lbnREYXRhQ2FjaGUuY3JlYXRlV2hlblJlYWR5KCkudGhlbihmcmFnbWVudENvbXBvbmVudCA9PiB7XG5cblx0XHRcdFx0ZXhwZWN0KGZyYWdtZW50Q29tcG9uZW50KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdHZhciBodG1sU3RyID0gUmVhY3RET01TZXJ2ZXIucmVuZGVyVG9TdGF0aWNNYXJrdXAoZnJhZ21lbnRDb21wb25lbnQpO1xuXHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHQsXHRkYXRhU3RyXG5cdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkYXRhU3RyID0gbm9kZS5hdHRyKFwiZGF0YS10cml0b24tZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0cGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoZGF0YVN0cik7XG5cblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1wiL2Rlc2NyaWJlXCJdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZGVzY3JpYmVcIikucmVzLmJvZHkpLnRvQmVEZWZpbmVkKCk7XG5cblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1wiL3RpbWVvdXRcIl0pLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBcIi90aW1lb3V0XCIpLnJlcykudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvdGltZW91dFwiKS5lcnIpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBcIi90aW1lb3V0XCIpLmVyci5yZXNwb25zZSkudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvdGltZW91dFwiKS5lcnIudGltZW91dCkudG9CZURlZmluZWQoKTtcblxuXHRcdFx0XHRkb25lKCk7XG5cblx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKGVyci5zdGFjayk7XG5cdFx0XHRcdC8vIHRoaXMgd2lsbCBjYXVzZSB0aGUgdGVzdCB0byBmYWlsXG5cdFx0XHRcdGV4cGVjdChlcnIpLnRvQmVVbmRlZmluZWQoKTtcblx0XHRcdFx0ZG9uZSgpO1xuXHRcdFx0fSkuZG9uZSgpO1xuXG5cdFx0fSkpO1xuXG5cdFx0aXQoXCJkZWh5ZHJhdGVzIGFuIGFycmF5IG9mIGVudHJpZXMgd2hlbiB0d28gcmVxdWVzdHMgYXJlIG1hZGUgdG8gdGhlIHNhbWUgVVJMXCIsIHdpdGhSbHNDb250ZXh0KGRvbmUgPT4ge1xuXG5cdFx0XHRUcml0b25BZ2VudC5nZXQoXCIvZGVzY3JpYmVcIikucXVlcnkoe1wiZm9vXCI6IFwiYmFyXCJ9KS50aGVuKHJlcyA9PiByZXMpO1xuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFwiL2Rlc2NyaWJlXCIpLnF1ZXJ5KHtcImZvb1wiOiBcImJhelwifSkudGhlbihyZXMgPT4gcmVzKTtcblxuXHRcdFx0RnJhZ21lbnREYXRhQ2FjaGUuY3JlYXRlV2hlblJlYWR5KCkudGhlbihmcmFnbWVudENvbXBvbmVudCA9PiB7XG5cblx0XHRcdFx0ZXhwZWN0KGZyYWdtZW50Q29tcG9uZW50KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdHZhciBodG1sU3RyID0gUmVhY3RET01TZXJ2ZXIucmVuZGVyVG9TdGF0aWNNYXJrdXAoZnJhZ21lbnRDb21wb25lbnQpO1xuXHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHQsXHRkYXRhU3RyXG5cdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkYXRhU3RyID0gbm9kZS5hdHRyKFwiZGF0YS10cml0b24tZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0cGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoZGF0YVN0cik7XG5cblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1wiL2Rlc2NyaWJlXCJdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGVbXCIvZGVzY3JpYmVcIl0ubGVuZ3RoKS50b0JlKDIpO1xuXG5cdFx0XHRcdGRvbmUoKTtcblxuXHRcdFx0fSkuY2F0Y2goZXJyID0+IHtcblx0XHRcdFx0Y29uc29sZS5sb2coZXJyLnN0YWNrKTtcblx0XHRcdFx0Ly8gdGhpcyB3aWxsIGNhdXNlIHRoZSB0ZXN0IHRvIGZhaWxcblx0XHRcdFx0ZXhwZWN0KGVycikudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRkb25lKCk7XG5cdFx0XHR9KS5kb25lKCk7XG5cdFx0fSkpO1xuXHR9KTtcblxuXHRmdW5jdGlvbiBnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCB1cmwpIHtcblx0XHR2YXIgZW50cnlPckFycmF5ID0gcGFyc2VkRGF0YS5kYXRhQ2FjaGVbdXJsXTtcblx0XHQvLyB3ZSBleHBlY3QgYSBfc2luZ2xlXyBlbnRyeVxuXHRcdGV4cGVjdChpc0FycmF5KGVudHJ5T3JBcnJheSkpLnRvQmVGYWxzeSgpO1xuXHRcdHJldHVybiBlbnRyeU9yQXJyYXk7XG5cdH1cblxufSk7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=

@@ -14,2 +14,3 @@ var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();

var ensureRootElementWithContainer = _require.ensureRootElementWithContainer;
var getRootElementAttributes = _require.getRootElementAttributes;

@@ -47,3 +48,3 @@ var RootContainer = (function (_React$Component) {

RootContainer.flattenForRender = function (element) {
return [{ containerOpen: containerAttrs(element) }].concat(prepChildren(element)).concat([{ containerClose: true }]).reduce(function (m, v) {
return [{ containerOpen: getRootElementAttributes(element) }].concat(prepChildren(element)).concat([{ containerClose: true }]).reduce(function (m, v) {
return m.concat(Array.isArray(v) ? v : [v]);

@@ -57,16 +58,2 @@ }, []);

function containerAttrs(element) {
var props = element.props;
var attrs = {};
if (props.className) attrs.class = props.className;
// TODO: Others?
['id', 'style'].forEach(function (k) {
return props[k] && (attrs[k] = props[k]);
});
return attrs;
}
function prepChildren(element) {

@@ -77,2 +64,2 @@ return React.Children.toArray(element.props.children).map(function (child) {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUm9vdENvbnRhaW5lci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzs7ZUFDVSxPQUFPLENBQUMsZUFBZSxDQUFDOztJQUExRCw4QkFBOEIsWUFBOUIsOEJBQThCOztJQUU3QixhQUFhO1dBQWIsYUFBYTs7VUFBYixhQUFhO3dCQUFiLGFBQWE7OzZCQUFiLGFBQWE7OztjQUFiLGFBQWE7O1NBQ1osa0JBQUc7QUFDUixTQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7R0FDbEU7OztRQUhJLGFBQWE7R0FBUyxLQUFLLENBQUMsU0FBUzs7QUFNM0MsTUFBTSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7O0FBRS9CLGFBQWEsQ0FBQyxTQUFTLEdBQUc7QUFDekIsT0FBTSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSTtBQUM1QixpQkFBZ0IsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUk7Q0FDdEMsQ0FBQTs7QUFFRCxhQUFhLENBQUMsWUFBWSxHQUFHO0FBQzVCLGlCQUFnQixFQUFFLElBQUk7Q0FDdEIsQ0FBQTs7QUFFRCxhQUFhLENBQUMsZ0JBQWdCLEdBQUcsVUFBUyxPQUFPLEVBQUU7QUFDbEQsUUFBTyxDQUFDLEVBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQy9DLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDN0IsTUFBTSxDQUFDLENBQUMsRUFBQyxjQUFjLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUNoQyxNQUFNLENBQUMsVUFBQyxDQUFDLEVBQUMsQ0FBQztTQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUFBLEVBQUUsRUFBRSxDQUFDLENBQUE7Q0FDdkQsQ0FBQTs7QUFFRCxhQUFhLENBQUMsZUFBZSxHQUFHLFVBQVMsT0FBTyxFQUFFO0FBQ2pELFFBQU8sT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztDQUNsRSxDQUFBOztBQUVELFNBQVMsY0FBYyxDQUFFLE9BQU8sRUFBRTtBQUNqQyxLQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0FBQzFCLEtBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQzs7QUFFZixLQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDOzs7QUFHbkQsRUFDQyxJQUFJLEVBQ0osT0FBTyxDQUNQLENBQUMsT0FBTyxDQUFDLFVBQUEsQ0FBQztTQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBLEFBQUM7RUFBQSxDQUFDLENBQUM7O0FBRWxELFFBQU8sS0FBSyxDQUFDO0NBQ2I7O0FBRUQsU0FBUyxZQUFZLENBQUUsT0FBTyxFQUFFO0FBQy9CLFFBQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQ3hELFVBQUEsS0FBSztTQUFJLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQzNDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FDckMsOEJBQThCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztFQUFBLENBQ2hELENBQUE7Q0FDRCIsImZpbGUiOiJjb21wb25lbnRzL1Jvb3RDb250YWluZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIHtlbnN1cmVSb290RWxlbWVudFdpdGhDb250YWluZXJ9ID0gcmVxdWlyZSgnLi9Sb290RWxlbWVudCcpO1xuXG5jbGFzcyBSb290Q29udGFpbmVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblx0cmVuZGVyKCkge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIlJvb3RDb250YWluZXJzIGNhbid0IGdvIGluIG5vbi1Sb290Q29udGFpbmVycyFcIik7XG5cdH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBSb290Q29udGFpbmVyO1xuXG5Sb290Q29udGFpbmVyLnByb3BUeXBlcyA9IHtcblx0bGlzdGVuOiBSZWFjdC5Qcm9wVHlwZXMuZnVuYyxcblx0X2lzUm9vdENvbnRhaW5lcjogUmVhY3QuUHJvcFR5cGVzLmJvb2wsXG59XG5cblJvb3RDb250YWluZXIuZGVmYXVsdFByb3BzID0ge1xuXHRfaXNSb290Q29udGFpbmVyOiB0cnVlLFxufVxuXG5Sb290Q29udGFpbmVyLmZsYXR0ZW5Gb3JSZW5kZXIgPSBmdW5jdGlvbihlbGVtZW50KSB7XG5cdHJldHVybiBbe2NvbnRhaW5lck9wZW46IGNvbnRhaW5lckF0dHJzKGVsZW1lbnQpfV1cblx0XHQuY29uY2F0KHByZXBDaGlsZHJlbihlbGVtZW50KSlcblx0XHQuY29uY2F0KFt7Y29udGFpbmVyQ2xvc2U6IHRydWV9XSlcblx0XHQucmVkdWNlKChtLHYpID0+IG0uY29uY2F0KEFycmF5LmlzQXJyYXkodik/djpbdl0pLCBbXSlcbn1cblxuUm9vdENvbnRhaW5lci5pc1Jvb3RDb250YWluZXIgPSBmdW5jdGlvbihlbGVtZW50KSB7XG5cdHJldHVybiBlbGVtZW50ICYmIGVsZW1lbnQucHJvcHMgJiYgZWxlbWVudC5wcm9wcy5faXNSb290Q29udGFpbmVyO1xufVxuXG5mdW5jdGlvbiBjb250YWluZXJBdHRycyAoZWxlbWVudCkge1xuXHR2YXIgcHJvcHMgPSBlbGVtZW50LnByb3BzO1xuXHR2YXIgYXR0cnMgPSB7fTtcblxuXHRpZiAocHJvcHMuY2xhc3NOYW1lKSBhdHRycy5jbGFzcyA9IHByb3BzLmNsYXNzTmFtZTtcblxuXHQvLyBUT0RPOiBPdGhlcnM/XG5cdFtcblx0XHQnaWQnLFxuXHRcdCdzdHlsZScsXG5cdF0uZm9yRWFjaChrID0+IHByb3BzW2tdICYmIChhdHRyc1trXSA9IHByb3BzW2tdKSk7XG5cblx0cmV0dXJuIGF0dHJzO1xufVxuXG5mdW5jdGlvbiBwcmVwQ2hpbGRyZW4gKGVsZW1lbnQpIHtcblx0cmV0dXJuIFJlYWN0LkNoaWxkcmVuLnRvQXJyYXkoZWxlbWVudC5wcm9wcy5jaGlsZHJlbikubWFwKFxuXHRcdGNoaWxkID0+IFJvb3RDb250YWluZXIuaXNSb290Q29udGFpbmVyKGNoaWxkKVxuXHRcdFx0P1Jvb3RDb250YWluZXIuZmxhdHRlbkZvclJlbmRlcihjaGlsZClcblx0XHRcdDplbnN1cmVSb290RWxlbWVudFdpdGhDb250YWluZXIoY2hpbGQsIGVsZW1lbnQpXG5cdClcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUm9vdENvbnRhaW5lci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzs7ZUFJekIsT0FBTyxDQUFDLGVBQWUsQ0FBQzs7SUFGM0IsOEJBQThCLFlBQTlCLDhCQUE4QjtJQUM5Qix3QkFBd0IsWUFBeEIsd0JBQXdCOztJQUduQixhQUFhO1dBQWIsYUFBYTs7VUFBYixhQUFhO3dCQUFiLGFBQWE7OzZCQUFiLGFBQWE7OztjQUFiLGFBQWE7O1NBQ1osa0JBQUc7QUFDUixTQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7R0FDbEU7OztRQUhJLGFBQWE7R0FBUyxLQUFLLENBQUMsU0FBUzs7QUFNM0MsTUFBTSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7O0FBRS9CLGFBQWEsQ0FBQyxTQUFTLEdBQUc7QUFDekIsT0FBTSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSTtBQUM1QixpQkFBZ0IsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUk7Q0FDdEMsQ0FBQTs7QUFFRCxhQUFhLENBQUMsWUFBWSxHQUFHO0FBQzVCLGlCQUFnQixFQUFFLElBQUk7Q0FDdEIsQ0FBQTs7QUFFRCxhQUFhLENBQUMsZ0JBQWdCLEdBQUcsVUFBUyxPQUFPLEVBQUU7QUFDbEQsUUFBTyxDQUFDLEVBQUMsYUFBYSxFQUFFLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FDekQsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUM3QixNQUFNLENBQUMsQ0FBQyxFQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQ2hDLE1BQU0sQ0FBQyxVQUFDLENBQUMsRUFBQyxDQUFDO1NBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQUEsRUFBRSxFQUFFLENBQUMsQ0FBQTtDQUN2RCxDQUFBOztBQUVELGFBQWEsQ0FBQyxlQUFlLEdBQUcsVUFBUyxPQUFPLEVBQUU7QUFDakQsUUFBTyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO0NBQ2xFLENBQUE7O0FBRUQsU0FBUyxZQUFZLENBQUUsT0FBTyxFQUFFO0FBQy9CLFFBQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQ3hELFVBQUEsS0FBSztTQUFJLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQzNDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FDckMsOEJBQThCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztFQUFBLENBQ2hELENBQUE7Q0FDRCIsImZpbGUiOiJjb21wb25lbnRzL1Jvb3RDb250YWluZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIHtcblx0ZW5zdXJlUm9vdEVsZW1lbnRXaXRoQ29udGFpbmVyLFxuXHRnZXRSb290RWxlbWVudEF0dHJpYnV0ZXMsXG59ID0gcmVxdWlyZSgnLi9Sb290RWxlbWVudCcpO1xuXG5jbGFzcyBSb290Q29udGFpbmVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblx0cmVuZGVyKCkge1xuXHRcdHRocm93IG5ldyBFcnJvcihcIlJvb3RDb250YWluZXJzIGNhbid0IGdvIGluIG5vbi1Sb290Q29udGFpbmVycyFcIik7XG5cdH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBSb290Q29udGFpbmVyO1xuXG5Sb290Q29udGFpbmVyLnByb3BUeXBlcyA9IHtcblx0bGlzdGVuOiBSZWFjdC5Qcm9wVHlwZXMuZnVuYyxcblx0X2lzUm9vdENvbnRhaW5lcjogUmVhY3QuUHJvcFR5cGVzLmJvb2wsXG59XG5cblJvb3RDb250YWluZXIuZGVmYXVsdFByb3BzID0ge1xuXHRfaXNSb290Q29udGFpbmVyOiB0cnVlLFxufVxuXG5Sb290Q29udGFpbmVyLmZsYXR0ZW5Gb3JSZW5kZXIgPSBmdW5jdGlvbihlbGVtZW50KSB7XG5cdHJldHVybiBbe2NvbnRhaW5lck9wZW46IGdldFJvb3RFbGVtZW50QXR0cmlidXRlcyhlbGVtZW50KX1dXG5cdFx0LmNvbmNhdChwcmVwQ2hpbGRyZW4oZWxlbWVudCkpXG5cdFx0LmNvbmNhdChbe2NvbnRhaW5lckNsb3NlOiB0cnVlfV0pXG5cdFx0LnJlZHVjZSgobSx2KSA9PiBtLmNvbmNhdChBcnJheS5pc0FycmF5KHYpP3Y6W3ZdKSwgW10pXG59XG5cblJvb3RDb250YWluZXIuaXNSb290Q29udGFpbmVyID0gZnVuY3Rpb24oZWxlbWVudCkge1xuXHRyZXR1cm4gZWxlbWVudCAmJiBlbGVtZW50LnByb3BzICYmIGVsZW1lbnQucHJvcHMuX2lzUm9vdENvbnRhaW5lcjtcbn1cblxuZnVuY3Rpb24gcHJlcENoaWxkcmVuIChlbGVtZW50KSB7XG5cdHJldHVybiBSZWFjdC5DaGlsZHJlbi50b0FycmF5KGVsZW1lbnQucHJvcHMuY2hpbGRyZW4pLm1hcChcblx0XHRjaGlsZCA9PiBSb290Q29udGFpbmVyLmlzUm9vdENvbnRhaW5lcihjaGlsZClcblx0XHRcdD9Sb290Q29udGFpbmVyLmZsYXR0ZW5Gb3JSZW5kZXIoY2hpbGQpXG5cdFx0XHQ6ZW5zdXJlUm9vdEVsZW1lbnRXaXRoQ29udGFpbmVyKGNoaWxkLCBlbGVtZW50KVxuXHQpXG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=

@@ -105,2 +105,16 @@ var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();

RootElement.getRootElementAttributes = function (element) {
var props = element.props;
var attrs = {};
if (props.className) attrs.class = props.className;
// TODO: Others?
['id', 'style'].forEach(function (k) {
return props[k] && (attrs[k] = props[k]);
});
return attrs;
};
RootElement.ensureRootElementWithContainer = function (element, container) {

@@ -158,2 +172,2 @@

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUm9vdEVsZW1lbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDN0IsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDOztBQUVyQixJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUMsTUFBTSxFQUFDLDBDQUEwQyxFQUFDLE9BQU8sRUFBQyxFQUFDLFFBQVEsRUFBQyxHQUFHLEVBQUMsUUFBUSxFQUFDLGtCQUFrQixFQUFDLEVBQUMsQ0FBQyxDQUFDOztJQUUvSSxXQUFXO1dBQVgsV0FBVzs7VUFBWCxXQUFXO3dCQUFYLFdBQVc7OzZCQUFYLFdBQVc7OztjQUFYLFdBQVc7O1NBQ0MsNkJBQUc7OztBQUNuQixPQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO0FBQ3pCLFFBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQUEsVUFBVSxFQUFJO0FBQ2xDLFNBQUksR0FBRyxHQUFjLElBQUksSUFBSSxFQUFBLENBQUM7QUFDOUIsU0FBSSxJQUFJLEdBQWEsTUFBSyxZQUFZLEVBQUUsQ0FBQztBQUN6QyxTQUFJLEtBQUssR0FBWSxFQUFFLE1BQUssWUFBWSxDQUFDO0FBQ3pDLFNBQUksU0FBUyxHQUFRLEdBQUcsR0FBRyxNQUFLLEdBQUcsQ0FBQztBQUNwQyxTQUFJLGNBQWMsR0FBRyxHQUFHLEdBQUcsTUFBSyxHQUFHLENBQUM7QUFDcEMsV0FBSyxHQUFHLEdBQWEsR0FBRyxDQUFDOzs7QUFHekIsa0JBQVcsSUFBSSxFQUFJLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLEdBQUcsRUFBSTtBQUN4QyxZQUFNLENBQUMsSUFBSSx1QkFBcUIsR0FBRyxFQUFJLFNBQVMsQ0FBQyxDQUFDO0FBQ2xELFlBQU0sQ0FBQyxJQUFJLDRCQUEwQixHQUFH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QUE4QixDQUFDLE9BQU8sRUFBRSxFQUFDLEtBQUssRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDO0NBQ3ZFLENBQUE7O0FBRUQsV0FBVyxDQUFDLGNBQWMsR0FBRyxVQUFTLE9BQU8sRUFBRTtBQUM5QyxLQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFFLEVBQUUsQ0FBQSxDQUFFLEtBQUssSUFBRSxFQUFFLENBQUEsQ0FBRSxNQUFNLENBQUM7QUFDOUMsS0FBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDbkUsS0FBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3BCLEtBQUksT0FBTyxDQUFDO0FBQ1osS0FBSSxXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQUEsVUFBVSxFQUFJOzs7OztBQUt0QyxNQUFJLE9BQU8sRUFBRSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQzs7OztBQUl4QyxNQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUU7QUFDNUIsTUFBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRTtBQUN2QyxjQUFVLEVBQVYsVUFBVTtBQUNWLGFBQVMsRUFBVCxTQUFTO0FBQ1QsZUFBVyxFQUFYLFdBQVc7SUFDWCxDQUFDLENBQUMsQ0FBQztHQUNKO0VBQ0QsQ0FBQyxDQUFDO0FBQ0gsS0FBSSxTQUFTLEdBQUcsVUFBQSxRQUFRO1NBQUksT0FBTyxHQUFHLFFBQVE7RUFBQSxDQUFDO0FBQy9DLFFBQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQTtDQUNsQixDQUFBIiwiZmlsZSI6ImNvbXBvbmVudHMvUm9vdEVsZW1lbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIFEgPSByZXF1aXJlKCdxJyk7XG5cbnZhciBsb2dnZXIgPSByZXF1aXJlKCcuLi9sb2dnaW5nJykuZ2V0TG9nZ2VyKHtcIm5hbWVcIjpcInJlYWN0LXNlcnZlci5jb3JlLmNvbXBvbmVudHMuUm9vdEVsZW1lbnRcIixcImNvbG9yXCI6e1wic2VydmVyXCI6MTU5LFwiY2xpZW50XCI6XCJyZ2IoMTI3LDIxMiwyMTIpXCJ9fSk7XG5cbmNsYXNzIFJvb3RFbGVtZW50IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblx0Y29tcG9uZW50RGlkTW91bnQoKSB7XG5cdFx0aWYgKHRoaXMucHJvcHMuc3Vic2NyaWJlKSB7XG5cdFx0XHR0aGlzLnByb3BzLnN1YnNjcmliZShjaGlsZFByb3BzID0+IHtcblx0XHRcdFx0dmFyIG5vdyAgICAgICAgICAgID0gbmV3IERhdGU7XG5cdFx0XHRcdHZhciBuYW1lICAgICAgICAgICA9IHRoaXMuZ2V0Q2hpbGROYW1lKCk7XG5cdFx0XHRcdHZhciBjb3VudCAgICAgICAgICA9ICsrdGhpcy5fY2hhbmdlQ291bnQ7XG5cdFx0XHRcdHZhciBmcm9tTW91bnQgICAgICA9IG5vdyAtIHRoaXMuX3QwO1xuXHRcdFx0XHR2YXIgZnJvbUxhc3RDaGFuZ2UgPSBub3cgLSB0aGlzLl90MTtcblx0XHRcdFx0dGhpcy5fdDEgICAgICAgICAgID0gbm93O1xuXG5cdFx0XHRcdC8vIExvZyBzb21lIHN0dWZmIGFib3V0IHRoZSBjaGFuZ2UuXG5cdFx0XHRcdFtgYnlOYW1lLiR7bmFtZX1gLCAnYWxsJ10uZm9yRWFjaCh0YWcgPT4ge1xuXHRcdFx0XHRcdGxvZ2dlci50aW1lKGBjaGFuZ2UuZnJvbU1vdW50LiR7dGFnfWAsIGZyb21Nb3VudCk7XG5cdFx0XHRcdFx0bG9nZ2VyLnRpbWUoYGNoYW5nZS5mcm9tTGFzdENoYW5nZS4ke3RhZ31gLCBmcm9tTGFzdENoYW5nZSk7XG5cdFx0XHRcdFx0bG9nZ2VyLmdhdWdlKGBjaGFuZ2UuY291bnQuJHt0YWd9YCwgY291bnQpO1xuXHRcdFx0XHR9KTtcblxuXHRcdFx0XHQvLyBPa2F5LCBub3cgd2UndmUgY29tcGxhaW5lZCBhYm91dCBpdFxuXHRcdFx0XHQvLyBzdWZmaWNpZW50bHksIGxldCdzIGdvIGFoZWFkIGFuZCB1cGRhdGUuXG5cdFx0XHRcdHRoaXMucHJvcHMuY2hpbGRQcm9wcyA9IGNoaWxkUHJvcHM7XG5cdFx0XHRcdHRoaXMuZm9yY2VVcGRhdGUoKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuXHRcdGlmICh0aGlzLnByb3BzLnVuc3Vic2NyaWJlKSB0aGlzLnByb3BzLnVuc3Vic2NyaWJlKCk7XG5cdH1cblxuXHRyZW5kZXIoKSB7XG5cblx0XHQvLyBXZSdsbCB1c2UgdGhlc2UgdG8gbG9nIHN0dWZmIGFib3V0IHJlLXJlbmRlcnMuXG5cdFx0aWYgKCF0aGlzLl90MCkge1xuXHRcdFx0dGhpcy5fdDAgPSB0aGlzLl90MSA9IG5ldyBEYXRlO1xuXHRcdFx0dGhpcy5fY2hhbmdlQ291bnQgPSAwO1xuXHRcdH1cblxuXHRcdGlmICh0eXBlb2YgdGhpcy5wcm9wcy5jaGlsZHJlbiA9PT0gJ3N0cmluZycpIHtcblxuXHRcdFx0bG9nZ2VyLmVycm9yKFxuXHRcdFx0XHRcIlJvb3QgZWxlbWVudHMgY2Fubm90IGJlIHJhdyB0ZXh0XCIsXG5cdFx0XHRcdHsgdGV4dDogdGhpcy5wcm9wcy5jaGlsZHJlbiB9XG5cdFx0XHQpO1xuXG5cdFx0XHQvLyBEb24ndCBrZWVwIGNob2tpbmcgb24gaXQuICBKdXN0IGd1dCBpdC5cblx0XHRcdHJldHVybiA8ZGl2IC8+O1xuXHRcdH1cblxuXHRcdHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoXG5cdFx0XHRSZWFjdC5DaGlsZHJlbi5vbmx5KHRoaXMucHJvcHMuY2hpbGRyZW4pLFxuXHRcdFx0dGhpcy5wcm9wcy5jaGlsZFByb3BzXG5cdFx0KTtcblx0fVxuXG5cdGdldENoaWxkTmFtZSgpIHtcblx0XHRpZiAoIXRoaXMuX2NoaWxkTmFtZSl7XG5cdFx0XHR0aGlzLl9jaGlsZE5hbWUgPSAoUmVhY3QuQ2hpbGRyZW4ub25seShcblx0XHRcdFx0dGhpcy5wcm9wcy5jaGlsZHJlblxuXHRcdFx0KS50eXBlLmRpc3BsYXlOYW1lfHwnVW5rbm93bicpLnNwbGl0KCcuJykucG9wKCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLl9jaGlsZE5hbWU7XG5cdH1cblxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFJvb3RFbGVtZW50O1xuXG5Sb290RWxlbWVudC5wcm9wVHlwZXMgPSB7XG5cdGxpc3RlbjogUmVhY3QuUHJvcFR5cGVzLmZ1bmMsXG5cdGNoaWxkUHJvcHM6IFJlYWN0LlByb3BUeXBlcy5vYmplY3QsXG5cdF9pc1Jvb3RFbGVtZW50OiBSZWFjdC5Qcm9wVHlwZXMuYm9vbCxcbn1cblxuUm9vdEVsZW1lbnQuZGVmYXVsdFByb3BzID0ge1xuXHRfaXNSb290RWxlbWVudDogdHJ1ZSxcbn1cblxuUm9vdEVsZW1lbnQuaXNSb290RWxlbWVudCA9IGZ1bmN0aW9uKGVsZW1lbnQpIHtcblx0cmV0dXJuIGVsZW1lbnQgJiYgZWxlbWVudC5wcm9wcyAmJiBlbGVtZW50LnByb3BzLl9pc1Jvb3RFbGVtZW50O1xufVxuXG5Sb290RWxlbWVudC5lbnN1cmVSb290RWxlbWVudFdpdGhDb250YWluZXIgPSBmdW5jdGlvbihlbGVtZW50LCBjb250YWluZXIpIHtcblxuXHQvLyBJZiBpdCdzIF9hbHJlYWR5XyBhIHJvb3QgZWxlbWVudCwgcGFzcyBpdCBhbG9uZy5cblx0aWYgKFJvb3RFbGVtZW50LmlzUm9vdEVsZW1lbnQoZWxlbWVudCkgfHwgKFxuXG5cdFx0Ly8gQWx0ZXJuYXRpdmVseSwgaWYgaXQncyBhIGNvbnRyb2wgb2JqZWN0IHBhc3MgaXQgYWxvbmcuXG5cdFx0Ly9cblx0XHQvLyBXZSBleGNsdWRlIHN0cmluZ3MgaGVyZSBzaW5jZSB3ZSBhbHJlYWR5IGdyaXBlIGFib3V0IHRoZW1cblx0XHQvLyBhdCByZW5kZXIgdGltZS5cblx0XHQvL1xuXHRcdCFSZWFjdC5pc1ZhbGlkRWxlbWVudChlbGVtZW50KSAmJiB0eXBlb2YgZWxlbWVudCAhPT0gJ3N0cmluZydcblx0KSl7XG5cdFx0cmV0dXJuIGVsZW1lbnQ7XG5cdH1cblxuXHRyZXR1cm4gPFJvb3RFbGVtZW50IGxpc3Rlbj17Y29udGFpbmVyLnByb3BzLmxpc3Rlbn0+e2VsZW1lbnR9PC9Sb290RWxlbWVudD47XG59XG5cblJvb3RFbGVtZW50LmVuc3VyZVJvb3RFbGVtZW50ID0gZnVuY3Rpb24oZWxlbWVudCl7XG5cdHJldHVybiBSb290RWxlbWVudC5lbnN1cmVSb290RWxlbWVudFdpdGhDb250YWluZXIoZWxlbWVudCwge3Byb3BzOnt9fSk7XG59XG5cblJvb3RFbGVtZW50LnNjaGVkdWxlUmVuZGVyID0gZnVuY3Rpb24oZWxlbWVudCkge1xuXHR2YXIgbGlzdGVuID0gKChlbGVtZW50fHx7fSkucHJvcHN8fHt9KS5saXN0ZW47XG5cdGlmICghbGlzdGVuKSByZXR1cm4gUShlbGVtZW50KS50aGVuKFJvb3RFbGVtZW50LmVuc3VyZVJvb3RFbGVtZW50KTtcblx0dmFyIGRmZCA9IFEuZGVmZXIoKTtcblx0dmFyIHVwZGF0ZXI7XG5cdHZhciB1bnN1YnNjcmliZSA9IGxpc3RlbihjaGlsZFByb3BzID0+IHtcblxuXHRcdC8vIE9uY2UgdGhlIGNvbXBvbmVudCBoYXMgbW91bnRlZCBpdCB3aWxsIHByb3ZpZGUgYW4gdXBkYXRlci5cblx0XHQvLyBBZnRlciB0aGF0IHdlIGNhbiBqdXN0IHNob3J0LWNpcmN1aXQgaGVyZSBhbmQgbGV0IGl0IGhhbmRsZVxuXHRcdC8vIHVwZGF0aW5nIGl0c2VsZi5cblx0XHRpZiAodXBkYXRlcikgcmV0dXJuIHVwZGF0ZXIoY2hpbGRQcm9wcyk7XG5cblx0XHQvLyBUaGUgcHJvbWlzZSBpdHNlbGYgd2lsbCBvbmx5IHJlc29sdmUgb25jZSwgYnV0IHdlIGRvbid0XG5cdFx0Ly8gd2FudCB0byBfY2xvbmVfIG11bHRpcGxlIHRpbWVzLlxuXHRcdGlmIChkZmQucHJvbWlzZS5pc1BlbmRpbmcoKSkge1xuXHRcdFx0ZGZkLnJlc29sdmUoUmVhY3QuY2xvbmVFbGVtZW50KGVsZW1lbnQsIHtcblx0XHRcdFx0Y2hpbGRQcm9wcyxcblx0XHRcdFx0c3Vic2NyaWJlLFxuXHRcdFx0XHR1bnN1YnNjcmliZSxcblx0XHRcdH0pKTtcblx0XHR9XG5cdH0pO1xuXHR2YXIgc3Vic2NyaWJlID0gY2FsbGJhY2sgPT4gdXBkYXRlciA9IGNhbGxiYWNrO1xuXHRyZXR1cm4gZGZkLnByb21pc2Vcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUm9vdEVsZW1lbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDN0IsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDOztBQUVyQixJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUMsTUFBTSxFQUFDLDBDQUEwQyxFQUFDLE9BQU8sRUFBQyxFQUFDLFFBQVEsRUFBQyxHQUFHLEVBQUMsUUFBUSxFQUFDLGtCQUFrQixFQUFDLEVBQUMsQ0FBQyxDQUFDOztJQUUvSSxXQUFXO1dBQVgsV0FBVzs7VUFBWCxXQUFXO3dCQUFYLFdBQVc7OzZCQUFYLFdBQVc7OztjQUFYLFdBQVc7O1NBQ0MsNkJBQUc7OztBQUNuQixPQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO0FBQ3pCLFFBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQUEsVUFBVSxFQUFJO0FBQ2xDLFNBQUksR0FBRyxHQUFjLElBQUksSUFBSSxFQUFBLENBQUM7QUFDOUIsU0FBSSxJQUFJLEdBQWEsTUFBSyxZQUFZLEVBQUUsQ0FBQztBQUN6QyxTQUFJLEtBQUssR0FBWSxFQUFFLE1BQUssWUFBWSxDQUFDO0FBQ3pDLFNBQUksU0FBUyxHQUFRLEdBQUcsR0FBRyxNQUFLLEdBQUcsQ0FBQztBQUNwQyxTQUFJLGNBQWMsR0FBRyxHQUFHLEdBQUcsTUFBSyxHQUFHLENBQUM7QUFDcEMsV0FBSyxHQUFHLEdBQWEsR0FBRyxDQUFDOzs7QUFHekIsa0JBQVcsSUFBSSxFQUFJLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLEdBQUcsRUFBSTtBQUN4QyxZQUFNLENBQUMsSUFBSSx1QkFBcUIsR0FBRyxFQUFJLFNBQVMsQ0FBQyxDQUFDO0FBQ2xELFlBQU0sQ0FBQyxJQUFJLDRCQUEwQixHQUFH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QUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUU7QUFDdkMsY0FBVSxFQUFWLFVBQVU7QUFDVixhQUFTLEVBQVQsU0FBUztBQUNULGVBQVcsRUFBWCxXQUFXO0lBQ1gsQ0FBQyxDQUFDLENBQUM7R0FDSjtFQUNELENBQUMsQ0FBQztBQUNILEtBQUksU0FBUyxHQUFHLFVBQUEsUUFBUTtTQUFJLE9BQU8sR0FBRyxRQUFRO0VBQUEsQ0FBQztBQUMvQyxRQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUE7Q0FDbEIsQ0FBQSIsImZpbGUiOiJjb21wb25lbnRzL1Jvb3RFbGVtZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIFJlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcbnZhciBRID0gcmVxdWlyZSgncScpO1xuXG52YXIgbG9nZ2VyID0gcmVxdWlyZSgnLi4vbG9nZ2luZycpLmdldExvZ2dlcih7XCJuYW1lXCI6XCJyZWFjdC1zZXJ2ZXIuY29yZS5jb21wb25lbnRzLlJvb3RFbGVtZW50XCIsXCJjb2xvclwiOntcInNlcnZlclwiOjE1OSxcImNsaWVudFwiOlwicmdiKDEyNywyMTIsMjEyKVwifX0pO1xuXG5jbGFzcyBSb290RWxlbWVudCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cdGNvbXBvbmVudERpZE1vdW50KCkge1xuXHRcdGlmICh0aGlzLnByb3BzLnN1YnNjcmliZSkge1xuXHRcdFx0dGhpcy5wcm9wcy5zdWJzY3JpYmUoY2hpbGRQcm9wcyA9PiB7XG5cdFx0XHRcdHZhciBub3cgICAgICAgICAgICA9IG5ldyBEYXRlO1xuXHRcdFx0XHR2YXIgbmFtZSAgICAgICAgICAgPSB0aGlzLmdldENoaWxkTmFtZSgpO1xuXHRcdFx0XHR2YXIgY291bnQgICAgICAgICAgPSArK3RoaXMuX2NoYW5nZUNvdW50O1xuXHRcdFx0XHR2YXIgZnJvbU1vdW50ICAgICAgPSBub3cgLSB0aGlzLl90MDtcblx0XHRcdFx0dmFyIGZyb21MYXN0Q2hhbmdlID0gbm93IC0gdGhpcy5fdDE7XG5cdFx0XHRcdHRoaXMuX3QxICAgICAgICAgICA9IG5vdztcblxuXHRcdFx0XHQvLyBMb2cgc29tZSBzdHVmZiBhYm91dCB0aGUgY2hhbmdlLlxuXHRcdFx0XHRbYGJ5TmFtZS4ke25hbWV9YCwgJ2FsbCddLmZvckVhY2godGFnID0+IHtcblx0XHRcdFx0XHRsb2dnZXIudGltZShgY2hhbmdlLmZyb21Nb3VudC4ke3RhZ31gLCBmcm9tTW91bnQpO1xuXHRcdFx0XHRcdGxvZ2dlci50aW1lKGBjaGFuZ2UuZnJvbUxhc3RDaGFuZ2UuJHt0YWd9YCwgZnJvbUxhc3RDaGFuZ2UpO1xuXHRcdFx0XHRcdGxvZ2dlci5nYXVnZShgY2hhbmdlLmNvdW50LiR7dGFnfWAsIGNvdW50KTtcblx0XHRcdFx0fSk7XG5cblx0XHRcdFx0Ly8gT2theSwgbm93IHdlJ3ZlIGNvbXBsYWluZWQgYWJvdXQgaXRcblx0XHRcdFx0Ly8gc3VmZmljaWVudGx5LCBsZXQncyBnbyBhaGVhZCBhbmQgdXBkYXRlLlxuXHRcdFx0XHR0aGlzLnByb3BzLmNoaWxkUHJvcHMgPSBjaGlsZFByb3BzO1xuXHRcdFx0XHR0aGlzLmZvcmNlVXBkYXRlKCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcblx0XHRpZiAodGhpcy5wcm9wcy51bnN1YnNjcmliZSkgdGhpcy5wcm9wcy51bnN1YnNjcmliZSgpO1xuXHR9XG5cblx0cmVuZGVyKCkge1xuXG5cdFx0Ly8gV2UnbGwgdXNlIHRoZXNlIHRvIGxvZyBzdHVmZiBhYm91dCByZS1yZW5kZXJzLlxuXHRcdGlmICghdGhpcy5fdDApIHtcblx0XHRcdHRoaXMuX3QwID0gdGhpcy5fdDEgPSBuZXcgRGF0ZTtcblx0XHRcdHRoaXMuX2NoYW5nZUNvdW50ID0gMDtcblx0XHR9XG5cblx0XHRpZiAodHlwZW9mIHRoaXMucHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnKSB7XG5cblx0XHRcdGxvZ2dlci5lcnJvcihcblx0XHRcdFx0XCJSb290IGVsZW1lbnRzIGNhbm5vdCBiZSByYXcgdGV4dFwiLFxuXHRcdFx0XHR7IHRleHQ6IHRoaXMucHJvcHMuY2hpbGRyZW4gfVxuXHRcdFx0KTtcblxuXHRcdFx0Ly8gRG9uJ3Qga2VlcCBjaG9raW5nIG9uIGl0LiAgSnVzdCBndXQgaXQuXG5cdFx0XHRyZXR1cm4gPGRpdiAvPjtcblx0XHR9XG5cblx0XHRyZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KFxuXHRcdFx0UmVhY3QuQ2hpbGRyZW4ub25seSh0aGlzLnByb3BzLmNoaWxkcmVuKSxcblx0XHRcdHRoaXMucHJvcHMuY2hpbGRQcm9wc1xuXHRcdCk7XG5cdH1cblxuXHRnZXRDaGlsZE5hbWUoKSB7XG5cdFx0aWYgKCF0aGlzLl9jaGlsZE5hbWUpe1xuXHRcdFx0dGhpcy5fY2hpbGROYW1lID0gKFJlYWN0LkNoaWxkcmVuLm9ubHkoXG5cdFx0XHRcdHRoaXMucHJvcHMuY2hpbGRyZW5cblx0XHRcdCkudHlwZS5kaXNwbGF5TmFtZXx8J1Vua25vd24nKS5zcGxpdCgnLicpLnBvcCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5fY2hpbGROYW1lO1xuXHR9XG5cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBSb290RWxlbWVudDtcblxuUm9vdEVsZW1lbnQucHJvcFR5cGVzID0ge1xuXHRsaXN0ZW46IFJlYWN0LlByb3BUeXBlcy5mdW5jLFxuXHRjaGlsZFByb3BzOiBSZWFjdC5Qcm9wVHlwZXMub2JqZWN0LFxuXHRfaXNSb290RWxlbWVudDogUmVhY3QuUHJvcFR5cGVzLmJvb2wsXG59XG5cblJvb3RFbGVtZW50LmRlZmF1bHRQcm9wcyA9IHtcblx0X2lzUm9vdEVsZW1lbnQ6IHRydWUsXG59XG5cblJvb3RFbGVtZW50LmlzUm9vdEVsZW1lbnQgPSBmdW5jdGlvbihlbGVtZW50KSB7XG5cdHJldHVybiBlbGVtZW50ICYmIGVsZW1lbnQucHJvcHMgJiYgZWxlbWVudC5wcm9wcy5faXNSb290RWxlbWVudDtcbn1cblxuUm9vdEVsZW1lbnQuZ2V0Um9vdEVsZW1lbnRBdHRyaWJ1dGVzID0gZnVuY3Rpb24oZWxlbWVudCkge1xuXHR2YXIgcHJvcHMgPSBlbGVtZW50LnByb3BzO1xuXHR2YXIgYXR0cnMgPSB7fTtcblxuXHRpZiAocHJvcHMuY2xhc3NOYW1lKSBhdHRycy5jbGFzcyA9IHByb3BzLmNsYXNzTmFtZTtcblxuXHQvLyBUT0RPOiBPdGhlcnM/XG5cdFtcblx0XHQnaWQnLFxuXHRcdCdzdHlsZScsXG5cdF0uZm9yRWFjaChrID0+IHByb3BzW2tdICYmIChhdHRyc1trXSA9IHByb3BzW2tdKSk7XG5cblx0cmV0dXJuIGF0dHJzO1xufVxuXG5Sb290RWxlbWVudC5lbnN1cmVSb290RWxlbWVudFdpdGhDb250YWluZXIgPSBmdW5jdGlvbihlbGVtZW50LCBjb250YWluZXIpIHtcblxuXHQvLyBJZiBpdCdzIF9hbHJlYWR5XyBhIHJvb3QgZWxlbWVudCwgcGFzcyBpdCBhbG9uZy5cblx0aWYgKFJvb3RFbGVtZW50LmlzUm9vdEVsZW1lbnQoZWxlbWVudCkgfHwgKFxuXG5cdFx0Ly8gQWx0ZXJuYXRpdmVseSwgaWYgaXQncyBhIGNvbnRyb2wgb2JqZWN0IHBhc3MgaXQgYWxvbmcuXG5cdFx0Ly9cblx0XHQvLyBXZSBleGNsdWRlIHN0cmluZ3MgaGVyZSBzaW5jZSB3ZSBhbHJlYWR5IGdyaXBlIGFib3V0IHRoZW1cblx0XHQvLyBhdCByZW5kZXIgdGltZS5cblx0XHQvL1xuXHRcdCFSZWFjdC5pc1ZhbGlkRWxlbWVudChlbGVtZW50KSAmJiB0eXBlb2YgZWxlbWVudCAhPT0gJ3N0cmluZydcblx0KSl7XG5cdFx0cmV0dXJuIGVsZW1lbnQ7XG5cdH1cblxuXHRyZXR1cm4gPFJvb3RFbGVtZW50IGxpc3Rlbj17Y29udGFpbmVyLnByb3BzLmxpc3Rlbn0+e2VsZW1lbnR9PC9Sb290RWxlbWVudD47XG59XG5cblJvb3RFbGVtZW50LmVuc3VyZVJvb3RFbGVtZW50ID0gZnVuY3Rpb24oZWxlbWVudCl7XG5cdHJldHVybiBSb290RWxlbWVudC5lbnN1cmVSb290RWxlbWVudFdpdGhDb250YWluZXIoZWxlbWVudCwge3Byb3BzOnt9fSk7XG59XG5cblJvb3RFbGVtZW50LnNjaGVkdWxlUmVuZGVyID0gZnVuY3Rpb24oZWxlbWVudCkge1xuXHR2YXIgbGlzdGVuID0gKChlbGVtZW50fHx7fSkucHJvcHN8fHt9KS5saXN0ZW47XG5cdGlmICghbGlzdGVuKSByZXR1cm4gUShlbGVtZW50KS50aGVuKFJvb3RFbGVtZW50LmVuc3VyZVJvb3RFbGVtZW50KTtcblx0dmFyIGRmZCA9IFEuZGVmZXIoKTtcblx0dmFyIHVwZGF0ZXI7XG5cdHZhciB1bnN1YnNjcmliZSA9IGxpc3RlbihjaGlsZFByb3BzID0+IHtcblxuXHRcdC8vIE9uY2UgdGhlIGNvbXBvbmVudCBoYXMgbW91bnRlZCBpdCB3aWxsIHByb3ZpZGUgYW4gdXBkYXRlci5cblx0XHQvLyBBZnRlciB0aGF0IHdlIGNhbiBqdXN0IHNob3J0LWNpcmN1aXQgaGVyZSBhbmQgbGV0IGl0IGhhbmRsZVxuXHRcdC8vIHVwZGF0aW5nIGl0c2VsZi5cblx0XHRpZiAodXBkYXRlcikgcmV0dXJuIHVwZGF0ZXIoY2hpbGRQcm9wcyk7XG5cblx0XHQvLyBUaGUgcHJvbWlzZSBpdHNlbGYgd2lsbCBvbmx5IHJlc29sdmUgb25jZSwgYnV0IHdlIGRvbid0XG5cdFx0Ly8gd2FudCB0byBfY2xvbmVfIG11bHRpcGxlIHRpbWVzLlxuXHRcdGlmIChkZmQucHJvbWlzZS5pc1BlbmRpbmcoKSkge1xuXHRcdFx0ZGZkLnJlc29sdmUoUmVhY3QuY2xvbmVFbGVtZW50KGVsZW1lbnQsIHtcblx0XHRcdFx0Y2hpbGRQcm9wcyxcblx0XHRcdFx0c3Vic2NyaWJlLFxuXHRcdFx0XHR1bnN1YnNjcmliZSxcblx0XHRcdH0pKTtcblx0XHR9XG5cdH0pO1xuXHR2YXIgc3Vic2NyaWJlID0gY2FsbGJhY2sgPT4gdXBkYXRlciA9IGNhbGxiYWNrO1xuXHRyZXR1cm4gZGZkLnByb21pc2Vcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==

@@ -6,2 +6,3 @@

React = require("react"),
ReactDOMServer = require("react-dom/server"),
FragmentDataCache = require("../../components/FragmentDataCache"),

@@ -37,3 +38,3 @@ isArray = require("lodash/lang/isArray");

TritonAgent.get(URL).then(function (res) {
var $ = cheerio.load(React.renderToStaticMarkup(React.createElement(FragmentDataCache, null)));
var $ = cheerio.load(ReactDOMServer.renderToStaticMarkup(React.createElement(FragmentDataCache, null)));

@@ -65,3 +66,3 @@ var dataStr = $("#triton-fragment-data-cache").attr("data-triton-data-cache");

TritonAgent.get(URL).then(function (res) {
var htmlStr = React.renderToStaticMarkup(React.createElement(FragmentDataCache, { cacheNodeId: "fooBarBaz" }));
var htmlStr = ReactDOMServer.renderToStaticMarkup(React.createElement(FragmentDataCache, { cacheNodeId: "fooBarBaz" }));
var $ = cheerio.load(htmlStr);

@@ -104,3 +105,3 @@

TritonAgent.get(URL).then(function (res) {
// do nothing here
// do nothing here
});

@@ -111,3 +112,3 @@

var htmlStr = React.renderToStaticMarkup(fragmentComponent);
var htmlStr = ReactDOMServer.renderToStaticMarkup(fragmentComponent);
var $ = cheerio.load(htmlStr);

@@ -143,3 +144,3 @@

TritonAgent.get(URL).then(function (res) {
// do nothing here
// do nothing here
});

@@ -150,3 +151,3 @@

var htmlStr = React.renderToStaticMarkup(fragmentComponent);
var htmlStr = ReactDOMServer.renderToStaticMarkup(fragmentComponent);
var $ = cheerio.load(htmlStr);

@@ -190,3 +191,3 @@

var htmlStr = React.renderToStaticMarkup(fragmentComponent);
var htmlStr = ReactDOMServer.renderToStaticMarkup(fragmentComponent);
var $ = cheerio.load(htmlStr);

@@ -235,3 +236,3 @@

var htmlStr = React.renderToStaticMarkup(fragmentComponent);
var htmlStr = ReactDOMServer.renderToStaticMarkup(fragmentComponent);
var $ = cheerio.load(htmlStr);

@@ -280,3 +281,3 @@

var htmlStr = React.renderToStaticMarkup(fragmentComponent);
var htmlStr = ReactDOMServer.renderToStaticMarkup(fragmentComponent);
var $ = cheerio.load(htmlStr);

@@ -314,2 +315,2 @@

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvY29tcG9uZW50cy9GcmFnbWVudERhdGFDYWNoZVNwZWMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztJQUM1QyxVQUFVLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUNsQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUM1QixLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUN4QixpQkFBaUIsR0FBRyxPQUFPLENBQUMsb0NBQW9DLENBQUM7SUFDakUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUN6Qzs7ZUFLRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7O0lBRmxDLFVBQVUsWUFBVixVQUFVO0lBQ1YsY0FBYyxZQUFkLGNBQWM7O0FBR2YsUUFBUSxDQUFDLG1CQUFtQixFQUFFLFlBQU07O0FBRWxDLEtBQUksTUFBTSxDQUFDOztBQUVaLFVBQVMsQ0FBRSxVQUFDLElBQUksRUFBSztBQUNwQixZQUFVLENBQUUsVUFBQyxhQUFhLEVBQUs7QUFDOUIsU0FBTSxHQUFHLGFBQWEsQ0FBQztBQUN2QixPQUFJLEVBQUUsQ0FBQztHQUNQLENBQUMsQ0FBQztFQUNILENBQUMsQ0FBQzs7QUFFSCxTQUFRLENBQUUsWUFBTTs7QUFFZixRQUFNLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0VBQ3pCLENBQUMsQ0FBQzs7QUFFSCxTQUFRLENBQUMsV0FBVyxFQUFFLFlBQU07QUFDM0IsSUFBRSxDQUFDLDhDQUE4QyxFQUFFLGNBQWMsQ0FBQyxVQUFBLElBQUksRUFBSTs7QUFFekUsT0FBSSxHQUFHLEdBQUcsV0FBVyxDQUFDOztBQUV0QixjQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUNsQixJQUFJLENBQUMsVUFBQSxHQUFHLEVBQUk7QUFDWixRQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FB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OiJ0ZXN0L2NvbXBvbmVudHMvRnJhZ21lbnREYXRhQ2FjaGVTcGVjLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG52YXIgVHJpdG9uQWdlbnQgPSByZXF1aXJlKFwiLi4vLi4vVHJpdG9uQWdlbnRcIilcbixcdHN1cGVyYWdlbnQgPSByZXF1aXJlKFwic3VwZXJhZ2VudFwiKVxuLFx0Y2hlZXJpbyA9IHJlcXVpcmUoXCJjaGVlcmlvXCIpXG4sXHRSZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKVxuLFx0RnJhZ21lbnREYXRhQ2FjaGUgPSByZXF1aXJlKFwiLi4vLi4vY29tcG9uZW50cy9GcmFnbWVudERhdGFDYWNoZVwiKVxuLFx0aXNBcnJheSA9IHJlcXVpcmUoXCJsb2Rhc2gvbGFuZy9pc0FycmF5XCIpXG47XG5cbnZhciB7XG5cdG1ha2VTZXJ2ZXIsXG5cdHdpdGhSbHNDb250ZXh0XG59ID0gcmVxdWlyZShcIi4uL1RyaXRvbkFnZW50L3NldHVwXCIpO1xuXG5kZXNjcmliZShcIkZyYWdtZW50RGF0YUNhY2hlXCIsICgpID0+IHtcblxuXHRcdHZhciBzZXJ2ZXI7XG5cblx0YmVmb3JlQWxsKCAoZG9uZSkgPT4ge1xuXHRcdG1ha2VTZXJ2ZXIoIChjcmVhdGVkU2VydmVyKSA9PiB7XG5cdFx0XHRzZXJ2ZXIgPSBjcmVhdGVkU2VydmVyO1xuXHRcdFx0ZG9uZSgpO1xuXHRcdH0pO1xuXHR9KTtcblxuXHRhZnRlckFsbCggKCkgPT4ge1xuXHRcdC8vIHRlYXIgZG93biBzZXJ2ZXJcblx0XHRzZXJ2ZXIgJiYgc2VydmVyLmNsb3NlKCk7XG5cdH0pO1xuXG5cdGRlc2NyaWJlKFwiY29tcG9uZW50XCIsICgpID0+IHtcblx0XHRpdChcInNlcmlhbGl6ZXMgdG8gZGF0YS10cml0b24tZGF0YS1jYWNoZSBhcyBKU09OXCIsIHdpdGhSbHNDb250ZXh0KGRvbmUgPT4ge1xuXG5cdFx0XHR2YXIgVVJMID0gXCIvZGVzY3JpYmVcIjtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFVSTClcblx0XHRcdFx0LnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChSZWFjdC5yZW5kZXJUb1N0YXRpY01hcmt1cCg8RnJhZ21lbnREYXRhQ2FjaGUgLz4pKTtcblxuXHRcdFx0XHRcdHZhciBkYXRhU3RyID0gJChcIiN0cml0b24tZnJhZ21lbnQtZGF0YS1jYWNoZVwiKS5hdHRyKFwiZGF0YS10cml0b24tZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0XHR2YXIgcGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoZGF0YVN0cik7XG5cblx0XHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFVSTCkpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFVSTCkucmVzLmJvZHkpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdFx0Ly8gaXQgc2hvdWxkIGluY2x1ZGUgdGhlIHJlcy5ib2R5IHByb3Agb25seVxuXHRcdFx0XHRcdGV4cGVjdChPYmplY3Qua2V5cyhnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBVUkwpLnJlcykubGVuZ3RoKS50b0JlKDEpO1xuXG5cdFx0XHRcdFx0ZG9uZSgpO1xuXHRcdFx0XHR9KS5jYXRjaChlcnIgPT4ge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGVyci5zdGFjayk7XG5cblx0XHRcdFx0XHQvLyB0aGlzIHdpbGwgZmFpbCB0aGUgdGVzdFxuXHRcdFx0XHRcdGV4cGVjdChlcnIpLnRvQmVVbmRlZmluZWQoKTtcblx0XHRcdFx0XHRkb25lKCk7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5kb25lKCk7XG5cblx0XHR9KSk7XG5cblx0XHRpdChcImNhbiBiZSBwYXNzZWQgYSBjYWNoZU5vZGVJZCBvdmVycmlkZVwiLCB3aXRoUmxzQ29udGV4dChkb25lID0+IHtcblxuXHRcdFx0dmFyIFVSTCA9IFwiL2Rlc2NyaWJlXCI7XG5cblx0XHRcdFRyaXRvbkFnZW50LmdldChVUkwpXG5cdFx0XHRcdC50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0dmFyIGh0bWxTdHIgPSBSZWFjdC5yZW5kZXJUb1N0YXRpY01hcmt1cCg8RnJhZ21lbnREYXRhQ2FjaGUgY2FjaGVOb2RlSWQ9XCJmb29CYXJCYXpcIiAvPik7XG5cdFx0XHRcdFx0dmFyICQgPSBjaGVlcmlvLmxvYWQoaHRtbFN0cik7XG5cblx0XHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHRcdCxcdGRhdGFTdHJcblx0XHRcdFx0XHQsXHRwYXJzZWREYXRhO1xuXG5cdFx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdFx0ZXhwZWN0KG5vZGUubGVuZ3RoKS50b0JlKDApO1xuXG5cdFx0XHRcdFx0bm9kZSA9ICQoJyNmb29CYXJCYXonKTtcblx0XHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0XHRkYXRhU3RyID0gbm9kZS5hdHRyKFwiZGF0YS10cml0b24tZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0XHRwYXJzZWREYXRhID0gSlNPTi5wYXJzZShkYXRhU3RyKTtcblxuXHRcdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGVbVVJMXSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMuYm9keSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHQvLyBpdCBzaG91bGQgaW5jbHVkZSB0aGUgcmVzLmJvZHkgcHJvcCBvbmx5XG5cdFx0XHRcdFx0ZXhwZWN0KE9iamVjdC5rZXlzKGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFVSTCkucmVzKS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0XHRkb25lKCk7XG5cdFx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyLnN0YWNrKTtcblxuXHRcdFx0XHRcdC8vIHRoaXMgd2lsbCBmYWlsIHRoZSB0ZXN0XG5cdFx0XHRcdFx0ZXhwZWN0KGVycikudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRcdGRvbmUoKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmRvbmUoKTtcblxuXHRcdH0pKTtcblx0fSk7XG5cblx0ZGVzY3JpYmUoXCJGcmFnbWVudERhdGFDYWNoZS5jcmVhdGVXaGVuUmVhZHlcIiwgKCkgPT4ge1xuXHRcdFxuXHRcdGl0KFwicmVzb2x2ZXMgd2l0aCBhIEZyYWdtZW50RGF0YUNhY2hlIHdoZW4gVHJpdG9uQWdlbnQgcmVzb2x2ZXNcIiwgd2l0aFJsc0NvbnRleHQoZG9uZSA9PiB7XG5cdFx0XHR2YXIgVVJMID0gXCIvZGVzY3JpYmVcIjtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFVSTClcblx0XHRcdFx0LnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHQvLyBkbyBub3RoaW5nIGhlcmVcdFxuXHRcdFx0XHR9KTtcblxuXHRcdFx0RnJhZ21lbnREYXRhQ2FjaGUuY3JlYXRlV2hlblJlYWR5KCkudGhlbihmcmFnbWVudENvbXBvbmVudCA9PiB7XG5cdFx0XHRcdGV4cGVjdChmcmFnbWVudENvbXBvbmVudCkudG9CZURlZmluZWQoKTtcblxuXHRcdFx0XHR2YXIgaHRtbFN0ciA9IFJlYWN0LnJlbmRlclRvU3RhdGljTWFya3VwKGZyYWdtZW50Q29tcG9uZW50KTtcblx0XHRcdFx0dmFyICQgPSBjaGVlcmlvLmxvYWQoaHRtbFN0cik7XG5cblx0XHRcdFx0dmFyIG5vZGVcblx0XHRcdFx0LFx0ZGF0YVN0clxuXHRcdFx0XHQsXHRwYXJzZWREYXRhO1xuXG5cdFx0XHRcdG5vZGUgPSAkKFwiI3RyaXRvbi1mcmFnbWVudC1kYXRhLWNhY2hlXCIpO1xuXHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZGF0YVN0ciA9IG5vZGUuYXR0cihcImRhdGEtdHJpdG9uLWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtVUkxdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMuYm9keSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0Ly8gaXQgc2hvdWxkIGluY2x1ZGUgdGhlIHJlcy5ib2R5IHByb3Agb25seVxuXHRcdFx0XHRleHBlY3QoT2JqZWN0LmtleXMoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMpLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkb25lKCk7XG5cdFx0XHR9KS5jYXRjaChlcnIgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlcnIuc3RhY2spO1xuXHRcdFx0XHQvLyB0aGlzIHdpbGwgY2F1c2UgdGhlIHRlc3QgdG8gZmFpbFxuXHRcdFx0XHRleHBlY3QoZXJyKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdGRvbmUoKTtcblx0XHRcdH0pXG5cdFx0XHQuZG9uZSgpO1xuXG5cdFx0fSkpO1xuXG5cdFx0aXQoXCJwYXNzZXMgYWRkaXRpb25hbCBwcm9wcyB0byBGcmFnbWVudERhdGFDYWNoZSB2aWEgb3B0aW9ucyBvYmplY3RcIiwgd2l0aFJsc0NvbnRleHQoZG9uZSA9PiB7XG5cdFx0XHR2YXIgVVJMID0gXCIvZGVzY3JpYmVcIjtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFVSTClcblx0XHRcdFx0LnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHQvLyBkbyBub3RoaW5nIGhlcmVcdFxuXHRcdFx0XHR9KTtcblxuXHRcdFx0RnJhZ21lbnREYXRhQ2FjaGUuY3JlYXRlV2hlblJlYWR5KHtjYWNoZU5vZGVJZDogJ2Zvb0JhckJheid9KS50aGVuKGZyYWdtZW50Q29tcG9uZW50ID0+IHtcblx0XHRcdFx0ZXhwZWN0KGZyYWdtZW50Q29tcG9uZW50KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdHZhciBodG1sU3RyID0gUmVhY3QucmVuZGVyVG9TdGF0aWNNYXJrdXAoZnJhZ21lbnRDb21wb25lbnQpO1xuXHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHQsXHRkYXRhU3RyXG5cdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgwKTtcblxuXHRcdFx0XHRub2RlID0gJCgnI2Zvb0JhckJheicpO1xuXHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZGF0YVN0ciA9IG5vZGUuYXR0cihcImRhdGEtdHJpdG9uLWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtVUkxdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMuYm9keSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0Ly8gaXQgc2hvdWxkIGluY2x1ZGUgdGhlIHJlcy5ib2R5IHByb3Agb25seVxuXHRcdFx0XHRleHBlY3QoT2JqZWN0LmtleXMoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMpLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkb25lKCk7XG5cdFx0XHR9KS5jYXRjaChlcnIgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlcnIuc3RhY2spO1xuXHRcdFx0XHQvLyB0aGlzIHdpbGwgY2F1c2UgdGhlIHRlc3QgdG8gZmFpbFxuXHRcdFx0XHRleHBlY3QoZXJyKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdGRvbmUoKTtcblx0XHRcdH0pXG5cdFx0XHQuZG9uZSgpO1xuXG5cdFx0fSkpO1xuXG5cdFx0aXQoXCJkb2VzIHNvbWV0aGluZyByZWFzb25hYmxlIHdoZW4gYSByZXF1ZXN0IGVycm9yc1wiLCB3aXRoUmxzQ29udGV4dChkb25lID0+IHtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFwiL2Rlc2NyaWJlXCIpLnRoZW4ocmVzID0+IHt9KTtcblx0XHRcdFRyaXRvbkFnZW50LmdldChcIi9lcnJvclwiKS50aGVuKHJlcyA9PiB7fSk7XG5cblx0XHRcdEZyYWdtZW50RGF0YUNhY2hlLmNyZWF0ZVdoZW5SZWFkeSgpLnRoZW4oZnJhZ21lbnRDb21wb25lbnQgPT4ge1xuXHRcdFx0XHRcblx0XHRcdFx0ZXhwZWN0KGZyYWdtZW50Q29tcG9uZW50KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdHZhciBodG1sU3RyID0gUmVhY3QucmVuZGVyVG9TdGF0aWNNYXJrdXAoZnJhZ21lbnRDb21wb25lbnQpO1xuXHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHQsXHRkYXRhU3RyXG5cdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkYXRhU3RyID0gbm9kZS5hdHRyKFwiZGF0YS10cml0b24tZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0cGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoZGF0YVN0cik7XG5cblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1wiL2Rlc2NyaWJlXCJdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZGVzY3JpYmVcIikucmVzLmJvZHkpLnRvQmVEZWZpbmVkKCk7XG5cblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1wiL2Vycm9yXCJdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZXJyb3JcIikucmVzKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBcIi9lcnJvclwiKS5lcnIpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBcIi9lcnJvclwiKS5lcnIucmVzcG9uc2UpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBcIi9lcnJvclwiKS5lcnIucmVzcG9uc2UuYm9keSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XG5cdFx0XHRcdC8vIGl0IHNob3VsZCBpbmNsdWRlIHRoZSByZXMuYm9keSBwcm9wIG9ubHlcblx0XHRcdFx0ZXhwZWN0KE9iamVjdC5rZXlzKGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFwiL2Rlc2NyaWJlXCIpLnJlcykubGVuZ3RoKS50b0JlKDEpO1xuXHRcdFx0XHRleHBlY3QoT2JqZWN0LmtleXMoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZXJyb3JcIikuZXJyLnJlc3BvbnNlKS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZG9uZSgpO1xuXHRcdFx0fSkuY2F0Y2goZXJyID0+IHtcblx0XHRcdFx0Y29uc29sZS5sb2coZXJyLnN0YWNrKTtcblx0XHRcdFx0Ly8gdGhpcyB3aWxsIGNhdXNlIHRoZSB0ZXN0IHRvIGZhaWxcblx0XHRcdFx0ZXhwZWN0KGVycikudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRkb25lKCk7XG5cdFx0XHR9KVxuXHRcdFx0LmRvbmUoKTtcblxuXHRcdH0pKTtcblxuXHRcdGl0KFwiZG9lcyBzb21ldGhpbmcgcmVhc29uYWJsZSB3aGVuIGEgcmVxdWVzdCB0aW1lcyBvdXRcIiwgd2l0aFJsc0NvbnRleHQoZG9uZSA9PiB7XG5cblx0XHRcdFRyaXRvbkFnZW50LmdldChcIi9kZXNjcmliZVwiKS50aGVuKHJlcyA9PiB7fSk7XG5cdFx0XHRUcml0b25BZ2VudC5nZXQoXCIvdGltZW91dFwiKVxuXHRcdFx0XHQucXVlcnkoeyBkZWxheTogMTAwMCB9KVxuXHRcdFx0XHQudGltZW91dCgxMDApXG5cdFx0XHRcdC50aGVuKHJlcyA9PiB7fSk7XG5cblx0XHRcdEZyYWdtZW50RGF0YUNhY2hlLmNyZWF0ZVdoZW5SZWFkeSgpLnRoZW4oZnJhZ21lbnRDb21wb25lbnQgPT4ge1xuXG5cdFx0XHRcdGV4cGVjdChmcmFnbWVudENvbXBvbmVudCkudG9CZURlZmluZWQoKTtcblxuXHRcdFx0XHR2YXIgaHRtbFN0ciA9IFJlYWN0LnJlbmRlclRvU3RhdGljTWFya3VwKGZyYWdtZW50Q29tcG9uZW50KTtcblx0XHRcdFx0dmFyICQgPSBjaGVlcmlvLmxvYWQoaHRtbFN0cik7XG5cblx0XHRcdFx0dmFyIG5vZGVcblx0XHRcdFx0LFx0ZGF0YVN0clxuXHRcdFx0XHQsXHRwYXJzZWREYXRhO1xuXG5cdFx0XHRcdG5vZGUgPSAkKFwiI3RyaXRvbi1mcmFnbWVudC1kYXRhLWNhY2hlXCIpO1xuXHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZGF0YVN0ciA9IG5vZGUuYXR0cihcImRhdGEtdHJpdG9uLWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtcIi9kZXNjcmliZVwiXSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFwiL2Rlc2NyaWJlXCIpLnJlcy5ib2R5KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtcIi90aW1lb3V0XCJdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvdGltZW91dFwiKS5yZXMpLnRvQmVVbmRlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFwiL3RpbWVvdXRcIikuZXJyKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvdGltZW91dFwiKS5lcnIucmVzcG9uc2UpLnRvQmVVbmRlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFwiL3RpbWVvdXRcIikuZXJyLnRpbWVvdXQpLnRvQmVEZWZpbmVkKCk7XG5cblx0XHRcdFx0ZG9uZSgpO1xuXG5cdFx0XHR9KS5jYXRjaChlcnIgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlcnIuc3RhY2spO1xuXHRcdFx0XHQvLyB0aGlzIHdpbGwgY2F1c2UgdGhlIHRlc3QgdG8gZmFpbFxuXHRcdFx0XHRleHBlY3QoZXJyKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdGRvbmUoKTtcblx0XHRcdH0pLmRvbmUoKTtcblxuXHRcdH0pKTtcblxuXHRcdGl0KFwiZGVoeWRyYXRlcyBhbiBhcnJheSBvZiBlbnRyaWVzIHdoZW4gdHdvIHJlcXVlc3RzIGFyZSBtYWRlIHRvIHRoZSBzYW1lIFVSTFwiLCB3aXRoUmxzQ29udGV4dChkb25lID0+IHtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFwiL2Rlc2NyaWJlXCIpLnF1ZXJ5KHtcImZvb1wiOiBcImJhclwifSkudGhlbihyZXMgPT4gcmVzKTtcblx0XHRcdFRyaXRvbkFnZW50LmdldChcIi9kZXNjcmliZVwiKS5xdWVyeSh7XCJmb29cIjogXCJiYXpcIn0pLnRoZW4ocmVzID0+IHJlcyk7XG5cblx0XHRcdEZyYWdtZW50RGF0YUNhY2hlLmNyZWF0ZVdoZW5SZWFkeSgpLnRoZW4oZnJhZ21lbnRDb21wb25lbnQgPT4ge1xuXG5cdFx0XHRcdGV4cGVjdChmcmFnbWVudENvbXBvbmVudCkudG9CZURlZmluZWQoKTtcblxuXHRcdFx0XHR2YXIgaHRtbFN0ciA9IFJlYWN0LnJlbmRlclRvU3RhdGljTWFya3VwKGZyYWdtZW50Q29tcG9uZW50KTtcblx0XHRcdFx0dmFyICQgPSBjaGVlcmlvLmxvYWQoaHRtbFN0cik7XG5cblx0XHRcdFx0dmFyIG5vZGVcblx0XHRcdFx0LFx0ZGF0YVN0clxuXHRcdFx0XHQsXHRwYXJzZWREYXRhO1xuXG5cdFx0XHRcdG5vZGUgPSAkKFwiI3RyaXRvbi1mcmFnbWVudC1kYXRhLWNhY2hlXCIpO1xuXHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZGF0YVN0ciA9IG5vZGUuYXR0cihcImRhdGEtdHJpdG9uLWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtcIi9kZXNjcmliZVwiXSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1wiL2Rlc2NyaWJlXCJdLmxlbmd0aCkudG9CZSgyKTtcblxuXHRcdFx0XHRkb25lKCk7XG5cblx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKGVyci5zdGFjayk7XG5cdFx0XHRcdC8vIHRoaXMgd2lsbCBjYXVzZSB0aGUgdGVzdCB0byBmYWlsXG5cdFx0XHRcdGV4cGVjdChlcnIpLnRvQmVVbmRlZmluZWQoKTtcblx0XHRcdFx0ZG9uZSgpO1xuXHRcdFx0fSkuZG9uZSgpO1xuXHRcdH0pKTtcblx0fSk7XG5cblx0ZnVuY3Rpb24gZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgdXJsKSB7XG5cdFx0dmFyIGVudHJ5T3JBcnJheSA9IHBhcnNlZERhdGEuZGF0YUNhY2hlW3VybF07XG5cdFx0Ly8gd2UgZXhwZWN0IGEgX3NpbmdsZV8gZW50cnlcblx0XHRleHBlY3QoaXNBcnJheShlbnRyeU9yQXJyYXkpKS50b0JlRmFsc3koKTtcblx0XHRyZXR1cm4gZW50cnlPckFycmF5O1xuXHR9XG5cbn0pOyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvY29tcG9uZW50cy9GcmFnbWVudERhdGFDYWNoZVNwZWMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztJQUM1QyxVQUFVLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUNsQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUM1QixLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUN4QixjQUFjLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDO0lBQzVDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztJQUNqRSxPQUFPLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQ3pDOztlQUtHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQzs7SUFGbEMsVUFBVSxZQUFWLFVBQVU7SUFDVixjQUFjLFlBQWQsY0FBYzs7QUFHZixRQUFRLENBQUMsbUJBQW1CLEVBQUUsWUFBTTs7QUFFbEMsS0FBSSxNQUFNLENBQUM7O0FBRVosVUFBUyxDQUFFLFVBQUMsSUFBSSxFQUFLO0FBQ3BCLFlBQVUsQ0FBRSxVQUFDLGFBQWEsRUFBSztBQUM5QixTQUFNLEdBQUcsYUFBYSxDQUFDO0FBQ3ZCLE9BQUksRUFBRSxDQUFDO0dBQ1AsQ0FBQyxDQUFDO0VBQ0gsQ0FBQyxDQUFDOztBQUVILFNBQVEsQ0FBRSxZQUFNOztBQUVmLFFBQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7RUFDekIsQ0FBQyxDQUFDOztBQUVILFNBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBTTtBQUMzQixJQUFFLENBQUMsOENBQThDLEVBQUUsY0FBYyxDQUFDLFVBQUEsSUFBSSxFQUFJOztBQUV6RSxPQUFJLEdBQUcsR0FBRyxXQUFXLENBQUM7O0FBRXRCLGNBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQ2xCLElBQUksQ0FBQyxVQUFBLEdBQUcsRUFBSTtBQUNaLFFBQUks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WUFBWSxDQUFDO0VBQ3BCO0NBRUQsQ0FBQyxDQUFDIiwiZmlsZSI6InRlc3QvY29tcG9uZW50cy9GcmFnbWVudERhdGFDYWNoZVNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbnZhciBUcml0b25BZ2VudCA9IHJlcXVpcmUoXCIuLi8uLi9Ucml0b25BZ2VudFwiKVxuLFx0c3VwZXJhZ2VudCA9IHJlcXVpcmUoXCJzdXBlcmFnZW50XCIpXG4sXHRjaGVlcmlvID0gcmVxdWlyZShcImNoZWVyaW9cIilcbixcdFJlYWN0ID0gcmVxdWlyZShcInJlYWN0XCIpXG4sXHRSZWFjdERPTVNlcnZlciA9IHJlcXVpcmUoXCJyZWFjdC1kb20vc2VydmVyXCIpXG4sXHRGcmFnbWVudERhdGFDYWNoZSA9IHJlcXVpcmUoXCIuLi8uLi9jb21wb25lbnRzL0ZyYWdtZW50RGF0YUNhY2hlXCIpXG4sXHRpc0FycmF5ID0gcmVxdWlyZShcImxvZGFzaC9sYW5nL2lzQXJyYXlcIilcbjtcblxudmFyIHtcblx0bWFrZVNlcnZlcixcblx0d2l0aFJsc0NvbnRleHRcbn0gPSByZXF1aXJlKFwiLi4vVHJpdG9uQWdlbnQvc2V0dXBcIik7XG5cbmRlc2NyaWJlKFwiRnJhZ21lbnREYXRhQ2FjaGVcIiwgKCkgPT4ge1xuXG5cdFx0dmFyIHNlcnZlcjtcblxuXHRiZWZvcmVBbGwoIChkb25lKSA9PiB7XG5cdFx0bWFrZVNlcnZlciggKGNyZWF0ZWRTZXJ2ZXIpID0+IHtcblx0XHRcdHNlcnZlciA9IGNyZWF0ZWRTZXJ2ZXI7XG5cdFx0XHRkb25lKCk7XG5cdFx0fSk7XG5cdH0pO1xuXG5cdGFmdGVyQWxsKCAoKSA9PiB7XG5cdFx0Ly8gdGVhciBkb3duIHNlcnZlclxuXHRcdHNlcnZlciAmJiBzZXJ2ZXIuY2xvc2UoKTtcblx0fSk7XG5cblx0ZGVzY3JpYmUoXCJjb21wb25lbnRcIiwgKCkgPT4ge1xuXHRcdGl0KFwic2VyaWFsaXplcyB0byBkYXRhLXRyaXRvbi1kYXRhLWNhY2hlIGFzIEpTT05cIiwgd2l0aFJsc0NvbnRleHQoZG9uZSA9PiB7XG5cblx0XHRcdHZhciBVUkwgPSBcIi9kZXNjcmliZVwiO1xuXG5cdFx0XHRUcml0b25BZ2VudC5nZXQoVVJMKVxuXHRcdFx0XHQudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdHZhciAkID0gY2hlZXJpby5sb2FkKFJlYWN0RE9NU2VydmVyLnJlbmRlclRvU3RhdGljTWFya3VwKDxGcmFnbWVudERhdGFDYWNoZSAvPikpO1xuXG5cdFx0XHRcdFx0dmFyIGRhdGFTdHIgPSAkKFwiI3RyaXRvbi1mcmFnbWVudC1kYXRhLWNhY2hlXCIpLmF0dHIoXCJkYXRhLXRyaXRvbi1kYXRhLWNhY2hlXCIpO1xuXHRcdFx0XHRcdHZhciBwYXJzZWREYXRhID0gSlNPTi5wYXJzZShkYXRhU3RyKTtcblxuXHRcdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMuYm9keSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0XHQvLyBpdCBzaG91bGQgaW5jbHVkZSB0aGUgcmVzLmJvZHkgcHJvcCBvbmx5XG5cdFx0XHRcdFx0ZXhwZWN0KE9iamVjdC5rZXlzKGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFVSTCkucmVzKS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0XHRkb25lKCk7XG5cdFx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyLnN0YWNrKTtcblxuXHRcdFx0XHRcdC8vIHRoaXMgd2lsbCBmYWlsIHRoZSB0ZXN0XG5cdFx0XHRcdFx0ZXhwZWN0KGVycikudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRcdGRvbmUoKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmRvbmUoKTtcblxuXHRcdH0pKTtcblxuXHRcdGl0KFwiY2FuIGJlIHBhc3NlZCBhIGNhY2hlTm9kZUlkIG92ZXJyaWRlXCIsIHdpdGhSbHNDb250ZXh0KGRvbmUgPT4ge1xuXG5cdFx0XHR2YXIgVVJMID0gXCIvZGVzY3JpYmVcIjtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFVSTClcblx0XHRcdFx0LnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR2YXIgaHRtbFN0ciA9IFJlYWN0RE9NU2VydmVyLnJlbmRlclRvU3RhdGljTWFya3VwKDxGcmFnbWVudERhdGFDYWNoZSBjYWNoZU5vZGVJZD1cImZvb0JhckJhelwiIC8+KTtcblx0XHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHRcdHZhciBub2RlXG5cdFx0XHRcdFx0LFx0ZGF0YVN0clxuXHRcdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0XHRub2RlID0gJChcIiN0cml0b24tZnJhZ21lbnQtZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMCk7XG5cblx0XHRcdFx0XHRub2RlID0gJCgnI2Zvb0JhckJheicpO1xuXHRcdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRcdGRhdGFTdHIgPSBub2RlLmF0dHIoXCJkYXRhLXRyaXRvbi1kYXRhLWNhY2hlXCIpO1xuXHRcdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtVUkxdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBVUkwpLnJlcy5ib2R5KS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRcdC8vIGl0IHNob3VsZCBpbmNsdWRlIHRoZSByZXMuYm9keSBwcm9wIG9ubHlcblx0XHRcdFx0XHRleHBlY3QoT2JqZWN0LmtleXMoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMpLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRcdGRvbmUoKTtcblx0XHRcdFx0fSkuY2F0Y2goZXJyID0+IHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIuc3RhY2spO1xuXG5cdFx0XHRcdFx0Ly8gdGhpcyB3aWxsIGZhaWwgdGhlIHRlc3Rcblx0XHRcdFx0XHRleHBlY3QoZXJyKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdFx0ZG9uZSgpO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuZG9uZSgpO1xuXG5cdFx0fSkpO1xuXHR9KTtcblxuXHRkZXNjcmliZShcIkZyYWdtZW50RGF0YUNhY2hlLmNyZWF0ZVdoZW5SZWFkeVwiLCAoKSA9PiB7XG5cblx0XHRpdChcInJlc29sdmVzIHdpdGggYSBGcmFnbWVudERhdGFDYWNoZSB3aGVuIFRyaXRvbkFnZW50IHJlc29sdmVzXCIsIHdpdGhSbHNDb250ZXh0KGRvbmUgPT4ge1xuXHRcdFx0dmFyIFVSTCA9IFwiL2Rlc2NyaWJlXCI7XG5cblx0XHRcdFRyaXRvbkFnZW50LmdldChVUkwpXG5cdFx0XHRcdC50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0Ly8gZG8gbm90aGluZyBoZXJlXG5cdFx0XHRcdH0pO1xuXG5cdFx0XHRGcmFnbWVudERhdGFDYWNoZS5jcmVhdGVXaGVuUmVhZHkoKS50aGVuKGZyYWdtZW50Q29tcG9uZW50ID0+IHtcblx0XHRcdFx0ZXhwZWN0KGZyYWdtZW50Q29tcG9uZW50KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdHZhciBodG1sU3RyID0gUmVhY3RET01TZXJ2ZXIucmVuZGVyVG9TdGF0aWNNYXJrdXAoZnJhZ21lbnRDb21wb25lbnQpO1xuXHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHQsXHRkYXRhU3RyXG5cdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkYXRhU3RyID0gbm9kZS5hdHRyKFwiZGF0YS10cml0b24tZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0cGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoZGF0YVN0cik7XG5cblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1VSTF0pLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBVUkwpLnJlcy5ib2R5KS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHQvLyBpdCBzaG91bGQgaW5jbHVkZSB0aGUgcmVzLmJvZHkgcHJvcCBvbmx5XG5cdFx0XHRcdGV4cGVjdChPYmplY3Qua2V5cyhnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBVUkwpLnJlcykubGVuZ3RoKS50b0JlKDEpO1xuXG5cdFx0XHRcdGRvbmUoKTtcblx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKGVyci5zdGFjayk7XG5cdFx0XHRcdC8vIHRoaXMgd2lsbCBjYXVzZSB0aGUgdGVzdCB0byBmYWlsXG5cdFx0XHRcdGV4cGVjdChlcnIpLnRvQmVVbmRlZmluZWQoKTtcblx0XHRcdFx0ZG9uZSgpO1xuXHRcdFx0fSlcblx0XHRcdC5kb25lKCk7XG5cblx0XHR9KSk7XG5cblx0XHRpdChcInBhc3NlcyBhZGRpdGlvbmFsIHByb3BzIHRvIEZyYWdtZW50RGF0YUNhY2hlIHZpYSBvcHRpb25zIG9iamVjdFwiLCB3aXRoUmxzQ29udGV4dChkb25lID0+IHtcblx0XHRcdHZhciBVUkwgPSBcIi9kZXNjcmliZVwiO1xuXG5cdFx0XHRUcml0b25BZ2VudC5nZXQoVVJMKVxuXHRcdFx0XHQudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdC8vIGRvIG5vdGhpbmcgaGVyZVxuXHRcdFx0XHR9KTtcblxuXHRcdFx0RnJhZ21lbnREYXRhQ2FjaGUuY3JlYXRlV2hlblJlYWR5KHtjYWNoZU5vZGVJZDogJ2Zvb0JhckJheid9KS50aGVuKGZyYWdtZW50Q29tcG9uZW50ID0+IHtcblx0XHRcdFx0ZXhwZWN0KGZyYWdtZW50Q29tcG9uZW50KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdHZhciBodG1sU3RyID0gUmVhY3RET01TZXJ2ZXIucmVuZGVyVG9TdGF0aWNNYXJrdXAoZnJhZ21lbnRDb21wb25lbnQpO1xuXHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHQsXHRkYXRhU3RyXG5cdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgwKTtcblxuXHRcdFx0XHRub2RlID0gJCgnI2Zvb0JhckJheicpO1xuXHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZGF0YVN0ciA9IG5vZGUuYXR0cihcImRhdGEtdHJpdG9uLWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtVUkxdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMuYm9keSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0Ly8gaXQgc2hvdWxkIGluY2x1ZGUgdGhlIHJlcy5ib2R5IHByb3Agb25seVxuXHRcdFx0XHRleHBlY3QoT2JqZWN0LmtleXMoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgVVJMKS5yZXMpLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkb25lKCk7XG5cdFx0XHR9KS5jYXRjaChlcnIgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlcnIuc3RhY2spO1xuXHRcdFx0XHQvLyB0aGlzIHdpbGwgY2F1c2UgdGhlIHRlc3QgdG8gZmFpbFxuXHRcdFx0XHRleHBlY3QoZXJyKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdGRvbmUoKTtcblx0XHRcdH0pXG5cdFx0XHQuZG9uZSgpO1xuXG5cdFx0fSkpO1xuXG5cdFx0aXQoXCJkb2VzIHNvbWV0aGluZyByZWFzb25hYmxlIHdoZW4gYSByZXF1ZXN0IGVycm9yc1wiLCB3aXRoUmxzQ29udGV4dChkb25lID0+IHtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFwiL2Rlc2NyaWJlXCIpLnRoZW4ocmVzID0+IHt9KTtcblx0XHRcdFRyaXRvbkFnZW50LmdldChcIi9lcnJvclwiKS50aGVuKHJlcyA9PiB7fSk7XG5cblx0XHRcdEZyYWdtZW50RGF0YUNhY2hlLmNyZWF0ZVdoZW5SZWFkeSgpLnRoZW4oZnJhZ21lbnRDb21wb25lbnQgPT4ge1xuXG5cdFx0XHRcdGV4cGVjdChmcmFnbWVudENvbXBvbmVudCkudG9CZURlZmluZWQoKTtcblxuXHRcdFx0XHR2YXIgaHRtbFN0ciA9IFJlYWN0RE9NU2VydmVyLnJlbmRlclRvU3RhdGljTWFya3VwKGZyYWdtZW50Q29tcG9uZW50KTtcblx0XHRcdFx0dmFyICQgPSBjaGVlcmlvLmxvYWQoaHRtbFN0cik7XG5cblx0XHRcdFx0dmFyIG5vZGVcblx0XHRcdFx0LFx0ZGF0YVN0clxuXHRcdFx0XHQsXHRwYXJzZWREYXRhO1xuXG5cdFx0XHRcdG5vZGUgPSAkKFwiI3RyaXRvbi1mcmFnbWVudC1kYXRhLWNhY2hlXCIpO1xuXHRcdFx0XHRleHBlY3Qobm9kZS5sZW5ndGgpLnRvQmUoMSk7XG5cblx0XHRcdFx0ZGF0YVN0ciA9IG5vZGUuYXR0cihcImRhdGEtdHJpdG9uLWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdHBhcnNlZERhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGUpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtcIi9kZXNjcmliZVwiXSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFwiL2Rlc2NyaWJlXCIpLnJlcy5ib2R5KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZVtcIi9lcnJvclwiXSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KGdldFNpbmdsZUVudHJ5KHBhcnNlZERhdGEsIFwiL2Vycm9yXCIpLnJlcykudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZXJyb3JcIikuZXJyKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZXJyb3JcIikuZXJyLnJlc3BvbnNlKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZXJyb3JcIikuZXJyLnJlc3BvbnNlLmJvZHkpLnRvQmVEZWZpbmVkKCk7XG5cblx0XHRcdFx0Ly8gaXQgc2hvdWxkIGluY2x1ZGUgdGhlIHJlcy5ib2R5IHByb3Agb25seVxuXHRcdFx0XHRleHBlY3QoT2JqZWN0LmtleXMoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZGVzY3JpYmVcIikucmVzKS5sZW5ndGgpLnRvQmUoMSk7XG5cdFx0XHRcdGV4cGVjdChPYmplY3Qua2V5cyhnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBcIi9lcnJvclwiKS5lcnIucmVzcG9uc2UpLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkb25lKCk7XG5cdFx0XHR9KS5jYXRjaChlcnIgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlcnIuc3RhY2spO1xuXHRcdFx0XHQvLyB0aGlzIHdpbGwgY2F1c2UgdGhlIHRlc3QgdG8gZmFpbFxuXHRcdFx0XHRleHBlY3QoZXJyKS50b0JlVW5kZWZpbmVkKCk7XG5cdFx0XHRcdGRvbmUoKTtcblx0XHRcdH0pXG5cdFx0XHQuZG9uZSgpO1xuXG5cdFx0fSkpO1xuXG5cdFx0aXQoXCJkb2VzIHNvbWV0aGluZyByZWFzb25hYmxlIHdoZW4gYSByZXF1ZXN0IHRpbWVzIG91dFwiLCB3aXRoUmxzQ29udGV4dChkb25lID0+IHtcblxuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFwiL2Rlc2NyaWJlXCIpLnRoZW4ocmVzID0+IHt9KTtcblx0XHRcdFRyaXRvbkFnZW50LmdldChcIi90aW1lb3V0XCIpXG5cdFx0XHRcdC5xdWVyeSh7IGRlbGF5OiAxMDAwIH0pXG5cdFx0XHRcdC50aW1lb3V0KDEwMClcblx0XHRcdFx0LnRoZW4ocmVzID0+IHt9KTtcblxuXHRcdFx0RnJhZ21lbnREYXRhQ2FjaGUuY3JlYXRlV2hlblJlYWR5KCkudGhlbihmcmFnbWVudENvbXBvbmVudCA9PiB7XG5cblx0XHRcdFx0ZXhwZWN0KGZyYWdtZW50Q29tcG9uZW50KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdHZhciBodG1sU3RyID0gUmVhY3RET01TZXJ2ZXIucmVuZGVyVG9TdGF0aWNNYXJrdXAoZnJhZ21lbnRDb21wb25lbnQpO1xuXHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHQsXHRkYXRhU3RyXG5cdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkYXRhU3RyID0gbm9kZS5hdHRyKFwiZGF0YS10cml0b24tZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0cGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoZGF0YVN0cik7XG5cblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1wiL2Rlc2NyaWJlXCJdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvZGVzY3JpYmVcIikucmVzLmJvZHkpLnRvQmVEZWZpbmVkKCk7XG5cblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1wiL3RpbWVvdXRcIl0pLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBcIi90aW1lb3V0XCIpLnJlcykudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvdGltZW91dFwiKS5lcnIpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCBcIi90aW1lb3V0XCIpLmVyci5yZXNwb25zZSkudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QoZ2V0U2luZ2xlRW50cnkocGFyc2VkRGF0YSwgXCIvdGltZW91dFwiKS5lcnIudGltZW91dCkudG9CZURlZmluZWQoKTtcblxuXHRcdFx0XHRkb25lKCk7XG5cblx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKGVyci5zdGFjayk7XG5cdFx0XHRcdC8vIHRoaXMgd2lsbCBjYXVzZSB0aGUgdGVzdCB0byBmYWlsXG5cdFx0XHRcdGV4cGVjdChlcnIpLnRvQmVVbmRlZmluZWQoKTtcblx0XHRcdFx0ZG9uZSgpO1xuXHRcdFx0fSkuZG9uZSgpO1xuXG5cdFx0fSkpO1xuXG5cdFx0aXQoXCJkZWh5ZHJhdGVzIGFuIGFycmF5IG9mIGVudHJpZXMgd2hlbiB0d28gcmVxdWVzdHMgYXJlIG1hZGUgdG8gdGhlIHNhbWUgVVJMXCIsIHdpdGhSbHNDb250ZXh0KGRvbmUgPT4ge1xuXG5cdFx0XHRUcml0b25BZ2VudC5nZXQoXCIvZGVzY3JpYmVcIikucXVlcnkoe1wiZm9vXCI6IFwiYmFyXCJ9KS50aGVuKHJlcyA9PiByZXMpO1xuXHRcdFx0VHJpdG9uQWdlbnQuZ2V0KFwiL2Rlc2NyaWJlXCIpLnF1ZXJ5KHtcImZvb1wiOiBcImJhelwifSkudGhlbihyZXMgPT4gcmVzKTtcblxuXHRcdFx0RnJhZ21lbnREYXRhQ2FjaGUuY3JlYXRlV2hlblJlYWR5KCkudGhlbihmcmFnbWVudENvbXBvbmVudCA9PiB7XG5cblx0XHRcdFx0ZXhwZWN0KGZyYWdtZW50Q29tcG9uZW50KS50b0JlRGVmaW5lZCgpO1xuXG5cdFx0XHRcdHZhciBodG1sU3RyID0gUmVhY3RET01TZXJ2ZXIucmVuZGVyVG9TdGF0aWNNYXJrdXAoZnJhZ21lbnRDb21wb25lbnQpO1xuXHRcdFx0XHR2YXIgJCA9IGNoZWVyaW8ubG9hZChodG1sU3RyKTtcblxuXHRcdFx0XHR2YXIgbm9kZVxuXHRcdFx0XHQsXHRkYXRhU3RyXG5cdFx0XHRcdCxcdHBhcnNlZERhdGE7XG5cblx0XHRcdFx0bm9kZSA9ICQoXCIjdHJpdG9uLWZyYWdtZW50LWRhdGEtY2FjaGVcIik7XG5cdFx0XHRcdGV4cGVjdChub2RlLmxlbmd0aCkudG9CZSgxKTtcblxuXHRcdFx0XHRkYXRhU3RyID0gbm9kZS5hdHRyKFwiZGF0YS10cml0b24tZGF0YS1jYWNoZVwiKTtcblx0XHRcdFx0cGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoZGF0YVN0cik7XG5cblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEpLnRvQmVEZWZpbmVkKCk7XG5cdFx0XHRcdGV4cGVjdChwYXJzZWREYXRhLmRhdGFDYWNoZSkudG9CZURlZmluZWQoKTtcblx0XHRcdFx0ZXhwZWN0KHBhcnNlZERhdGEuZGF0YUNhY2hlW1wiL2Rlc2NyaWJlXCJdKS50b0JlRGVmaW5lZCgpO1xuXHRcdFx0XHRleHBlY3QocGFyc2VkRGF0YS5kYXRhQ2FjaGVbXCIvZGVzY3JpYmVcIl0ubGVuZ3RoKS50b0JlKDIpO1xuXG5cdFx0XHRcdGRvbmUoKTtcblxuXHRcdFx0fSkuY2F0Y2goZXJyID0+IHtcblx0XHRcdFx0Y29uc29sZS5sb2coZXJyLnN0YWNrKTtcblx0XHRcdFx0Ly8gdGhpcyB3aWxsIGNhdXNlIHRoZSB0ZXN0IHRvIGZhaWxcblx0XHRcdFx0ZXhwZWN0KGVycikudG9CZVVuZGVmaW5lZCgpO1xuXHRcdFx0XHRkb25lKCk7XG5cdFx0XHR9KS5kb25lKCk7XG5cdFx0fSkpO1xuXHR9KTtcblxuXHRmdW5jdGlvbiBnZXRTaW5nbGVFbnRyeShwYXJzZWREYXRhLCB1cmwpIHtcblx0XHR2YXIgZW50cnlPckFycmF5ID0gcGFyc2VkRGF0YS5kYXRhQ2FjaGVbdXJsXTtcblx0XHQvLyB3ZSBleHBlY3QgYSBfc2luZ2xlXyBlbnRyeVxuXHRcdGV4cGVjdChpc0FycmF5KGVudHJ5T3JBcnJheSkpLnRvQmVGYWxzeSgpO1xuXHRcdHJldHVybiBlbnRyeU9yQXJyYXk7XG5cdH1cblxufSk7XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display