-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path4053.c41ef58b.iframe.bundle.js
2 lines (2 loc) · 94.6 KB
/
4053.c41ef58b.iframe.bundle.js
1
2
(self.webpackChunkblockly_mooc=self.webpackChunkblockly_mooc||[]).push([[4053],{"./src/legacySharedComponents/FontAwesome.jsx":(module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=FontAwesome;var _lodash=_interopRequireDefault(__webpack_require__("./node_modules/lodash/lodash.js")),_propTypes=_interopRequireDefault(__webpack_require__("./node_modules/prop-types/index.js")),_react=_interopRequireDefault(__webpack_require__("./node_modules/react/index.js")),_excluded=["icon","className","title"];function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _extends(){return _extends=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},_extends.apply(null,arguments)}function FontAwesome(_ref){var icon=_ref.icon,className=_ref.className,title=_ref.title,props=function _objectWithoutProperties(e,t){if(null==e)return{};var o,r,i=function _objectWithoutPropertiesLoose(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(e.includes(n))continue;t[n]=r[n]}return t}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)o=s[r],t.includes(o)||{}.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}(_ref,_excluded),newProps=_lodash.default.assign({},props,{className:"fa fa-".concat(icon," ").concat(className||"")});return _react.default.createElement("i",_extends({},newProps,{title}))}FontAwesome.propTypes={icon:_propTypes.default.string.isRequired,className:_propTypes.default.string,title:_propTypes.default.string},module.exports=exports.default},"./src/styleConstants.js":module=>{module.exports={"workspace-headers-height":30,"resize-bar-width":13,"delete-opacity":"0.5","content-width":970}},"./src/templates/sectionAssessments/assessmentsTestHelpers.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.testDataTimestamps=exports.surveyTwo=exports.surveyOne=exports.studentOverviewData=exports.studentMCData=exports.questionTwo=exports.questionThree=exports.questionOne=exports.multipleChoiceDataForSingleStudent=exports.multipleChoiceData=exports.matchQuestionWith4Pairs=exports.matchQuestionWith2Pairs=exports.matchDataForSingleStudent=void 0;var _sectionAssessmentsRedux=__webpack_require__("./src/templates/sectionAssessments/sectionAssessmentsRedux.js"),_locale=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(__webpack_require__("./src/util/locale-do-not-import.js"));var testDataTimestamps=exports.testDataTimestamps={newest:new Date("2019-04-09T20:52:05.000+00:00"),newer:new Date("2019-04-09T20:40:05.000+00:00"),new:new Date("2019-02-09T20:52:05.000+00:00"),old:new Date("2018-12-09T20:52:05.000+00:00"),older:new Date("2018-10-09T20:52:05.000+00:00"),oldest:new Date("2018-10-07T20:52:05.000+00:00"),notStarted:_sectionAssessmentsRedux.notStartedFakeTimestamp,inProgress:_sectionAssessmentsRedux.inProgressFakeTimestamp},multipleChoiceData=(exports.studentOverviewData=[{id:1,name:"Caley",numMultipleChoiceCorrect:7,numMultipleChoice:10,numMatchCorrect:7,numMatch:10,isSubmitted:!1,inProgress:!1,submissionTimeStamp:testDataTimestamps.notStarted},{id:2,name:"Maddie",numMultipleChoiceCorrect:3,numMultipleChoice:10,numMatchCorrect:3,numMatch:10,isSubmitted:!1,inProgress:!0,submissionTimeStamp:testDataTimestamps.inProgress},{id:3,name:"Erin",numMultipleChoiceCorrect:8,numMultipleChoice:10,numMatchCorrect:8,numMatch:10,isSubmitted:!0,inProgress:!1,submissionTimeStamp:testDataTimestamps.newest},{id:4,name:"Dave",numMultipleChoiceCorrect:10,numMultipleChoice:10,isSubmitted:!0,numMatchCorrect:10,numMatch:10,inProgress:!1,submissionTimeStamp:testDataTimestamps.newer},{id:5,name:"Brad",numMultipleChoiceCorrect:0,numMultipleChoice:10,numMatchCorrect:0,numMatch:10,isSubmitted:!0,inProgress:!1,submissionTimeStamp:testDataTimestamps.new},{id:6,name:"Mike",numMultipleChoiceCorrect:0,numMultipleChoice:10,numMatchCorrect:0,numMatch:10,isSubmitted:!0,inProgress:!1,submissionTimeStamp:testDataTimestamps.old},{id:7,name:"Dani",numMultipleChoiceCorrect:0,numMultipleChoice:10,numMatchCorrect:0,numMatch:10,isSubmitted:!0,inProgress:!1,submissionTimeStamp:testDataTimestamps.older},{id:8,name:"Amanda",numMultipleChoiceCorrect:0,numMultipleChoice:10,numMatchCorrect:0,numMatch:10,isSubmitted:!0,inProgress:!1,submissionTimeStamp:testDataTimestamps.oldest},{id:9,name:"Nkiru",numMultipleChoiceCorrect:7,numMultipleChoice:10,numMatchCorrect:7,numMatch:10,isSubmitted:!1,inProgress:!0,submissionTimeStamp:testDataTimestamps.inProgress},{id:10,name:"Karis",numMultipleChoiceCorrect:7,numMultipleChoice:10,numMatchCorrect:7,numMatch:10,isSubmitted:!1,inProgress:!1,submissionTimeStamp:testDataTimestamps.notStarted}],exports.studentMCData={id:1,name:"Caley",studentResponses:[{isCorrect:!1,responses:""},{isCorrect:!1,responses:"B D"},{isCorrect:!1,responses:"E"},{isCorrect:!1,responses:"C"},{isCorrect:!0,responses:"A"}]},exports.matchQuestionWith2Pairs=[{answers:[{answer:"answer 1",numAnswered:6,isCorrect:!1},{answer:"answer 2",numAnswered:0,isCorrect:!0}],id:0,option:"option 1",notAnswered:1,totalAnswered:7},{answers:[{answer:"answer 1",numAnswered:2,isCorrect:!0},{answer:"answer 2",numAnswered:4,isCorrect:!1}],id:1,option:"option 2",notAnswered:1,totalAnswered:7}],exports.matchQuestionWith4Pairs=[{answers:[{answer:"answer 1",numAnswered:6,isCorrect:!1},{answer:"answer 2",numAnswered:0,isCorrect:!0},{answer:"answer 3",numAnswered:6,isCorrect:!1},{answer:"answer 4",numAnswered:0,isCorrect:!1}],id:0,option:"option 1",notAnswered:3,totalAnswered:15},{answers:[{answer:"answer 1",numAnswered:5,isCorrect:!0},{answer:"answer 2",numAnswered:5,isCorrect:!1},{answer:"answer 3",numAnswered:6,isCorrect:!1},{answer:"answer 4",numAnswered:5,isCorrect:!1}],id:1,option:"option 2",notAnswered:0,totalAnswered:15},{answers:[{answer:"answer 1",numAnswered:0,isCorrect:!1},{answer:"answer 2",numAnswered:15,isCorrect:!0},{answer:"answer 3",numAnswered:0,isCorrect:!1},{answer:"answer 4",numAnswered:0,isCorrect:!1}],id:2,option:"option 3",notAnswered:0,totalAnswered:15},{answers:[{answer:"answer 1",numAnswered:1,isCorrect:!1},{answer:"answer 2",numAnswered:1,isCorrect:!1},{answer:"answer 3",numAnswered:1,isCorrect:!1},{answer:"answer 4",numAnswered:0,isCorrect:!0}],id:3,option:"option 4",notAnswered:12,totalAnswered:15}],exports.multipleChoiceData=[{id:1,question:"What is a variable?",answers:[{multipleChoiceOption:_locale.default.answerOptionA(),percentAnswered:40,isCorrectAnswer:!0},{multipleChoiceOption:_locale.default.answerOptionB(),percentAnswered:20,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionC(),percentAnswered:20,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionD(),percentAnswered:20,isCorrectAnswer:!1}],notAnswered:10},{id:2,question:"What is a 4-bit number for the decimal number Ten(10)?",answers:[{multipleChoiceOption:_locale.default.answerOptionA(),percentAnswered:30,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionB(),percentAnswered:10,isCorrectAnswer:!0},{multipleChoiceOption:_locale.default.answerOptionC(),percentAnswered:10,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionD(),percentAnswered:10,isCorrectAnswer:!0},{multipleChoiceOption:_locale.default.answerOptionE(),percentAnswered:20,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionF(),percentAnswered:10,isCorrectAnswer:!1}],notAnswered:30},{id:3,question:"What is the minimum number of bits you will need to encode the 26 letters of the alphabet plus a space?",answers:[{multipleChoiceOption:_locale.default.answerOptionA(),percentAnswered:50,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionB(),percentAnswered:15,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionC(),percentAnswered:20,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionD(),percentAnswered:5,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionE(),percentAnswered:5,isCorrectAnswer:!0}],notAnswered:5},{id:4,question:"What is the best explanation for why digital data is represented in computers in binary?",answers:[{multipleChoiceOption:_locale.default.answerOptionA(),percentAnswered:15,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionB(),percentAnswered:18,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionC(),percentAnswered:10,isCorrectAnswer:!0},{multipleChoiceOption:_locale.default.answerOptionD(),percentAnswered:9,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionE(),percentAnswered:5,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionF(),percentAnswered:32,isCorrectAnswer:!0},{multipleChoiceOption:_locale.default.answerOptionG(),percentAnswered:5,isCorrectAnswer:!1}],notAnswered:33},{id:5,question:"What is a function?",answers:[{multipleChoiceOption:_locale.default.answerOptionA(),percentAnswered:15,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionB(),percentAnswered:18,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionC(),percentAnswered:10,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionD(),percentAnswered:9,isCorrectAnswer:!1},{multipleChoiceOption:_locale.default.answerOptionE(),percentAnswered:5,isCorrectAnswer:!0}],notAnswered:25}]);exports.multipleChoiceDataForSingleStudent=multipleChoiceData.map((function(question,index){return{id:question.id,question:question.question,questionNumber:index+1,correctAnswer:["C","C B","D","B","A"][index]}})),exports.matchDataForSingleStudent={id:123,question:"Can you match these?",questionNumber:1,answers:[{text:"answer 1"},{text:"answer 2"}],options:[{text:"option 1"},{text:"option 2"}]},exports.questionOne=[{id:1,studentId:"210",name:"Caley",response:" "},{id:2,studentId:"211",name:"Maddie",response:"Trees live in your fan brush, but you have to scare them out. Use absolutely no pressure. Just like an angel's wing. You can't have light without dark. You can't know happiness unless you've known sorrow. If you didn't have baby clouds, you wouldn't have big clouds. It is a lot of fun. We'll put all the little clouds in and let them dance around and have fun. And right there you got an almighty cloud. We don't have to be committed. We are just playing here. A tree cannot be straight if it has a crooked trunk. Let your heart take you to wherever you want to be. No worries. No cares. Just float and wait for the wind to blow you around. Put light against light - you have nothing. Put dark against dark - you have nothing. It's the contrast of light and dark that each give the other one meaning. This is truly an almighty mountain. The only thing worse than yellow snow is green snow. Paint anything you want on the canvas. Create your own world. You don't have to be crazy to do this but it does help. Tree trunks grow however makes them happy. Now let's put some happy little clouds in here. In your imagination you can go anywhere you want. It's so important to do something every day that will make you happy. Almost everything is going to happen for you automatically - you don't have to spend any time working or worrying. I'm a water fanatic. I love water.\n We wash our brush with odorless thinner. A beautiful little sunset. All you have to learn here is how to have fun. Let's go up in here, and start having some fun Trees get lonely too, so we'll give him a little friend. There are no limits in this world. See. We take the corner of the brush and let it play back-and-forth. The little tiny Tim easels will let you down. Steve wants reflections, so let's give him reflections. It's beautiful - and we haven't even done anything to it yet. Just think about these things in your mind - then bring them into your world. We start with a vision in our heart, and we put it on canvas. I can't think of anything more rewarding than being able to express yourself to others through painting,"},{id:3,studentId:"212",name:"Erin",response:"Go out on a limb - that is where the fruit is."},{id:4,studentId:"213",name:"BrendanBrendanBrendanBrendan",response:"We do not make mistakes we just have happy little accidents. Once you learn the technique,\n ohhh! Turn you loose on the world; you become a tiger.,"},{id:5,studentId:"214",name:"Awesome Coder",response:'for (let ii = 0; ii < stuff.length; ii++) {\n console.log("I fixed a bug!!!");\n}'}],exports.questionTwo=[{id:1,studentId:"210",name:"Caley",response:"In every walk with nature, one receives far more than one seeks"}],exports.questionThree=[{id:1,studentId:"210",name:"Maddie",response:" "}],exports.surveyOne=[{index:0,response:"Sea lettuce gumbo grape kale kombu cauliflower salsify kohlrabi okra sea lettuce broccoli celery lotus root carrot winter purslane turnip greens garlic."},{index:1,response:"Gumbo beet greens corn soko endive gumbo gourd. Parsley shallot courgette tatsoi pea sprouts fava bean collard greens dandelion okra wakame tomato."},{index:2,response:"Pea horseradish azuki bean lettuce avocado asparagus okra. Kohlrabi radish okra azuki bean corn fava bean mustard tigernut jícama green bean celtuce collard greens avocado quandong fennel gumbo black-eyed pea."},{index:3,response:"Celery quandong swiss chard chicory earthnut pea potato. Salsify taro catsear garlic gram celery bitterleaf wattle seed collard greens nori."},{index:4,response:"Turnip greens yarrow ricebean rutabaga endive cauliflower sea lettuce kohlrabi amaranth water spinach avocado daikon napa cabbage asparagus winter purslane kale."}],exports.surveyTwo=[{index:0,response:"In every walk with nature, one receives far more than one seeks"},{index:1,response:"In every walk with nature, one receives far more than one seeks"},{index:2,response:"In every walk with nature, one receives far more than one seeks"}]},"./src/templates/tables/tableConstants.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.tableLayoutStyles=exports.sortableOptions=exports.plTableLayoutStyles=exports.NAME_CELL_INPUT_WIDTH=void 0;var _fontConstants=_interopRequireDefault(__webpack_require__("./src/fontConstants.js")),_styleConstants=_interopRequireDefault(__webpack_require__("./src/styleConstants.js")),_color=_interopRequireDefault(__webpack_require__("./src/util/color.js"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(o){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function _defineProperty(e,r,t){return(r=function _toPropertyKey(t){var i=function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==_typeof(i)?i:i+""}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}exports.tableLayoutStyles={tableText:{textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"},tableNameText:{textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",minWidth:160},table:{borderWidth:1,borderStyle:"solid",borderColor:_color.default.border_gray,width:_styleConstants.default["content-width"],backgroundColor:_color.default.table_light_row},cell:{maxWidth:200,border:"1px solid",borderColor:_color.default.border_light_gray,padding:10,fontSize:14},headerCell:{backgroundColor:_color.default.table_header,fontWeight:"bold",borderColor:_color.default.border_light_gray,borderStyle:"solid",borderBottomWidth:1,borderTopWidth:0,borderLeftWidth:0,borderRightWidth:1,paddingTop:20,paddingBottom:20,color:_color.default.charcoal,textAlign:"inherit"},flexCell:{display:"flex",alignItems:"center"},link:_objectSpread(_objectSpread({},_fontConstants.default["main-font-semi-bold"]),{},{fontSize:14,textDecoration:"none"}),unsortableHeader:{paddingLeft:25},unsortableHeaderRTL:{paddingRight:25}},exports.plTableLayoutStyles={link:_objectSpread(_objectSpread({},_fontConstants.default["main-font-semi-bold"]),{},{fontSize:14,color:_color.default.neutral_dark,textDecoration:"underline"}),sectionCodeLink:_objectSpread(_objectSpread({},_fontConstants.default["main-font-semi-bold"]),{},{fontSize:14,color:_color.default.brand_secondary_default}),currentUnit:{marginTop:10,fontSize:14},colButton:{paddingTop:20,paddingLeft:20,paddingBottom:20,width:40},participantTypeCell:{fontSize:14},leaveButton:{fontSize:14}},exports.sortableOptions={default:{color:"rgba(0, 0, 0, 0.2 )"}},exports.NAME_CELL_INPUT_WIDTH=160},"./src/templates/tables/wrapped_sortable.js":(module,exports,__webpack_require__)=>{"use strict";function _typeof(o){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=_interopRequireDefault(__webpack_require__("./node_modules/react/index.js")),sort=function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u]}return n.default=e,t&&t.set(e,n),n}(__webpack_require__("./node_modules/sortabular/dist/index.js")),_FontAwesome=_interopRequireDefault(__webpack_require__("./src/legacySharedComponents/FontAwesome.jsx")),_excluded=["className"];function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t=new WeakMap;return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r})(e)}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){_defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function _defineProperty(e,r,t){return(r=function _toPropertyKey(t){var i=function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==_typeof(i)?i:i+""}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}exports.default=function wrappedSortable(getSortingColumns,onSort){var styles=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},basicSortable=sort.sort({getSortingColumns,onSort});return function(label,columnInfo){var _basicSortable=basicSortable(label,columnInfo),newClassName=_basicSortable.className,newProps=function _objectWithoutProperties(e,t){if(null==e)return{};var o,r,i=function _objectWithoutPropertiesLoose(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(e.includes(n))continue;t[n]=r[n]}return t}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)o=s[r],t.includes(o)||{}.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}(_basicSortable,_excluded),sortIcon=_react.default.createElement(_FontAwesome.default,{icon:"sort",className:"fa-fw",style:styles.default});/sort-asc/.test(newClassName)?sortIcon=_react.default.createElement(_FontAwesome.default,{icon:"sort-asc",className:"fa-fw",style:styles.sortAsc}):/sort-desc/.test(newClassName)&&(sortIcon=_react.default.createElement(_FontAwesome.default,{icon:"sort-desc",className:"fa-fw",style:styles.sortDesc}));return _objectSpread(_objectSpread({},newProps),{},{style:Object.assign({},{cursor:"pointer"}),children:_react.default.createElement("span",{style:styles.container},_react.default.createElement("span",{key:"icon",style:{whiteSpace:"nowrap"}},sortIcon),_react.default.createElement("span",{key:"label"},label))})}};module.exports=exports.default},"./node_modules/lodash/_baseEach.js":(module,__unused_webpack_exports,__webpack_require__)=>{var baseForOwn=__webpack_require__("./node_modules/lodash/_baseForOwn.js"),baseEach=__webpack_require__("./node_modules/lodash/_createBaseEach.js")(baseForOwn);module.exports=baseEach},"./node_modules/lodash/_baseMap.js":(module,__unused_webpack_exports,__webpack_require__)=>{var baseEach=__webpack_require__("./node_modules/lodash/_baseEach.js"),isArrayLike=__webpack_require__("./node_modules/lodash/isArrayLike.js");module.exports=function baseMap(collection,iteratee){var index=-1,result=isArrayLike(collection)?Array(collection.length):[];return baseEach(collection,(function(value,key,collection){result[++index]=iteratee(value,key,collection)})),result}},"./node_modules/lodash/_baseOrderBy.js":(module,__unused_webpack_exports,__webpack_require__)=>{var arrayMap=__webpack_require__("./node_modules/lodash/_arrayMap.js"),baseGet=__webpack_require__("./node_modules/lodash/_baseGet.js"),baseIteratee=__webpack_require__("./node_modules/lodash/_baseIteratee.js"),baseMap=__webpack_require__("./node_modules/lodash/_baseMap.js"),baseSortBy=__webpack_require__("./node_modules/lodash/_baseSortBy.js"),baseUnary=__webpack_require__("./node_modules/lodash/_baseUnary.js"),compareMultiple=__webpack_require__("./node_modules/lodash/_compareMultiple.js"),identity=__webpack_require__("./node_modules/lodash/identity.js"),isArray=__webpack_require__("./node_modules/lodash/isArray.js");module.exports=function baseOrderBy(collection,iteratees,orders){iteratees=iteratees.length?arrayMap(iteratees,(function(iteratee){return isArray(iteratee)?function(value){return baseGet(value,1===iteratee.length?iteratee[0]:iteratee)}:iteratee})):[identity];var index=-1;iteratees=arrayMap(iteratees,baseUnary(baseIteratee));var result=baseMap(collection,(function(value,key,collection){return{criteria:arrayMap(iteratees,(function(iteratee){return iteratee(value)})),index:++index,value}}));return baseSortBy(result,(function(object,other){return compareMultiple(object,other,orders)}))}},"./node_modules/lodash/_baseSortBy.js":module=>{module.exports=function baseSortBy(array,comparer){var length=array.length;for(array.sort(comparer);length--;)array[length]=array[length].value;return array}},"./node_modules/lodash/_compareAscending.js":(module,__unused_webpack_exports,__webpack_require__)=>{var isSymbol=__webpack_require__("./node_modules/lodash/isSymbol.js");module.exports=function compareAscending(value,other){if(value!==other){var valIsDefined=void 0!==value,valIsNull=null===value,valIsReflexive=value==value,valIsSymbol=isSymbol(value),othIsDefined=void 0!==other,othIsNull=null===other,othIsReflexive=other==other,othIsSymbol=isSymbol(other);if(!othIsNull&&!othIsSymbol&&!valIsSymbol&&value>other||valIsSymbol&&othIsDefined&&othIsReflexive&&!othIsNull&&!othIsSymbol||valIsNull&&othIsDefined&&othIsReflexive||!valIsDefined&&othIsReflexive||!valIsReflexive)return 1;if(!valIsNull&&!valIsSymbol&&!othIsSymbol&&value<other||othIsSymbol&&valIsDefined&&valIsReflexive&&!valIsNull&&!valIsSymbol||othIsNull&&valIsDefined&&valIsReflexive||!othIsDefined&&valIsReflexive||!othIsReflexive)return-1}return 0}},"./node_modules/lodash/_compareMultiple.js":(module,__unused_webpack_exports,__webpack_require__)=>{var compareAscending=__webpack_require__("./node_modules/lodash/_compareAscending.js");module.exports=function compareMultiple(object,other,orders){for(var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;++index<length;){var result=compareAscending(objCriteria[index],othCriteria[index]);if(result)return index>=ordersLength?result:result*("desc"==orders[index]?-1:1)}return object.index-other.index}},"./node_modules/lodash/_createBaseEach.js":(module,__unused_webpack_exports,__webpack_require__)=>{var isArrayLike=__webpack_require__("./node_modules/lodash/isArrayLike.js");module.exports=function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){if(null==collection)return collection;if(!isArrayLike(collection))return eachFunc(collection,iteratee);for(var length=collection.length,index=fromRight?length:-1,iterable=Object(collection);(fromRight?index--:++index<length)&&!1!==iteratee(iterable[index],index,iterable););return collection}}},"./node_modules/lodash/orderBy.js":(module,__unused_webpack_exports,__webpack_require__)=>{var baseOrderBy=__webpack_require__("./node_modules/lodash/_baseOrderBy.js"),isArray=__webpack_require__("./node_modules/lodash/isArray.js");module.exports=function orderBy(collection,iteratees,orders,guard){return null==collection?[]:(isArray(iteratees)||(iteratees=null==iteratees?[]:[iteratees]),isArray(orders=guard?void 0:orders)||(orders=null==orders?[]:[orders]),baseOrderBy(collection,iteratees,orders))}}}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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NUUsVUFDYSxJQUEvQ3VNLFNBQVNrQyxTQUFTN0osT0FBUUEsTUFBTzZKLFlBSXZDLE9BQU9uQyxVQUNULENBQ0YsQyw2RkM3QkEsSUFBSVksWUFBYyxvQkFBUSx5Q0FDdEJELFFBQVUsb0JBQVEsb0NBNkN0QnJMLE9BQU9DLFFBZFAsU0FBUzZNLFFBQVFwQyxXQUFZYSxVQUFXQyxPQUFRdUIsT0FDOUMsT0FBa0IsTUFBZHJDLFdBQ0ssSUFFSlcsUUFBUUUsYUFDWEEsVUFBeUIsTUFBYkEsVUFBb0IsR0FBSyxDQUFDQSxZQUduQ0YsUUFETEcsT0FBU3VCLFdBQVF6RCxFQUFZa0MsVUFFM0JBLE9BQW1CLE1BQVZBLE9BQWlCLEdBQUssQ0FBQ0EsU0FFM0JGLFlBQVlaLFdBQVlhLFVBQVdDLFFBQzVDLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9zcmMvbGVnYWN5U2hhcmVkQ29tcG9uZW50cy9Gb250QXdlc29tZS5qc3giLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3N0eWxlQ29uc3RhbnRzLmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL3NyYy90ZW1wbGF0ZXMvc2VjdGlvbkFzc2Vzc21lbnRzL2Fzc2Vzc21lbnRzVGVzdEhlbHBlcnMuanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3RlbXBsYXRlcy90YWJsZXMvdGFibGVDb25zdGFudHMuanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vc3JjL3RlbXBsYXRlcy90YWJsZXMvd3JhcHBlZF9zb3J0YWJsZS5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlRWFjaC5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9ub2RlX21vZHVsZXMvbG9kYXNoL19iYXNlTWFwLmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VPcmRlckJ5LmpzIiwid2VicGFjazovL2Jsb2NrbHktbW9vYy8uL25vZGVfbW9kdWxlcy9sb2Rhc2gvX2Jhc2VTb3J0QnkuanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fY29tcGFyZUFzY2VuZGluZy5qcyIsIndlYnBhY2s6Ly9ibG9ja2x5LW1vb2MvLi9ub2RlX21vZHVsZXMvbG9kYXNoL19jb21wYXJlTXVsdGlwbGUuanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9fY3JlYXRlQmFzZUVhY2guanMiLCJ3ZWJwYWNrOi8vYmxvY2tseS1tb29jLy4vbm9kZV9tb2R1bGVzL2xvZGFzaC9vcmRlckJ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAZmlsZSBmb250LWF3ZXNvbWUgaGVscGVyIGNvbXBvbmVudC4gKi9cbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuLyoqXG4gKiBHaXZlbiBhbiBpY29uIG5hbWUsIHJlbmRlciB0aGUgaWNvbiB1c2luZyBhbiA8aT4gdGFnIGluIHR5cGljYWwgZm9udC1hd2Vzb21lXG4gKiBmYXNoaW9uLiAgUmVxdWlyZXMgZm9udC1hd2Vzb21lIHRvIGJlIGF2YWlsYWJsZSBvbiB0aGUgcGFnZS5cbiAqIFNlZSBodHRwOi8vZm9udGF3ZXNvbWUuaW8vaWNvbnMvIHRvIGxvb2sgdXAgc3VwcG9ydGVkIGljb24gbmFtZXMuXG4gKlxuICogQGRlcHJlY2F0ZWQgdXNlIERTQ08gRm9udEF3ZXNvbWVWNkljb24gaW5zdGVhZFxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBGb250QXdlc29tZSh7aWNvbiwgY2xhc3NOYW1lLCB0aXRsZSwgLi4ucHJvcHN9KSB7XG4gIGNvbnN0IG5ld1Byb3BzID0gXy5hc3NpZ24oe30sIHByb3BzLCB7XG4gICAgY2xhc3NOYW1lOiBgZmEgZmEtJHtpY29ufSAke2NsYXNzTmFtZSA/IGNsYXNzTmFtZSA6ICcnfWAsXG4gIH0pO1xuICByZXR1cm4gPGkgey4uLm5ld1Byb3BzfSB0aXRsZT17dGl0bGV9IC8+O1xufVxuXG5Gb250QXdlc29tZS5wcm9wVHlwZXMgPSB7XG4gIGljb246IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgLy8gVGl0bGUgc2hvdWxkIGJlIHVzZWQgZm9yIHNlbWFudGljIGljb25zLiBJZiBub3QgZ2l2ZW4sIHRoZSBzY3JlZW5yZWFkZXIgd2lsbCBub3QgcmVhZCB0aGUgaWNvblxuICAvLyBTZWUgaHR0cHM6Ly9mb250YXdlc29tZS5jb20vZG9jcy93ZWIvZGlnLWRlZXBlci9hY2Nlc3NpYmlsaXR5I2ljb25zLXVzZWQtYXMtc2VtYW50aWMtZWxlbWVudHNcbn07XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuXG4vLyBhcHBzL3NyYy9zdHlsZUNvbnN0YW50cy5qc1xuLy8gR0VORVJBVEVEIEZJTEU6IERPIE5PVCBNT0RJRlkgRElSRUNUTFlcbi8vIFRoaXMgZ2VuZXJhdGVkIGZpbGUgZXhwb3J0cyBhbGwgdmFyaWFibGVzIGRlZmluZWQgaW4gc2hhcmVkL2Nzcy9zdHlsZS1jb25zdGFudHMuc2Nzc1xuLy8gZm9yIHVzZSBpbiBKYXZhU2NyaXB0LiBUaGUgZ2VuZXJhdG9yIHNjcmlwdCBpcyBjb252ZXJ0LXNjc3MtdmFyaWFibGVzLmpzXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgXCJ3b3Jrc3BhY2UtaGVhZGVycy1oZWlnaHRcIjogMzAsXG4gIFwicmVzaXplLWJhci13aWR0aFwiOiAxMyxcbiAgXCJkZWxldGUtb3BhY2l0eVwiOiBcIjAuNVwiLFxuICBcImNvbnRlbnQtd2lkdGhcIjogOTcwLFxufTtcbiIsImltcG9ydCB7XG4gIGluUHJvZ3Jlc3NGYWtlVGltZXN0YW1wLFxuICBub3RTdGFydGVkRmFrZVRpbWVzdGFtcCxcbn0gZnJvbSAnQGNkby9hcHBzL3RlbXBsYXRlcy9zZWN0aW9uQXNzZXNzbWVudHMvc2VjdGlvbkFzc2Vzc21lbnRzUmVkdXgnO1xuaW1wb3J0IGkxOG4gZnJvbSAnQGNkby9sb2NhbGUnO1xuXG5leHBvcnQgY29uc3QgdGVzdERhdGFUaW1lc3RhbXBzID0ge1xuICBuZXdlc3Q6IG5ldyBEYXRlKCcyMDE5LTA0LTA5VDIwOjUyOjA1LjAwMCswMDowMCcpLFxuICBuZXdlcjogbmV3IERhdGUoJzIwMTktMDQtMDlUMjA6NDA6MDUuMDAwKzAwOjAwJyksXG4gIG5ldzogbmV3IERhdGUoJzIwMTktMDItMDlUMjA6NTI6MDUuMDAwKzAwOjAwJyksXG4gIG9sZDogbmV3IERhdGUoJzIwMTgtMTItMDlUMjA6NTI6MDUuMDAwKzAwOjAwJyksXG4gIG9sZGVyOiBuZXcgRGF0ZSgnMjAxOC0xMC0wOVQyMDo1MjowNS4wMDArMDA6MDAnKSxcbiAgb2xkZXN0OiBuZXcgRGF0ZSgnMjAxOC0xMC0wN1QyMDo1MjowNS4wMDArMDA6MDAnKSxcbiAgbm90U3RhcnRlZDogbm90U3RhcnRlZEZha2VUaW1lc3RhbXAsXG4gIGluUHJvZ3Jlc3M6IGluUHJvZ3Jlc3NGYWtlVGltZXN0YW1wLFxufTtcblxuLy8gRGF0YSBmb3Igc3R1ZGVudHMnIGFzc2Vzc21lbnRzIG11bHRpcGxlIGNob2ljZSB0YWJsZVxuZXhwb3J0IGNvbnN0IHN0dWRlbnRPdmVydmlld0RhdGEgPSBbXG4gIHtcbiAgICBpZDogMSxcbiAgICBuYW1lOiAnQ2FsZXknLFxuICAgIG51bU11bHRpcGxlQ2hvaWNlQ29ycmVjdDogNyxcbiAgICBudW1NdWx0aXBsZUNob2ljZTogMTAsXG4gICAgbnVtTWF0Y2hDb3JyZWN0OiA3LFxuICAgIG51bU1hdGNoOiAxMCxcbiAgICBpc1N1Ym1pdHRlZDogZmFsc2UsXG4gICAgaW5Qcm9ncmVzczogZmFsc2UsXG4gICAgc3VibWlzc2lvblRpbWVTdGFtcDogdGVzdERhdGFUaW1lc3RhbXBzLm5vdFN0YXJ0ZWQsXG4gIH0sXG4gIHtcbiAgICBpZDogMixcbiAgICBuYW1lOiAnTWFkZGllJyxcbiAgICBudW1NdWx0aXBsZUNob2ljZUNvcnJlY3Q6IDMsXG4gICAgbnVtTXVsdGlwbGVDaG9pY2U6IDEwLFxuICAgIG51bU1hdGNoQ29ycmVjdDogMyxcbiAgICBudW1NYXRjaDogMTAsXG4gICAgaXNTdWJtaXR0ZWQ6IGZhbHNlLFxuICAgIGluUHJvZ3Jlc3M6IHRydWUsXG4gICAgc3VibWlzc2lvblRpbWVTdGFtcDogdGVzdERhdGFUaW1lc3RhbXBzLmluUHJvZ3Jlc3MsXG4gIH0sXG4gIHtcbiAgICBpZDogMyxcbiAgICBuYW1lOiAnRXJpbicsXG4gICAgbnVtTXVsdGlwbGVDaG9pY2VDb3JyZWN0OiA4LFxuICAgIG51bU11bHRpcGxlQ2hvaWNlOiAxMCxcbiAgICBudW1NYXRjaENvcnJlY3Q6IDgsXG4gICAgbnVtTWF0Y2g6IDEwLFxuICAgIGlzU3VibWl0dGVkOiB0cnVlLFxuICAgIGluUHJvZ3Jlc3M6IGZhbHNlLFxuICAgIHN1Ym1pc3Npb25UaW1lU3RhbXA6IHRlc3REYXRhVGltZXN0YW1wcy5uZXdlc3QsXG4gIH0sXG4gIHtcbiAgICBpZDogNCxcbiAgICBuYW1lOiAnRGF2ZScsXG4gICAgbnVtTXVsdGlwbGVDaG9pY2VDb3JyZWN0OiAxMCxcbiAgICBudW1NdWx0aXBsZUNob2ljZTogMTAsXG4gICAgaXNTdWJtaXR0ZWQ6IHRydWUsXG4gICAgbnVtTWF0Y2hDb3JyZWN0OiAxMCxcbiAgICBudW1NYXRjaDogMTAsXG4gICAgaW5Qcm9ncmVzczogZmFsc2UsXG4gICAgc3VibWlzc2lvblRpbWVTdGFtcDogdGVzdERhdGFUaW1lc3RhbXBzLm5ld2VyLFxuICB9LFxuICB7XG4gICAgaWQ6IDUsXG4gICAgbmFtZTogJ0JyYWQnLFxuICAgIG51bU11bHRpcGxlQ2hvaWNlQ29ycmVjdDogMCxcbiAgICBudW1NdWx0aXBsZUNob2ljZTogMTAsXG4gICAgbnVtTWF0Y2hDb3JyZWN0OiAwLFxuICAgIG51bU1hdGNoOiAxMCxcbiAgICBpc1N1Ym1pdHRlZDogdHJ1ZSxcbiAgICBpblByb2dyZXNzOiBmYWxzZSxcbiAgICBzdWJtaXNzaW9uVGltZVN0YW1wOiB0ZXN0RGF0YVRpbWVzdGFtcHMubmV3LFxuICB9LFxuICB7XG4gICAgaWQ6IDYsXG4gICAgbmFtZTogJ01pa2UnLFxuICAgIG51bU11bHRpcGxlQ2hvaWNlQ29ycmVjdDogMCxcbiAgICBudW1NdWx0aXBsZUNob2ljZTogMTAsXG4gICAgbnVtTWF0Y2hDb3JyZWN0OiAwLFxuICAgIG51bU1hdGNoOiAxMCxcbiAgICBpc1N1Ym1pdHRlZDogdHJ1ZSxcbiAgICBpblByb2dyZXNzOiBmYWxzZSxcbiAgICBzdWJtaXNzaW9uVGltZVN0YW1wOiB0ZXN0RGF0YVRpbWVzdGFtcHMub2xkLFxuICB9LFxuICB7XG4gICAgaWQ6IDcsXG4gICAgbmFtZTogJ0RhbmknLFxuICAgIG51bU11bHRpcGxlQ2hvaWNlQ29ycmVjdDogMCxcbiAgICBudW1NdWx0aXBsZUNob2ljZTogMTAsXG4gICAgbnVtTWF0Y2hDb3JyZWN0OiAwLFxuICAgIG51bU1hdGNoOiAxMCxcbiAgICBpc1N1Ym1pdHRlZDogdHJ1ZSxcbiAgICBpblByb2dyZXNzOiBmYWxzZSxcbiAgICBzdWJtaXNzaW9uVGltZVN0YW1wOiB0ZXN0RGF0YVRpbWVzdGFtcHMub2xkZXIsXG4gIH0sXG4gIHtcbiAgICBpZDogOCxcbiAgICBuYW1lOiAnQW1hbmRhJyxcbiAgICBudW1NdWx0aXBsZUNob2ljZUNvcnJlY3Q6IDAsXG4gICAgbnVtTXVsdGlwbGVDaG9pY2U6IDEwLFxuICAgIG51bU1hdGNoQ29ycmVjdDogMCxcbiAgICBudW1NYXRjaDogMTAsXG4gICAgaXNTdWJtaXR0ZWQ6IHRydWUsXG4gICAgaW5Qcm9ncmVzczogZmFsc2UsXG4gICAgc3VibWlzc2lvblRpbWVTdGFtcDogdGVzdERhdGFUaW1lc3RhbXBzLm9sZGVzdCxcbiAgfSxcbiAge1xuICAgIGlkOiA5LFxuICAgIG5hbWU6ICdOa2lydScsXG4gICAgbnVtTXVsdGlwbGVDaG9pY2VDb3JyZWN0OiA3LFxuICAgIG51bU11bHRpcGxlQ2hvaWNlOiAxMCxcbiAgICBudW1NYXRjaENvcnJlY3Q6IDcsXG4gICAgbnVtTWF0Y2g6IDEwLFxuICAgIGlzU3VibWl0dGVkOiBmYWxzZSxcbiAgICBpblByb2dyZXNzOiB0cnVlLFxuICAgIHN1Ym1pc3Npb25UaW1lU3RhbXA6IHRlc3REYXRhVGltZXN0YW1wcy5pblByb2dyZXNzLFxuICB9LFxuICB7XG4gICAgaWQ6IDEwLFxuICAgIG5hbWU6ICdLYXJpcycsXG4gICAgbnVtTXVsdGlwbGVDaG9pY2VDb3JyZWN0OiA3LFxuICAgIG51bU11bHRpcGxlQ2hvaWNlOiAxMCxcbiAgICBudW1NYXRjaENvcnJlY3Q6IDcsXG4gICAgbnVtTWF0Y2g6IDEwLFxuICAgIGlzU3VibWl0dGVkOiBmYWxzZSxcbiAgICBpblByb2dyZXNzOiBmYWxzZSxcbiAgICBzdWJtaXNzaW9uVGltZVN0YW1wOiB0ZXN0RGF0YVRpbWVzdGFtcHMubm90U3RhcnRlZCxcbiAgfSxcbl07XG5cbi8vIERhdGEgZm9yIHNpbmdsZSBzdHVkZW50IG11bHRpcGxlIGNob2ljZSBhc3Nlc3NtZW50IHRhYmxlXG4vLyB0eXBlOiBzdHVkZW50V2l0aE1DUmVzcG9uc2VzUHJvcFR5cGVcbmV4cG9ydCBjb25zdCBzdHVkZW50TUNEYXRhID0ge1xuICBpZDogMSxcbiAgbmFtZTogJ0NhbGV5JyxcbiAgc3R1ZGVudFJlc3BvbnNlczogW1xuICAgIHtpc0NvcnJlY3Q6IGZhbHNlLCByZXNwb25zZXM6ICcnfSxcbiAgICB7aXNDb3JyZWN0OiBmYWxzZSwgcmVzcG9uc2VzOiAnQiBEJ30sXG4gICAge2lzQ29ycmVjdDogZmFsc2UsIHJlc3BvbnNlczogJ0UnfSxcbiAgICB7aXNDb3JyZWN0OiBmYWxzZSwgcmVzcG9uc2VzOiAnQyd9LFxuICAgIHtpc0NvcnJlY3Q6IHRydWUsIHJlc3BvbnNlczogJ0EnfSxcbiAgXSxcbn07XG5cbmV4cG9ydCBjb25zdCBtYXRjaFF1ZXN0aW9uV2l0aDJQYWlycyA9IFtcbiAge1xuICAgIGFuc3dlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDEnLFxuICAgICAgICBudW1BbnN3ZXJlZDogNixcbiAgICAgICAgaXNDb3JyZWN0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFuc3dlcjogJ2Fuc3dlciAyJyxcbiAgICAgICAgbnVtQW5zd2VyZWQ6IDAsXG4gICAgICAgIGlzQ29ycmVjdDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBpZDogMCxcbiAgICBvcHRpb246ICdvcHRpb24gMScsXG4gICAgbm90QW5zd2VyZWQ6IDEsXG4gICAgdG90YWxBbnN3ZXJlZDogNyxcbiAgfSxcbiAge1xuICAgIGFuc3dlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDEnLFxuICAgICAgICBudW1BbnN3ZXJlZDogMixcbiAgICAgICAgaXNDb3JyZWN0OiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDInLFxuICAgICAgICBudW1BbnN3ZXJlZDogNCxcbiAgICAgICAgaXNDb3JyZWN0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBpZDogMSxcbiAgICBvcHRpb246ICdvcHRpb24gMicsXG4gICAgbm90QW5zd2VyZWQ6IDEsXG4gICAgdG90YWxBbnN3ZXJlZDogNyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBtYXRjaFF1ZXN0aW9uV2l0aDRQYWlycyA9IFtcbiAge1xuICAgIGFuc3dlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDEnLFxuICAgICAgICBudW1BbnN3ZXJlZDogNixcbiAgICAgICAgaXNDb3JyZWN0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFuc3dlcjogJ2Fuc3dlciAyJyxcbiAgICAgICAgbnVtQW5zd2VyZWQ6IDAsXG4gICAgICAgIGlzQ29ycmVjdDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFuc3dlcjogJ2Fuc3dlciAzJyxcbiAgICAgICAgbnVtQW5zd2VyZWQ6IDYsXG4gICAgICAgIGlzQ29ycmVjdDogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBhbnN3ZXI6ICdhbnN3ZXIgNCcsXG4gICAgICAgIG51bUFuc3dlcmVkOiAwLFxuICAgICAgICBpc0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGlkOiAwLFxuICAgIG9wdGlvbjogJ29wdGlvbiAxJyxcbiAgICBub3RBbnN3ZXJlZDogMyxcbiAgICB0b3RhbEFuc3dlcmVkOiAxNSxcbiAgfSxcbiAge1xuICAgIGFuc3dlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDEnLFxuICAgICAgICBudW1BbnN3ZXJlZDogNSxcbiAgICAgICAgaXNDb3JyZWN0OiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDInLFxuICAgICAgICBudW1BbnN3ZXJlZDogNSxcbiAgICAgICAgaXNDb3JyZWN0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFuc3dlcjogJ2Fuc3dlciAzJyxcbiAgICAgICAgbnVtQW5zd2VyZWQ6IDYsXG4gICAgICAgIGlzQ29ycmVjdDogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBhbnN3ZXI6ICdhbnN3ZXIgNCcsXG4gICAgICAgIG51bUFuc3dlcmVkOiA1LFxuICAgICAgICBpc0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGlkOiAxLFxuICAgIG9wdGlvbjogJ29wdGlvbiAyJyxcbiAgICBub3RBbnN3ZXJlZDogMCxcbiAgICB0b3RhbEFuc3dlcmVkOiAxNSxcbiAgfSxcbiAge1xuICAgIGFuc3dlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDEnLFxuICAgICAgICBudW1BbnN3ZXJlZDogMCxcbiAgICAgICAgaXNDb3JyZWN0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFuc3dlcjogJ2Fuc3dlciAyJyxcbiAgICAgICAgbnVtQW5zd2VyZWQ6IDE1LFxuICAgICAgICBpc0NvcnJlY3Q6IHRydWUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBhbnN3ZXI6ICdhbnN3ZXIgMycsXG4gICAgICAgIG51bUFuc3dlcmVkOiAwLFxuICAgICAgICBpc0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDQnLFxuICAgICAgICBudW1BbnN3ZXJlZDogMCxcbiAgICAgICAgaXNDb3JyZWN0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBpZDogMixcbiAgICBvcHRpb246ICdvcHRpb24gMycsXG4gICAgbm90QW5zd2VyZWQ6IDAsXG4gICAgdG90YWxBbnN3ZXJlZDogMTUsXG4gIH0sXG4gIHtcbiAgICBhbnN3ZXJzOiBbXG4gICAgICB7XG4gICAgICAgIGFuc3dlcjogJ2Fuc3dlciAxJyxcbiAgICAgICAgbnVtQW5zd2VyZWQ6IDEsXG4gICAgICAgIGlzQ29ycmVjdDogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBhbnN3ZXI6ICdhbnN3ZXIgMicsXG4gICAgICAgIG51bUFuc3dlcmVkOiAxLFxuICAgICAgICBpc0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYW5zd2VyOiAnYW5zd2VyIDMnLFxuICAgICAgICBudW1BbnN3ZXJlZDogMSxcbiAgICAgICAgaXNDb3JyZWN0OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFuc3dlcjogJ2Fuc3dlciA0JyxcbiAgICAgICAgbnVtQW5zd2VyZWQ6IDAsXG4gICAgICAgIGlzQ29ycmVjdDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBpZDogMyxcbiAgICBvcHRpb246ICdvcHRpb24gNCcsXG4gICAgbm90QW5zd2VyZWQ6IDEyLFxuICAgIHRvdGFsQW5zd2VyZWQ6IDE1LFxuICB9LFxuXTtcblxuLy8gRGF0YSBmb3IgbXVsdGlwbGUgY2hvaWNlIG92ZXJ2aWV3IHRhYmxlXG5leHBvcnQgY29uc3QgbXVsdGlwbGVDaG9pY2VEYXRhID0gW1xuICB7XG4gICAgaWQ6IDEsXG4gICAgcXVlc3Rpb246ICdXaGF0IGlzIGEgdmFyaWFibGU/JyxcbiAgICBhbnN3ZXJzOiBbXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkEoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiA0MCxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uQigpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDIwLFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uQygpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDIwLFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uRCgpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDIwLFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIG5vdEFuc3dlcmVkOiAxMCxcbiAgfSxcbiAge1xuICAgIGlkOiAyLFxuICAgIHF1ZXN0aW9uOiAnV2hhdCBpcyBhIDQtYml0IG51bWJlciBmb3IgdGhlIGRlY2ltYWwgbnVtYmVyIFRlbigxMCk/JyxcbiAgICBhbnN3ZXJzOiBbXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkEoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiAzMCxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkIoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiAxMCxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uQygpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDEwLFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uRCgpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDEwLFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IHRydWUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25FKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogMjAsXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25GKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogMTAsXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gICAgbm90QW5zd2VyZWQ6IDMwLFxuICB9LFxuICB7XG4gICAgaWQ6IDMsXG4gICAgcXVlc3Rpb246XG4gICAgICAnV2hhdCBpcyB0aGUgbWluaW11bSBudW1iZXIgb2YgYml0cyB5b3Ugd2lsbCBuZWVkIHRvIGVuY29kZSB0aGUgMjYgbGV0dGVycyBvZiB0aGUgYWxwaGFiZXQgcGx1cyBhIHNwYWNlPycsXG4gICAgYW5zd2VyczogW1xuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25BKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogNTAsXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25CKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogMTUsXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25DKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogMjAsXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25EKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogNSxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkUoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiA1LFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IHRydWUsXG4gICAgICB9LFxuICAgIF0sXG4gICAgbm90QW5zd2VyZWQ6IDUsXG4gIH0sXG4gIHtcbiAgICBpZDogNCxcbiAgICBxdWVzdGlvbjpcbiAgICAgICdXaGF0IGlzIHRoZSBiZXN0IGV4cGxhbmF0aW9uIGZvciB3aHkgZGlnaXRhbCBkYXRhIGlzIHJlcHJlc2VudGVkIGluIGNvbXB1dGVycyBpbiBiaW5hcnk/JyxcbiAgICBhbnN3ZXJzOiBbXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkEoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiAxNSxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkIoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiAxOCxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkMoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiAxMCxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uRCgpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDksXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogZmFsc2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBtdWx0aXBsZUNob2ljZU9wdGlvbjogaTE4bi5hbnN3ZXJPcHRpb25FKCksXG4gICAgICAgIHBlcmNlbnRBbnN3ZXJlZDogNSxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkYoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiAzMixcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uRygpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDUsXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gICAgbm90QW5zd2VyZWQ6IDMzLFxuICB9LFxuICB7XG4gICAgaWQ6IDUsXG4gICAgcXVlc3Rpb246ICdXaGF0IGlzIGEgZnVuY3Rpb24/JyxcbiAgICBhbnN3ZXJzOiBbXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkEoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiAxNSxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkIoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiAxOCxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkMoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiAxMCxcbiAgICAgICAgaXNDb3JyZWN0QW5zd2VyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG11bHRpcGxlQ2hvaWNlT3B0aW9uOiBpMThuLmFuc3dlck9wdGlvbkQoKSxcbiAgICAgICAgcGVyY2VudEFuc3dlcmVkOiA5LFxuICAgICAgICBpc0NvcnJlY3RBbnN3ZXI6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbXVsdGlwbGVDaG9pY2VPcHRpb246IGkxOG4uYW5zd2VyT3B0aW9uRSgpLFxuICAgICAgICBwZXJjZW50QW5zd2VyZWQ6IDUsXG4gICAgICAgIGlzQ29ycmVjdEFuc3dlcjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBub3RBbnN3ZXJlZDogMjUsXG4gIH0sXG5dO1xuXG4vLyBEYXRhIGZvciBzaW5nbGUgc3R1ZGVudCB0YWJsZS5cbi8vIEFycmF5IG9mIHF1ZXN0aW9uU3RydWN0dXJlUHJvcFR5cGUgZnJvbSBTaW5nbGVTdHVkZW5kQXNzZXNtZW50c01DVGFibGVcbmV4cG9ydCBjb25zdCBtdWx0aXBsZUNob2ljZURhdGFGb3JTaW5nbGVTdHVkZW50ID0gbXVsdGlwbGVDaG9pY2VEYXRhLm1hcChcbiAgKHF1ZXN0aW9uLCBpbmRleCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogcXVlc3Rpb24uaWQsXG4gICAgICBxdWVzdGlvbjogcXVlc3Rpb24ucXVlc3Rpb24sXG4gICAgICBxdWVzdGlvbk51bWJlcjogaW5kZXggKyAxLFxuICAgICAgY29ycmVjdEFuc3dlcjogWydDJywgJ0MgQicsICdEJywgJ0InLCAnQSddW2luZGV4XSxcbiAgICB9O1xuICB9XG4pO1xuXG4vLyBEYXRhIGZvciBzaW5nbGUgbWF0Y2ggcXVlc3Rpb24gc3R1ZGVudCB0YWJsZS5cbmV4cG9ydCBjb25zdCBtYXRjaERhdGFGb3JTaW5nbGVTdHVkZW50ID0ge1xuICBpZDogMTIzLFxuICBxdWVzdGlvbjogJ0NhbiB5b3UgbWF0Y2ggdGhlc2U/JyxcbiAgcXVlc3Rpb25OdW1iZXI6IDEsXG4gIGFuc3dlcnM6IFt7dGV4dDogJ2Fuc3dlciAxJ30sIHt0ZXh0OiAnYW5zd2VyIDInfV0sXG4gIG9wdGlvbnM6IFt7dGV4dDogJ29wdGlvbiAxJ30sIHt0ZXh0OiAnb3B0aW9uIDInfV0sXG59O1xuXG4vLyBEYXRhIGZvciBmcmVlIHJlc3BvbnNlcyBhc3Nlc3NtZW50cyB0YWJsZS5cbmV4cG9ydCBjb25zdCBxdWVzdGlvbk9uZSA9IFtcbiAge1xuICAgIGlkOiAxLFxuICAgIHN0dWRlbnRJZDogJzIxMCcsXG4gICAgbmFtZTogJ0NhbGV5JyxcbiAgICByZXNwb25zZTogJyAnLFxuICB9LFxuICB7XG4gICAgaWQ6IDIsXG4gICAgc3R1ZGVudElkOiAnMjExJyxcbiAgICBuYW1lOiAnTWFkZGllJyxcbiAgICByZXNwb25zZTogYFRyZWVzIGxpdmUgaW4geW91ciBmYW4gYnJ1c2gsIGJ1dCB5b3UgaGF2ZSB0byBzY2FyZSB0aGVtIG91dC4gVXNlIGFic29sdXRlbHkgbm8gcHJlc3N1cmUuIEp1c3QgbGlrZSBhbiBhbmdlbCdzIHdpbmcuIFlvdSBjYW4ndCBoYXZlIGxpZ2h0IHdpdGhvdXQgZGFyay4gWW91IGNhbid0IGtub3cgaGFwcGluZXNzIHVubGVzcyB5b3UndmUga25vd24gc29ycm93LiBJZiB5b3UgZGlkbid0IGhhdmUgYmFieSBjbG91ZHMsIHlvdSB3b3VsZG4ndCBoYXZlIGJpZyBjbG91ZHMuIEl0IGlzIGEgbG90IG9mIGZ1bi4gV2UnbGwgcHV0IGFsbCB0aGUgbGl0dGxlIGNsb3VkcyBpbiBhbmQgbGV0IHRoZW0gZGFuY2UgYXJvdW5kIGFuZCBoYXZlIGZ1bi4gQW5kIHJpZ2h0IHRoZXJlIHlvdSBnb3QgYW4gYWxtaWdodHkgY2xvdWQuIFdlIGRvbid0IGhhdmUgdG8gYmUgY29tbWl0dGVkLiBXZSBhcmUganVzdCBwbGF5aW5nIGhlcmUuIEEgdHJlZSBjYW5ub3QgYmUgc3RyYWlnaHQgaWYgaXQgaGFzIGEgY3Jvb2tlZCB0cnVuay4gTGV0IHlvdXIgaGVhcnQgdGFrZSB5b3UgdG8gd2hlcmV2ZXIgeW91IHdhbnQgdG8gYmUuIE5vIHdvcnJpZXMuIE5vIGNhcmVzLiBKdXN0IGZsb2F0IGFuZCB3YWl0IGZvciB0aGUgd2luZCB0byBibG93IHlvdSBhcm91bmQuIFB1dCBsaWdodCBhZ2FpbnN0IGxpZ2h0IC0geW91IGhhdmUgbm90aGluZy4gUHV0IGRhcmsgYWdhaW5zdCBkYXJrIC0geW91IGhhdmUgbm90aGluZy4gSXQncyB0aGUgY29udHJhc3Qgb2YgbGlnaHQgYW5kIGRhcmsgdGhhdCBlYWNoIGdpdmUgdGhlIG90aGVyIG9uZSBtZWFuaW5nLiBUaGlzIGlzIHRydWx5IGFuIGFsbWlnaHR5IG1vdW50YWluLiBUaGUgb25seSB0aGluZyB3b3JzZSB0aGFuIHllbGxvdyBzbm93IGlzIGdyZWVuIHNub3cuIFBhaW50IGFueXRoaW5nIHlvdSB3YW50IG9uIHRoZSBjYW52YXMuIENyZWF0ZSB5b3VyIG93biB3b3JsZC4gWW91IGRvbid0IGhhdmUgdG8gYmUgY3JhenkgdG8gZG8gdGhpcyBidXQgaXQgZG9lcyBoZWxwLiBUcmVlIHRydW5rcyBncm93IGhvd2V2ZXIgbWFrZXMgdGhlbSBoYXBweS4gTm93IGxldCdzIHB1dCBzb21lIGhhcHB5IGxpdHRsZSBjbG91ZHMgaW4gaGVyZS4gSW4geW91ciBpbWFnaW5hdGlvbiB5b3UgY2FuIGdvIGFueXdoZXJlIHlvdSB3YW50LiBJdCdzIHNvIGltcG9ydGFudCB0byBkbyBzb21ldGhpbmcgZXZlcnkgZGF5IHRoYXQgd2lsbCBtYWtlIHlvdSBoYXBweS4gQWxtb3N0IGV2ZXJ5dGhpbmcgaXMgZ29pbmcgdG8gaGFwcGVuIGZvciB5b3UgYXV0b21hdGljYWxseSAtIHlvdSBkb24ndCBoYXZlIHRvIHNwZW5kIGFueSB0aW1lIHdvcmtpbmcgb3Igd29ycnlpbmcuIEknbSBhIHdhdGVyIGZhbmF0aWMuIEkgbG92ZSB3YXRlci5cbiAgICBXZSB3YXNoIG91ciBicnVzaCB3aXRoIG9kb3JsZXNzIHRoaW5uZXIuIEEgYmVhdXRpZnVsIGxpdHRsZSBzdW5zZXQuIEFsbCB5b3UgaGF2ZSB0byBsZWFybiBoZXJlIGlzIGhvdyB0byBoYXZlIGZ1bi4gTGV0J3MgZ28gdXAgaW4gaGVyZSwgYW5kIHN0YXJ0IGhhdmluZyBzb21lIGZ1biBUcmVlcyBnZXQgbG9uZWx5IHRvbywgc28gd2UnbGwgZ2l2ZSBoaW0gYSBsaXR0bGUgZnJpZW5kLiBUaGVyZSBhcmUgbm8gbGltaXRzIGluIHRoaXMgd29ybGQuIFNlZS4gV2UgdGFrZSB0aGUgY29ybmVyIG9mIHRoZSBicnVzaCBhbmQgbGV0IGl0IHBsYXkgYmFjay1hbmQtZm9ydGguIFRoZSBsaXR0bGUgdGlueSBUaW0gZWFzZWxzIHdpbGwgbGV0IHlvdSBkb3duLiBTdGV2ZSB3YW50cyByZWZsZWN0aW9ucywgc28gbGV0J3MgZ2l2ZSBoaW0gcmVmbGVjdGlvbnMuIEl0J3MgYmVhdXRpZnVsIC0gYW5kIHdlIGhhdmVuJ3QgZXZlbiBkb25lIGFueXRoaW5nIHRvIGl0IHlldC4gSnVzdCB0aGluayBhYm91dCB0aGVzZSB0aGluZ3MgaW4geW91ciBtaW5kIC0gdGhlbiBicmluZyB0aGVtIGludG8geW91ciB3b3JsZC4gV2Ugc3RhcnQgd2l0aCBhIHZpc2lvbiBpbiBvdXIgaGVhcnQsIGFuZCB3ZSBwdXQgaXQgb24gY2FudmFzLiBJIGNhbid0IHRoaW5rIG9mIGFueXRoaW5nIG1vcmUgcmV3YXJkaW5nIHRoYW4gYmVpbmcgYWJsZSB0byBleHByZXNzIHlvdXJzZWxmIHRvIG90aGVycyB0aHJvdWdoIHBhaW50aW5nLGAsXG4gIH0sXG4gIHtcbiAgICBpZDogMyxcbiAgICBzdHVkZW50SWQ6ICcyMTInLFxuICAgIG5hbWU6ICdFcmluJyxcbiAgICByZXNwb25zZTogJ0dvIG91dCBvbiBhIGxpbWIgLSB0aGF0IGlzIHdoZXJlIHRoZSBmcnVpdCBpcy4nLFxuICB9LFxuICB7XG4gICAgaWQ6IDQsXG4gICAgc3R1ZGVudElkOiAnMjEzJyxcbiAgICBuYW1lOiAnQnJlbmRhbkJyZW5kYW5CcmVuZGFuQnJlbmRhbicsXG4gICAgcmVzcG9uc2U6IGBXZSBkbyBub3QgbWFrZSBtaXN0YWtlcyB3ZSBqdXN0IGhhdmUgaGFwcHkgbGl0dGxlIGFjY2lkZW50cy4gT25jZSB5b3UgbGVhcm4gdGhlIHRlY2huaXF1ZSxcbiAgICAgICAgb2hoaCEgVHVybiB5b3UgbG9vc2Ugb24gdGhlIHdvcmxkOyB5b3UgYmVjb21lIGEgdGlnZXIuLGAsXG4gIH0sXG4gIHtcbiAgICBpZDogNSxcbiAgICBzdHVkZW50SWQ6ICcyMTQnLFxuICAgIG5hbWU6ICdBd2Vzb21lIENvZGVyJyxcbiAgICByZXNwb25zZTogYGZvciAobGV0IGlpID0gMDsgaWkgPCBzdHVmZi5sZW5ndGg7IGlpKyspIHtcbiAgICBjb25zb2xlLmxvZyhcIkkgZml4ZWQgYSBidWchISFcIik7XG59YCxcbiAgfSxcbl07XG5cbi8vIERhdGEgZm9yIGZyZWUgcmVzcG9uc2VzIGFzc2Vzc21lbnRzIHRhYmxlLlxuZXhwb3J0IGNvbnN0IHF1ZXN0aW9uVHdvID0gW1xuICB7XG4gICAgaWQ6IDEsXG4gICAgc3R1ZGVudElkOiAnMjEwJyxcbiAgICBuYW1lOiAnQ2FsZXknLFxuICAgIHJlc3BvbnNlOiAnSW4gZXZlcnkgd2FsayB3aXRoIG5hdHVyZSwgb25lIHJlY2VpdmVzIGZhciBtb3JlIHRoYW4gb25lIHNlZWtzJyxcbiAgfSxcbl07XG5cbi8vIERhdGEgZm9yIGZyZWUgcmVzcG9uc2VzIGFzc2Vzc21lbnRzIHRhYmxlLlxuZXhwb3J0IGNvbnN0IHF1ZXN0aW9uVGhyZWUgPSBbXG4gIHtcbiAgICBpZDogMSxcbiAgICBzdHVkZW50SWQ6ICcyMTAnLFxuICAgIG5hbWU6ICdNYWRkaWUnLFxuICAgIHJlc3BvbnNlOiAnICcsXG4gIH0sXG5dO1xuXG4vLyBEYXRhIGZvciBmcmVlIHJlc3BvbnNlcyBzdXJ2ZXkgdGFibGUuXG5leHBvcnQgY29uc3Qgc3VydmV5T25lID0gW1xuICB7XG4gICAgaW5kZXg6IDAsXG4gICAgcmVzcG9uc2U6XG4gICAgICAnU2VhIGxldHR1Y2UgZ3VtYm8gZ3JhcGUga2FsZSBrb21idSBjYXVsaWZsb3dlciBzYWxzaWZ5IGtvaGxyYWJpIG9rcmEgc2VhIGxldHR1Y2UgYnJvY2NvbGkgY2VsZXJ5IGxvdHVzIHJvb3QgY2Fycm90IHdpbnRlciBwdXJzbGFuZSB0dXJuaXAgZ3JlZW5zIGdhcmxpYy4nLFxuICB9LFxuICB7XG4gICAgaW5kZXg6IDEsXG4gICAgcmVzcG9uc2U6XG4gICAgICAnR3VtYm8gYmVldCBncmVlbnMgY29ybiBzb2tvIGVuZGl2ZSBndW1ibyBnb3VyZC4gUGFyc2xleSBzaGFsbG90IGNvdXJnZXR0ZSB0YXRzb2kgcGVhIHNwcm91dHMgZmF2YSBiZWFuIGNvbGxhcmQgZ3JlZW5zIGRhbmRlbGlvbiBva3JhIHdha2FtZSB0b21hdG8uJyxcbiAgfSxcbiAge1xuICAgIGluZGV4OiAyLFxuICAgIHJlc3BvbnNlOlxuICAgICAgJ1BlYSBob3JzZXJhZGlzaCBhenVraSBiZWFuIGxldHR1Y2UgYXZvY2FkbyBhc3BhcmFndXMgb2tyYS4gS29obHJhYmkgcmFkaXNoIG9rcmEgYXp1a2kgYmVhbiBjb3JuIGZhdmEgYmVhbiBtdXN0YXJkIHRpZ2VybnV0IGrDrWNhbWEgZ3JlZW4gYmVhbiBjZWx0dWNlIGNvbGxhcmQgZ3JlZW5zIGF2b2NhZG8gcXVhbmRvbmcgZmVubmVsIGd1bWJvIGJsYWNrLWV5ZWQgcGVhLicsXG4gIH0sXG4gIHtcbiAgICBpbmRleDogMyxcbiAgICByZXNwb25zZTpcbiAgICAgICdDZWxlcnkgcXVhbmRvbmcgc3dpc3MgY2hhcmQgY2hpY29yeSBlYXJ0aG51dCBwZWEgcG90YXRvLiBTYWxzaWZ5IHRhcm8gY2F0c2VhciBnYXJsaWMgZ3JhbSBjZWxlcnkgYml0dGVybGVhZiB3YXR0bGUgc2VlZCBjb2xsYXJkIGdyZWVucyBub3JpLicsXG4gIH0sXG4gIHtcbiAgICBpbmRleDogNCxcbiAgICByZXNwb25zZTpcbiAgICAgICdUdXJuaXAgZ3JlZW5zIHlhcnJvdyByaWNlYmVhbiBydXRhYmFnYSBlbmRpdmUgY2F1bGlmbG93ZXIgc2VhIGxldHR1Y2Uga29obHJhYmkgYW1hcmFudGggd2F0ZXIgc3BpbmFjaCBhdm9jYWRvIGRhaWtvbiBuYXBhIGNhYmJhZ2UgYXNwYXJhZ3VzIHdpbnRlciBwdXJzbGFuZSBrYWxlLicsXG4gIH0sXG5dO1xuXG4vLyBEYXRhIGZvciBmcmVlIHJlcG9uc2VzIGZvciBzdXJ2ZXkgdGFibGVcbmV4cG9ydCBjb25zdCBzdXJ2ZXlUd28gPSBbXG4gIHtcbiAgICBpbmRleDogMCxcbiAgICByZXNwb25zZTogJ0luIGV2ZXJ5IHdhbGsgd2l0aCBuYXR1cmUsIG9uZSByZWNlaXZlcyBmYXIgbW9yZSB0aGFuIG9uZSBzZWVrcycsXG4gIH0sXG4gIHtcbiAgICBpbmRleDogMSxcbiAgICByZXNwb25zZTogJ0luIGV2ZXJ5IHdhbGsgd2l0aCBuYXR1cmUsIG9uZSByZWNlaXZlcyBmYXIgbW9yZSB0aGFuIG9uZSBzZWVrcycsXG4gIH0sXG4gIHtcbiAgICBpbmRleDogMixcbiAgICByZXNwb25zZTogJ0luIGV2ZXJ5IHdhbGsgd2l0aCBuYXR1cmUsIG9uZSByZWNlaXZlcyBmYXIgbW9yZSB0aGFuIG9uZSBzZWVrcycsXG4gIH0sXG5dO1xuIiwiaW1wb3J0IGZvbnRDb25zdGFudHMgZnJvbSAnQGNkby9hcHBzL2ZvbnRDb25zdGFudHMnO1xuXG5pbXBvcnQgc3R5bGVDb25zdGFudHMgZnJvbSAnLi4vLi4vc3R5bGVDb25zdGFudHMnO1xuaW1wb3J0IGNvbG9yIGZyb20gJy4uLy4uL3V0aWwvY29sb3InO1xuXG4vLyBDb25zdGFudHMgZm9yIFJlYWN0IHRhYmxlc1xuXG4vLyBTdHlsZXMgZm9yIGEgcmVhY3R0YWJ1bGFyIHRhYmxlXG4vKipcbiAqIEB0eXBlIHt7XG4gKiAgIHRhYmxlVGV4dDoge1xuICogICAgIHRleHRPdmVyZmxvdz86IHN0cmluZztcbiAqICAgICBvdmVyZmxvdz86IHN0cmluZztcbiAqICAgICB3aGl0ZVNwYWNlPzogXCJub3JtYWxcIiB8IFwibm93cmFwXCIgfCBcInByZVwiIHwgXCJwcmUtbGluZVwiIHwgXCJwcmUtd3JhcFwiO1xuICogICB9O1xuICogICB0YWJsZU5hbWVUZXh0OiB7XG4gKiAgICAgdGV4dE92ZXJmbG93OiBzdHJpbmcsXG4gKiAgICAgb3ZlcmZsb3c6IHN0cmluZztcbiAqICAgICB3aGl0ZVNwYWNlOiBzdHJpbmc7XG4gKiAgICAgbWluV2lkdGg6IG51bWJlcjtcbiAqICAgfTtcbiAqICAgdGFibGU6IHtcbiAqICAgICBib3JkZXJXaWR0aD86IHN0cmluZztcbiAqICAgICBib3JkZXJTdHlsZT86IHN0cmluZztcbiAqICAgICBib3JkZXJDb2xvcj86IHN0cmluZztcbiAqICAgICB3aWR0aD86IHN0cmluZztcbiAqICAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmcsXG4gKiAgIH07XG4gKiAgIGNlbGw6IHtcbiAqICAgICBtYXhXaWR0aD86IG51bWJlcjtcbiAqICAgICBib3JkZXI/OiBzdHJpbmc7XG4gKiAgICAgYm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gKiAgICAgcGFkZGluZz86IG51bWJlcjtcbiAqICAgICBmb250U2l6ZT86IG51bWJlcjtcbiAqICAgfTtcbiAqICAgaGVhZGVyQ2VsbDoge1xuICogICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAqICAgICBmb250V2VpZ2h0Pzogc3RyaW5nO1xuICogICAgIGJvcmRlckNvbG9yPzogc3RyaW5nO1xuICogICAgIGJvcmRlclN0eWxlPzogc3RyaW5nO1xuICogICAgIGJvcmRlckJvdHRvbVdpZHRoPzogbnVtYmVyO1xuICogICAgIGJvcmRlclRvcFdpZHRoPzogbnVtYmVyO1xuICogICAgIGJvcmRlckxlZnRXaWR0aD86IG51bWJlcjtcbiAqICAgICBib3JkZXJSaWdodFdpZHRoPzogbnVtYmVyO1xuICogICAgIHBhZGRpbmdUb3A/OiBudW1iZXI7XG4gKiAgICAgcGFkZGluZ0JvdHRvbT86IG51bWJlcjtcbiAqICAgICBjb2xvcj86IHN0cmluZztcbiAqICAgICB0ZXh0QWxpZ24/OiBzdHJpbmc7XG4gKiAgIH07XG4gKiAgIGZsZXhDZWxsOiB7XG4gKiAgICAgZGlzcGxheT86IHN0cmluZztcbiAqICAgICBhbGlnbkl0ZW1zPzogc3RyaW5nO1xuICogICB9O1xuICogfX1cbiAqL1xuZXhwb3J0IGNvbnN0IHRhYmxlTGF5b3V0U3R5bGVzID0ge1xuICB0YWJsZVRleHQ6IHtcbiAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICB9LFxuICB0YWJsZU5hbWVUZXh0OiB7XG4gICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICBtaW5XaWR0aDogMTYwLFxuICB9LFxuICB0YWJsZToge1xuICAgIGJvcmRlcldpZHRoOiAxLFxuICAgIGJvcmRlclN0eWxlOiAnc29saWQnLFxuICAgIGJvcmRlckNvbG9yOiBjb2xvci5ib3JkZXJfZ3JheSxcbiAgICB3aWR0aDogc3R5bGVDb25zdGFudHNbJ2NvbnRlbnQtd2lkdGgnXSxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLnRhYmxlX2xpZ2h0X3JvdyxcbiAgfSxcbiAgY2VsbDoge1xuICAgIG1heFdpZHRoOiAyMDAsXG4gICAgYm9yZGVyOiAnMXB4IHNvbGlkJyxcbiAgICBib3JkZXJDb2xvcjogY29sb3IuYm9yZGVyX2xpZ2h0X2dyYXksXG4gICAgcGFkZGluZzogMTAsXG4gICAgZm9udFNpemU6IDE0LFxuICB9LFxuICBoZWFkZXJDZWxsOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci50YWJsZV9oZWFkZXIsXG4gICAgZm9udFdlaWdodDogJ2JvbGQnLFxuICAgIGJvcmRlckNvbG9yOiBjb2xvci5ib3JkZXJfbGlnaHRfZ3JheSxcbiAgICBib3JkZXJTdHlsZTogJ3NvbGlkJyxcbiAgICBib3JkZXJCb3R0b21XaWR0aDogMSxcbiAgICBib3JkZXJUb3BXaWR0aDogMCxcbiAgICBib3JkZXJMZWZ0V2lkdGg6IDAsXG4gICAgYm9yZGVyUmlnaHRXaWR0aDogMSxcbiAgICBwYWRkaW5nVG9wOiAyMCxcbiAgICBwYWRkaW5nQm90dG9tOiAyMCxcbiAgICBjb2xvcjogY29sb3IuY2hhcmNvYWwsXG4gICAgdGV4dEFsaWduOiAnaW5oZXJpdCcsXG4gIH0sXG4gIGZsZXhDZWxsOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB9LFxuICBsaW5rOiB7XG4gICAgLi4uZm9udENvbnN0YW50c1snbWFpbi1mb250LXNlbWktYm9sZCddLFxuICAgIGZvbnRTaXplOiAxNCxcbiAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxuICB9LFxuICB1bnNvcnRhYmxlSGVhZGVyOiB7XG4gICAgcGFkZGluZ0xlZnQ6IDI1LFxuICB9LFxuICB1bnNvcnRhYmxlSGVhZGVyUlRMOiB7XG4gICAgcGFkZGluZ1JpZ2h0OiAyNSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBwbFRhYmxlTGF5b3V0U3R5bGVzID0ge1xuICBsaW5rOiB7XG4gICAgLi4uZm9udENvbnN0YW50c1snbWFpbi1mb250LXNlbWktYm9sZCddLFxuICAgIGZvbnRTaXplOiAxNCxcbiAgICBjb2xvcjogY29sb3IubmV1dHJhbF9kYXJrLFxuICAgIHRleHREZWNvcmF0aW9uOiAndW5kZXJsaW5lJyxcbiAgfSxcbiAgc2VjdGlvbkNvZGVMaW5rOiB7XG4gICAgLi4uZm9udENvbnN0YW50c1snbWFpbi1mb250LXNlbWktYm9sZCddLFxuICAgIGZvbnRTaXplOiAxNCxcbiAgICBjb2xvcjogY29sb3IuYnJhbmRfc2Vjb25kYXJ5X2RlZmF1bHQsXG4gIH0sXG4gIGN1cnJlbnRVbml0OiB7XG4gICAgbWFyZ2luVG9wOiAxMCxcbiAgICBmb250U2l6ZTogMTQsXG4gIH0sXG4gIGNvbEJ1dHRvbjoge1xuICAgIHBhZGRpbmdUb3A6IDIwLFxuICAgIHBhZGRpbmdMZWZ0OiAyMCxcbiAgICBwYWRkaW5nQm90dG9tOiAyMCxcbiAgICB3aWR0aDogNDAsXG4gIH0sXG4gIHBhcnRpY2lwYW50VHlwZUNlbGw6IHtcbiAgICBmb250U2l6ZTogMTQsXG4gIH0sXG4gIGxlYXZlQnV0dG9uOiB7XG4gICAgZm9udFNpemU6IDE0LFxuICB9LFxufTtcblxuLy8gU2V0dGluZ3MgZm9yIFdyYXBwZWRTb3J0YWJsZVxuZXhwb3J0IGNvbnN0IHNvcnRhYmxlT3B0aW9ucyA9IHtcbiAgLy8gRGltIGluYWN0aXZlIHNvcnRpbmcgaWNvbnMgaW4gdGhlIGNvbHVtbiBoZWFkZXJzXG4gIGRlZmF1bHQ6IHtjb2xvcjogJ3JnYmEoMCwgMCwgMCwgMC4yICknfSxcbn07XG5cbmV4cG9ydCBjb25zdCBOQU1FX0NFTExfSU5QVVRfV0lEVEggPSAxNjA7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgc29ydCBmcm9tICdzb3J0YWJ1bGFyJztcblxuaW1wb3J0IEZvbnRBd2Vzb21lIGZyb20gJy4uLy4uL2xlZ2FjeVNoYXJlZENvbXBvbmVudHMvRm9udEF3ZXNvbWUnO1xuXG4vKipcbiAqIFNvcnRhYmxlIHRyYW5zZm9ybSB0aGF0IHdyYXBzIGEgUmVhY3RhYnVsYXIgdHJhbnNmb3JtIGdlbmVyYXRlZCBieSBzb3J0LnNvcnQgc28gdGhhdFxuICogaW5zdGVhZCBvZiBhcHBseWluZyBzb3J0IGNsYXNzZXMgdG8gdGhlIGhlYWRlciBjZWxsIGl0IGFkZHMgdGhlIGFwcHJvcHJpYXRlIEZvbnRBd2Vzb21lXG4gKiBjb21wb25lbnQgdG8gdGhlIGNlbGwgY29udGVudHMuXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCk6IG9iamVjdH0gZ2V0U29ydGluZ0NvbHVtbnNcbiAqIEBwYXJhbSB7ZnVuY3Rpb24obnVtYmVyKTogdm9pZH0gb25Tb3J0XG4gKiBAcGFyYW0ge29iamVjdH0gc3R5bGVzIC0gb3B0aW9uYWwgc3R5bGVzIHRvIGFwcGx5IHRvIHRoZSBzb3J0IGljb25zLCBpbiBzdGF0ZXMge2RlZmF1bHQsIHNvcnRBc2MsIHNvcnREZXNjfVxuICogICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCB0aGUgY29udGFpbmVyIGRpdiB7Y29udGFpbmVyfVxuICogQHJldHVybnMge2Z1bmN0aW9uKHN0cmluZywgb2JqZWN0KTogb2JqZWN0fSBhIG5ldyBjZWxsIHRyYW5zZm9ybSBmdW5jdGlvblxuICogQHNlZSBodHRwOi8vcmVhY3RhYnVsYXIuanMub3JnLyMvY29sdW1uLWRlZmluaXRpb24vdHJhbnNmb3Jtc1xuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vcmVhY3RhYnVsYXIvcmVhY3RhYnVsYXIvYmxvYi9tYXN0ZXIvcGFja2FnZXMvcmVhY3RhYnVsYXItc29ydC9zcmMvc29ydC5qc1xuICovXG5mdW5jdGlvbiB3cmFwcGVkU29ydGFibGUoZ2V0U29ydGluZ0NvbHVtbnMsIG9uU29ydCwgc3R5bGVzID0ge30pIHtcbiAgY29uc3QgYmFzaWNTb3J0YWJsZSA9IHNvcnQuc29ydCh7Z2V0U29ydGluZ0NvbHVtbnMsIG9uU29ydH0pO1xuXG4gIHJldHVybiAobGFiZWwsIGNvbHVtbkluZm8pID0+IHtcbiAgICBjb25zdCB7Y2xhc3NOYW1lOiBuZXdDbGFzc05hbWUsIC4uLm5ld1Byb3BzfSA9IGJhc2ljU29ydGFibGUoXG4gICAgICBsYWJlbCxcbiAgICAgIGNvbHVtbkluZm9cbiAgICApO1xuXG4gICAgLy8gRGV0ZWN0IG5ldyBjbGFzc2VzIGFwcGxpZWQgYnkgc29ydCB0cmFuc2Zvcm06IHNvcnQtbm9uZSwgc29ydC1hc2MsIHNvcnQtZGVzY1xuICAgIC8vIEluc3RlYWQgb2YgYXBwbHlpbmcgdGhvc2UgY2xhc3NlcywgYWRkIGRpZmZlcmVudCBGb250QXdlc29tZSBpY29uc1xuICAgIGxldCBzb3J0SWNvbiA9IChcbiAgICAgIDxGb250QXdlc29tZSBpY29uPVwic29ydFwiIGNsYXNzTmFtZT1cImZhLWZ3XCIgc3R5bGU9e3N0eWxlcy5kZWZhdWx0fSAvPlxuICAgICk7XG4gICAgaWYgKC9zb3J0LWFzYy8udGVzdChuZXdDbGFzc05hbWUpKSB7XG4gICAgICBzb3J0SWNvbiA9IChcbiAgICAgICAgPEZvbnRBd2Vzb21lIGljb249XCJzb3J0LWFzY1wiIGNsYXNzTmFtZT1cImZhLWZ3XCIgc3R5bGU9e3N0eWxlcy5zb3J0QXNjfSAvPlxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKC9zb3J0LWRlc2MvLnRlc3QobmV3Q2xhc3NOYW1lKSkge1xuICAgICAgc29ydEljb24gPSAoXG4gICAgICAgIDxGb250QXdlc29tZVxuICAgICAgICAgIGljb249XCJzb3J0LWRlc2NcIlxuICAgICAgICAgIGNsYXNzTmFtZT1cImZhLWZ3XCJcbiAgICAgICAgICBzdHlsZT17c3R5bGVzLnNvcnREZXNjfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHdyYXBwaW5nIG9uIHRoZSBzb3J0aW5nIGljb24gdG8gZW5zdXJlIHRoYXQgdGhlIGhlYWRlciB3aWxsXG4gICAgLy8gbmV2ZXIgd3JhcCBzdWNoIHRoYXQgdGhlIHNvcnRpbmcgaWNvbiBpcyBvbiBhIHJvdyBhbGwgb24gaXRzIG93bi5cbiAgICAvL1xuICAgIC8vIE5vdGUgdGhhdCB3ZSBjb3VsZCBhcHBseSB0aGlzIHN0eWxlIHRvIHRoZSB3aG9sZSBoZWFkZXIgY2VsbCwgYnV0IHRoYXRcbiAgICAvLyB3b3VsZCBwcmV2ZW50IGFueSB3cmFwcGluZyBmcm9tIGhhcHBlbmluZyBhdCBhbGw7IGJlY2F1c2Ugd2Ugd2FudCB0b1xuICAgIC8vIGFsbG93IGZvciB0aGUgcG9zc2liaWxpdHkgb2YgbG9uZyBoZWFkZXIgbmFtZXMgdGhhdCBfc2hvdWxkXyB3cmFwLCB0aGlzXG4gICAgLy8gcHJvdmlkZXMgYSBuaWNlIGNvbXByb21pc2UuXG4gICAgY29uc3Qgc29ydEljb25TcGFuU3R5bGUgPSB7d2hpdGVTcGFjZTogJ25vd3JhcCd9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5ld1Byb3BzLFxuICAgICAgc3R5bGU6IE9iamVjdC5hc3NpZ24oe30sIHtjdXJzb3I6ICdwb2ludGVyJ30pLFxuICAgICAgY2hpbGRyZW46IChcbiAgICAgICAgPHNwYW4gc3R5bGU9e3N0eWxlcy5jb250YWluZXJ9PlxuICAgICAgICAgIDxzcGFuIGtleT1cImljb25cIiBzdHlsZT17c29ydEljb25TcGFuU3R5bGV9PlxuICAgICAgICAgICAge3NvcnRJY29ufVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBrZXk9XCJsYWJlbFwiPntsYWJlbH08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICksXG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBkZWZhdWx0IHdyYXBwZWRTb3J0YWJsZTtcbiIsInZhciBiYXNlRm9yT3duID0gcmVxdWlyZSgnLi9fYmFzZUZvck93bicpLFxuICAgIGNyZWF0ZUJhc2VFYWNoID0gcmVxdWlyZSgnLi9fY3JlYXRlQmFzZUVhY2gnKTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5mb3JFYWNoYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gKiBAcmV0dXJucyB7QXJyYXl8T2JqZWN0fSBSZXR1cm5zIGBjb2xsZWN0aW9uYC5cbiAqL1xudmFyIGJhc2VFYWNoID0gY3JlYXRlQmFzZUVhY2goYmFzZUZvck93bik7XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZUVhY2g7XG4iLCJ2YXIgYmFzZUVhY2ggPSByZXF1aXJlKCcuL19iYXNlRWFjaCcpLFxuICAgIGlzQXJyYXlMaWtlID0gcmVxdWlyZSgnLi9pc0FycmF5TGlrZScpO1xuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm1hcGAgd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgbWFwcGVkIGFycmF5LlxuICovXG5mdW5jdGlvbiBiYXNlTWFwKGNvbGxlY3Rpb24sIGl0ZXJhdGVlKSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgcmVzdWx0ID0gaXNBcnJheUxpa2UoY29sbGVjdGlvbikgPyBBcnJheShjb2xsZWN0aW9uLmxlbmd0aCkgOiBbXTtcblxuICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSwga2V5LCBjb2xsZWN0aW9uKSB7XG4gICAgcmVzdWx0WysraW5kZXhdID0gaXRlcmF0ZWUodmFsdWUsIGtleSwgY29sbGVjdGlvbik7XG4gIH0pO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGJhc2VNYXA7XG4iLCJ2YXIgYXJyYXlNYXAgPSByZXF1aXJlKCcuL19hcnJheU1hcCcpLFxuICAgIGJhc2VHZXQgPSByZXF1aXJlKCcuL19iYXNlR2V0JyksXG4gICAgYmFzZUl0ZXJhdGVlID0gcmVxdWlyZSgnLi9fYmFzZUl0ZXJhdGVlJyksXG4gICAgYmFzZU1hcCA9IHJlcXVpcmUoJy4vX2Jhc2VNYXAnKSxcbiAgICBiYXNlU29ydEJ5ID0gcmVxdWlyZSgnLi9fYmFzZVNvcnRCeScpLFxuICAgIGJhc2VVbmFyeSA9IHJlcXVpcmUoJy4vX2Jhc2VVbmFyeScpLFxuICAgIGNvbXBhcmVNdWx0aXBsZSA9IHJlcXVpcmUoJy4vX2NvbXBhcmVNdWx0aXBsZScpLFxuICAgIGlkZW50aXR5ID0gcmVxdWlyZSgnLi9pZGVudGl0eScpLFxuICAgIGlzQXJyYXkgPSByZXF1aXJlKCcuL2lzQXJyYXknKTtcblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5vcmRlckJ5YCB3aXRob3V0IHBhcmFtIGd1YXJkcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICogQHBhcmFtIHtGdW5jdGlvbltdfE9iamVjdFtdfHN0cmluZ1tdfSBpdGVyYXRlZXMgVGhlIGl0ZXJhdGVlcyB0byBzb3J0IGJ5LlxuICogQHBhcmFtIHtzdHJpbmdbXX0gb3JkZXJzIFRoZSBzb3J0IG9yZGVycyBvZiBgaXRlcmF0ZWVzYC5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IHNvcnRlZCBhcnJheS5cbiAqL1xuZnVuY3Rpb24gYmFzZU9yZGVyQnkoY29sbGVjdGlvbiwgaXRlcmF0ZWVzLCBvcmRlcnMpIHtcbiAgaWYgKGl0ZXJhdGVlcy5sZW5ndGgpIHtcbiAgICBpdGVyYXRlZXMgPSBhcnJheU1hcChpdGVyYXRlZXMsIGZ1bmN0aW9uKGl0ZXJhdGVlKSB7XG4gICAgICBpZiAoaXNBcnJheShpdGVyYXRlZSkpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGJhc2VHZXQodmFsdWUsIGl0ZXJhdGVlLmxlbmd0aCA9PT0gMSA/IGl0ZXJhdGVlWzBdIDogaXRlcmF0ZWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gaXRlcmF0ZWU7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgaXRlcmF0ZWVzID0gW2lkZW50aXR5XTtcbiAgfVxuXG4gIHZhciBpbmRleCA9IC0xO1xuICBpdGVyYXRlZXMgPSBhcnJheU1hcChpdGVyYXRlZXMsIGJhc2VVbmFyeShiYXNlSXRlcmF0ZWUpKTtcblxuICB2YXIgcmVzdWx0ID0gYmFzZU1hcChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSwga2V5LCBjb2xsZWN0aW9uKSB7XG4gICAgdmFyIGNyaXRlcmlhID0gYXJyYXlNYXAoaXRlcmF0ZWVzLCBmdW5jdGlvbihpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIGl0ZXJhdGVlKHZhbHVlKTtcbiAgICB9KTtcbiAgICByZXR1cm4geyAnY3JpdGVyaWEnOiBjcml0ZXJpYSwgJ2luZGV4JzogKytpbmRleCwgJ3ZhbHVlJzogdmFsdWUgfTtcbiAgfSk7XG5cbiAgcmV0dXJuIGJhc2VTb3J0QnkocmVzdWx0LCBmdW5jdGlvbihvYmplY3QsIG90aGVyKSB7XG4gICAgcmV0dXJuIGNvbXBhcmVNdWx0aXBsZShvYmplY3QsIG90aGVyLCBvcmRlcnMpO1xuICB9KTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBiYXNlT3JkZXJCeTtcbiIsIi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc29ydEJ5YCB3aGljaCB1c2VzIGBjb21wYXJlcmAgdG8gZGVmaW5lIHRoZVxuICogc29ydCBvcmRlciBvZiBgYXJyYXlgIGFuZCByZXBsYWNlcyBjcml0ZXJpYSBvYmplY3RzIHdpdGggdGhlaXIgY29ycmVzcG9uZGluZ1xuICogdmFsdWVzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gc29ydC5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbXBhcmVyIFRoZSBmdW5jdGlvbiB0byBkZWZpbmUgc29ydCBvcmRlci5cbiAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICovXG5mdW5jdGlvbiBiYXNlU29ydEJ5KGFycmF5LCBjb21wYXJlcikge1xuICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGFycmF5LnNvcnQoY29tcGFyZXIpO1xuICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICBhcnJheVtsZW5ndGhdID0gYXJyYXlbbGVuZ3RoXS52YWx1ZTtcbiAgfVxuICByZXR1cm4gYXJyYXk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYmFzZVNvcnRCeTtcbiIsInZhciBpc1N5bWJvbCA9IHJlcXVpcmUoJy4vaXNTeW1ib2wnKTtcblxuLyoqXG4gKiBDb21wYXJlcyB2YWx1ZXMgdG8gc29ydCB0aGVtIGluIGFzY2VuZGluZyBvcmRlci5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBzb3J0IG9yZGVyIGluZGljYXRvciBmb3IgYHZhbHVlYC5cbiAqL1xuZnVuY3Rpb24gY29tcGFyZUFzY2VuZGluZyh2YWx1ZSwgb3RoZXIpIHtcbiAgaWYgKHZhbHVlICE9PSBvdGhlcikge1xuICAgIHZhciB2YWxJc0RlZmluZWQgPSB2YWx1ZSAhPT0gdW5kZWZpbmVkLFxuICAgICAgICB2YWxJc051bGwgPSB2YWx1ZSA9PT0gbnVsbCxcbiAgICAgICAgdmFsSXNSZWZsZXhpdmUgPSB2YWx1ZSA9PT0gdmFsdWUsXG4gICAgICAgIHZhbElzU3ltYm9sID0gaXNTeW1ib2wodmFsdWUpO1xuXG4gICAgdmFyIG90aElzRGVmaW5lZCA9IG90aGVyICE9PSB1bmRlZmluZWQsXG4gICAgICAgIG90aElzTnVsbCA9IG90aGVyID09PSBudWxsLFxuICAgICAgICBvdGhJc1JlZmxleGl2ZSA9IG90aGVyID09PSBvdGhlcixcbiAgICAgICAgb3RoSXNTeW1ib2wgPSBpc1N5bWJvbChvdGhlcik7XG5cbiAgICBpZiAoKCFvdGhJc051bGwgJiYgIW90aElzU3ltYm9sICYmICF2YWxJc1N5bWJvbCAmJiB2YWx1ZSA+IG90aGVyKSB8fFxuICAgICAgICAodmFsSXNTeW1ib2wgJiYgb3RoSXNEZWZpbmVkICYmIG90aElzUmVmbGV4aXZlICYmICFvdGhJc051bGwgJiYgIW90aElzU3ltYm9sKSB8fFxuICAgICAgICAodmFsSXNOdWxsICYmIG90aElzRGVmaW5lZCAmJiBvdGhJc1JlZmxleGl2ZSkgfHxcbiAgICAgICAgKCF2YWxJc0RlZmluZWQgJiYgb3RoSXNSZWZsZXhpdmUpIHx8XG4gICAgICAgICF2YWxJc1JlZmxleGl2ZSkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGlmICgoIXZhbElzTnVsbCAmJiAhdmFsSXNTeW1ib2wgJiYgIW90aElzU3ltYm9sICYmIHZhbHVlIDwgb3RoZXIpIHx8XG4gICAgICAgIChvdGhJc1N5bWJvbCAmJiB2YWxJc0RlZmluZWQgJiYgdmFsSXNSZWZsZXhpdmUgJiYgIXZhbElzTnVsbCAmJiAhdmFsSXNTeW1ib2wpIHx8XG4gICAgICAgIChvdGhJc051bGwgJiYgdmFsSXNEZWZpbmVkICYmIHZhbElzUmVmbGV4aXZlKSB8fFxuICAgICAgICAoIW90aElzRGVmaW5lZCAmJiB2YWxJc1JlZmxleGl2ZSkgfHxcbiAgICAgICAgIW90aElzUmVmbGV4aXZlKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG4gIHJldHVybiAwO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNvbXBhcmVBc2NlbmRpbmc7XG4iLCJ2YXIgY29tcGFyZUFzY2VuZGluZyA9IHJlcXVpcmUoJy4vX2NvbXBhcmVBc2NlbmRpbmcnKTtcblxuLyoqXG4gKiBVc2VkIGJ5IGBfLm9yZGVyQnlgIHRvIGNvbXBhcmUgbXVsdGlwbGUgcHJvcGVydGllcyBvZiBhIHZhbHVlIHRvIGFub3RoZXJcbiAqIGFuZCBzdGFibGUgc29ydCB0aGVtLlxuICpcbiAqIElmIGBvcmRlcnNgIGlzIHVuc3BlY2lmaWVkLCBhbGwgdmFsdWVzIGFyZSBzb3J0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyLiBPdGhlcndpc2UsXG4gKiBzcGVjaWZ5IGFuIG9yZGVyIG9mIFwiZGVzY1wiIGZvciBkZXNjZW5kaW5nIG9yIFwiYXNjXCIgZm9yIGFzY2VuZGluZyBzb3J0IG9yZGVyXG4gKiBvZiBjb3JyZXNwb25kaW5nIHZhbHVlcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGNvbXBhcmUuXG4gKiBAcGFyYW0ge09iamVjdH0gb3RoZXIgVGhlIG90aGVyIG9iamVjdCB0byBjb21wYXJlLlxuICogQHBhcmFtIHtib29sZWFuW118c3RyaW5nW119IG9yZGVycyBUaGUgb3JkZXIgdG8gc29ydCBieSBmb3IgZWFjaCBwcm9wZXJ0eS5cbiAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHNvcnQgb3JkZXIgaW5kaWNhdG9yIGZvciBgb2JqZWN0YC5cbiAqL1xuZnVuY3Rpb24gY29tcGFyZU11bHRpcGxlKG9iamVjdCwgb3RoZXIsIG9yZGVycykge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIG9iakNyaXRlcmlhID0gb2JqZWN0LmNyaXRlcmlhLFxuICAgICAgb3RoQ3JpdGVyaWEgPSBvdGhlci5jcml0ZXJpYSxcbiAgICAgIGxlbmd0aCA9IG9iakNyaXRlcmlhLmxlbmd0aCxcbiAgICAgIG9yZGVyc0xlbmd0aCA9IG9yZGVycy5sZW5ndGg7XG5cbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICB2YXIgcmVzdWx0ID0gY29tcGFyZUFzY2VuZGluZyhvYmpDcml0ZXJpYVtpbmRleF0sIG90aENyaXRlcmlhW2luZGV4XSk7XG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgaWYgKGluZGV4ID49IG9yZGVyc0xlbmd0aCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgdmFyIG9yZGVyID0gb3JkZXJzW2luZGV4XTtcbiAgICAgIHJldHVybiByZXN1bHQgKiAob3JkZXIgPT0gJ2Rlc2MnID8gLTEgOiAxKTtcbiAgICB9XG4gIH1cbiAgLy8gRml4ZXMgYW4gYEFycmF5I3NvcnRgIGJ1ZyBpbiB0aGUgSlMgZW5naW5lIGVtYmVkZGVkIGluIEFkb2JlIGFwcGxpY2F0aW9uc1xuICAvLyB0aGF0IGNhdXNlcyBpdCwgdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLCB0byBwcm92aWRlIHRoZSBzYW1lIHZhbHVlIGZvclxuICAvLyBgb2JqZWN0YCBhbmQgYG90aGVyYC4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qYXNoa2VuYXMvdW5kZXJzY29yZS9wdWxsLzEyNDdcbiAgLy8gZm9yIG1vcmUgZGV0YWlscy5cbiAgLy9cbiAgLy8gVGhpcyBhbHNvIGVuc3VyZXMgYSBzdGFibGUgc29ydCBpbiBWOCBhbmQgb3RoZXIgZW5naW5lcy5cbiAgLy8gU2VlIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTkwIGZvciBtb3JlIGRldGFpbHMuXG4gIHJldHVybiBvYmplY3QuaW5kZXggLSBvdGhlci5pbmRleDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjb21wYXJlTXVsdGlwbGU7XG4iLCJ2YXIgaXNBcnJheUxpa2UgPSByZXF1aXJlKCcuL2lzQXJyYXlMaWtlJyk7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGBiYXNlRWFjaGAgb3IgYGJhc2VFYWNoUmlnaHRgIGZ1bmN0aW9uLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBlYWNoRnVuYyBUaGUgZnVuY3Rpb24gdG8gaXRlcmF0ZSBvdmVyIGEgY29sbGVjdGlvbi5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2Zyb21SaWdodF0gU3BlY2lmeSBpdGVyYXRpbmcgZnJvbSByaWdodCB0byBsZWZ0LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYmFzZSBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlQmFzZUVhY2goZWFjaEZ1bmMsIGZyb21SaWdodCkge1xuICByZXR1cm4gZnVuY3Rpb24oY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICBpZiAoY29sbGVjdGlvbiA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gY29sbGVjdGlvbjtcbiAgICB9XG4gICAgaWYgKCFpc0FycmF5TGlrZShjb2xsZWN0aW9uKSkge1xuICAgICAgcmV0dXJuIGVhY2hGdW5jKGNvbGxlY3Rpb24sIGl0ZXJhdGVlKTtcbiAgICB9XG4gICAgdmFyIGxlbmd0aCA9IGNvbGxlY3Rpb24ubGVuZ3RoLFxuICAgICAgICBpbmRleCA9IGZyb21SaWdodCA/IGxlbmd0aCA6IC0xLFxuICAgICAgICBpdGVyYWJsZSA9IE9iamVjdChjb2xsZWN0aW9uKTtcblxuICAgIHdoaWxlICgoZnJvbVJpZ2h0ID8gaW5kZXgtLSA6ICsraW5kZXggPCBsZW5ndGgpKSB7XG4gICAgICBpZiAoaXRlcmF0ZWUoaXRlcmFibGVbaW5kZXhdLCBpbmRleCwgaXRlcmFibGUpID09PSBmYWxzZSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlQmFzZUVhY2g7XG4iLCJ2YXIgYmFzZU9yZGVyQnkgPSByZXF1aXJlKCcuL19iYXNlT3JkZXJCeScpLFxuICAgIGlzQXJyYXkgPSByZXF1aXJlKCcuL2lzQXJyYXknKTtcblxuLyoqXG4gKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnNvcnRCeWAgZXhjZXB0IHRoYXQgaXQgYWxsb3dzIHNwZWNpZnlpbmcgdGhlIHNvcnRcbiAqIG9yZGVycyBvZiB0aGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuIElmIGBvcmRlcnNgIGlzIHVuc3BlY2lmaWVkLCBhbGwgdmFsdWVzXG4gKiBhcmUgc29ydGVkIGluIGFzY2VuZGluZyBvcmRlci4gT3RoZXJ3aXNlLCBzcGVjaWZ5IGFuIG9yZGVyIG9mIFwiZGVzY1wiIGZvclxuICogZGVzY2VuZGluZyBvciBcImFzY1wiIGZvciBhc2NlbmRpbmcgc29ydCBvcmRlciBvZiBjb3JyZXNwb25kaW5nIHZhbHVlcy5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICogQHBhcmFtIHtBcnJheVtdfEZ1bmN0aW9uW118T2JqZWN0W118c3RyaW5nW119IFtpdGVyYXRlZXM9W18uaWRlbnRpdHldXVxuICogIFRoZSBpdGVyYXRlZXMgdG8gc29ydCBieS5cbiAqIEBwYXJhbSB7c3RyaW5nW119IFtvcmRlcnNdIFRoZSBzb3J0IG9yZGVycyBvZiBgaXRlcmF0ZWVzYC5cbiAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLnJlZHVjZWAuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzb3J0ZWQgYXJyYXkuXG4gKiBAZXhhbXBsZVxuICpcbiAqIHZhciB1c2VycyA9IFtcbiAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDggfSxcbiAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzQgfSxcbiAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDAgfSxcbiAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzYgfVxuICogXTtcbiAqXG4gKiAvLyBTb3J0IGJ5IGB1c2VyYCBpbiBhc2NlbmRpbmcgb3JkZXIgYW5kIGJ5IGBhZ2VgIGluIGRlc2NlbmRpbmcgb3JkZXIuXG4gKiBfLm9yZGVyQnkodXNlcnMsIFsndXNlcicsICdhZ2UnXSwgWydhc2MnLCAnZGVzYyddKTtcbiAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ2Jhcm5leScsIDM2XSwgWydiYXJuZXknLCAzNF0sIFsnZnJlZCcsIDQ4XSwgWydmcmVkJywgNDBdXVxuICovXG5mdW5jdGlvbiBvcmRlckJ5KGNvbGxlY3Rpb24sIGl0ZXJhdGVlcywgb3JkZXJzLCBndWFyZCkge1xuICBpZiAoY29sbGVjdGlvbiA9PSBudWxsKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGlmICghaXNBcnJheShpdGVyYXRlZXMpKSB7XG4gICAgaXRlcmF0ZWVzID0gaXRlcmF0ZWVzID09IG51bGwgPyBbXSA6IFtpdGVyYXRlZXNdO1xuICB9XG4gIG9yZGVycyA9IGd1YXJkID8gdW5kZWZpbmVkIDogb3JkZXJzO1xuICBpZiAoIWlzQXJyYXkob3JkZXJzKSkge1xuICAgIG9yZGVycyA9IG9yZGVycyA9PSBudWxsID8gW10gOiBbb3JkZXJzXTtcbiAgfVxuICByZXR1cm4gYmFzZU9yZGVyQnkoY29sbGVjdGlvbiwgaXRlcmF0ZWVzLCBvcmRlcnMpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IG9yZGVyQnk7XG4iXSwibmFtZXMiOlsiX2xvZGFzaCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Byb3BUeXBlcyIsIl9yZWFjdCIsIl9leGNsdWRlZCIsImUiLCJfX2VzTW9kdWxlIiwiX2V4dGVuZHMiLCJPYmplY3QiLCJhc3NpZ24iLCJiaW5kIiwibiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInQiLCJyIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiYXBwbHkiLCJGb250QXdlc29tZSIsIl9yZWYiLCJpY29uIiwiY2xhc3NOYW1lIiwidGl0bGUiLCJwcm9wcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIm8iLCJpIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJpbmNsdWRlcyIsImdldE93blByb3BlcnR5U3ltYm9scyIsInMiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIm5ld1Byb3BzIiwiXyIsImNvbmNhdCIsImNyZWF0ZUVsZW1lbnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwibW9kdWxlIiwiZXhwb3J0cyIsImRlZmF1bHQiLCJfc2VjdGlvbkFzc2Vzc21lbnRzUmVkdXgiLCJfbG9jYWxlIiwidGVzdERhdGFUaW1lc3RhbXBzIiwibmV3ZXN0IiwiRGF0ZSIsIm5ld2VyIiwibmV3Iiwib2xkIiwib2xkZXIiLCJvbGRlc3QiLCJub3RTdGFydGVkIiwibm90U3RhcnRlZEZha2VUaW1lc3RhbXAiLCJpblByb2dyZXNzIiwiaW5Qcm9ncmVzc0Zha2VUaW1lc3RhbXAiLCJtdWx0aXBsZUNob2ljZURhdGEiLCJpZCIsIm5hbWUiLCJudW1NdWx0aXBsZUNob2ljZUNvcnJlY3QiLCJudW1NdWx0aXBsZUNob2ljZSIsIm51bU1hdGNoQ29ycmVjdCIsIm51bU1hdGNoIiwiaXNTdWJtaXR0ZWQiLCJzdWJtaXNzaW9uVGltZVN0YW1wIiwic3R1ZGVudFJlc3BvbnNlcyIsImlzQ29ycmVjdCIsInJlc3BvbnNlcyIsImFuc3dlcnMiLCJhbnN3ZXIiLCJudW1BbnN3ZXJlZCIsIm9wdGlvbiIsIm5vdEFuc3dlcmVkIiwidG90YWxBbnN3ZXJlZCIsInF1ZXN0aW9uIiwibXVsdGlwbGVDaG9pY2VPcHRpb24iLCJpMThuIiwiYW5zd2VyT3B0aW9uQSIsInBlcmNlbnRBbnN3ZXJlZCIsImlzQ29ycmVjdEFuc3dlciIsImFuc3dlck9wdGlvbkIiLCJhbnN3ZXJPcHRpb25DIiwiYW5zd2VyT3B0aW9uRCIsImFuc3dlck9wdGlvbkUiLCJhbnN3ZXJPcHRpb25GIiwiYW5zd2VyT3B0aW9uRyIsIm1hcCIsImluZGV4IiwicXVlc3Rpb25OdW1iZXIiLCJjb3JyZWN0QW5zd2VyIiwidGV4dCIsIm9wdGlvbnMiLCJzdHVkZW50SWQiLCJyZXNwb25zZSIsIl9mb250Q29uc3RhbnRzIiwiX3N0eWxlQ29uc3RhbnRzIiwiX2NvbG9yIiwiX3R5cGVvZiIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJvd25LZXlzIiwia2V5cyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiX29iamVjdFNwcmVhZCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ0YWJsZVRleHQiLCJ0ZXh0T3ZlcmZsb3ciLCJvdmVyZmxvdyIsIndoaXRlU3BhY2UiLCJ0YWJsZU5hbWVUZXh0IiwibWluV2lkdGgiLCJ0YWJsZSIsImJvcmRlcldpZHRoIiwiYm9yZGVyU3R5bGUiLCJib3JkZXJDb2xvciIsImNvbG9yIiwiYm9yZGVyX2dyYXkiLCJ3aWR0aCIsInN0eWxlQ29uc3RhbnRzIiwiYmFja2dyb3VuZENvbG9yIiwidGFibGVfbGlnaHRfcm93IiwiY2VsbCIsIm1heFdpZHRoIiwiYm9yZGVyIiwiYm9yZGVyX2xpZ2h0X2dyYXkiLCJwYWRkaW5nIiwiZm9udFNpemUiLCJoZWFkZXJDZWxsIiwidGFibGVfaGVhZGVyIiwiZm9udFdlaWdodCIsImJvcmRlckJvdHRvbVdpZHRoIiwiYm9yZGVyVG9wV2lkdGgiLCJib3JkZXJMZWZ0V2lkdGgiLCJib3JkZXJSaWdodFdpZHRoIiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iLCJjaGFyY29hbCIsInRleHRBbGlnbiIsImZsZXhDZWxsIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJsaW5rIiwiZm9udENvbnN0YW50cyIsInRleHREZWNvcmF0aW9uIiwidW5zb3J0YWJsZUhlYWRlciIsInBhZGRpbmdMZWZ0IiwidW5zb3J0YWJsZUhlYWRlclJUTCIsInBhZGRpbmdSaWdodCIsIm5ldXRyYWxfZGFyayIsInNlY3Rpb25Db2RlTGluayIsImJyYW5kX3NlY29uZGFyeV9kZWZhdWx0IiwiY3VycmVudFVuaXQiLCJtYXJnaW5Ub3AiLCJjb2xCdXR0b24iLCJwYXJ0aWNpcGFudFR5cGVDZWxsIiwibGVhdmVCdXR0b24iLCJzb3J0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJoYXMiLCJnZXQiLCJfX3Byb3RvX18iLCJhIiwidSIsInNldCIsIl9Gb250QXdlc29tZSIsIldlYWtNYXAiLCJ3cmFwcGVkU29ydGFibGUiLCJnZXRTb3J0aW5nQ29sdW1ucyIsIm9uU29ydCIsInN0eWxlcyIsInVuZGVmaW5lZCIsImJhc2ljU29ydGFibGUiLCJsYWJlbCIsImNvbHVtbkluZm8iLCJfYmFzaWNTb3J0YWJsZSIsIm5ld0NsYXNzTmFtZSIsInNvcnRJY29uIiwic3R5bGUiLCJ0ZXN0Iiwic29ydEFzYyIsInNvcnREZXNjIiwiY3Vyc29yIiwiY2hpbGRyZW4iLCJjb250YWluZXIiLCJrZXkiLCJiYXNlRm9yT3duIiwiYmFzZUVhY2giLCJjcmVhdGVCYXNlRWFjaCIsImlzQXJyYXlMaWtlIiwiYmFzZU1hcCIsImNvbGxlY3Rpb24iLCJpdGVyYXRlZSIsInJlc3VsdCIsIkFycmF5IiwiYXJyYXlNYXAiLCJiYXNlR2V0IiwiYmFzZUl0ZXJhdGVlIiwiYmFzZVNvcnRCeSIsImJhc2VVbmFyeSIsImNvbXBhcmVNdWx0aXBsZSIsImlkZW50aXR5IiwiaXNBcnJheSIsImJhc2VPcmRlckJ5IiwiaXRlcmF0ZWVzIiwib3JkZXJzIiwib2JqZWN0Iiwib3RoZXIiLCJhcnJheSIsImNvbXBhcmVyIiwiaXNTeW1ib2wiLCJjb21wYXJlQXNjZW5kaW5nIiwidmFsSXNEZWZpbmVkIiwidmFsSXNOdWxsIiwidmFsSXNSZWZsZXhpdmUiLCJ2YWxJc1N5bWJvbCIsIm90aElzRGVmaW5lZCIsIm90aElzTnVsbCIsIm90aElzUmVmbGV4aXZlIiwib3RoSXNTeW1ib2wiLCJvYmpDcml0ZXJpYSIsImNyaXRlcmlhIiwib3RoQ3JpdGVyaWEiLCJvcmRlcnNMZW5ndGgiLCJlYWNoRnVuYyIsImZyb21SaWdodCIsIml0ZXJhYmxlIiwib3JkZXJCeSIsImd1YXJkIl0sInNvdXJjZVJvb3QiOiIifQ==