http://git-wip-us.apache.org/repos/asf/incubator-myriad/blob/3ae7da2d/myriad-scheduler/src/main/resources/webapp/public/js/myriad.js ---------------------------------------------------------------------- diff --git a/myriad-scheduler/src/main/resources/webapp/public/js/myriad.js b/myriad-scheduler/src/main/resources/webapp/public/js/myriad.js index 67ccab1..541aa07 100644 --- a/myriad-scheduler/src/main/resources/webapp/public/js/myriad.js +++ b/myriad-scheduler/src/main/resources/webapp/public/js/myriad.js @@ -5,25 +5,33 @@ var FlexComponent = require('./components/FlexComponent') var TasksComponent = require('./components/TasksComponent') var ConfigComponent = require('./components/ConfigComponent') var AboutComponent = require('./components/AboutComponent') -var HelpComponent = require('./components/HelpComponent') -var ShutdownRmOnlyComponent = require('./components/ShutdownRmOnlyComponent') +var HelpComponent = require('./components/HelpComponent') var ShutdownFrameworkComponent = require('./components/ShutdownFrameworkComponent') var ShutdownGracefulComponent = require('./components/ShutdownGracefulComponent') + +var ShutdownGracefulComponent = require('./components/ShutdownGracefulComponent') var Router = require('react-router') + , RouteHandler= Router.RouteHandler + , Route = Router.Route + , Redirect = Router.Redirect; , RouteHandler = Router.RouteHandler + , RouteHandler= Router.RouteHandler , Route = Router.Route , Redirect = Router.Redirect; var routes = ( React.createElement(Route, {name: "myriad", path: "/", handler: Myriad}, - React.createElement(Route, React.__spread({name: "rmDown", path: "rmDown"}, this.props, {handler: ShutdownRmOnlyComponent})), React.createElement(Route, React.__spread({name: "frameworkDown", path: "frameworkDown"}, this.props, {handler: ShutdownFrameworkComponent})), - React.createElement(Route, React.__spread({name: "gracefulDown", path: "gracefulDown"}, this.props, {handler: ShutdownGracefulComponent})), React.createElement(Route, {name: "flex", path: "flex", handler: FlexComponent}), React.createElement(Route, {name: "tasks", path: "tasks", handler: TasksComponent}), React.createElement(Route, {name: "help", path: "help", handler: HelpComponent}), + React.createElement(Route, {name: "config", path: "config", handler: ConfigComponent}), + React.createElement(Route, {name: "about", path: "/", handler: AboutComponent}), + React.createElement(Redirect, {from: "myriad", to: "about"}) + React.createElement(Route, {name: "help", path: "help", handler: HelpComponent}), + React.createElement(Route, {name: "help", path: "help", handler: HelpComponent}), React.createElement(Route, {name: "config", path: "config", handler: ConfigComponent}), React.createElement(Route, {name: "about", path: "/", handler: AboutComponent}), React.createElement(Redirect, {from: "myriad", to: "about"}) @@ -39,11 +47,18 @@ Router.run(routes, function (Handler) { <<<<<<< HEAD },{"./components/AboutComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/AboutComponent.js","./components/ConfigComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/ConfigComponent.js","./components/FlexComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexComponent.js","./components/Myriad":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/Myriad.js","./components/TasksComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/TasksComponent.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-router":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/AboutComponent.js":[functio n(require,module,exports){ +======= +},{"./components/AboutComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/AboutComponent.js","./components/ConfigComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ConfigComponent.js","./components/FlexComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexComponent.js","./components/HelpComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/HelpComponent.js","./components/Myriad":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/Myriad.js","./components/ShutdownFrameworkComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ShutdownFrameworkComponent.js","./components/ShutdownGracefulComponent":"/home/pdread/wor kspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ShutdownGracefulComponent.js","./components/ShutdownRmOnlyComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ShutdownRmOnlyComponent.js","./components/TasksComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/TasksComponent.js","react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-router":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/AboutComponent.js":[function(require,module,exports){ +>>>>>>> 4721509... Update +<<<<<<< HEAD + +},{"./components/AboutComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/AboutComponent.js","./components/ConfigComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/ConfigComponent.js","./components/FlexComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexComponent.js","./components/Myriad":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/Myriad.js","./components/TasksComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/TasksComponent.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-router":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/AboutComponent.js":[functio n(require,module,exports){ },{"./components/AboutComponent":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/AboutComponent.js","./components/ConfigComponent":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/ConfigComponent.js","./components/FlexComponent":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexComponent.js","./components/Myriad":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/Myriad.js","./components/TasksComponent":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/TasksComponent.js","react":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-router":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js"}],"/Users/ashankar/MapR/santoshmyriad/myriad-sched uler/src/main/resources/webapp/js/components/AboutComponent.js":[function(require,module,exports){ },{"./components/AboutComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/AboutComponent.js","./components/ConfigComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/ConfigComponent.js","./components/FlexComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexComponent.js","./components/Myriad":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/Myriad.js","./components/TasksComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/TasksComponent.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-router":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/AboutComponent.js":[functio n(require,module,exports){ ======= },{"./components/AboutComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/AboutComponent.js","./components/ConfigComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ConfigComponent.js","./components/FlexComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexComponent.js","./components/HelpComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/HelpComponent.js","./components/Myriad":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/Myriad.js","./components/ShutdownFrameworkComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ShutdownFrameworkComponent.js","./components/ShutdownGracefulComponent":"/home/pdread/wor kspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ShutdownGracefulComponent.js","./components/ShutdownRmOnlyComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ShutdownRmOnlyComponent.js","./components/TasksComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/TasksComponent.js","react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-router":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/AboutComponent.js":[function(require,module,exports){ >>>>>>> 4721509... Update +},{"./components/AboutComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/AboutComponent.js","./components/ConfigComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ConfigComponent.js","./components/FlexComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexComponent.js","./components/HelpComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/HelpComponent.js","./components/Myriad":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/Myriad.js","./components/ShutdownFrameworkComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ShutdownFrameworkComponent.js","./components/TasksComponent":"/home/pdread/workspace/myri ad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/TasksComponent.js","react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-router":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/AboutComponent.js":[function(require,module,exports){ var React = require('react'); var AboutComponent = React.createClass({ @@ -76,13 +91,15 @@ var AboutComponent = React.createClass({ module.exports = AboutComponent; +<<<<<<< HEAD +},{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/ConfigComponent.js":[function(require,module,exports){ +======= },{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/ConfigComponent.js":[function(require,module,exports){ },{"react":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/ConfigComponent.js":[function(require,module,exports){ <<<<<<< HEAD },{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/ConfigComponent.js":[function(require,module,exports){ ======= },{"react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ConfigComponent.js":[function(require,module,exports){ ->>>>>>> 4721509... Update var React = require('react'); var ProfileComponent = require('../components/ProfileComponent'); var RawJSONComponent = require('../components/RawJSONComponent'); @@ -121,13 +138,15 @@ var ConfigComponent = React.createClass({ module.exports = ConfigComponent; +<<<<<<< HEAD +},{"../components/ProfileComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/ProfileComponent.js","../components/RawJSONComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/RawJSONComponent.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexComponent.js":[function(require,module,exports){ +======= },{"../components/ProfileComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/ProfileComponent.js","../components/RawJSONComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/RawJSONComponent.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexComponent.js":[function(require,module,exports){ },{"../components/ProfileComponent":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/ProfileComponent.js","../components/RawJSONComponent":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/RawJSONComponent.js","react":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexComponent.js":[function(require,module,exports){ <<<<<<< HEAD },{"../components/ProfileComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/ProfileComponent.js","../components/RawJSONComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/RawJSONComponent.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexComponent.js":[function(require,module,exports){ ======= },{"../components/ProfileComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ProfileComponent.js","../components/RawJSONComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/RawJSONComponent.js","react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexComponent.js":[function(require,module,exports){ ->>>>>>> 4721509... Update var React = require('react'); var FlexUpComponent = require('../components/FlexUpComponent'); var FlexDownComponent = require('../components/FlexDownComponent'); @@ -152,13 +171,15 @@ var FlexComponent = React.createClass({ module.exports = FlexComponent; +<<<<<<< HEAD +},{"../components/FlexDownComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexDownComponent.js","../components/FlexUpComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexUpComponent.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexDownComponent.js":[function(require,module,exports){ +======= },{"../components/FlexDownComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexDownComponent.js","../components/FlexUpComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexUpComponent.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexDownComponent.js":[function(require,module,exports){ },{"../components/FlexDownComponent":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexDownComponent.js","../components/FlexUpComponent":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexUpComponent.js","react":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexDownComponent.js":[function(require,module,exports){ <<<<<<< HEAD },{"../components/FlexDownComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexDownComponent.js","../components/FlexUpComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexUpComponent.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexDownComponent.js":[function(require,module,exports){ ======= },{"../components/FlexDownComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexDownComponent.js","../components/FlexUpComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexUpComponent.js","react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexDownComponent.js":[function(require,module,exports){ ->>>>>>> 4721509... Update var React = require('react'); var ReactBootstrap = require('react-bootstrap') , Input = ReactBootstrap.Input @@ -297,13 +318,15 @@ var FlexDownComponent = React.createClass({ module.exports = FlexDownComponent; +<<<<<<< HEAD +},{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexUpComponent.js":[function(require,module,exports){ +======= },{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexUpComponent.js":[function(require,module,exports){ },{"react":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js"}],"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexUpComponent.js":[function(require,module,exports){ <<<<<<< HEAD },{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexUpComponent.js":[function(require,module,exports){ ======= },{"react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/FlexUpComponent.js":[function(require,module,exports){ ->>>>>>> 4721509... Update var React = require('react'); var ReactBootstrap = require('react-bootstrap') , Input = ReactBootstrap.Input @@ -441,6 +464,9 @@ var FlexUpComponent = React.createClass({ module.exports = FlexUpComponent; +<<<<<<< HEAD +},{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/Myriad.js":[function(require,module,exports){ +======= },{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/Myriad.js":[function(require,module,exports){ },{"react":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js"}],"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/Myriad.js":[function(require,module,exports){ <<<<<<< HEAD @@ -455,30 +481,39 @@ var HelpComponent = React.createClass({ render: function () { return( React.createElement("div", null, - React.createElement("h4", null, "Myriad dropdown menu"), +<<<<<<< HEAD + React.createElement("h4", null, "Myriad dropdown menu"), React.createElement("ul", null, - React.createElement("li", null, "Shutdown RM Only"), - React.createElement("p", null, "Stop only the ResourceManager. The excutors and tasks continue to run."), - React.createElement("li", null, "Shutdown Framework, Stopping Driver"), - React.createElement("p", null, " This will stop the driver in failover mode, which will stop the executor and tasks, then stop the ResourceManager." + ' ' + - "This requires the ResourceManager to be either in HA mode or restarted so that it re-registers with Mesos. "), - React.createElement("li", null, "Shutdown Framework, Aborting Driver"), - React.createElement("p", null, " This will shutdown all the tasks, then send a FrameworkMessage shutdown to the executor, then exits the ResourceManager." + ' ' + - "This allows the ResourceManager to be started backup without requiring it to re-register or be in High Availability (HA) mode, great for testing.") - ), - React.createElement("h4", null, "Flex tab"), - React.createElement("p", null, "Allows you to stand up or stop task resources"), - React.createElement("h4", null, "Tasks tab"), - React.createElement("p", null, "Allows you to monitor running task states"), - React.createElement("h4", null, "Help menu"), - React.createElement("ul", null, - React.createElement("li", null, "Menu options"), - React.createElement("p", null, "This text"), - React.createElement("li", null, "About Myriad"), - React.createElement("p", null, "Description of Myriad and its profiles") - ), - React.createElement("h4", null, "Config tab"), - React.createElement("p", null, "Shows Myriad configuration information") + React.createElement("li", null, "Shutdown Framework, Stopping Driver"), + React.createElement("p", null, " This will stop the driver in failover mode, which will stop the executor and tasks, but not stop the ResourceManager.") + ), +======= + React.createElement("h4", null, "Myriad dropdown menu"), + React.createElement("ul", null, + React.createElement("li", null, "Shutdown Framework, Stopping Driver"), + React.createElement("p", null, " This will stop the driver in failover mode, which will stop the executor and tasks, but not stop the ResourceManager.") + ), +>>>>>>> db6e190... Update + React.createElement("h4", null, "Flex tab"), + React.createElement("p", null, "Allows you to stand up or stop task resources"), + React.createElement("h4", null, "Tasks tab"), + React.createElement("p", null, "Allows you to monitor running task states"), + React.createElement("h4", null, "Help menu"), + React.createElement("ul", null, +<<<<<<< HEAD + React.createElement("li", null, "Menu options"), + React.createElement("p", null, "This text"), + React.createElement("li", null, "About Myriad"), + React.createElement("p", null, "Description of Myriad and its profiles") +======= + React.createElement("li", null, "Menu options"), + React.createElement("p", null, "This text"), + React.createElement("li", null, "About Myriad"), + React.createElement("p", null, "Description of Myriad and its profiles") +>>>>>>> db6e190... Update + ), + React.createElement("h4", null, "Config tab"), + React.createElement("p", null, "Shows Myriad configuration information") ) )} @@ -488,7 +523,6 @@ module.exports = HelpComponent; },{"react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/Myriad.js":[function(require,module,exports){ ->>>>>>> 4721509... Update var React = require('react'); var NavbarComponent = require('../components/NavbarComponent'); @@ -595,13 +629,15 @@ var Myriad = React.createClass({ module.exports = Myriad; +<<<<<<< HEAD +},{"../components/NavbarComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/NavbarComponent.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-router":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js","xml2js":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/xml2js/lib/xml2js.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/NavbarComponent.js":[function(require,module,exports){ +======= },{"../components/NavbarComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/NavbarComponent.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-router":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js","xml2js":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/xml2js/lib/xml2js.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/NavbarComponent.js":[function(require,module,exports){ },{"../components/NavbarComponent":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/NavbarComponent.js","react":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-router":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js","xml2js":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/xml2js/lib/xml2js.js"}],"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/NavbarComponent.js":[function(require,module,exports){ <<<<<<< HEAD },{"../components/NavbarComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/NavbarComponent.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-router":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js","xml2js":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/xml2js/lib/xml2js.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/NavbarComponent.js":[function(require,module,exports){ ======= },{"../components/NavbarComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/NavbarComponent.js","react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-router":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js","xml2js":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/xml2js/lib/xml2js.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/NavbarComponent.js":[function(require,module,exports){ ->>>>>>> 4721509... Update var React = require('react'); var ReactBootstrap = require('react-bootstrap') @@ -622,31 +658,37 @@ var NavbarComponent = React.createClass({displayName: "NavbarComponent", render: function () { return( <<<<<<< HEAD +======= + +>>>>>>> db6e190... Update React.createElement(Navbar, {fixedTop: true, inverse: true}, - React.createElement(Nav, null, + React.createElement(Nav, null, React.createElement("a", {className: "navbar-brand", href: "#"}, React.createElement("img", {src: "/img/navbar_logo.png"}) ) +<<<<<<< HEAD ======= - React.createElement(Navbar, {fixedTop: true}, + ), React.createElement(Nav, {bsStyle: "tabs"}, React.createElement(DropdownButton, {title: "Myriad", naveItem: true}, - React.createElement(NavItemLink, {to: "rmDown"}, "Shutdown RM Only"), - React.createElement(NavItemLink, {to: "frameworkDown"}, "Shutdown Framework, Stopping Driver"), - React.createElement(NavItemLink, {to: "gracefulDown"}, "Shutdown Framework, Aborting Driver") + React.createElement(NavItemLink, {to: "frameworkDown"}, "Shutdown Framework") ) ->>>>>>> 4721509... Update +>>>>>>> db6e190... Update ), + React.createElement(Nav, {bsStyle: "tabs"}, + React.createElement(DropdownButton, {title: "Myriad", naveItem: true}, + React.createElement(NavItemLink, {to: "frameworkDown"}, "Shutdown Framework") + ) + ), React.createElement(Nav, null, React.createElement(NavItemLink, {to: "flex"}, "Flex"), React.createElement(NavItemLink, {to: "tasks"}, "Tasks") ), - React.createElement(Nav, {bsStyle: "tabs"}, - React.createElement(DropdownButton, {title: "Help", naveItem: true}, - React.createElement(NavItemLink, {to: "help"}, "Menu Options"), - React.createElement(NavItemLink, {to: "about"}, "About Myriad") - ) + React.createElement(DropdownButton, {title: "Help", naveItem: true}, + React.createElement(NavItemLink, {to: "help"}, "Menu Options"), + React.createElement(NavItemLink, {to: "about"}, "About Myriad") + ) ), React.createElement(Nav, {right: true}, @@ -664,13 +706,15 @@ var NavbarComponent = React.createClass({displayName: "NavbarComponent", module.exports = NavbarComponent; +<<<<<<< HEAD +},{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router-bootstrap":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router-bootstrap/lib/index.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/ProfileComponent.js":[function(require,module,exports){ +======= },{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router-bootstrap":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router-bootstrap/lib/index.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/ProfileComponent.js":[function(require,module,exports){ },{"react":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router-bootstrap":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router-bootstrap/lib/index.js"}],"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/ProfileComponent.js":[function(require,module,exports){ <<<<<<< HEAD },{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router-bootstrap":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router-bootstrap/lib/index.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/ProfileComponent.js":[function(require,module,exports){ ======= },{"react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router-bootstrap":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router-bootstrap/lib/index.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ProfileComponent.js":[function(require,module,exports){ ->>>>>>> 4721509... Update var React = require('react'); var ProfileComponent = React.createClass({ @@ -694,13 +738,15 @@ var ProfileComponent = React.createClass({ module.exports = ProfileComponent; +<<<<<<< HEAD +},{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/RawJSONComponent.js":[function(require,module,exports){ +======= },{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/RawJSONComponent.js":[function(require,module,exports){ },{"react":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/RawJSONComponent.js":[function(require,module,exports){ <<<<<<< HEAD },{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/RawJSONComponent.js":[function(require,module,exports){ ======= },{"react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/RawJSONComponent.js":[function(require,module,exports){ ->>>>>>> 4721509... Update var React = require('react'); @@ -721,6 +767,9 @@ var RawJSONComponent = React.createClass({ module.exports = RawJSONComponent; +<<<<<<< HEAD +},{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/TaskListComponent.js":[function(require,module,exports){ +======= },{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/TaskListComponent.js":[function(require,module,exports){ },{"react":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/TaskListComponent.js":[function(require,module,exports){ <<<<<<< HEAD @@ -756,8 +805,7 @@ var XModal = React.createClass({displayName: "XModal", render() { return ( React.createElement(Modal, React.__spread({}, this.props, {bsStyle: "primary", id: "shutdownModal", title: "Shutdown Myriad Framework ?", animation: false, onRequestHide: this.handleToggle}), React.createElement("div", {className: "modal-body"}, - React.createElement("p", null, " This will stop the driver in failover mode, which will stop the executor and tasks, then stop the ResourceManager."), - React.createElement("p", null, " This requires the ResourceManager to be either in HA mode or restarted so that it re-registers with Mesos. ") + React.createElement("p", null, " This will stop the driver in failover mode, which will stop the executor and tasks, but not stop the ResourceManager.") ), React.createElement("div", {className: "modal-footer"}, React.createElement(Button, {bsStyle: "default", onClick: function() { @@ -812,183 +860,7 @@ var ShutdownFrameworkComponent = React.createClass({ module.exports = ShutdownFrameworkComponent; -},{"react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ShutdownGracefulComponent.js":[function(require,module,exports){ -var React = require('react'); -var ReactBootstrap = require('react-bootstrap') - , Button = ReactBootstrap.Button - , Modal = ReactBootstrap.Modal; - -var OverlayMixin = ReactBootstrap.OverlayMixin; -var Navigation = require('react-router').Navigation; -var request = require('superagent'); - -var XModalGrace = React.createClass({displayName: "XModalGrace", - mixins: [OverlayMixin], - - getInitialState() { - return { - isModalOpen: false - }; - }, - - handleToggle() { - // For whatever reason this toggle does not work as claimed on line....so cheat. - if (!this.state.isModalOpen) - document.getElementById('shutdownModalXModalGrace').style.visibility = "hidden"; - this.setState({ - isModalOpen: !this.state.isModalOpen - }); - }, - - render() { - return ( React.createElement(Modal, React.__spread({}, this.props, {bsStyle: "primary", id: "shutdownModalXModalGrace", title: "Shutdown Myriad Gracefully?", animation: false, onRequestHide: this.handleToggle}), - React.createElement("div", {className: "modal-body"}, - React.createElement("p", null, " This will shutdown all the tasks, then send a FrameworkMessage shutdown to the executor, then exits the ResourceManager. "), - React.createElement("p", null, " This allows the ResourceManager to be started backup without requiring it to re-register or be in HA mode, great for testing.") - ), - React.createElement("div", {className: "modal-footer"}, - React.createElement(Button, {bsStyle: "default", onClick: function() { - this.handleToggle - this.props.onCancel(); - }.bind(this)}, "Cancel"), - React.createElement(Button, {bsStyle: "success", onClick: function(){ - this.handleToggle(); - this.props.onShutdown(); - }.bind(this)}, "Continue") - ) - )); - }, - - renderOverlay() { - return React.createElement("span", null); - } -}); - -var ShutdownGracefulComponent = React.createClass({ - mixins: [Navigation], - - displayName: "ShutdownGracefulComponent", - - render() { - return ( - React.createElement(XModalGrace, {onShutdown: this.onRequestShutdown, onCancel: this.onCancel}) - ); - }, - onCancel : function() { - console.log("onCancel"); - this.transitionTo("tasks"); - }, - onRequestShutdown: function() { - console.log( "shutting down Myriad .... "); - request.get('/api/framework/shutdown/graceful') - .set('Content-Type', 'application/json') - .end(function(err, res){ - console.log("Result from /api/framework/shutdown/graceful"); - console.log(res); - if (!err) { - console.log("Shutdown myriad graceful successful!"); - } else { - console.log('Shutdown myriad graceful failed: ' + res.text); - } - }.bind(this)); - - this.transitionTo("tasks"); - }, - -}); - -module.exports = ShutdownGracefulComponent; - - -},{"react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/ShutdownRmOnlyComponent.js":[function(require,module,exports){ -var React = require('react'); -var ReactBootstrap = require('react-bootstrap') - , Button = ReactBootstrap.Button - , Modal = ReactBootstrap.Modal; - -var OverlayMixin = ReactBootstrap.OverlayMixin; -var Navigation = require('react-router').Navigation; -var request = require('superagent'); - -var XModalRMOnly = React.createClass({displayName: "XModalRMOnly", - mixins: [OverlayMixin], - - getInitialState() { - return { - isModalOpen: false - }; - }, - - handleToggle() { - // For whatever reason this toggle does not work as claimed on line....so cheat. - if (!this.state.isModalOpen) - document.getElementById('shutdownModalXModalRMOnly').style.visibility = "hidden"; - this.setState({ - isModalOpen: !this.state.isModalOpen - }); - - }, - render() { - return ( React.createElement(Modal, React.__spread({}, this.props, {bsStyle: "primary", id: "shutdownModalXModalRMOnly", title: "Shutdown RM Only ?", animation: false, onRequestHide: this.handleToggle}), - React.createElement("div", {className: "modal-body"}, - React.createElement("p", null, "This will only stop the ResourceManager, the executor and tasks will continure to run. ") - ), - React.createElement("div", {className: "modal-footer"}, - React.createElement(Button, {bsStyle: "default", onClick: function() { - this.handleToggle(); - this.props.onCancel(); - }.bind(this)}, "Cancel"), - React.createElement(Button, {bsStyle: "success", onClick: function(){ - this.handleToggle(); - this.props.onShutdown(); - }.bind(this)}, "Continue") - ) - )); - }, - - renderOverlay() { - return React.createElement("span", null); - } -}); - -var ShutdownRmOnlyComponent = React.createClass({ - mixins: [Navigation], - - displayName: "ShutdownRmOnlyComponent", - - render() { - return ( - React.createElement(XModalRMOnly, {onShutdown: this.onRequestShutdown, onCancel: this.onCancel}) - ); - }, - - onCancel : function() { - this.transitionTo("tasks"); - }, - onRequestShutdown: function() { - console.log( "shutting down Myriad .... "); - request.get('/api/framework/shutdown/managerOnly') - .set('Content-Type', 'application/json') - .end(function(err, res){ - console.log("Result from /api/framework/shutdown/managerOnly"); - console.log(res); - if (!err) { - console.log("Shutdown RM Only successful!"); - } else { - console.log('Shutdown RM Only failed: ' + res.text); - } - }.bind(this)); - - this.transitionTo("tasks"); - }, - -}); - -module.exports = ShutdownRmOnlyComponent; - - },{"react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js","react-bootstrap":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-bootstrap/lib/main.js","react-router":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react-router/lib/index.js","superagent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/superagent/lib/client.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/TaskListComponent.js":[function(require,module,exports){ ->>>>>>> 4721509... Update var React = require('react'); var TaskListComponent = React.createClass({ @@ -1010,13 +882,15 @@ var TaskListComponent = React.createClass({ module.exports = TaskListComponent; +<<<<<<< HEAD +},{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/TasksComponent.js":[function(require,module,exports){ +======= },{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/TasksComponent.js":[function(require,module,exports){ },{"react":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/TasksComponent.js":[function(require,module,exports){ <<<<<<< HEAD },{"react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/TasksComponent.js":[function(require,module,exports){ ======= },{"react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/TasksComponent.js":[function(require,module,exports){ ->>>>>>> 4721509... Update var React = require('react'); var TaskListComponent = require('../components/TaskListComponent'); var changeCase = require('change-case'); @@ -1056,6 +930,11 @@ var TasksComponent = React.createClass({ module.exports = TasksComponent; +<<<<<<< HEAD +},{"../components/TaskListComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/TaskListComponent.js","change-case":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/change-case/change-case.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/browser-resolve/empty.js":[function(require,module,exports){ + +},{}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/buffer/index.js":[function(require,module,exports){ +======= },{"../components/TaskListComponent":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/js/components/TaskListComponent.js","change-case":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/change-case/change-case.js","react":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/browser-resolve/empty.js":[function(require,module,exports){ },{"../components/TaskListComponent":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/js/components/TaskListComponent.js","change-case":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/change-case/change-case.js","react":"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/Users/ashankar/MapR/santoshmyriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/browser-resolve/empty.js":[function(require,module,exports){ <<<<<<< HEAD @@ -1069,7 +948,6 @@ module.exports = TasksComponent; },{"../components/TaskListComponent":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/js/components/TaskListComponent.js","change-case":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/change-case/change-case.js","react":"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/react/react.js"}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/browser-resolve/empty.js":[function(require,module,exports){ },{}],"/home/pdread/workspace/myriad-55-destroy-myriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/buffer/index.js":[function(require,module,exports){ ->>>>>>> 4721509... Update /*! * The buffer module from node.js, for the browser. * @@ -2623,6 +2501,9 @@ function decodeUtf8Char (str) { } } +<<<<<<< HEAD +},{"base64-js":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/buffer/node_modules/base64-js/lib/b64.js","ieee754":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/buffer/node_modules/ieee754/index.js","is-array":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/buffer/node_modules/is-array/index.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/buffer/node_modules/base64-js/lib/b64.js":[function(require,module,exports){ +======= },{"base64-js":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/buffer/node_modules/base64-js/lib/b64.js","ieee754":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/buffer/node_modules/ieee754/index.js","is-array":"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/buffer/node_modules/is-array/index.js"}],"/Users/klucar/code/myriad/myriad-scheduler/src/main/resources/webapp/node_modules/browserify/node_modules/buffer/node_modules/base64-js/lib/b64.js":[function(require,module,exports){ }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) //# sourceMappingURL=data:application/json;charset:utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Q UFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0 E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F BQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ UNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQT tBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7 QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ 0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0 FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBUaGUgYnVmZmVyIG1vZHVsZSBmcm9tIG5vZGUuanMsIGZvciB0aGUgYnJvd3Nlci5cbiAqXG4gKiBAYXV0aG9yICAgRmVyb3NzIEFib3VraGFkaWplaCA8ZmVyb3NzQGZlcm9zcy5vcmc+IDxodHRwOi8vZmVyb3NzLm9yZz5cbiAqIEBsaWNlbnNlICBNSVRcbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG8gKi9cblxudmFyIGJhc2U2NCA9IHJlcXVpcmUoJ2Jhc2U2NC1qcycpXG52YXIgaWVlZTc1NCA9IHJlcXVpcmUoJ2llZWU3NTQnKVxudmFyIGlzQXJyYXkgPSByZXF1aXJlKCdpcy1hcnJ heScpXG5cbmV4cG9ydHMuQnVmZmVyID0gQnVmZmVyXG5leHBvcnRzLlNsb3dCdWZmZXIgPSBTbG93QnVmZmVyXG5leHBvcnRzLklOU1BFQ1RfTUFYX0JZVEVTID0gNTBcbkJ1ZmZlci5wb29sU2l6ZSA9IDgxOTIgLy8gbm90IHVzZWQgYnkgdGhpcyBpbXBsZW1lbnRhdGlvblxuXG52YXIgcm9vdFBhcmVudCA9IHt9XG5cbi8qKlxuICogSWYgYEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUYDpcbiAqICAgPT09IHRydWUgICAgVXNlIFVpbnQ4QXJyYXkgaW1wbGVtZW50YXRpb24gKGZhc3Rlc3QpXG4gKiAgID09PSBmYWxzZSAgIFVzZSBPYmplY3QgaW1wbGVtZW50YXRpb24gKG1vc3QgY29tcGF0aWJsZSwgZXZlbiBJRTYpXG4gKlxuICogQnJvd3NlcnMgdGhhdCBzdXBwb3J0IHR5cGVkIGFycmF5cyBhcmUgSUUgMTArLCBGaXJlZm94IDQrLCBDaHJvbWUgNyssIFNhZmFyaSA1LjErLFxuICogT3BlcmEgMTEuNissIGlPUyA0LjIrLlxuICpcbiAqIER1ZSB0byB2YXJpb3VzIGJyb3dzZXIgYnVncywgc29tZXRpbWVzIHRoZSBPYmplY3QgaW1wbGVtZW50YXRpb24gd2lsbCBiZSB1c2VkIGV2ZW5cbiAqIHdoZW4gdGhlIGJyb3dzZXIgc3VwcG9ydHMgdHlwZWQgYXJyYXlzLlxuICpcbiAqIE5vdGU6XG4gKlxuICogICAtIEZpcmVmb3ggNC0yOSBsYWNrcyBzdXBwb3J0IGZvciBhZGRpbmcgbmV3IHByb3BlcnRpZXMgdG8gYFVpbnQ4QXJyYXlgIGluc3RhbmNlcyxcbiAqICAgICBTZWU6IGh0dHBzOi8vYnVnemlsbGEubW96aWxs YS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQzOC5cbiAqXG4gKiAgIC0gU2FmYXJpIDUtNyBsYWNrcyBzdXBwb3J0IGZvciBjaGFuZ2luZyB0aGUgYE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3JgIHByb3BlcnR5XG4gKiAgICAgb24gb2JqZWN0cy5cbiAqXG4gKiAgIC0gQ2hyb21lIDktMTAgaXMgbWlzc2luZyB0aGUgYFR5cGVkQXJyYXkucHJvdG90eXBlLnN1YmFycmF5YCBmdW5jdGlvbi5cbiAqXG4gKiAgIC0gSUUxMCBoYXMgYSBicm9rZW4gYFR5cGVkQXJyYXkucHJvdG90eXBlLnN1YmFycmF5YCBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFycmF5cyBvZlxuICogICAgIGluY29ycmVjdCBsZW5ndGggaW4gc29tZSBzaXR1YXRpb25zLlxuXG4gKiBXZSBkZXRlY3QgdGhlc2UgYnVnZ3kgYnJvd3NlcnMgYW5kIHNldCBgQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlRgIHRvIGBmYWxzZWAgc28gdGhleVxuICogZ2V0IHRoZSBPYmplY3QgaW1wbGVtZW50YXRpb24sIHdoaWNoIGlzIHNsb3dlciBidXQgYmVoYXZlcyBjb3JyZWN0bHkuXG4gKi9cbkJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUID0gZ2xvYmFsLlRZUEVEX0FSUkFZX1NVUFBPUlQgIT09IHVuZGVmaW5lZFxuICA/IGdsb2JhbC5UWVBFRF9BUlJBWV9TVVBQT1JUXG4gIDogdHlwZWRBcnJheVN1cHBvcnQoKVxuXG5mdW5jdGlvbiB0eXBlZEFycmF5U3VwcG9ydCAoKSB7XG4gIGZ1bmN0aW9uIEJhciAoKSB7fVxuICB0cnkge1xuICAgIHZhciBhcnIgPSBuZ XcgVWludDhBcnJheSgxKVxuICAgIGFyci5mb28gPSBmdW5jdGlvbiAoKSB7IHJldHVybiA0MiB9XG4gICAgYXJyLmNvbnN0cnVjdG9yID0gQmFyXG4gICAgcmV0dXJuIGFyci5mb28oKSA9PT0gNDIgJiYgLy8gdHlwZWQgYXJyYXkgaW5zdGFuY2VzIGNhbiBiZSBhdWdtZW50ZWRcbiAgICAgICAgYXJyLmNvbnN0cnVjdG9yID09PSBCYXIgJiYgLy8gY29uc3RydWN0b3IgY2FuIGJlIHNldFxuICAgICAgICB0eXBlb2YgYXJyLnN1YmFycmF5ID09PSAnZnVuY3Rpb24nICYmIC8vIGNocm9tZSA5LTEwIGxhY2sgYHN1YmFycmF5YFxuICAgICAgICBhcnIuc3ViYXJyYXkoMSwgMSkuYnl0ZUxlbmd0aCA9PT0gMCAvLyBpZTEwIGhhcyBicm9rZW4gYHN1YmFycmF5YFxuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxuZnVuY3Rpb24ga01heExlbmd0aCAoKSB7XG4gIHJldHVybiBCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVFxuICAgID8gMHg3ZmZmZmZmZlxuICAgIDogMHgzZmZmZmZmZlxufVxuXG4vKipcbiAqIENsYXNzOiBCdWZmZXJcbiAqID09PT09PT09PT09PT1cbiAqXG4gKiBUaGUgQnVmZmVyIGNvbnN0cnVjdG9yIHJldHVybnMgaW5zdGFuY2VzIG9mIGBVaW50OEFycmF5YCB0aGF0IGFyZSBhdWdtZW50ZWRcbiAqIHdpdGggZnVuY3Rpb24gcHJvcGVydGllcyBmb3IgYWxsIHRoZSBub2RlIGBCdWZmZXJgIEFQSSBmdW5jdGlvbnMuIFdlIHVzZVxuICogYFVpbnQ4QXJyYXlgIHNvIHRoYX Qgc3F1YXJlIGJyYWNrZXQgbm90YXRpb24gd29ya3MgYXMgZXhwZWN0ZWQgLS0gaXQgcmV0dXJuc1xuICogYSBzaW5nbGUgb2N0ZXQuXG4gKlxuICogQnkgYXVnbWVudGluZyB0aGUgaW5zdGFuY2VzLCB3ZSBjYW4gYXZvaWQgbW9kaWZ5aW5nIHRoZSBgVWludDhBcnJheWBcbiAqIHByb3RvdHlwZS5cbiAqL1xuZnVuY3Rpb24gQnVmZmVyIChhcmcpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIEJ1ZmZlcikpIHtcbiAgICAvLyBBdm9pZCBnb2luZyB0aHJvdWdoIGFuIEFyZ3VtZW50c0FkYXB0b3JUcmFtcG9saW5lIGluIHRoZSBjb21tb24gY2FzZS5cbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIHJldHVybiBuZXcgQnVmZmVyKGFyZywgYXJndW1lbnRzWzFdKVxuICAgIHJldHVybiBuZXcgQnVmZmVyKGFyZylcbiAgfVxuXG4gIHRoaXMubGVuZ3RoID0gMFxuICB0aGlzLnBhcmVudCA9IHVuZGVmaW5lZFxuXG4gIC8vIENvbW1vbiBjYXNlLlxuICBpZiAodHlwZW9mIGFyZyA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gZnJvbU51bWJlcih0aGlzLCBhcmcpXG4gIH1cblxuICAvLyBTbGlnaHRseSBsZXNzIGNvbW1vbiBjYXNlLlxuICBpZiAodHlwZW9mIGFyZyA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZnJvbVN0cmluZyh0aGlzLCBhcmcsIGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogJ3V0ZjgnKVxuICB9XG5cbiAgLy8gVW51c3VhbC5cbiAgcmV0dXJuIGZyb21PYmplY3Q odGhpcywgYXJnKVxufVxuXG5mdW5jdGlvbiBmcm9tTnVtYmVyICh0aGF0LCBsZW5ndGgpIHtcbiAgdGhhdCA9IGFsbG9jYXRlKHRoYXQsIGxlbmd0aCA8IDAgPyAwIDogY2hlY2tlZChsZW5ndGgpIHwgMClcbiAgaWYgKCFCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoYXRbaV0gPSAwXG4gICAgfVxuICB9XG4gIHJldHVybiB0aGF0XG59XG5cbmZ1bmN0aW9uIGZyb21TdHJpbmcgKHRoYXQsIHN0cmluZywgZW5jb2RpbmcpIHtcbiAgaWYgKHR5cGVvZiBlbmNvZGluZyAhPT0gJ3N0cmluZycgfHwgZW5jb2RpbmcgPT09ICcnKSBlbmNvZGluZyA9ICd1dGY4J1xuXG4gIC8vIEFzc3VtcHRpb246IGJ5dGVMZW5ndGgoKSByZXR1cm4gdmFsdWUgaXMgYWx3YXlzIDwga01heExlbmd0aC5cbiAgdmFyIGxlbmd0aCA9IGJ5dGVMZW5ndGgoc3RyaW5nLCBlbmNvZGluZykgfCAwXG4gIHRoYXQgPSBhbGxvY2F0ZSh0aGF0LCBsZW5ndGgpXG5cbiAgdGhhdC53cml0ZShzdHJpbmcsIGVuY29kaW5nKVxuICByZXR1cm4gdGhhdFxufVxuXG5mdW5jdGlvbiBmcm9tT2JqZWN0ICh0aGF0LCBvYmplY3QpIHtcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihvYmplY3QpKSByZXR1cm4gZnJvbUJ1ZmZlcih0aGF0LCBvYmplY3QpXG5cbiAgaWYgKGlzQXJyYXkob2JqZWN0KSkgcmV0dXJuIGZyb21BcnJheSh0aGF0LCBvYmplY3QpXG5cbiAgaWYgKG9iamVj dCA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignbXVzdCBzdGFydCB3aXRoIG51bWJlciwgYnVmZmVyLCBhcnJheSBvciBzdHJpbmcnKVxuICB9XG5cbiAgaWYgKHR5cGVvZiBBcnJheUJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBpZiAob2JqZWN0LmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSB7XG4gICAgICByZXR1cm4gZnJvbVR5cGVkQXJyYXkodGhhdCwgb2JqZWN0KVxuICAgIH1cbiAgICBpZiAob2JqZWN0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpIHtcbiAgICAgIHJldHVybiBmcm9tQXJyYXlCdWZmZXIodGhhdCwgb2JqZWN0KVxuICAgIH1cbiAgfVxuXG4gIGlmIChvYmplY3QubGVuZ3RoKSByZXR1cm4gZnJvbUFycmF5TGlrZSh0aGF0LCBvYmplY3QpXG5cbiAgcmV0dXJuIGZyb21Kc29uT2JqZWN0KHRoYXQsIG9iamVjdClcbn1cblxuZnVuY3Rpb24gZnJvbUJ1ZmZlciAodGhhdCwgYnVmZmVyKSB7XG4gIHZhciBsZW5ndGggPSBjaGVja2VkKGJ1ZmZlci5sZW5ndGgpIHwgMFxuICB0aGF0ID0gYWxsb2NhdGUodGhhdCwgbGVuZ3RoKVxuICBidWZmZXIuY29weSh0aGF0LCAwLCAwLCBsZW5ndGgpXG4gIHJldHVybiB0aGF0XG59XG5cbmZ1bmN0aW9uIGZyb21BcnJheSAodGhhdCwgYXJyYXkpIHtcbiAgdmFyIGxlbmd0aCA9IGNoZWNrZWQoYXJyYXkubGVuZ3RoKSB8IDBcbiAgdGhhdCA9IGFsbG9jYXRlKHRoYXQsIGxlbmd0aClcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZ W5ndGg7IGkgKz0gMSkge1xuICAgIHRoYXRbaV0gPSBhcnJheVtpXSAmIDI1NVxuICB9XG4gIHJldHVybiB0aGF0XG59XG5cbi8vIER1cGxpY2F0ZSBvZiBmcm9tQXJyYXkoKSB0byBrZWVwIGZyb21BcnJheSgpIG1vbm9tb3JwaGljLlxuZnVuY3Rpb24gZnJvbVR5cGVkQXJyYXkgKHRoYXQsIGFycmF5KSB7XG4gIHZhciBsZW5ndGggPSBjaGVja2VkKGFycmF5Lmxlbmd0aCkgfCAwXG4gIHRoYXQgPSBhbGxvY2F0ZSh0aGF0LCBsZW5ndGgpXG4gIC8vIFRydW5jYXRpbmcgdGhlIGVsZW1lbnRzIGlzIHByb2JhYmx5IG5vdCB3aGF0IHBlb3BsZSBleHBlY3QgZnJvbSB0eXBlZFxuICAvLyBhcnJheXMgd2l0aCBCWVRFU19QRVJfRUxFTUVOVCA+IDEgYnV0IGl0J3MgY29tcGF0aWJsZSB3aXRoIHRoZSBiZWhhdmlvclxuICAvLyBvZiB0aGUgb2xkIEJ1ZmZlciBjb25zdHJ1Y3Rvci5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkgKz0gMSkge1xuICAgIHRoYXRbaV0gPSBhcnJheVtpXSAmIDI1NVxuICB9XG4gIHJldHVybiB0aGF0XG59XG5cbmZ1bmN0aW9uIGZyb21BcnJheUJ1ZmZlciAodGhhdCwgYXJyYXkpIHtcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgLy8gUmV0dXJuIGFuIGF1Z21lbnRlZCBgVWludDhBcnJheWAgaW5zdGFuY2UsIGZvciBiZXN0IHBlcmZvcm1hbmNlXG4gICAgYXJyYXkuYnl0ZUxlbmd0aFxuICAgIHRoYXQgPSBCdWZmZXIuX2F1Z21lbnQobmV3IFVpbnQ4QX JyYXkoYXJyYXkpKVxuICB9IGVsc2Uge1xuICAgIC8vIEZhbGxiYWNrOiBSZXR1cm4gYW4gb2JqZWN0IGluc3RhbmNlIG9mIHRoZSBCdWZmZXIgY2xhc3NcbiAgICB0aGF0ID0gZnJvbVR5cGVkQXJyYXkodGhhdCwgbmV3IFVpbnQ4QXJyYXkoYXJyYXkpKVxuICB9XG4gIHJldHVybiB0aGF0XG59XG5cbmZ1bmN0aW9uIGZyb21BcnJheUxpa2UgKHRoYXQsIGFycmF5KSB7XG4gIHZhciBsZW5ndGggPSBjaGVja2VkKGFycmF5Lmxlbmd0aCkgfCAwXG4gIHRoYXQgPSBhbGxvY2F0ZSh0aGF0LCBsZW5ndGgpXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IDEpIHtcbiAgICB0aGF0W2ldID0gYXJyYXlbaV0gJiAyNTVcbiAgfVxuICByZXR1cm4gdGhhdFxufVxuXG4vLyBEZXNlcmlhbGl6ZSB7IHR5cGU6ICdCdWZmZXInLCBkYXRhOiBbMSwyLDMsLi4uXSB9IGludG8gYSBCdWZmZXIgb2JqZWN0LlxuLy8gUmV0dXJucyBhIHplcm8tbGVuZ3RoIGJ1ZmZlciBmb3IgaW5wdXRzIHRoYXQgZG9uJ3QgY29uZm9ybSB0byB0aGUgc3BlYy5cbmZ1bmN0aW9uIGZyb21Kc29uT2JqZWN0ICh0aGF0LCBvYmplY3QpIHtcbiAgdmFyIGFycmF5XG4gIHZhciBsZW5ndGggPSAwXG5cbiAgaWYgKG9iamVjdC50eXBlID09PSAnQnVmZmVyJyAmJiBpc0FycmF5KG9iamVjdC5kYXRhKSkge1xuICAgIGFycmF5ID0gb2JqZWN0LmRhdGFcbiAgICBsZW5ndGggPSBjaGVja2VkKGFycmF5Lmxlbmd0aCkgfCAwXG4gIH1cbiAgdGhhdCA9IGF sbG9jYXRlKHRoYXQsIGxlbmd0aClcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSArPSAxKSB7XG4gICAgdGhhdFtpXSA9IGFycmF5W2ldICYgMjU1XG4gIH1cbiAgcmV0dXJuIHRoYXRcbn1cblxuaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gIEJ1ZmZlci5wcm90b3R5cGUuX19wcm90b19fID0gVWludDhBcnJheS5wcm90b3R5cGVcbiAgQnVmZmVyLl9fcHJvdG9fXyA9IFVpbnQ4QXJyYXlcbn1cblxuZnVuY3Rpb24gYWxsb2NhdGUgKHRoYXQsIGxlbmd0aCkge1xuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICAvLyBSZXR1cm4gYW4gYXVnbWVudGVkIGBVaW50OEFycmF5YCBpbnN0YW5jZSwgZm9yIGJlc3QgcGVyZm9ybWFuY2VcbiAgICB0aGF0ID0gQnVmZmVyLl9hdWdtZW50KG5ldyBVaW50OEFycmF5KGxlbmd0aCkpXG4gICAgdGhhdC5fX3Byb3RvX18gPSBCdWZmZXIucHJvdG90eXBlXG4gIH0gZWxzZSB7XG4gICAgLy8gRmFsbGJhY2s6IFJldHVybiBhbiBvYmplY3QgaW5zdGFuY2Ugb2YgdGhlIEJ1ZmZlciBjbGFzc1xuICAgIHRoYXQubGVuZ3RoID0gbGVuZ3RoXG4gICAgdGhhdC5faXNCdWZmZXIgPSB0cnVlXG4gIH1cblxuICB2YXIgZnJvbVBvb2wgPSBsZW5ndGggIT09IDAgJiYgbGVuZ3RoIDw9IEJ1ZmZlci5wb29sU2l6ZSA+Pj4gMVxuICBpZiAoZnJvbVBvb2wpIHRoYXQucGFyZW50ID0gcm9vdFBhcmVudFxuXG4gIHJldHVybiB0aGF0XG59XG5c bmZ1bmN0aW9uIGNoZWNrZWQgKGxlbmd0aCkge1xuICAvLyBOb3RlOiBjYW5ub3QgdXNlIGBsZW5ndGggPCBrTWF4TGVuZ3RoYCBoZXJlIGJlY2F1c2UgdGhhdCBmYWlscyB3aGVuXG4gIC8vIGxlbmd0aCBpcyBOYU4gKHdoaWNoIGlzIG90aGVyd2lzZSBjb2VyY2VkIHRvIHplcm8uKVxuICBpZiAobGVuZ3RoID49IGtNYXhMZW5ndGgoKSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdBdHRlbXB0IHRvIGFsbG9jYXRlIEJ1ZmZlciBsYXJnZXIgdGhhbiBtYXhpbXVtICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICdzaXplOiAweCcgKyBrTWF4TGVuZ3RoKCkudG9TdHJpbmcoMTYpICsgJyBieXRlcycpXG4gIH1cbiAgcmV0dXJuIGxlbmd0aCB8IDBcbn1cblxuZnVuY3Rpb24gU2xvd0J1ZmZlciAoc3ViamVjdCwgZW5jb2RpbmcpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFNsb3dCdWZmZXIpKSByZXR1cm4gbmV3IFNsb3dCdWZmZXIoc3ViamVjdCwgZW5jb2RpbmcpXG5cbiAgdmFyIGJ1ZiA9IG5ldyBCdWZmZXIoc3ViamVjdCwgZW5jb2RpbmcpXG4gIGRlbGV0ZSBidWYucGFyZW50XG4gIHJldHVybiBidWZcbn1cblxuQnVmZmVyLmlzQnVmZmVyID0gZnVuY3Rpb24gaXNCdWZmZXIgKGIpIHtcbiAgcmV0dXJuICEhKGIgIT0gbnVsbCAmJiBiLl9pc0J1ZmZlcilcbn1cblxuQnVmZmVyLmNvbXBhcmUgPSBmdW5jdGlvbiBjb21wYXJlIChhLCBiKSB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGEpIHx8I CFCdWZmZXIuaXNCdWZmZXIoYikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudHMgbXVzdCBiZSBCdWZmZXJzJylcbiAgfVxuXG4gIGlmIChhID09PSBiKSByZXR1cm4gMFxuXG4gIHZhciB4ID0gYS5sZW5ndGhcbiAgdmFyIHkgPSBiLmxlbmd0aFxuXG4gIHZhciBpID0gMFxuICB2YXIgbGVuID0gTWF0aC5taW4oeCwgeSlcbiAgd2hpbGUgKGkgPCBsZW4pIHtcbiAgICBpZiAoYVtpXSAhPT0gYltpXSkgYnJlYWtcblxuICAgICsraVxuICB9XG5cbiAgaWYgKGkgIT09IGxlbikge1xuICAgIHggPSBhW2ldXG4gICAgeSA9IGJbaV1cbiAgfVxuXG4gIGlmICh4IDwgeSkgcmV0dXJuIC0xXG4gIGlmICh5IDwgeCkgcmV0dXJuIDFcbiAgcmV0dXJuIDBcbn1cblxuQnVmZmVyLmlzRW5jb2RpbmcgPSBmdW5jdGlvbiBpc0VuY29kaW5nIChlbmNvZGluZykge1xuICBzd2l0Y2ggKFN0cmluZyhlbmNvZGluZykudG9Mb3dlckNhc2UoKSkge1xuICAgIGNhc2UgJ2hleCc6XG4gICAgY2FzZSAndXRmOCc6XG4gICAgY2FzZSAndXRmLTgnOlxuICAgIGNhc2UgJ2FzY2lpJzpcbiAgICBjYXNlICdiaW5hcnknOlxuICAgIGNhc2UgJ2Jhc2U2NCc6XG4gICAgY2FzZSAncmF3JzpcbiAgICBjYXNlICd1Y3MyJzpcbiAgICBjYXNlICd1Y3MtMic6XG4gICAgY2FzZSAndXRmMTZsZSc6XG4gICAgY2FzZSAndXRmLTE2bGUnOlxuICAgICAgcmV0dXJuIHRydWVcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlXG4gIH 1cbn1cblxuQnVmZmVyLmNvbmNhdCA9IGZ1bmN0aW9uIGNvbmNhdCAobGlzdCwgbGVuZ3RoKSB7XG4gIGlmICghaXNBcnJheShsaXN0KSkgdGhyb3cgbmV3IFR5cGVFcnJvcignbGlzdCBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMuJylcblxuICBpZiAobGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbmV3IEJ1ZmZlcigwKVxuICB9XG5cbiAgdmFyIGlcbiAgaWYgKGxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgbGVuZ3RoID0gMFxuICAgIGZvciAoaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZW5ndGggKz0gbGlzdFtpXS5sZW5ndGhcbiAgICB9XG4gIH1cblxuICB2YXIgYnVmID0gbmV3IEJ1ZmZlcihsZW5ndGgpXG4gIHZhciBwb3MgPSAwXG4gIGZvciAoaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGl0ZW0gPSBsaXN0W2ldXG4gICAgaXRlbS5jb3B5KGJ1ZiwgcG9zKVxuICAgIHBvcyArPSBpdGVtLmxlbmd0aFxuICB9XG4gIHJldHVybiBidWZcbn1cblxuZnVuY3Rpb24gYnl0ZUxlbmd0aCAoc3RyaW5nLCBlbmNvZGluZykge1xuICBpZiAodHlwZW9mIHN0cmluZyAhPT0gJ3N0cmluZycpIHN0cmluZyA9ICcnICsgc3RyaW5nXG5cbiAgdmFyIGxlbiA9IHN0cmluZy5sZW5ndGhcbiAgaWYgKGxlbiA9PT0gMCkgcmV0dXJuIDBcblxuICAvLyBVc2UgYSBmb3IgbG9vcCB0byBhdm9pZCByZWN1cnNpb25cbiAgdmFyIGxvd2VyZWRDYXN lID0gZmFsc2VcbiAgZm9yICg7Oykge1xuICAgIHN3aXRjaCAoZW5jb2RpbmcpIHtcbiAgICAgIGNhc2UgJ2FzY2lpJzpcbiAgICAgIGNhc2UgJ2JpbmFyeSc6XG4gICAgICAvLyBEZXByZWNhdGVkXG4gICAgICBjYXNlICdyYXcnOlxuICAgICAgY2FzZSAncmF3cyc6XG4gICAgICAgIHJldHVybiBsZW5cbiAgICAgIGNhc2UgJ3V0ZjgnOlxuICAgICAgY2FzZSAndXRmLTgnOlxuICAgICAgICByZXR1cm4gdXRmOFRvQnl0ZXMoc3RyaW5nKS5sZW5ndGhcbiAgICAgIGNhc2UgJ3VjczInOlxuICAgICAgY2FzZSAndWNzLTInOlxuICAgICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICBjYXNlICd1dGYtMTZsZSc6XG4gICAgICAgIHJldHVybiBsZW4gKiAyXG4gICAgICBjYXNlICdoZXgnOlxuICAgICAgICByZXR1cm4gbGVuID4+PiAxXG4gICAgICBjYXNlICdiYXNlNjQnOlxuICAgICAgICByZXR1cm4gYmFzZTY0VG9CeXRlcyhzdHJpbmcpLmxlbmd0aFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGxvd2VyZWRDYXNlKSByZXR1cm4gdXRmOFRvQnl0ZXMoc3RyaW5nKS5sZW5ndGggLy8gYXNzdW1lIHV0ZjhcbiAgICAgICAgZW5jb2RpbmcgPSAoJycgKyBlbmNvZGluZykudG9Mb3dlckNhc2UoKVxuICAgICAgICBsb3dlcmVkQ2FzZSA9IHRydWVcbiAgICB9XG4gIH1cbn1cbkJ1ZmZlci5ieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aFxuXG4vLyBwcmUtc2V0IGZvciB2YWx1ZXMgdGhhdCBtYXkgZXhpc3QgaW4gdGhlIGZ1dHVy ZVxuQnVmZmVyLnByb3RvdHlwZS5sZW5ndGggPSB1bmRlZmluZWRcbkJ1ZmZlci5wcm90b3R5cGUucGFyZW50ID0gdW5kZWZpbmVkXG5cbmZ1bmN0aW9uIHNsb3dUb1N0cmluZyAoZW5jb2RpbmcsIHN0YXJ0LCBlbmQpIHtcbiAgdmFyIGxvd2VyZWRDYXNlID0gZmFsc2VcblxuICBzdGFydCA9IHN0YXJ0IHwgMFxuICBlbmQgPSBlbmQgPT09IHVuZGVmaW5lZCB8fCBlbmQgPT09IEluZmluaXR5ID8gdGhpcy5sZW5ndGggOiBlbmQgfCAwXG5cbiAgaWYgKCFlbmNvZGluZykgZW5jb2RpbmcgPSAndXRmOCdcbiAgaWYgKHN0YXJ0IDwgMCkgc3RhcnQgPSAwXG4gIGlmIChlbmQgPiB0aGlzLmxlbmd0aCkgZW5kID0gdGhpcy5sZW5ndGhcbiAgaWYgKGVuZCA8PSBzdGFydCkgcmV0dXJuICcnXG5cbiAgd2hpbGUgKHRydWUpIHtcbiAgICBzd2l0Y2ggKGVuY29kaW5nKSB7XG4gICAgICBjYXNlICdoZXgnOlxuICAgICAgICByZXR1cm4gaGV4U2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAndXRmOCc6XG4gICAgICBjYXNlICd1dGYtOCc6XG4gICAgICAgIHJldHVybiB1dGY4U2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAnYXNjaWknOlxuICAgICAgICByZXR1cm4gYXNjaWlTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxuXG4gICAgICBjYXNlICdiaW5hcnknOlxuICAgICAgICByZXR1cm4gYmluYXJ5U2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgI CAgICAgcmV0dXJuIGJhc2U2NFNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXG5cbiAgICAgIGNhc2UgJ3VjczInOlxuICAgICAgY2FzZSAndWNzLTInOlxuICAgICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICBjYXNlICd1dGYtMTZsZSc6XG4gICAgICAgIHJldHVybiB1dGYxNmxlU2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGxvd2VyZWRDYXNlKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdVbmtub3duIGVuY29kaW5nOiAnICsgZW5jb2RpbmcpXG4gICAgICAgIGVuY29kaW5nID0gKGVuY29kaW5nICsgJycpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXG4gICAgfVxuICB9XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZyAoKSB7XG4gIHZhciBsZW5ndGggPSB0aGlzLmxlbmd0aCB8IDBcbiAgaWYgKGxlbmd0aCA9PT0gMCkgcmV0dXJuICcnXG4gIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSByZXR1cm4gdXRmOFNsaWNlKHRoaXMsIDAsIGxlbmd0aClcbiAgcmV0dXJuIHNsb3dUb1N0cmluZy5hcHBseSh0aGlzLCBhcmd1bWVudHMpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuZXF1YWxzID0gZnVuY3Rpb24gZXF1YWxzIChiKSB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyJylcbiAgaWYgKHRoaXMgPT09IGIpIH JldHVybiB0cnVlXG4gIHJldHVybiBCdWZmZXIuY29tcGFyZSh0aGlzLCBiKSA9PT0gMFxufVxuXG5CdWZmZXIucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0ICgpIHtcbiAgdmFyIHN0ciA9ICcnXG4gIHZhciBtYXggPSBleHBvcnRzLklOU1BFQ1RfTUFYX0JZVEVTXG4gIGlmICh0aGlzLmxlbmd0aCA+IDApIHtcbiAgICBzdHIgPSB0aGlzLnRvU3RyaW5nKCdoZXgnLCAwLCBtYXgpLm1hdGNoKC8uezJ9L2cpLmpvaW4oJyAnKVxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG1heCkgc3RyICs9ICcgLi4uICdcbiAgfVxuICByZXR1cm4gJzxCdWZmZXIgJyArIHN0ciArICc+J1xufVxuXG5CdWZmZXIucHJvdG90eXBlLmNvbXBhcmUgPSBmdW5jdGlvbiBjb21wYXJlIChiKSB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyJylcbiAgaWYgKHRoaXMgPT09IGIpIHJldHVybiAwXG4gIHJldHVybiBCdWZmZXIuY29tcGFyZSh0aGlzLCBiKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLmluZGV4T2YgPSBmdW5jdGlvbiBpbmRleE9mICh2YWwsIGJ5dGVPZmZzZXQpIHtcbiAgaWYgKGJ5dGVPZmZzZXQgPiAweDdmZmZmZmZmKSBieXRlT2Zmc2V0ID0gMHg3ZmZmZmZmZlxuICBlbHNlIGlmIChieXRlT2Zmc2V0IDwgLTB4ODAwMDAwMDApIGJ5dGVPZmZzZXQgPSAtMHg4MDAwMDAwMFxuICBieXRlT2Zmc2V0ID4+PSAwXG5cbiAgaWYgKHR oaXMubGVuZ3RoID09PSAwKSByZXR1cm4gLTFcbiAgaWYgKGJ5dGVPZmZzZXQgPj0gdGhpcy5sZW5ndGgpIHJldHVybiAtMVxuXG4gIC8vIE5lZ2F0aXZlIG9mZnNldHMgc3RhcnQgZnJvbSB0aGUgZW5kIG9mIHRoZSBidWZmZXJcbiAgaWYgKGJ5dGVPZmZzZXQgPCAwKSBieXRlT2Zmc2V0ID0gTWF0aC5tYXgodGhpcy5sZW5ndGggKyBieXRlT2Zmc2V0LCAwKVxuXG4gIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIGlmICh2YWwubGVuZ3RoID09PSAwKSByZXR1cm4gLTEgLy8gc3BlY2lhbCBjYXNlOiBsb29raW5nIGZvciBlbXB0eSBzdHJpbmcgYWx3YXlzIGZhaWxzXG4gICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHRoaXMsIHZhbCwgYnl0ZU9mZnNldClcbiAgfVxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKHZhbCkpIHtcbiAgICByZXR1cm4gYXJyYXlJbmRleE9mKHRoaXMsIHZhbCwgYnl0ZU9mZnNldClcbiAgfVxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQgJiYgVWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIFVpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh0aGlzLCB2YWwsIGJ5dGVPZmZzZXQpXG4gICAgfVxuICAgIHJldHVybiBhcnJheUluZGV4T2YodGhpcywgWyB2YWwgXSwgYnl0ZU9mZnNldClcbiAgfVxuXG4gIGZ1 bmN0aW9uIGFycmF5SW5kZXhPZiAoYXJyLCB2YWwsIGJ5dGVPZmZzZXQpIHtcbiAgICB2YXIgZm91bmRJbmRleCA9IC0xXG4gICAgZm9yICh2YXIgaSA9IDA7IGJ5dGVPZmZzZXQgKyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoYXJyW2J5dGVPZmZzZXQgKyBpXSA9PT0gdmFsW2ZvdW5kSW5kZXggPT09IC0xID8gMCA6IGkgLSBmb3VuZEluZGV4XSkge1xuICAgICAgICBpZiAoZm91bmRJbmRleCA9PT0gLTEpIGZvdW5kSW5kZXggPSBpXG4gICAgICAgIGlmIChpIC0gZm91bmRJbmRleCArIDEgPT09IHZhbC5sZW5ndGgpIHJldHVybiBieXRlT2Zmc2V0ICsgZm91bmRJbmRleFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm91bmRJbmRleCA9IC0xXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAtMVxuICB9XG5cbiAgdGhyb3cgbmV3IFR5cGVFcnJvcigndmFsIG11c3QgYmUgc3RyaW5nLCBudW1iZXIgb3IgQnVmZmVyJylcbn1cblxuLy8gYGdldGAgaXMgZGVwcmVjYXRlZFxuQnVmZmVyLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiBnZXQgKG9mZnNldCkge1xuICBjb25zb2xlLmxvZygnLmdldCgpIGlzIGRlcHJlY2F0ZWQuIEFjY2VzcyB1c2luZyBhcnJheSBpbmRleGVzIGluc3RlYWQuJylcbiAgcmV0dXJuIHRoaXMucmVhZFVJbnQ4KG9mZnNldClcbn1cblxuLy8gYHNldGAgaXMgZGVwcmVjYXRlZFxuQnVmZmVyLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiBzZXQgKHYsIG9mZnNldCkge1xuICBjb 25zb2xlLmxvZygnLnNldCgpIGlzIGRlcHJlY2F0ZWQuIEFjY2VzcyB1c2luZyBhcnJheSBpbmRleGVzIGluc3RlYWQuJylcbiAgcmV0dXJuIHRoaXMud3JpdGVVSW50OCh2LCBvZmZzZXQpXG59XG5cbmZ1bmN0aW9uIGhleFdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgb2Zmc2V0ID0gTnVtYmVyKG9mZnNldCkgfHwgMFxuICB2YXIgcmVtYWluaW5nID0gYnVmLmxlbmd0aCAtIG9mZnNldFxuICBpZiAoIWxlbmd0aCkge1xuICAgIGxlbmd0aCA9IHJlbWFpbmluZ1xuICB9IGVsc2Uge1xuICAgIGxlbmd0aCA9IE51bWJlcihsZW5ndGgpXG4gICAgaWYgKGxlbmd0aCA+IHJlbWFpbmluZykge1xuICAgICAgbGVuZ3RoID0gcmVtYWluaW5nXG4gICAgfVxuICB9XG5cbiAgLy8gbXVzdCBiZSBhbiBldmVuIG51bWJlciBvZiBkaWdpdHNcbiAgdmFyIHN0ckxlbiA9IHN0cmluZy5sZW5ndGhcbiAgaWYgKHN0ckxlbiAlIDIgIT09IDApIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBoZXggc3RyaW5nJylcblxuICBpZiAobGVuZ3RoID4gc3RyTGVuIC8gMikge1xuICAgIGxlbmd0aCA9IHN0ckxlbiAvIDJcbiAgfVxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHBhcnNlZCA9IHBhcnNlSW50KHN0cmluZy5zdWJzdHIoaSAqIDIsIDIpLCAxNilcbiAgICBpZiAoaXNOYU4ocGFyc2VkKSkgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGhleCBzdHJpbmcnKVxuICAgIGJ1Zl tvZmZzZXQgKyBpXSA9IHBhcnNlZFxuICB9XG4gIHJldHVybiBpXG59XG5cbmZ1bmN0aW9uIHV0ZjhXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIHJldHVybiBibGl0QnVmZmVyKHV0ZjhUb0J5dGVzKHN0cmluZywgYnVmLmxlbmd0aCAtIG9mZnNldCksIGJ1Ziwgb2Zmc2V0LCBsZW5ndGgpXG59XG5cbmZ1bmN0aW9uIGFzY2lpV3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gYmxpdEJ1ZmZlcihhc2NpaVRvQnl0ZXMoc3RyaW5nKSwgYnVmLCBvZmZzZXQsIGxlbmd0aClcbn1cblxuZnVuY3Rpb24gYmluYXJ5V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gYXNjaWlXcml0ZShidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXG59XG5cbmZ1bmN0aW9uIGJhc2U2NFdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGJsaXRCdWZmZXIoYmFzZTY0VG9CeXRlcyhzdHJpbmcpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5mdW5jdGlvbiB1Y3MyV3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gYmxpdEJ1ZmZlcih1dGYxNmxlVG9CeXRlcyhzdHJpbmcsIGJ1Zi5sZW5ndGggLSBvZmZzZXQpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gd3JpdGUgKHN0cmluZywgb2Zmc2V0LCBsZW5ndGg sIGVuY29kaW5nKSB7XG4gIC8vIEJ1ZmZlciN3cml0ZShzdHJpbmcpXG4gIGlmIChvZmZzZXQgPT09IHVuZGVmaW5lZCkge1xuICAgIGVuY29kaW5nID0gJ3V0ZjgnXG4gICAgbGVuZ3RoID0gdGhpcy5sZW5ndGhcbiAgICBvZmZzZXQgPSAwXG4gIC8vIEJ1ZmZlciN3cml0ZShzdHJpbmcsIGVuY29kaW5nKVxuICB9IGVsc2UgaWYgKGxlbmd0aCA9PT0gdW5kZWZpbmVkICYmIHR5cGVvZiBvZmZzZXQgPT09ICdzdHJpbmcnKSB7XG4gICAgZW5jb2RpbmcgPSBvZmZzZXRcbiAgICBsZW5ndGggPSB0aGlzLmxlbmd0aFxuICAgIG9mZnNldCA9IDBcbiAgLy8gQnVmZmVyI3dyaXRlKHN0cmluZywgb2Zmc2V0WywgbGVuZ3RoXVssIGVuY29kaW5nXSlcbiAgfSBlbHNlIGlmIChpc0Zpbml0ZShvZmZzZXQpKSB7XG4gICAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxuICAgIGlmIChpc0Zpbml0ZShsZW5ndGgpKSB7XG4gICAgICBsZW5ndGggPSBsZW5ndGggfCAwXG4gICAgICBpZiAoZW5jb2RpbmcgPT09IHVuZGVmaW5lZCkgZW5jb2RpbmcgPSAndXRmOCdcbiAgICB9IGVsc2Uge1xuICAgICAgZW5jb2RpbmcgPSBsZW5ndGhcbiAgICAgIGxlbmd0aCA9IHVuZGVmaW5lZFxuICAgIH1cbiAgLy8gbGVnYWN5IHdyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldCwgbGVuZ3RoKSAtIHJlbW92ZSBpbiB2MC4xM1xuICB9IGVsc2Uge1xuICAgIHZhciBzd2FwID0gZW5jb2RpbmdcbiAgICBlbmNvZGluZyA9IG9mZnNldFxuICAgIG9mZnNldCA9 IGxlbmd0aCB8IDBcbiAgICBsZW5ndGggPSBzd2FwXG4gIH
<TRUNCATED>