diff --git a/js/bundle.js b/js/bundle.js index dc831522..1853f7ef 100644 --- a/js/bundle.js +++ b/js/bundle.js @@ -175,12 +175,13 @@ module.exports = { const frappe = __webpack_require__(0); class BaseControl { - constructor(docfield, parent) { + constructor(docfield, form) { Object.assign(this, docfield); + this.form = form; if (!this.fieldname) { this.fieldname = frappe.slug(this.label); } - this.parent = parent; + this.parent = form.form; if (this.setup) { this.setup(); } @@ -2553,7 +2554,7 @@ module.exports = class Form { this.form = frappe.ui.add('form', null, this.body); for(let df of this.meta.fields) { if (controls.get_control_class(df.fieldtype)) { - let control = controls.make_control(df, this.form); + let control = controls.make_control(df, this); this.controls_list.push(control); this.controls[df.fieldname] = control; } @@ -2726,21 +2727,29 @@ const Awesomplete = __webpack_require__(33); class LinkControl extends BaseControl { make() { super.make(); - this.input.setAttribute('type', 'text'); - this.awesomplete = new Awesomplete(this.input, { - autoFirst: true, - minChars: 0, - maxItems: 99 - }); + this.input.setAttribute('type', 'text'); + this.awesomplete = new Awesomplete(this.input, { + autoFirst: true, + minChars: 0, + maxItems: 99 + }); - // rebuild the list on input - this.input.addEventListener('input', async (event) => { - this.awesomplete.list = (await frappe.db.get_all({ - doctype: this.options, - filters: {keywords: ["like", this.input.value]}, - limit: 50 - })).map(d => d.name); - }); + // rebuild the list on input + this.input.addEventListener('input', async (event) => { + this.awesomplete.list = await this.get_list(this.input.value); + }); + } + + async get_list(query) { + return (await frappe.db.get_all({ + doctype: this.options, + filters: this.get_filters(query), + limit: 50 + })).map(d => d.name); + } + + get_filters(query) { + return { keywords: ["like", query] } } }; @@ -3345,12 +3354,21 @@ class account_meta extends frappe.meta.Meta { setup_meta() { Object.assign(this, __webpack_require__(38)); this.list_options.fields = ['name', 'account_type']; + this.setup_links(); + } + + setup_links() { + this.get_field('parent_account').get_filters = function(query) { + return { + keywords: ["like", query], + name: ["!=", this.form.doc.name] + } + } } get_row_html(data) { return `${data.name} (${data.account_type})`; } - } class account extends frappe.document.Document { @@ -3375,4 +3393,4 @@ module.exports = {"name":"Account","doctype":"DocType","issingle":0,"keyword_fie /***/ }) /******/ ]); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAgNmIzY2ZlZTZmNjIwNzMzNzNmZjAiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL2luZGV4LmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvdmlldy9jb250cm9scy9iYXNlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL21vZGVsL2RvY3VtZW50LmpzIiwid2VicGFjazovLy8uL2luZGV4LmpzIiwid2VicGFjazovLy8uL3Njc3MvbWFpbi5zY3NzPzRiYWIiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi91cmxzLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL2NvbW1vbi9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvdXRpbHMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL21vZGVsL21vZGVscy5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvbW9kZWwvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL21vZGVsL21ldGEuanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL3Nlc3Npb24uanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL2NvbW1vbi9lcnJvcnMuanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL2JhY2tlbmRzL3Jlc3RfY2xpZW50LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wYXRoLWJyb3dzZXJpZnkvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL2NsaWVudC91aS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvY2xpZW50L3VpL2Ryb3Bkb3duLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvZGVzay9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvY2xpZW50L2Rlc2svc2VhcmNoLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jb21tb24vcm91dGVyLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvdmlldy9wYWdlLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvdmlldy9saXN0LmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvdmlldy9mb3JtLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvdmlldy9jb250cm9scy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvY29udHJvbHMvZGF0YS5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvY29udHJvbHMvdGV4dC5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvY29udHJvbHMvc2VsZWN0LmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvdmlldy9jb250cm9scy9saW5rLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9ub2RlX21vZHVsZXMvYXdlc29tcGxldGUvYXdlc29tcGxldGUuanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL2NsaWVudC9kZXNrL25hdmJhci5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvbW9kZWxzL2RvY3R5cGUvdG9kby90b2RvLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9tb2RlbHMvZG9jdHlwZS90b2RvL3RvZG8uanNvbiIsIndlYnBhY2s6Ly8vLi9tb2RlbHMvZG9jdHlwZS9hY2NvdW50L2FjY291bnQuanMiLCJ3ZWJwYWNrOi8vLy4vbW9kZWxzL2RvY3R5cGUvYWNjb3VudC9hY2NvdW50Lmpzb24iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBMkIsMEJBQTBCLEVBQUU7QUFDdkQseUNBQWlDLGVBQWU7QUFDaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOERBQXNELCtEQUErRDs7QUFFckg7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7O0FDN0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMseUJBQXlCO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLHdDQUF3QyxpQkFBaUI7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FDbEdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDZCOzs7Ozs7QUNwR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixzQkFBc0I7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQzs7QUFFckM7QUFDQTtBQUNBOztBQUVBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsVUFBVTs7Ozs7OztBQ3ZMdEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7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QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVEQUF1RDtBQUN2RDs7QUFFQSw2QkFBNkIsbUJBQW1COztBQUVoRDs7QUFFQTs7QUFFQTtBQUNBOzs7Ozs7OztBQzVXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsV0FBVyxFQUFFO0FBQ3JELHdDQUF3QyxXQUFXLEVBQUU7O0FBRXJEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0Esc0NBQXNDO0FBQ3RDLEdBQUc7QUFDSDtBQUNBLDhEQUE4RDtBQUM5RDs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7Ozs7Ozs7QUN4RkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBDQUEwQyxlQUFlOztBQUV6RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7QUNwQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQzs7Ozs7O0FDbkJBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCxtQkFBbUI7QUFDNUUsYUFBYTtBQUNiLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7Ozs7Ozs7QUNuQkE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxrQkFBa0IsaUI7Ozs7OztBQ3hCbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEU7Ozs7OztBQ3RDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELE1BQU0sa0JBQWtCLG1CQUFtQjtBQUM3RjtBQUNBOztBQUVBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IseUJBQXlCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBLGlDQUFpQyxVQUFVLEdBQUcsVUFBVSxJQUFJLFVBQVU7QUFDdEU7O0FBRUE7O0FBRUEsa0JBQWtCLGE7Ozs7OztBQ3hIbEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBLGtCQUFrQixvQjs7Ozs7O0FDaEJsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx5QkFBeUIsdUJBQXVCO0FBQ2hEOztBQUVBO0FBQ0E7QUFDQSx1REFBdUQsRUFBRTtBQUN6RDtBQUNBLDBCQUEwQix1QkFBdUI7QUFDakQsRUFBRTtBQUNGO0FBQ0EsMEJBQTBCLHVCQUF1QjtBQUNqRCxFQUFFO0FBQ0Y7Ozs7Ozs7QUNwQkE7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQix3QkFBd0I7QUFDekM7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxrRkFBa0YscUJBQXFCO0FBQ3ZHO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBOztBQUVBO0FBQ0Esa0ZBQWtGLHFCQUFxQixHQUFHLEtBQUs7QUFDL0c7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEsbUJBQW1CLHVEQUF1RDtBQUMxRSxrRkFBa0YscUJBQXFCOztBQUV2RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxrRkFBa0YscUJBQXFCLEdBQUcsU0FBUztBQUNuSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTs7QUFFQTtBQUNBLGtGQUFrRixxQkFBcUIsR0FBRyxLQUFLOztBQUUvRztBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUEsQzs7Ozs7O0FDN0hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsUUFBUTtBQUN4QztBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVSxNQUFNO0FBQ2hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixJQUFJO0FBQ2pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9DQUFvQyw4QkFBOEI7QUFDbEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxVQUFVLG9CQUFvQjtBQUM5QjtBQUNBOztBQUVBO0FBQ0EsVUFBVSxVQUFVO0FBQ3BCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQixZQUFZO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrQkFBK0Isc0JBQXNCO0FBQ3JEO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsZUFBZTtBQUNsQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FDL05BO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0EsNkJBQTZCLGlEQUFpRDtBQUM5RTs7QUFFQSxDOzs7Ozs7QUM3Q0E7O0FBRUE7QUFDQSxpQkFBaUIsdURBQXVEO0FBQ3hFOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDBCOzs7Ozs7QUMxRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7O0FBRUEsQzs7Ozs7O0FDekdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxDOzs7Ozs7QUNmQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0I7O0FBRXBCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsbURBQW1ELGFBQWE7QUFDaEU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNkJBQTZCLDRCQUE0QjtBQUN6RDtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLEM7Ozs7OztBQ3pHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0VBQW9FLG1CQUFtQiw2QkFBNkIsdUJBQXVCO0FBQzNJOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQzs7Ozs7O0FDekRBOztBQUVBO0FBQ0EsaUJBQWlCLHdCQUF3QjtBQUN6QztBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVULHFCQUFxQiw0Q0FBNEM7QUFDakU7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLDBCQUEwQjtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx3Q0FBd0Msc0JBQXNCO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBLEU7Ozs7OztBQ3ZJQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLHVDQUF1QztBQUN4RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7O0FBR0E7QUFDQTtBQUNBLHlEQUF5RCxLQUFLO0FBQzlEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxDOzs7Ozs7QUNyR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQzs7Ozs7O0FDbEJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw2Qjs7Ozs7O0FDVEE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDZCOzs7Ozs7QUNaQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwrQjs7Ozs7O0FDdkJBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMscUNBQXFDO0FBQ25EO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBOztBQUVBLDZCOzs7Ozs7QUN6QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLGlCQUFpQjtBQUNuRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekIsZ0JBQWdCLGdCQUFnQjtBQUNoQztBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0Esb0NBQW9DLG1CQUFtQjtBQUN2RCxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLDZCQUE2QjtBQUNoRDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxpREFBaUQ7QUFDakQsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBLGdCQUFnQixtQkFBbUI7QUFDbkM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLGdCQUFnQixzQkFBc0I7QUFDdEMsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxzQkFBc0I7QUFDckM7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxxQ0FBcUMsYUFBYTs7QUFFbEQ7O0FBRUE7QUFDQTtBQUNBLE1BQU07QUFDTiw4RUFBOEU7O0FBRTlFO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLDBCQUEwQjtBQUM1QyxDQUFDO0FBQ0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHFDQUFxQztBQUNyQzs7QUFFQTtBQUNBO0FBQ0EsZ0JBQWdCLGdDQUFnQztBQUNoRDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsQ0FBQzs7Ozs7OztBQ2hmRDs7QUFFQTtBQUNBLGNBQWMscUJBQXFCLEtBQUs7QUFDeEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxDOzs7Ozs7QUN6Q0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0NBQXNDLFVBQVUsSUFBSSxLQUFLLEdBQUcsYUFBYTtBQUN6RTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0I7Ozs7Ozs7QUMxQmxCLGtCQUFrQix1SEFBdUgsb0VBQW9FLEVBQUUsbUVBQW1FLEVBQUUsaUhBQWlILEU7Ozs7OztBQ0FyWTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EseUNBQXlDLFVBQVUsSUFBSSxVQUFVLElBQUksa0JBQWtCO0FBQ3ZGOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtCQUFrQjs7Ozs7OztBQ3pCbEIsa0JBQWtCLHNHQUFzRyxzRUFBc0UsRUFBRSw2RkFBNkYsRUFBRSxtSUFBbUksRSIsImZpbGUiOiIuL2pzL2J1bmRsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuIFx0XHRcdFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcbiBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4gXHRcdFx0XHRnZXQ6IGdldHRlclxuIFx0XHRcdH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9cIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSA0KTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCA2YjNjZmVlNmY2MjA3MzM3M2ZmMCIsIm1vZHVsZS5leHBvcnRzID0ge1xuICAgIGFzeW5jIGluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkgcmV0dXJuO1xuICAgICAgICB0aGlzLmluaXRfY29uZmlnKCk7XG4gICAgICAgIHRoaXMuaW5pdF9nbG9iYWxzKCk7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9LFxuXG4gICAgaW5pdF9jb25maWcoKSB7XG4gICAgICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgICAgICAgYmFja2VuZDogJ3NxbGl0ZScsXG4gICAgICAgICAgICBwb3J0OiA4MDAwXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGluaXRfZ2xvYmFscygpIHtcbiAgICAgICAgdGhpcy5tZXRhX2NhY2hlID0ge307XG4gICAgICAgIHRoaXMuZG9jcyA9IHt9O1xuICAgICAgICB0aGlzLmZsYWdzID0ge1xuICAgICAgICAgICAgY2FjaGVfZG9jczogZmFsc2VcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBhZGRfdG9fY2FjaGUoZG9jKSB7XG4gICAgICAgIGlmICghdGhpcy5mbGFncy5jYWNoZV9kb2NzKSByZXR1cm47XG5cbiAgICAgICAgLy8gYWRkIHRvIGBkb2NzYCBjYWNoZVxuICAgICAgICBpZiAoZG9jLmRvY3R5cGUgJiYgZG9jLm5hbWUpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kb2NzW2RvYy5kb2N0eXBlXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jc1tkb2MuZG9jdHlwZV0gPSB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZG9jc1tkb2MuZG9jdHlwZV1bZG9jLm5hbWVdID0gZG9jO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIGdldF9kb2NfZnJvbV9jYWNoZShkb2N0eXBlLCBuYW1lKSB7XG4gICAgICAgIGlmICh0aGlzLmRvY3NbZG9jdHlwZV0gJiYgdGhpcy5kb2NzW2RvY3R5cGVdW25hbWVdKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kb2NzW2RvY3R5cGVdW25hbWVdO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIGdldF9tZXRhKGRvY3R5cGUpIHtcbiAgICAgICAgaWYgKCF0aGlzLm1ldGFfY2FjaGVbZG9jdHlwZV0pIHtcbiAgICAgICAgICAgIHRoaXMubWV0YV9jYWNoZVtkb2N0eXBlXSA9IG5ldyAodGhpcy5tb2RlbHMuZ2V0X21ldGFfY2xhc3MoZG9jdHlwZSkpKHRoaXMubW9kZWxzLmdldCgnRG9jVHlwZScsIGRvY3R5cGUpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5tZXRhX2NhY2hlW2RvY3R5cGVdO1xuICAgIH0sXG5cbiAgICBpbml0X2NvbnRyb2xsZXIoZG9jdHlwZSwgbW9kdWxlKSB7XG4gICAgICAgIGRvY3R5cGUgPSB0aGlzLnNsdWcoZG9jdHlwZSk7XG4gICAgICAgIHRoaXMubW9kZWxzLmNvbnRyb2xsZXJzW2RvY3R5cGVdID0gbW9kdWxlW2RvY3R5cGVdO1xuICAgICAgICB0aGlzLm1vZGVscy5tZXRhX2NsYXNzZXNbZG9jdHlwZV0gPSBtb2R1bGVbZG9jdHlwZSArICdfbWV0YSddO1xuICAgIH0sXG5cbiAgICBhc3luYyBnZXRfZG9jKGRhdGEsIG5hbWUpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhPT09J3N0cmluZycgJiYgdHlwZW9mIG5hbWU9PT0nc3RyaW5nJykge1xuICAgICAgICAgICAgbGV0IGRvYyA9IHRoaXMuZ2V0X2RvY19mcm9tX2NhY2hlKGRhdGEsIG5hbWUpO1xuICAgICAgICAgICAgaWYgKCFkb2MpIHtcbiAgICAgICAgICAgICAgICBsZXQgY29udHJvbGxlcl9jbGFzcyA9IHRoaXMubW9kZWxzLmdldF9jb250cm9sbGVyKGRhdGEpO1xuICAgICAgICAgICAgICAgIGRvYyA9IG5ldyBjb250cm9sbGVyX2NsYXNzKHtkb2N0eXBlOmRhdGEsIG5hbWU6IG5hbWV9KTtcbiAgICAgICAgICAgICAgICBhd2FpdCBkb2MubG9hZCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkX3RvX2NhY2hlKGRvYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZG9jO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IGNvbnRyb2xsZXJfY2xhc3MgPSB0aGlzLm1vZGVscy5nZXRfY29udHJvbGxlcihkYXRhLmRvY3R5cGUpO1xuICAgICAgICAgICAgdmFyIGRvYyA9IG5ldyBjb250cm9sbGVyX2NsYXNzKGRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkb2M7XG4gICAgfSxcblxuICAgIGFzeW5jIGdldF9uZXdfZG9jKGRvY3R5cGUpIHtcbiAgICAgICAgbGV0IGRvYyA9IGF3YWl0IGZyYXBwZS5nZXRfZG9jKHtkb2N0eXBlOiBkb2N0eXBlfSk7XG4gICAgICAgIGRvYy5zZXRfbmFtZSgpO1xuICAgICAgICBkb2MuX19ub3RfaW5zZXJ0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmFkZF90b19jYWNoZShkb2MpO1xuICAgICAgICByZXR1cm4gZG9jO1xuICAgIH0sXG5cbiAgICBhc3luYyBpbnNlcnQoZGF0YSkge1xuICAgICAgICBjb25zdCBkb2MgPSBhd2FpdCB0aGlzLmdldF9kb2MoZGF0YSk7XG4gICAgICAgIHJldHVybiBhd2FpdCBkb2MuaW5zZXJ0KCk7XG4gICAgfSxcblxuICAgIGxvZ2luKHVzZXI9J2d1ZXN0JywgdXNlcl9rZXkpIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uID0gbmV3IHRoaXMuX3Nlc3Npb24uU2Vzc2lvbih1c2VyKTtcbiAgICAgICAgaWYgKHVzZXIgJiYgdXNlcl9rZXkpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRlKHVzZXJfa2V5KTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgdGhpcy5kYi5jbG9zZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLnNlcnZlcikge1xuICAgICAgICAgICAgdGhpcy5zZXJ2ZXIuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9mcmFwcGVqcy9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJjb25zdCBmcmFwcGUgPSByZXF1aXJlKCdmcmFwcGVqcycpO1xuXG5jbGFzcyBCYXNlQ29udHJvbCB7XG4gICAgY29uc3RydWN0b3IoZG9jZmllbGQsIHBhcmVudCkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGRvY2ZpZWxkKTtcbiAgICAgICAgaWYgKCF0aGlzLmZpZWxkbmFtZSkge1xuICAgICAgICAgICAgdGhpcy5maWVsZG5hbWUgPSBmcmFwcGUuc2x1Zyh0aGlzLmxhYmVsKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgaWYgKHRoaXMuc2V0dXApIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJpbmQoZG9jKSB7XG4gICAgICAgIHRoaXMuZG9jID0gZG9jO1xuXG4gICAgICAgIHRoaXMuZG9jLmFkZF9oYW5kbGVyKHRoaXMuZmllbGRuYW1lLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldF9kb2NfdmFsdWUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zZXRfZG9jX3ZhbHVlKCk7XG4gICAgfVxuXG4gICAgcmVmcmVzaCgpIHtcbiAgICAgICAgdGhpcy5tYWtlKCk7XG4gICAgICAgIHRoaXMuc2V0X2RvY192YWx1ZSgpO1xuICAgIH1cblxuICAgIHNldF9kb2NfdmFsdWUoKSB7XG4gICAgICAgIGlmICh0aGlzLmRvYykge1xuICAgICAgICAgICAgdGhpcy5zZXRfaW5wdXRfdmFsdWUodGhpcy5kb2MuZ2V0KHRoaXMuZmllbGRuYW1lKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYWtlKCkge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybV9ncm91cCkge1xuICAgICAgICAgICAgdGhpcy5tYWtlX2Zvcm1fZ3JvdXAoKTtcbiAgICAgICAgICAgIHRoaXMubWFrZV9sYWJlbCgpO1xuICAgICAgICAgICAgdGhpcy5tYWtlX2lucHV0KCk7XG4gICAgICAgICAgICB0aGlzLnNldF9pbnB1dF9uYW1lKCk7XG4gICAgICAgICAgICB0aGlzLm1ha2VfZGVzY3JpcHRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuYmluZF9jaGFuZ2VfZXZlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1ha2VfZm9ybV9ncm91cCgpIHtcbiAgICAgICAgdGhpcy5mb3JtX2dyb3VwID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ2Zvcm0tZ3JvdXAnLCB0aGlzLnBhcmVudCk7XG4gICAgfVxuXG4gICAgbWFrZV9sYWJlbCgpIHtcbiAgICAgICAgdGhpcy5sYWJlbF9lbGVtZW50ID0gZnJhcHBlLnVpLmFkZCgnbGFiZWwnLCBudWxsLCB0aGlzLmZvcm1fZ3JvdXApO1xuICAgICAgICB0aGlzLmxhYmVsX2VsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLmxhYmVsO1xuICAgIH1cblxuICAgIG1ha2VfaW5wdXQoKSB7XG4gICAgICAgIHRoaXMuaW5wdXQgPSBmcmFwcGUudWkuYWRkKCdpbnB1dCcsICdmb3JtLWNvbnRyb2wnLCB0aGlzLmZvcm1fZ3JvdXApO1xuICAgIH1cblxuICAgIHNldF9pbnB1dF9uYW1lKCkge1xuICAgICAgICB0aGlzLmlucHV0LnNldEF0dHJpYnV0ZSgnbmFtZScsIHRoaXMuZmllbGRuYW1lKTtcbiAgICB9XG5cbiAgICBtYWtlX2Rlc2NyaXB0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbl9lbGVtZW50ID0gZnJhcHBlLnVpLmFkZCgnc21hbGwnLCAnZm9ybS10ZXh0IHRleHQtbXV0ZWQnLCB0aGlzLmZvcm1fZ3JvdXApO1xuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbl9lbGVtZW50LnRleHRDb250ZW50ID0gdGhpcy5kZXNjcmlwdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldF9pbnB1dF92YWx1ZSh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdmFsdWUgPSAnJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlucHV0LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0X2lucHV0X3ZhbHVlKCkge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wYXJzZSh0aGlzLmlucHV0LnZhbHVlKTtcbiAgICB9XG5cbiAgICBhc3luYyBwYXJzZSh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgYXN5bmMgdmFsaWRhdGUodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGJpbmRfY2hhbmdlX2V2ZW50KCkge1xuICAgICAgICB0aGlzLmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB0aGlzLmhhbmRsZV9jaGFuZ2UoZSkpO1xuICAgIH1cblxuICAgIGFzeW5jIGhhbmRsZV9jaGFuZ2UoZSkge1xuICAgICAgICBsZXQgdmFsdWUgPSBhd2FpdCB0aGlzLmdldF9pbnB1dF92YWx1ZSgpO1xuICAgICAgICB2YWx1ZSA9IGF3YWl0IHRoaXMudmFsaWRhdGUodmFsdWUpO1xuICAgICAgICBhd2FpdCB0aGlzLmRvYy5zZXQodGhpcy5maWVsZG5hbWUsIHZhbHVlKTtcbiAgICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQmFzZUNvbnRyb2w7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvY29udHJvbHMvYmFzZS5qc1xuLy8gbW9kdWxlIGlkID0gMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvLyBzaGltIGZvciB1c2luZyBwcm9jZXNzIGluIGJyb3dzZXJcbnZhciBwcm9jZXNzID0gbW9kdWxlLmV4cG9ydHMgPSB7fTtcblxuLy8gY2FjaGVkIGZyb20gd2hhdGV2ZXIgZ2xvYmFsIGlzIHByZXNlbnQgc28gdGhhdCB0ZXN0IHJ1bm5lcnMgdGhhdCBzdHViIGl0XG4vLyBkb24ndCBicmVhayB0aGluZ3MuICBCdXQgd2UgbmVlZCB0byB3cmFwIGl0IGluIGEgdHJ5IGNhdGNoIGluIGNhc2UgaXQgaXNcbi8vIHdyYXBwZWQgaW4gc3RyaWN0IG1vZGUgY29kZSB3aGljaCBkb2Vzbid0IGRlZmluZSBhbnkgZ2xvYmFscy4gIEl0J3MgaW5zaWRlIGFcbi8vIGZ1bmN0aW9uIGJlY2F1c2UgdHJ5L2NhdGNoZXMgZGVvcHRpbWl6ZSBpbiBjZXJ0YWluIGVuZ2luZXMuXG5cbnZhciBjYWNoZWRTZXRUaW1lb3V0O1xudmFyIGNhY2hlZENsZWFyVGltZW91dDtcblxuZnVuY3Rpb24gZGVmYXVsdFNldFRpbW91dCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbmZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQgKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XG59XG4oZnVuY3Rpb24gKCkge1xuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2V0VGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gZGVmYXVsdFNldFRpbW91dDtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2YgY2xlYXJUaW1lb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgIH1cbn0gKCkpXG5mdW5jdGlvbiBydW5UaW1lb3V0KGZ1bikge1xuICAgIGlmIChjYWNoZWRTZXRUaW1lb3V0ID09PSBzZXRUaW1lb3V0KSB7XG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xuICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW4sIDApO1xuICAgIH1cbiAgICAvLyBpZiBzZXRUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxuICAgIGlmICgoY2FjaGVkU2V0VGltZW91dCA9PT0gZGVmYXVsdFNldFRpbW91dCB8fCAhY2FjaGVkU2V0VGltZW91dCkgJiYgc2V0VGltZW91dCkge1xuICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xuICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dChmdW4sIDApO1xuICAgIH0gY2F0Y2goZSl7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSBpbiBJLkUuIGJ1dCB0aGUgc2NyaXB0IGhhcyBiZWVuIGV2YWxlZCBzbyBJLkUuIGRvZXNuJ3QgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwobnVsbCwgZnVuLCAwKTtcbiAgICAgICAgfSBjYXRjaChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yXG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKHRoaXMsIGZ1biwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuZnVuY3Rpb24gcnVuQ2xlYXJUaW1lb3V0KG1hcmtlcikge1xuICAgIGlmIChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGNsZWFyVGltZW91dCkge1xuICAgICAgICAvL25vcm1hbCBlbnZpcm9tZW50cyBpbiBzYW5lIHNpdHVhdGlvbnNcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICAvLyBpZiBjbGVhclRpbWVvdXQgd2Fzbid0IGF2YWlsYWJsZSBidXQgd2FzIGxhdHRlciBkZWZpbmVkXG4gICAgaWYgKChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGRlZmF1bHRDbGVhclRpbWVvdXQgfHwgIWNhY2hlZENsZWFyVGltZW91dCkgJiYgY2xlYXJUaW1lb3V0KSB7XG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyB3aGVuIHdoZW4gc29tZWJvZHkgaGFzIHNjcmV3ZWQgd2l0aCBzZXRUaW1lb3V0IGJ1dCBubyBJLkUuIG1hZGRuZXNzXG4gICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIGluIEkuRS4gYnV0IHRoZSBzY3JpcHQgaGFzIGJlZW4gZXZhbGVkIHNvIEkuRS4gZG9lc24ndCAgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbChudWxsLCBtYXJrZXIpO1xuICAgICAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yLlxuICAgICAgICAgICAgLy8gU29tZSB2ZXJzaW9ucyBvZiBJLkUuIGhhdmUgZGlmZmVyZW50IHJ1bGVzIGZvciBjbGVhclRpbWVvdXQgdnMgc2V0VGltZW91dFxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKHRoaXMsIG1hcmtlcik7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG59XG52YXIgcXVldWUgPSBbXTtcbnZhciBkcmFpbmluZyA9IGZhbHNlO1xudmFyIGN1cnJlbnRRdWV1ZTtcbnZhciBxdWV1ZUluZGV4ID0gLTE7XG5cbmZ1bmN0aW9uIGNsZWFuVXBOZXh0VGljaygpIHtcbiAgICBpZiAoIWRyYWluaW5nIHx8ICFjdXJyZW50UXVldWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkcmFpbmluZyA9IGZhbHNlO1xuICAgIGlmIChjdXJyZW50UXVldWUubGVuZ3RoKSB7XG4gICAgICAgIHF1ZXVlID0gY3VycmVudFF1ZXVlLmNvbmNhdChxdWV1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgIH1cbiAgICBpZiAocXVldWUubGVuZ3RoKSB7XG4gICAgICAgIGRyYWluUXVldWUoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGRyYWluUXVldWUoKSB7XG4gICAgaWYgKGRyYWluaW5nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHRpbWVvdXQgPSBydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7XG4gICAgZHJhaW5pbmcgPSB0cnVlO1xuXG4gICAgdmFyIGxlbiA9IHF1ZXVlLmxlbmd0aDtcbiAgICB3aGlsZShsZW4pIHtcbiAgICAgICAgY3VycmVudFF1ZXVlID0gcXVldWU7XG4gICAgICAgIHF1ZXVlID0gW107XG4gICAgICAgIHdoaWxlICgrK3F1ZXVlSW5kZXggPCBsZW4pIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50UXVldWUpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50UXVldWVbcXVldWVJbmRleF0ucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgICAgICBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gICAgfVxuICAgIGN1cnJlbnRRdWV1ZSA9IG51bGw7XG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcbiAgICBydW5DbGVhclRpbWVvdXQodGltZW91dCk7XG59XG5cbnByb2Nlc3MubmV4dFRpY2sgPSBmdW5jdGlvbiAoZnVuKSB7XG4gICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpO1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgYXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcXVldWUucHVzaChuZXcgSXRlbShmdW4sIGFyZ3MpKTtcbiAgICBpZiAocXVldWUubGVuZ3RoID09PSAxICYmICFkcmFpbmluZykge1xuICAgICAgICBydW5UaW1lb3V0KGRyYWluUXVldWUpO1xuICAgIH1cbn07XG5cbi8vIHY4IGxpa2VzIHByZWRpY3RpYmxlIG9iamVjdHNcbmZ1bmN0aW9uIEl0ZW0oZnVuLCBhcnJheSkge1xuICAgIHRoaXMuZnVuID0gZnVuO1xuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbn1cbkl0ZW0ucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmZ1bi5hcHBseShudWxsLCB0aGlzLmFycmF5KTtcbn07XG5wcm9jZXNzLnRpdGxlID0gJ2Jyb3dzZXInO1xucHJvY2Vzcy5icm93c2VyID0gdHJ1ZTtcbnByb2Nlc3MuZW52ID0ge307XG5wcm9jZXNzLmFyZ3YgPSBbXTtcbnByb2Nlc3MudmVyc2lvbiA9ICcnOyAvLyBlbXB0eSBzdHJpbmcgdG8gYXZvaWQgcmVnZXhwIGlzc3Vlc1xucHJvY2Vzcy52ZXJzaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiBub29wKCkge31cblxucHJvY2Vzcy5vbiA9IG5vb3A7XG5wcm9jZXNzLmFkZExpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3Mub25jZSA9IG5vb3A7XG5wcm9jZXNzLm9mZiA9IG5vb3A7XG5wcm9jZXNzLnJlbW92ZUxpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzID0gbm9vcDtcbnByb2Nlc3MuZW1pdCA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRPbmNlTGlzdGVuZXIgPSBub29wO1xuXG5wcm9jZXNzLmxpc3RlbmVycyA9IGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiBbXSB9XG5cbnByb2Nlc3MuYmluZGluZyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCcpO1xufTtcblxucHJvY2Vzcy5jd2QgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAnLycgfTtcbnByb2Nlc3MuY2hkaXIgPSBmdW5jdGlvbiAoZGlyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn07XG5wcm9jZXNzLnVtYXNrID0gZnVuY3Rpb24oKSB7IHJldHVybiAwOyB9O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXG4vLyBtb2R1bGUgaWQgPSAyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5cbmNsYXNzIERvY3VtZW50IHtcbiAgICBjb25zdHJ1Y3RvcihkYXRhKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlcnMgPSB7fTtcbiAgICAgICAgdGhpcy5zZXR1cCgpO1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGRhdGEpO1xuICAgIH1cblxuICAgIHNldHVwKCkge1xuICAgICAgICAvLyBhZGQgaGFuZGxlcnNcbiAgICB9XG5cbiAgICBjbGVhcl9oYW5kbGVycygpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVycyA9IHt9O1xuICAgIH1cblxuICAgIGFkZF9oYW5kbGVyKGtleSwgbWV0aG9kKSB7XG4gICAgICAgIGlmICghdGhpcy5oYW5kbGVyc1trZXldKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZXJzW2tleV0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhbmRsZXJzW2tleV0ucHVzaChtZXRob2QgfHwga2V5KTtcbiAgICB9XG5cbiAgICBnZXQoa2V5KSB7XG4gICAgICAgIHJldHVybiB0aGlzW2tleV07XG4gICAgfVxuXG4gICAgc2V0KGtleSwgdmFsdWUpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZV9maWVsZChrZXksIHZhbHVlKTtcbiAgICAgICAgdGhpc1trZXldID0gdmFsdWU7XG4gICAgfVxuXG4gICAgc2V0X25hbWUoKSB7XG4gICAgICAgIC8vIGFzc2lnbiBhIHJhbmRvbSBuYW1lIGJ5IGRlZmF1bHRcbiAgICAgICAgLy8gb3ZlcnJpZGUgdGhpcyB0byBzZXQgYSBuYW1lXG4gICAgICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRfa2V5d29yZHMoKSB7XG4gICAgICAgIGxldCBrZXl3b3JkcyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBmaWVsZG5hbWUgb2YgdGhpcy5tZXRhLmdldF9rZXl3b3JkX2ZpZWxkcygpKSB7XG4gICAgICAgICAgICBrZXl3b3Jkcy5wdXNoKHRoaXNbZmllbGRuYW1lXSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5rZXl3b3JkcyA9IGtleXdvcmRzLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgZ2V0IG1ldGEoKSB7XG4gICAgICAgIGlmICghdGhpcy5fbWV0YSkge1xuICAgICAgICAgICAgdGhpcy5fbWV0YSA9IGZyYXBwZS5nZXRfbWV0YSh0aGlzLmRvY3R5cGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9tZXRhO1xuICAgIH1cblxuICAgIGFwcGVuZChrZXksIGRvY3VtZW50KSB7XG4gICAgICAgIGlmICghdGhpc1trZXldKSB7XG4gICAgICAgICAgICB0aGlzW2tleV0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzW2tleV0ucHVzaCh0aGlzLmluaXRfZG9jKGRvY3VtZW50KSk7XG4gICAgfVxuXG4gICAgaW5pdF9kb2MoZGF0YSkge1xuICAgICAgICBpZiAoZGF0YS5wcm90b3R5cGUgaW5zdGFuY2VvZiBEb2N1bWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERvY3VtZW50KGQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFsaWRhdGVfZmllbGQgKGtleSwgdmFsdWUpIHtcbiAgICAgICAgbGV0IGRmID0gdGhpcy5tZXRhLmdldF9maWVsZChrZXkpO1xuICAgICAgICBpZiAoZGYuZmllbGR0eXBlPT0nU2VsZWN0Jykge1xuICAgICAgICAgICAgdGhpcy5tZXRhLnZhbGlkYXRlX3NlbGVjdChkZiwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0X3ZhbGlkX2RpY3QoKSB7XG4gICAgICAgIGxldCBkb2MgPSB7fTtcbiAgICAgICAgZm9yKGxldCBkZiBvZiB0aGlzLm1ldGEuZ2V0X3ZhbGlkX2ZpZWxkcygpKSB7XG4gICAgICAgICAgICBkb2NbZGYuZmllbGRuYW1lXSA9IHRoaXMuZ2V0KGRmLmZpZWxkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRvYztcbiAgICB9XG5cbiAgICBzZXRfc3RhbmRhcmRfdmFsdWVzKCkge1xuICAgICAgICBsZXQgbm93ID0gbmV3IERhdGUoKTtcbiAgICAgICAgaWYgKHRoaXMuZG9jc3RhdHVzID09PSBudWxsIHx8IHRoaXMuZG9jc3RhdHVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jc3RhdHVzID0gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMub3duZXIpIHtcbiAgICAgICAgICAgIHRoaXMub3duZXIgPSBmcmFwcGUuc2Vzc2lvbi51c2VyO1xuICAgICAgICAgICAgdGhpcy5jcmVhdGlvbiA9IG5vdztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vZGlmaWVkX2J5ID0gZnJhcHBlLnNlc3Npb24udXNlcjtcbiAgICAgICAgdGhpcy5tb2RpZmllZCA9IG5vdztcbiAgICB9XG5cbiAgICBhc3luYyBsb2FkKCkge1xuICAgICAgICBsZXQgZGF0YSA9IGF3YWl0IGZyYXBwZS5kYi5nZXQodGhpcy5kb2N0eXBlLCB0aGlzLm5hbWUpO1xuICAgICAgICBpZiAoZGF0YS5uYW1lKSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IGZyYXBwZS5lcnJvcnMuTm90Rm91bmQoYE5vdCBGb3VuZDogJHt0aGlzLmRvY3R5cGV9ICR7dGhpcy5uYW1lfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgaW5zZXJ0KCkge1xuICAgICAgICB0aGlzLnNldF9uYW1lKCk7XG4gICAgICAgIHRoaXMuc2V0X3N0YW5kYXJkX3ZhbHVlcygpO1xuICAgICAgICB0aGlzLnNldF9rZXl3b3JkcygpO1xuICAgICAgICBhd2FpdCB0aGlzLnRyaWdnZXIoJ3ZhbGlkYXRlJywgJ2JlZm9yZV9pbnNlcnQnKTtcbiAgICAgICAgYXdhaXQgZnJhcHBlLmRiLmluc2VydCh0aGlzLmRvY3R5cGUsIHRoaXMuZ2V0X3ZhbGlkX2RpY3QoKSk7XG4gICAgICAgIGF3YWl0IHRoaXMudHJpZ2dlcignYWZ0ZXJfaW5zZXJ0JywgJ2FmdGVyX3NhdmUnKTtcbiAgICB9XG5cbiAgICBhc3luYyBkZWxldGUoKSB7XG4gICAgICAgIGF3YWl0IHRoaXMudHJpZ2dlcignYmVmb3JlX2RlbGV0ZScpO1xuICAgICAgICBhd2FpdCBmcmFwcGUuZGIuZGVsZXRlKHRoaXMuZG9jdHlwZSwgdGhpcy5uYW1lKTtcbiAgICAgICAgYXdhaXQgdGhpcy50cmlnZ2VyKCdhZnRlcl9kZWxldGUnKTtcbiAgICB9XG5cbiAgICBhc3luYyB0cmlnZ2VyKCkge1xuICAgICAgICBmb3IodmFyIGtleSBvZiBhcmd1bWVudHMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhbmRsZXJzW2tleV0pIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBtZXRob2Qgb2YgdGhpcy5oYW5kbGVyc1trZXldKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbWV0aG9kID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpc1ttZXRob2RdKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBtZXRob2QodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyB1cGRhdGUoKSB7XG4gICAgICAgIHRoaXMuc2V0X3N0YW5kYXJkX3ZhbHVlcygpO1xuICAgICAgICB0aGlzLnNldF9rZXl3b3JkcygpO1xuICAgICAgICBhd2FpdCB0aGlzLnRyaWdnZXIoJ3ZhbGlkYXRlJywgJ2JlZm9yZV91cGRhdGUnKTtcbiAgICAgICAgYXdhaXQgZnJhcHBlLmRiLnVwZGF0ZSh0aGlzLmRvY3R5cGUsIHRoaXMuZ2V0X3ZhbGlkX2RpY3QoKSk7XG4gICAgICAgIGF3YWl0IHRoaXMudHJpZ2dlcignYWZ0ZXJfdXBkYXRlJywgJ2FmdGVyX3NhdmUnKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7IERvY3VtZW50OiBEb2N1bWVudCB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL21vZGVsL2RvY3VtZW50LmpzXG4vLyBtb2R1bGUgaWQgPSAzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInJlcXVpcmUoJy4vc2Nzcy9tYWluLnNjc3MnKTtcblxuY29uc3QgY2xpZW50ID0gcmVxdWlyZSgnZnJhcHBlanMvY2xpZW50Jyk7XG5cbi8vIHN0YXJ0IHNlcnZlclxuY2xpZW50LnN0YXJ0KHtcbiAgICBzZXJ2ZXI6ICdsb2NhbGhvc3Q6ODAwMCcsXG4gICAgY29udGFpbmVyOiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud3JhcHBlcicpLFxufSkudGhlbigoKSA9PiB7XG4gICAgZnJhcHBlLnRvZG9fbW9kdWxlID0gcmVxdWlyZSgnZnJhcHBlanMvbW9kZWxzL2RvY3R5cGUvdG9kby90b2RvLmpzJyk7XG4gICAgZnJhcHBlLmFjY291bnRfbW9kdWxlID0gcmVxdWlyZSgnLi9tb2RlbHMvZG9jdHlwZS9hY2NvdW50L2FjY291bnQuanMnKTtcblxuICAgIGZyYXBwZS5pbml0X2NvbnRyb2xsZXIoJ2FjY291bnQnLCBmcmFwcGUuYWNjb3VudF9tb2R1bGUpO1xuICAgIGZyYXBwZS5pbml0X2NvbnRyb2xsZXIoJ3RvZG8nLCBmcmFwcGUudG9kb19tb2R1bGUpO1xuXG4gICAgZnJhcHBlLmRlc2suYWRkX3NpZGViYXJfaXRlbSgnVG9EbycsICcjbGlzdC90b2RvJyk7XG4gICAgZnJhcHBlLmRlc2suYWRkX3NpZGViYXJfaXRlbSgnQWNjb3VudHMnLCAnI2xpc3QvYWNjb3VudCcpO1xuXG4gICAgZnJhcHBlLnJvdXRlci5kZWZhdWx0ID0gJyNsaXN0L3RvZG8nO1xuXG4gICAgZnJhcHBlLnJvdXRlci5zaG93KHdpbmRvdy5sb2NhdGlvbi5oYXNoKTtcbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tMC0yIS4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9saWIvbG9hZGVyLmpzIS4vbWFpbi5zY3NzXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG4vLyBQcmVwYXJlIGNzc1RyYW5zZm9ybWF0aW9uXG52YXIgdHJhbnNmb3JtO1xuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG5cdC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG5cdGlmKCFjb250ZW50LmxvY2Fscykge1xuXHRcdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTAtMiEuLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvbGliL2xvYWRlci5qcyEuL21haW4uc2Nzc1wiLCBmdW5jdGlvbigpIHtcblx0XHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS0wLTIhLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2xpYi9sb2FkZXIuanMhLi9tYWluLnNjc3NcIik7XG5cdFx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblx0XHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0XHR9KTtcblx0fVxuXHQvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc2Nzcy9tYWluLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIvKiFcXG4gKiBCb290c3RyYXAgdjQuMC4wIChodHRwczovL2dldGJvb3RzdHJhcC5jb20pXFxuICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE4IFR3aXR0ZXIsIEluYy5cXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxcbiAqL1xcbiosICo6OmJlZm9yZSwgKjo6YWZ0ZXIge1xcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuaHRtbCB7XFxuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG5ALW1zLXZpZXdwb3J0IHtcXG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cXG5hcnRpY2xlLCBhc2lkZSwgZGlhbG9nLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcbmJvZHkge1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCI7XFxuICBmb250LXNpemU6IDFyZW07XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cXG5bdGFiaW5kZXg9XFxcIi0xXFxcIl06Zm9jdXMge1xcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50OyB9XFxuaHIge1xcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICBoZWlnaHQ6IDA7XFxuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xcbiAgbWFyZ2luLXRvcDogMDtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxcbnAge1xcbiAgbWFyZ2luLXRvcDogMDtcXG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cXG5hYmJyW3RpdGxlXSwgYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICBjdXJzb3I6IGhlbHA7XFxuICBib3JkZXItYm90dG9tOiAwOyB9XFxuYWRkcmVzcyB7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cXG5vbCwgdWwsIGRsIHtcXG4gIG1hcmdpbi10b3A6IDA7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XFxub2wgb2wsIHVsIHVsLCBvbCB1bCwgdWwgb2wge1xcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbmR0IHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cXG5kZCB7XFxuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XFxuYmxvY2txdW90ZSB7XFxuICBtYXJnaW46IDAgMCAxcmVtOyB9XFxuZGZuIHtcXG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxcbmIsIHN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyOyB9XFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7IH1cXG5zdWIsIHN1cCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XFxuc3ViIHtcXG4gIGJvdHRvbTogLS4yNWVtOyB9XFxuc3VwIHtcXG4gIHRvcDogLS41ZW07IH1cXG5hIHtcXG4gIGNvbG9yOiAjMDA3YmZmO1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyB9XFxuYTpob3ZlciB7XFxuICAgIGNvbG9yOiAjMDA1NmIzO1xcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxcbmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XFxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6aG92ZXIsIGE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmZvY3VzIHtcXG4gICAgY29sb3I6IGluaGVyaXQ7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxcbmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmZvY3VzIHtcXG4gICAgb3V0bGluZTogMDsgfVxcbnByZSwgY29kZSwga2JkLCBzYW1wIHtcXG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcXG4gIGZvbnQtc2l6ZTogMWVtOyB9XFxucHJlIHtcXG4gIG1hcmdpbi10b3A6IDA7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjsgfVxcbmZpZ3VyZSB7XFxuICBtYXJnaW46IDAgMCAxcmVtOyB9XFxuaW1nIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cXG5zdmc6bm90KDpyb290KSB7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxudGFibGUge1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxcbmNhcHRpb24ge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG4gIGNhcHRpb24tc2lkZTogYm90dG9tOyB9XFxudGgge1xcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgfVxcbmxhYmVsIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XFxuYnV0dG9uIHtcXG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cXG5idXR0b246Zm9jdXMge1xcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcXG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsgfVxcbmlucHV0LCBidXR0b24sIHNlbGVjdCwgb3B0Z3JvdXAsIHRleHRhcmVhIHtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cXG5idXR0b24sIGlucHV0IHtcXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XFxuYnV0dG9uLCBzZWxlY3Qge1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cXG5idXR0b24sIGh0bWwgW3R5cGU9XFxcImJ1dHRvblxcXCJdLCBbdHlwZT1cXFwicmVzZXRcXFwiXSwgW3R5cGU9XFxcInN1Ym1pdFxcXCJdIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XFxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cXFwiYnV0dG9uXFxcIl06Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVxcXCJyZXNldFxcXCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cXFwic3VibWl0XFxcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xcbiAgcGFkZGluZzogMDtcXG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxcbmlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0sIGlucHV0W3R5cGU9XFxcImNoZWNrYm94XFxcIl0ge1xcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgcGFkZGluZzogMDsgfVxcbmlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSwgaW5wdXRbdHlwZT1cXFwidGltZVxcXCJdLCBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdLCBpbnB1dFt0eXBlPVxcXCJtb250aFxcXCJdIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDsgfVxcbnRleHRhcmVhIHtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxcbmZpZWxkc2V0IHtcXG4gIG1pbi13aWR0aDogMDtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBib3JkZXI6IDA7IH1cXG5sZWdlbmQge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cXG5wcm9ncmVzcyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cXG5bdHlwZT1cXFwibnVtYmVyXFxcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIFt0eXBlPVxcXCJudW1iZXJcXFwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XFxuICBoZWlnaHQ6IGF1dG87IH1cXG5bdHlwZT1cXFwic2VhcmNoXFxcIl0ge1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cXG5bdHlwZT1cXFwic2VhcmNoXFxcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVxcXCJzZWFyY2hcXFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIGZvbnQ6IGluaGVyaXQ7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxcbm91dHB1dCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG4gIGN1cnNvcjogcG9pbnRlcjsgfVxcbnRlbXBsYXRlIHtcXG4gIGRpc3BsYXk6IG5vbmU7IH1cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XFxuICBjb2xvcjogaW5oZXJpdDsgfVxcbmgxLCAuaDEge1xcbiAgZm9udC1zaXplOiAyLjVyZW07IH1cXG5oMiwgLmgyIHtcXG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxcbmgzLCAuaDMge1xcbiAgZm9udC1zaXplOiAxLjc1cmVtOyB9XFxuaDQsIC5oNCB7XFxuICBmb250LXNpemU6IDEuNXJlbTsgfVxcbmg1LCAuaDUge1xcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XFxuaDYsIC5oNiB7XFxuICBmb250LXNpemU6IDFyZW07IH1cXG4ubGVhZCB7XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBmb250LXdlaWdodDogMzAwOyB9XFxuLmRpc3BsYXktMSB7XFxuICBmb250LXNpemU6IDZyZW07XFxuICBmb250LXdlaWdodDogMzAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxcbi5kaXNwbGF5LTIge1xcbiAgZm9udC1zaXplOiA1LjVyZW07XFxuICBmb250LXdlaWdodDogMzAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxcbi5kaXNwbGF5LTMge1xcbiAgZm9udC1zaXplOiA0LjVyZW07XFxuICBmb250LXdlaWdodDogMzAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxcbi5kaXNwbGF5LTQge1xcbiAgZm9udC1zaXplOiAzLjVyZW07XFxuICBmb250LXdlaWdodDogMzAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxcbmhyIHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbiAgYm9yZGVyOiAwO1xcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxcbnNtYWxsLCAuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxuICBmb250LXdlaWdodDogNDAwOyB9XFxubWFyaywgLm1hcmsge1xcbiAgcGFkZGluZzogMC4yZW07XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOyB9XFxuLmxpc3QtdW5zdHlsZWQge1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxcbi5saXN0LWlubGluZSB7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxuICBsaXN0LXN0eWxlOiBub25lOyB9XFxuLmxpc3QtaW5saW5lLWl0ZW0ge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XFxuLmxpc3QtaW5saW5lLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XFxuLmluaXRpYWxpc20ge1xcbiAgZm9udC1zaXplOiA5MCU7XFxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuLmJsb2NrcXVvdGUge1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxcbi5ibG9ja3F1b3RlLWZvb3RlciB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGZvbnQtc2l6ZTogODAlO1xcbiAgY29sb3I6ICM2Yzc1N2Q7IH1cXG4uYmxvY2txdW90ZS1mb290ZXI6OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcMjAxNCAgIFxcXFxBMFxcXCI7IH1cXG4uaW1nLWZsdWlkIHtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bzsgfVxcbi5pbWctdGh1bWJuYWlsIHtcXG4gIHBhZGRpbmc6IDAuMjVyZW07XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87IH1cXG4uZmlndXJlIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxcbi5maWd1cmUtaW1nIHtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuLmZpZ3VyZS1jYXB0aW9uIHtcXG4gIGZvbnQtc2l6ZTogOTAlO1xcbiAgY29sb3I6ICM2Yzc1N2Q7IH1cXG5jb2RlLCBrYmQsIHByZSwgc2FtcCB7XFxuICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyB9XFxuY29kZSB7XFxuICBmb250LXNpemU6IDg3LjUlO1xcbiAgY29sb3I6ICNlODNlOGM7XFxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyB9XFxuYSA+IGNvZGUge1xcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxcbmtiZCB7XFxuICBwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xcbiAgZm9udC1zaXplOiA4Ny41JTtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTsgfVxcbmtiZCBrYmQge1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBmb250LXNpemU6IDEwMCU7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cXG5wcmUge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBmb250LXNpemU6IDg3LjUlO1xcbiAgY29sb3I6ICMyMTI1Mjk7IH1cXG5wcmUgY29kZSB7XFxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gICAgY29sb3I6IGluaGVyaXQ7XFxuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDsgfVxcbi5wcmUtc2Nyb2xsYWJsZSB7XFxuICBtYXgtaGVpZ2h0OiAzNDBweDtcXG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxcbi5jb250YWluZXIge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcXG4gICAgLmNvbnRhaW5lciB7XFxuICAgICAgbWF4LXdpZHRoOiA1NDBweDsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICAgIC5jb250YWluZXIge1xcbiAgICAgIG1heC13aWR0aDogNzIwcHg7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xcbiAgICAuY29udGFpbmVyIHtcXG4gICAgICBtYXgtd2lkdGg6IDk2MHB4OyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XFxuICAgIC5jb250YWluZXIge1xcbiAgICAgIG1heC13aWR0aDogMTE0MHB4OyB9IH1cXG4uY29udGFpbmVyLWZsdWlkIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcGFkZGluZy1yaWdodDogMTVweDtcXG4gIHBhZGRpbmctbGVmdDogMTVweDtcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XFxuLnJvdyB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICAgICAgZmxleC13cmFwOiB3cmFwO1xcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcXG4gIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxcbi5uby1ndXR0ZXJzIHtcXG4gIG1hcmdpbi1yaWdodDogMDtcXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XFxuLm5vLWd1dHRlcnMgPiAuY29sLCAubm8tZ3V0dGVycyA+IFtjbGFzcyo9XFxcImNvbC1cXFwiXSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIHBhZGRpbmctbGVmdDogMDsgfVxcbi5jb2wtMSwgLmNvbC0yLCAuY29sLTMsIC5jb2wtNCwgLmNvbC01LCAuY29sLTYsIC5jb2wtNywgLmNvbC04LCAuY29sLTksIC5jb2wtMTAsIC5jb2wtMTEsIC5jb2wtMTIsIC5jb2wsIC5jb2wtYXV0bywgLmNvbC1zbS0xLCAuY29sLXNtLTIsIC5jb2wtc20tMywgLmNvbC1zbS00LCAuY29sLXNtLTUsIC5jb2wtc20tNiwgLmNvbC1zbS03LCAuY29sLXNtLTgsIC5jb2wtc20tOSwgLmNvbC1zbS0xMCwgLmNvbC1zbS0xMSwgLmNvbC1zbS0xMiwgLmNvbC1zbSwgLmNvbC1zbS1hdXRvLCAuY29sLW1kLTEsIC5jb2wtbWQtMiwgLmNvbC1tZC0zLCAuY29sLW1kLTQsIC5jb2wtbWQtNSwgLmNvbC1tZC02LCAuY29sLW1kLTcsIC5jb2wtbWQtOCwgLmNvbC1tZC05LCAuY29sLW1kLTEwLCAuY29sLW1kLTExLCAuY29sLW1kLTEyLCAuY29sLW1kLCAuY29sLW1kLWF1dG8sIC5jb2wtbGctMSwgLmNvbC1sZy0yLCAuY29sLWxnLTMsIC5jb2wtbGctNCwgLmNvbC1sZy01LCAuY29sLWxnLTYsIC5jb2wtbGctNywgLmNvbC1sZy04LCAuY29sLWxnLTksIC5jb2wtbGctMTAsIC5jb2wtbGctMTEsIC5jb2wtbGctMTIsIC5jb2wtbGcsIC5jb2wtbGctYXV0bywgLmNvbC14bC0xLCAuY29sLXhsLTIsIC5jb2wteGwtMywgLmNvbC14bC00LCAuY29sLXhsLTUsIC5jb2wteGwtNiwgLmNvbC14bC03LCAuY29sLXhsLTgsIC5jb2wteGwtOSwgLmNvbC14bC0xMCwgLmNvbC14bC0xMSwgLmNvbC14bC0xMiwgLmNvbC14bCwgLmNvbC14bC1hdXRvIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgbWluLWhlaWdodDogMXB4O1xcbiAgcGFkZGluZy1yaWdodDogMTVweDtcXG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxcbi5jb2wge1xcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7XFxuICAgICAgZmxleC1iYXNpczogMDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XFxuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcXG4gIG1heC13aWR0aDogMTAwJTsgfVxcbi5jb2wtYXV0byB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcXG4gICAgICAgICAgZmxleDogMCAwIGF1dG87XFxuICB3aWR0aDogYXV0bztcXG4gIG1heC13aWR0aDogbm9uZTsgfVxcbi5jb2wtMSB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMyU7XFxuICAgICAgICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcXG4gIG1heC13aWR0aDogOC4zMzMzMyU7IH1cXG4uY29sLTIge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY3JTtcXG4gICAgICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcXG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XFxuLmNvbC0zIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgLW1zLWZsZXg6IDAgMCAyNSU7XFxuICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XFxuICBtYXgtd2lkdGg6IDI1JTsgfVxcbi5jb2wtNCB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xcbiAgICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cXG4uY29sLTUge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcXG4gICAgICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTtcXG4gIG1heC13aWR0aDogNDEuNjY2NjclOyB9XFxuLmNvbC02IHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XFxuICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XFxuICBtYXgtd2lkdGg6IDUwJTsgfVxcbi5jb2wtNyB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlO1xcbiAgICAgICAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cXG4uY29sLTgge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcXG4gICAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcXG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XFxuLmNvbC05IHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgLW1zLWZsZXg6IDAgMCA3NSU7XFxuICAgICAgICAgIGZsZXg6IDAgMCA3NSU7XFxuICBtYXgtd2lkdGg6IDc1JTsgfVxcbi5jb2wtMTAge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcXG4gICAgICAgICAgZmxleDogMCAwIDgzLjMzMzMzJTtcXG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XFxuLmNvbC0xMSB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclO1xcbiAgICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xcbiAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cXG4uY29sLTEyIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xcbiAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcXG4gIG1heC13aWR0aDogMTAwJTsgfVxcbi5vcmRlci1maXJzdCB7XFxuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAwO1xcbiAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcXG4gICAgICAgICAgb3JkZXI6IC0xOyB9XFxuLm9yZGVyLWxhc3Qge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTQ7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDEzO1xcbiAgICAgICAgICBvcmRlcjogMTM7IH1cXG4ub3JkZXItMCB7XFxuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxO1xcbiAgICAgIC1tcy1mbGV4LW9yZGVyOiAwO1xcbiAgICAgICAgICBvcmRlcjogMDsgfVxcbi5vcmRlci0xIHtcXG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDE7XFxuICAgICAgICAgIG9yZGVyOiAxOyB9XFxuLm9yZGVyLTIge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMztcXG4gICAgICAtbXMtZmxleC1vcmRlcjogMjtcXG4gICAgICAgICAgb3JkZXI6IDI7IH1cXG4ub3JkZXItMyB7XFxuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA0O1xcbiAgICAgIC1tcy1mbGV4LW9yZGVyOiAzO1xcbiAgICAgICAgICBvcmRlcjogMzsgfVxcbi5vcmRlci00IHtcXG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDU7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDQ7XFxuICAgICAgICAgIG9yZGVyOiA0OyB9XFxuLm9yZGVyLTUge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNjtcXG4gICAgICAtbXMtZmxleC1vcmRlcjogNTtcXG4gICAgICAgICAgb3JkZXI6IDU7IH1cXG4ub3JkZXItNiB7XFxuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA3O1xcbiAgICAgIC1tcy1mbGV4LW9yZGVyOiA2O1xcbiAgICAgICAgICBvcmRlcjogNjsgfVxcbi5vcmRlci03IHtcXG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDg7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDc7XFxuICAgICAgICAgIG9yZGVyOiA3OyB9XFxuLm9yZGVyLTgge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogOTtcXG4gICAgICAtbXMtZmxleC1vcmRlcjogODtcXG4gICAgICAgICAgb3JkZXI6IDg7IH1cXG4ub3JkZXItOSB7XFxuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMDtcXG4gICAgICAtbXMtZmxleC1vcmRlcjogOTtcXG4gICAgICAgICAgb3JkZXI6IDk7IH1cXG4ub3JkZXItMTAge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTE7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDEwO1xcbiAgICAgICAgICBvcmRlcjogMTA7IH1cXG4ub3JkZXItMTEge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTI7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDExO1xcbiAgICAgICAgICBvcmRlcjogMTE7IH1cXG4ub3JkZXItMTIge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTM7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDEyO1xcbiAgICAgICAgICBvcmRlcjogMTI7IH1cXG4ub2Zmc2V0LTEge1xcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XFxuLm9mZnNldC0yIHtcXG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cXG4ub2Zmc2V0LTMge1xcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxcbi5vZmZzZXQtNCB7XFxuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XFxuLm9mZnNldC01IHtcXG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cXG4ub2Zmc2V0LTYge1xcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxcbi5vZmZzZXQtNyB7XFxuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XFxuLm9mZnNldC04IHtcXG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cXG4ub2Zmc2V0LTkge1xcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxcbi5vZmZzZXQtMTAge1xcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxcbi5vZmZzZXQtMTEge1xcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLmNvbC1zbSB7XFxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwO1xcbiAgICAgICAgZmxleC1iYXNpczogMDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcXG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XFxuICAuY29sLXNtLWF1dG8ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xcbiAgICB3aWR0aDogYXV0bztcXG4gICAgbWF4LXdpZHRoOiBub25lOyB9XFxuICAuY29sLXNtLTEge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XFxuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cXG4gIC5jb2wtc20tMiB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY3JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxcbiAgLmNvbC1zbS0zIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XFxuICAgIG1heC13aWR0aDogMjUlOyB9XFxuICAuY29sLXNtLTQge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cXG4gIC5jb2wtc20tNSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxcbiAgLmNvbC1zbS02IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XFxuICAgIG1heC13aWR0aDogNTAlOyB9XFxuICAuY29sLXNtLTcge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDU4LjMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cXG4gIC5jb2wtc20tOCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxcbiAgLmNvbC1zbS05IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNzUlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3NSU7XFxuICAgIG1heC13aWR0aDogNzUlOyB9XFxuICAuY29sLXNtLTEwIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XFxuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XFxuICAuY29sLXNtLTExIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XFxuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XFxuICAuY29sLXNtLTEyIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcXG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XFxuICAub3JkZXItc20tZmlyc3Qge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAwO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xcbiAgICAgICAgICAgIG9yZGVyOiAtMTsgfVxcbiAgLm9yZGVyLXNtLWxhc3Qge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxNDtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMztcXG4gICAgICAgICAgICBvcmRlcjogMTM7IH1cXG4gIC5vcmRlci1zbS0wIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAwO1xcbiAgICAgICAgICAgIG9yZGVyOiAwOyB9XFxuICAub3JkZXItc20tMSB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTtcXG4gICAgICAgICAgICBvcmRlcjogMTsgfVxcbiAgLm9yZGVyLXNtLTIge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAzO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDI7XFxuICAgICAgICAgICAgb3JkZXI6IDI7IH1cXG4gIC5vcmRlci1zbS0zIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNDtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAzO1xcbiAgICAgICAgICAgIG9yZGVyOiAzOyB9XFxuICAub3JkZXItc20tNCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDU7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogNDtcXG4gICAgICAgICAgICBvcmRlcjogNDsgfVxcbiAgLm9yZGVyLXNtLTUge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA2O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDU7XFxuICAgICAgICAgICAgb3JkZXI6IDU7IH1cXG4gIC5vcmRlci1zbS02IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNztcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA2O1xcbiAgICAgICAgICAgIG9yZGVyOiA2OyB9XFxuICAub3JkZXItc20tNyB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDg7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogNztcXG4gICAgICAgICAgICBvcmRlcjogNzsgfVxcbiAgLm9yZGVyLXNtLTgge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA5O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDg7XFxuICAgICAgICAgICAgb3JkZXI6IDg7IH1cXG4gIC5vcmRlci1zbS05IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTA7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogOTtcXG4gICAgICAgICAgICBvcmRlcjogOTsgfVxcbiAgLm9yZGVyLXNtLTEwIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTE7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTA7XFxuICAgICAgICAgICAgb3JkZXI6IDEwOyB9XFxuICAub3JkZXItc20tMTEge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMjtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMTtcXG4gICAgICAgICAgICBvcmRlcjogMTE7IH1cXG4gIC5vcmRlci1zbS0xMiB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEzO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEyO1xcbiAgICAgICAgICAgIG9yZGVyOiAxMjsgfVxcbiAgLm9mZnNldC1zbS0wIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gIC5vZmZzZXQtc20tMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxcbiAgLm9mZnNldC1zbS0yIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxcbiAgLm9mZnNldC1zbS0zIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxcbiAgLm9mZnNldC1zbS00IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxcbiAgLm9mZnNldC1zbS01IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxcbiAgLm9mZnNldC1zbS02IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxcbiAgLm9mZnNldC1zbS03IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxcbiAgLm9mZnNldC1zbS04IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxcbiAgLm9mZnNldC1zbS05IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxcbiAgLm9mZnNldC1zbS0xMCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cXG4gIC5vZmZzZXQtc20tMTEge1xcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcXG4gIC5jb2wtbWQge1xcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDtcXG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XFxuICAgIG1heC13aWR0aDogMTAwJTsgfVxcbiAgLmNvbC1tZC1hdXRvIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcXG4gICAgd2lkdGg6IGF1dG87XFxuICAgIG1heC13aWR0aDogbm9uZTsgfVxcbiAgLmNvbC1tZC0xIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDguMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XFxuICAuY29sLW1kLTIge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cXG4gIC5jb2wtbWQtMyB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDI1JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxcbiAgLmNvbC1tZC00IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XFxuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XFxuICAuY29sLW1kLTUge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cXG4gIC5jb2wtbWQtNiB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxcbiAgLmNvbC1tZC03IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XFxuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XFxuICAuY29sLW1kLTgge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cXG4gIC5jb2wtbWQtOSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDc1JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNzUlO1xcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxcbiAgLmNvbC1tZC0xMCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxcbiAgLmNvbC1tZC0xMSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY3JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxcbiAgLmNvbC1tZC0xMiB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDEwMCU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XFxuICAgIG1heC13aWR0aDogMTAwJTsgfVxcbiAgLm9yZGVyLW1kLWZpcnN0IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMDtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcXG4gICAgICAgICAgICBvcmRlcjogLTE7IH1cXG4gIC5vcmRlci1tZC1sYXN0IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTQ7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTM7XFxuICAgICAgICAgICAgb3JkZXI6IDEzOyB9XFxuICAub3JkZXItbWQtMCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDE7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMDtcXG4gICAgICAgICAgICBvcmRlcjogMDsgfVxcbiAgLm9yZGVyLW1kLTEge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDE7XFxuICAgICAgICAgICAgb3JkZXI6IDE7IH1cXG4gIC5vcmRlci1tZC0yIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMztcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAyO1xcbiAgICAgICAgICAgIG9yZGVyOiAyOyB9XFxuICAub3JkZXItbWQtMyB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDQ7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMztcXG4gICAgICAgICAgICBvcmRlcjogMzsgfVxcbiAgLm9yZGVyLW1kLTQge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA1O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDQ7XFxuICAgICAgICAgICAgb3JkZXI6IDQ7IH1cXG4gIC5vcmRlci1tZC01IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNjtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA1O1xcbiAgICAgICAgICAgIG9yZGVyOiA1OyB9XFxuICAub3JkZXItbWQtNiB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDc7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogNjtcXG4gICAgICAgICAgICBvcmRlcjogNjsgfVxcbiAgLm9yZGVyLW1kLTcge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA4O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDc7XFxuICAgICAgICAgICAgb3JkZXI6IDc7IH1cXG4gIC5vcmRlci1tZC04IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogOTtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA4O1xcbiAgICAgICAgICAgIG9yZGVyOiA4OyB9XFxuICAub3JkZXItbWQtOSB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEwO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDk7XFxuICAgICAgICAgICAgb3JkZXI6IDk7IH1cXG4gIC5vcmRlci1tZC0xMCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDExO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEwO1xcbiAgICAgICAgICAgIG9yZGVyOiAxMDsgfVxcbiAgLm9yZGVyLW1kLTExIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTI7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTE7XFxuICAgICAgICAgICAgb3JkZXI6IDExOyB9XFxuICAub3JkZXItbWQtMTIge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMztcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMjtcXG4gICAgICAgICAgICBvcmRlcjogMTI7IH1cXG4gIC5vZmZzZXQtbWQtMCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAub2Zmc2V0LW1kLTEge1xcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cXG4gIC5vZmZzZXQtbWQtMiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cXG4gIC5vZmZzZXQtbWQtMyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cXG4gIC5vZmZzZXQtbWQtNCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cXG4gIC5vZmZzZXQtbWQtNSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cXG4gIC5vZmZzZXQtbWQtNiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cXG4gIC5vZmZzZXQtbWQtNyB7XFxuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cXG4gIC5vZmZzZXQtbWQtOCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cXG4gIC5vZmZzZXQtbWQtOSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cXG4gIC5vZmZzZXQtbWQtMTAge1xcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XFxuICAub2Zmc2V0LW1kLTExIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAuY29sLWxnIHtcXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7XFxuICAgICAgICBmbGV4LWJhc2lzOiAwO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XFxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cXG4gIC5jb2wtbGctYXV0byB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cXG4gIC5jb2wtbGctMSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDguMzMzMzMlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxcbiAgLmNvbC1sZy0yIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjclO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XFxuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XFxuICAuY29sLWxnLTMge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAyNSU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDI1JTtcXG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cXG4gIC5jb2wtbGctNCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxcbiAgLmNvbC1sZy01IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjclO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XFxuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XFxuICAuY29sLWxnLTYge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcXG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cXG4gIC5jb2wtbGctNyB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxcbiAgLmNvbC1sZy04IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjclO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XFxuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XFxuICAuY29sLWxnLTkge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA3NSU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDc1JTtcXG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cXG4gIC5jb2wtbGctMTAge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDgzLjMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cXG4gIC5jb2wtbGctMTEge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDkxLjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cXG4gIC5jb2wtbGctMTIge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cXG4gIC5vcmRlci1sZy1maXJzdCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDA7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogLTE7XFxuICAgICAgICAgICAgb3JkZXI6IC0xOyB9XFxuICAub3JkZXItbGctbGFzdCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDE0O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEzO1xcbiAgICAgICAgICAgIG9yZGVyOiAxMzsgfVxcbiAgLm9yZGVyLWxnLTAge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDA7XFxuICAgICAgICAgICAgb3JkZXI6IDA7IH1cXG4gIC5vcmRlci1sZy0xIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxO1xcbiAgICAgICAgICAgIG9yZGVyOiAxOyB9XFxuICAub3JkZXItbGctMiB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDM7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMjtcXG4gICAgICAgICAgICBvcmRlcjogMjsgfVxcbiAgLm9yZGVyLWxnLTMge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA0O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDM7XFxuICAgICAgICAgICAgb3JkZXI6IDM7IH1cXG4gIC5vcmRlci1sZy00IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNTtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA0O1xcbiAgICAgICAgICAgIG9yZGVyOiA0OyB9XFxuICAub3JkZXItbGctNSB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDY7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogNTtcXG4gICAgICAgICAgICBvcmRlcjogNTsgfVxcbiAgLm9yZGVyLWxnLTYge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA3O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDY7XFxuICAgICAgICAgICAgb3JkZXI6IDY7IH1cXG4gIC5vcmRlci1sZy03IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogODtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA3O1xcbiAgICAgICAgICAgIG9yZGVyOiA3OyB9XFxuICAub3JkZXItbGctOCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDk7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogODtcXG4gICAgICAgICAgICBvcmRlcjogODsgfVxcbiAgLm9yZGVyLWxnLTkge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMDtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA5O1xcbiAgICAgICAgICAgIG9yZGVyOiA5OyB9XFxuICAub3JkZXItbGctMTAge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMTtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMDtcXG4gICAgICAgICAgICBvcmRlcjogMTA7IH1cXG4gIC5vcmRlci1sZy0xMSB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEyO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDExO1xcbiAgICAgICAgICAgIG9yZGVyOiAxMTsgfVxcbiAgLm9yZGVyLWxnLTEyIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTM7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTI7XFxuICAgICAgICAgICAgb3JkZXI6IDEyOyB9XFxuICAub2Zmc2V0LWxnLTAge1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgLm9mZnNldC1sZy0xIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XFxuICAub2Zmc2V0LWxnLTIge1xcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XFxuICAub2Zmc2V0LWxnLTMge1xcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XFxuICAub2Zmc2V0LWxnLTQge1xcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XFxuICAub2Zmc2V0LWxnLTUge1xcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XFxuICAub2Zmc2V0LWxnLTYge1xcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XFxuICAub2Zmc2V0LWxnLTcge1xcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XFxuICAub2Zmc2V0LWxnLTgge1xcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XFxuICAub2Zmc2V0LWxnLTkge1xcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XFxuICAub2Zmc2V0LWxnLTEwIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxcbiAgLm9mZnNldC1sZy0xMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcXG4gIC5jb2wteGwge1xcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDtcXG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XFxuICAgIG1heC13aWR0aDogMTAwJTsgfVxcbiAgLmNvbC14bC1hdXRvIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcXG4gICAgd2lkdGg6IGF1dG87XFxuICAgIG1heC13aWR0aDogbm9uZTsgfVxcbiAgLmNvbC14bC0xIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDguMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XFxuICAuY29sLXhsLTIge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cXG4gIC5jb2wteGwtMyB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDI1JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxcbiAgLmNvbC14bC00IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XFxuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XFxuICAuY29sLXhsLTUge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cXG4gIC5jb2wteGwtNiB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxcbiAgLmNvbC14bC03IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XFxuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XFxuICAuY29sLXhsLTgge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cXG4gIC5jb2wteGwtOSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDc1JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNzUlO1xcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxcbiAgLmNvbC14bC0xMCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxcbiAgLmNvbC14bC0xMSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY3JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxcbiAgLmNvbC14bC0xMiB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDEwMCU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XFxuICAgIG1heC13aWR0aDogMTAwJTsgfVxcbiAgLm9yZGVyLXhsLWZpcnN0IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMDtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcXG4gICAgICAgICAgICBvcmRlcjogLTE7IH1cXG4gIC5vcmRlci14bC1sYXN0IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTQ7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTM7XFxuICAgICAgICAgICAgb3JkZXI6IDEzOyB9XFxuICAub3JkZXIteGwtMCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDE7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMDtcXG4gICAgICAgICAgICBvcmRlcjogMDsgfVxcbiAgLm9yZGVyLXhsLTEge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDE7XFxuICAgICAgICAgICAgb3JkZXI6IDE7IH1cXG4gIC5vcmRlci14bC0yIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMztcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAyO1xcbiAgICAgICAgICAgIG9yZGVyOiAyOyB9XFxuICAub3JkZXIteGwtMyB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDQ7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMztcXG4gICAgICAgICAgICBvcmRlcjogMzsgfVxcbiAgLm9yZGVyLXhsLTQge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA1O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDQ7XFxuICAgICAgICAgICAgb3JkZXI6IDQ7IH1cXG4gIC5vcmRlci14bC01IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNjtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA1O1xcbiAgICAgICAgICAgIG9yZGVyOiA1OyB9XFxuICAub3JkZXIteGwtNiB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDc7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogNjtcXG4gICAgICAgICAgICBvcmRlcjogNjsgfVxcbiAgLm9yZGVyLXhsLTcge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA4O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDc7XFxuICAgICAgICAgICAgb3JkZXI6IDc7IH1cXG4gIC5vcmRlci14bC04IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogOTtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA4O1xcbiAgICAgICAgICAgIG9yZGVyOiA4OyB9XFxuICAub3JkZXIteGwtOSB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEwO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDk7XFxuICAgICAgICAgICAgb3JkZXI6IDk7IH1cXG4gIC5vcmRlci14bC0xMCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDExO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEwO1xcbiAgICAgICAgICAgIG9yZGVyOiAxMDsgfVxcbiAgLm9yZGVyLXhsLTExIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTI7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTE7XFxuICAgICAgICAgICAgb3JkZXI6IDExOyB9XFxuICAub3JkZXIteGwtMTIge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMztcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMjtcXG4gICAgICAgICAgICBvcmRlcjogMTI7IH1cXG4gIC5vZmZzZXQteGwtMCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAub2Zmc2V0LXhsLTEge1xcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cXG4gIC5vZmZzZXQteGwtMiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cXG4gIC5vZmZzZXQteGwtMyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cXG4gIC5vZmZzZXQteGwtNCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cXG4gIC5vZmZzZXQteGwtNSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cXG4gIC5vZmZzZXQteGwtNiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cXG4gIC5vZmZzZXQteGwtNyB7XFxuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cXG4gIC5vZmZzZXQteGwtOCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cXG4gIC5vZmZzZXQteGwtOSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cXG4gIC5vZmZzZXQteGwtMTAge1xcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XFxuICAub2Zmc2V0LXhsLTExIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XFxuLnRhYmxlIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuLnRhYmxlIHRoLCAudGFibGUgdGQge1xcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RlZTJlNjsgfVxcbi50YWJsZSB0aGVhZCB0aCB7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGVlMmU2OyB9XFxuLnRhYmxlIHRib2R5ICsgdGJvZHkge1xcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2RlZTJlNjsgfVxcbi50YWJsZSAudGFibGUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XFxuLnRhYmxlLXNtIHRoLCAudGFibGUtc20gdGQge1xcbiAgcGFkZGluZzogMC4zcmVtOyB9XFxuLnRhYmxlLWJvcmRlcmVkIHtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7IH1cXG4udGFibGUtYm9yZGVyZWQgdGgsIC50YWJsZS1ib3JkZXJlZCB0ZCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7IH1cXG4udGFibGUtYm9yZGVyZWQgdGhlYWQgdGgsIC50YWJsZS1ib3JkZXJlZCB0aGVhZCB0ZCB7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDsgfVxcbi50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxcbi50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxcbi50YWJsZS1wcmltYXJ5LCAudGFibGUtcHJpbWFyeSA+IHRoLCAudGFibGUtcHJpbWFyeSA+IHRkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGRhZmY7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlmY2RmZjsgfVxcbi50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciA+IHRkLCAudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIgPiB0aCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmY7IH1cXG4udGFibGUtc2Vjb25kYXJ5LCAudGFibGUtc2Vjb25kYXJ5ID4gdGgsIC50YWJsZS1zZWNvbmRhcnkgPiB0ZCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGRiOyB9XFxuLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjsgfVxcbi50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyID4gdGQsIC50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyID4gdGgge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjYmNmOyB9XFxuLnRhYmxlLXN1Y2Nlc3MsIC50YWJsZS1zdWNjZXNzID4gdGgsIC50YWJsZS1zdWNjZXNzID4gdGQge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MzZTZjYjsgfVxcbi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFkZmJiOyB9XFxuLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyID4gdGQsIC50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciA+IHRoIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IxZGZiYjsgfVxcbi50YWJsZS1pbmZvLCAudGFibGUtaW5mbyA+IHRoLCAudGFibGUtaW5mbyA+IHRkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNiZWU1ZWI7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTsgfVxcbi50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciA+IHRkLCAudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0aCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYmRkZTU7IH1cXG4udGFibGUtd2FybmluZywgLnRhYmxlLXdhcm5pbmcgPiB0aCwgLnRhYmxlLXdhcm5pbmcgPiB0ZCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZWJhOyB9XFxuLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmU4YTE7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0ZCwgLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyID4gdGgge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGExOyB9XFxuLnRhYmxlLWRhbmdlciwgLnRhYmxlLWRhbmdlciA+IHRoLCAudGFibGUtZGFuZ2VyID4gdGQge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1YzZjYjsgfVxcbi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWIwYjc7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciA+IHRkLCAudGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciA+IHRoIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxYjBiNzsgfVxcbi50YWJsZS1saWdodCwgLnRhYmxlLWxpZ2h0ID4gdGgsIC50YWJsZS1saWdodCA+IHRkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmU7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyID4gdGQsIC50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIgPiB0aCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7IH1cXG4udGFibGUtZGFyaywgLnRhYmxlLWRhcmsgPiB0aCwgLnRhYmxlLWRhcmsgPiB0ZCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjOGNhOyB9XFxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWJiYmU7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgPiB0ZCwgLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyID4gdGgge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliYmJlOyB9XFxuLnRhYmxlLWFjdGl2ZSwgLnRhYmxlLWFjdGl2ZSA+IHRoLCAudGFibGUtYWN0aXZlID4gdGQge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxcbi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGQsIC50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGgge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxcbi50YWJsZSAudGhlYWQtZGFyayB0aCB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7XFxuICBib3JkZXItY29sb3I6ICMzMjM4M2U7IH1cXG4udGFibGUgLnRoZWFkLWxpZ2h0IHRoIHtcXG4gIGNvbG9yOiAjNDk1MDU3O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcXG4gIGJvcmRlci1jb2xvcjogI2RlZTJlNjsgfVxcbi50YWJsZS1kYXJrIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOTsgfVxcbi50YWJsZS1kYXJrIHRoLCAudGFibGUtZGFyayB0ZCwgLnRhYmxlLWRhcmsgdGhlYWQgdGgge1xcbiAgICBib3JkZXItY29sb3I6ICMzMjM4M2U7IH1cXG4udGFibGUtZGFyay50YWJsZS1ib3JkZXJlZCB7XFxuICAgIGJvcmRlcjogMDsgfVxcbi50YWJsZS1kYXJrLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7IH1cXG4udGFibGUtZGFyay50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNzUpOyB9XFxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XFxuICAudGFibGUtcmVzcG9uc2l2ZS1zbSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgb3ZlcmZsb3cteDogYXV0bztcXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxcbiAgICAudGFibGUtcmVzcG9uc2l2ZS1zbSA+IC50YWJsZS1ib3JkZXJlZCB7XFxuICAgICAgYm9yZGVyOiAwOyB9IH1cXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcXG4gIC50YWJsZS1yZXNwb25zaXZlLW1kIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XFxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XFxuICAgIC50YWJsZS1yZXNwb25zaXZlLW1kID4gLnRhYmxlLWJvcmRlcmVkIHtcXG4gICAgICBib3JkZXI6IDA7IH0gfVxcbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xcbiAgLnRhYmxlLXJlc3BvbnNpdmUtbGcge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG92ZXJmbG93LXg6IGF1dG87XFxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cXG4gICAgLnRhYmxlLXJlc3BvbnNpdmUtbGcgPiAudGFibGUtYm9yZGVyZWQge1xcbiAgICAgIGJvcmRlcjogMDsgfSB9XFxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xcbiAgLnRhYmxlLXJlc3BvbnNpdmUteGwge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG92ZXJmbG93LXg6IGF1dG87XFxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cXG4gICAgLnRhYmxlLXJlc3BvbnNpdmUteGwgPiAudGFibGUtYm9yZGVyZWQge1xcbiAgICAgIGJvcmRlcjogMDsgfSB9XFxuLnRhYmxlLXJlc3BvbnNpdmUge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG4gIG92ZXJmbG93LXg6IGF1dG87XFxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxcbi50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcXG4gICAgYm9yZGVyOiAwOyB9XFxuLmZvcm0tY29udHJvbCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcXG4gIGZvbnQtc2l6ZTogMXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICBjb2xvcjogIzQ5NTA1NztcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgLXdlYmtpdC1ib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XFxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XFxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDsgfVxcbi5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwOyB9XFxuLmZvcm0tY29udHJvbDpmb2N1cyB7XFxuICAgIGNvbG9yOiAjNDk1MDU3O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXItY29sb3I6ICM4MGJkZmY7XFxuICAgIG91dGxpbmU6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTsgfVxcbi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzZjNzU3ZDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbi5mb3JtLWNvbnRyb2w6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM2Yzc1N2Q7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4uZm9ybS1jb250cm9sOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzZjNzU3ZDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbi5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM2Yzc1N2Q7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4uZm9ybS1jb250cm9sOmRpc2FibGVkLCAuZm9ybS1jb250cm9sW3JlYWRvbmx5XSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG5zZWxlY3QuZm9ybS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XFxuICBoZWlnaHQ6IGNhbGMoMi4yNXJlbSArIDJweCk7IH1cXG5zZWxlY3QuZm9ybS1jb250cm9sOmZvY3VzOjotbXMtdmFsdWUge1xcbiAgY29sb3I6ICM0OTUwNTc7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XFxuLmZvcm0tY29udHJvbC1maWxlLCAuZm9ybS1jb250cm9sLXJhbmdlIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG4uY29sLWZvcm0tbGFiZWwge1xcbiAgcGFkZGluZy10b3A6IGNhbGMoMC4zNzVyZW0gKyAxcHgpO1xcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC4zNzVyZW0gKyAxcHgpO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4uY29sLWZvcm0tbGFiZWwtbGcge1xcbiAgcGFkZGluZy10b3A6IGNhbGMoMC41cmVtICsgMXB4KTtcXG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNXJlbSArIDFweCk7XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBsaW5lLWhlaWdodDogMS41OyB9XFxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcXG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMjVyZW0gKyAxcHgpO1xcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC4yNXJlbSArIDFweCk7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwYWRkaW5nLXRvcDogMC4zNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci13aWR0aDogMXB4IDA7IH1cXG4uZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtc20sIC5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbCwgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQuaW5wdXQtZ3JvdXAtdGV4dCwgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1sZywgLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmlucHV0LWdyb3VwLXRleHQsIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmJ0biwgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmJ0biB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIHBhZGRpbmctbGVmdDogMDsgfVxcbi5mb3JtLWNvbnRyb2wtc20sIC5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCwgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLCAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XFxuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtOyB9XFxuc2VsZWN0LmZvcm0tY29udHJvbC1zbTpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1zbSA+IHNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLCAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IHNlbGVjdC5pbnB1dC1ncm91cC10ZXh0Om5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IHNlbGVjdC5pbnB1dC1ncm91cC10ZXh0Om5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiBzZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IHNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHtcXG4gIGhlaWdodDogY2FsYygxLjgxMjVyZW0gKyAycHgpOyB9XFxuLmZvcm0tY29udHJvbC1sZywgLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCwgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCwgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcXG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTsgfVxcbnNlbGVjdC5mb3JtLWNvbnRyb2wtbGc6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLCAuaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3QuZm9ybS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gc2VsZWN0LmJ0bjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiBzZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XFxuICBoZWlnaHQ6IGNhbGMoMi44NzVyZW0gKyAycHgpOyB9XFxuLmZvcm0tZ3JvdXAge1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxcbi5mb3JtLXRleHQge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXJnaW4tdG9wOiAwLjI1cmVtOyB9XFxuLmZvcm0tcm93IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XFxuICBtYXJnaW4tcmlnaHQ6IC01cHg7XFxuICBtYXJnaW4tbGVmdDogLTVweDsgfVxcbi5mb3JtLXJvdyA+IC5jb2wsIC5mb3JtLXJvdyA+IFtjbGFzcyo9XFxcImNvbC1cXFwiXSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cXG4uZm9ybS1jaGVjayB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxcbi5mb3JtLWNoZWNrLWlucHV0IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIG1hcmdpbi10b3A6IDAuM3JlbTtcXG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTsgfVxcbi5mb3JtLWNoZWNrLWlucHV0OmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xcbiAgICBjb2xvcjogIzZjNzU3ZDsgfVxcbi5mb3JtLWNoZWNrLWxhYmVsIHtcXG4gIG1hcmdpbi1ib3R0b206IDA7IH1cXG4uZm9ybS1jaGVjay1pbmxpbmUge1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cXG4uZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xcbiAgICBwb3NpdGlvbjogc3RhdGljO1xcbiAgICBtYXJnaW4tdG9wOiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4udmFsaWQtZmVlZGJhY2sge1xcbiAgZGlzcGxheTogbm9uZTtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcXG4gIGZvbnQtc2l6ZTogODAlO1xcbiAgY29sb3I6ICMyOGE3NDU7IH1cXG4udmFsaWQtdG9vbHRpcCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDEwMCU7XFxuICB6LWluZGV4OiA1O1xcbiAgZGlzcGxheTogbm9uZTtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IC41cmVtO1xcbiAgbWFyZ2luLXRvcDogLjFyZW07XFxuICBmb250LXNpemU6IC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMTtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgMTY3LCA2OSwgMC44KTtcXG4gIGJvcmRlci1yYWRpdXM6IC4ycmVtOyB9XFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCwgLmZvcm0tY29udHJvbC5pcy12YWxpZCwgLndhcy12YWxpZGF0ZWRcXG4uY3VzdG9tLXNlbGVjdDp2YWxpZCwgLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQge1xcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1OyB9XFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZDpmb2N1cywgLmZvcm0tY29udHJvbC5pcy12YWxpZDpmb2N1cywgLndhcy12YWxpZGF0ZWRcXG4gIC5jdXN0b20tc2VsZWN0OnZhbGlkOmZvY3VzLCAuY3VzdG9tLXNlbGVjdC5pcy12YWxpZDpmb2N1cyB7XFxuICAgIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuMjUpOyB9XFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCB+IC52YWxpZC1mZWVkYmFjaywgLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC53YXMtdmFsaWRhdGVkXFxuICAuY3VzdG9tLXNlbGVjdDp2YWxpZCB+IC52YWxpZC1mZWVkYmFjaywgLndhcy12YWxpZGF0ZWRcXG4gIC5jdXN0b20tc2VsZWN0OnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tc2VsZWN0LmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLCAuY3VzdG9tLXNlbGVjdC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcXG4gICAgZGlzcGxheTogYmxvY2s7IH1cXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsLCAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcXG4gIGNvbG9yOiAjMjhhNzQ1OyB9XFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssIC53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLCAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcXG4gIGRpc3BsYXk6IGJsb2NrOyB9XFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xcbiAgY29sb3I6ICMyOGE3NDU7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzFkZDhhOyB9XFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLCAud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQgfiAudmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0Y2U1NzsgfVxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7XFxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XFxuICBib3JkZXItY29sb3I6ICMyOGE3NDU7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUge1xcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssIC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcXG4gIGRpc3BsYXk6IGJsb2NrOyB9XFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7XFxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjI1KTsgfVxcbi5pbnZhbGlkLWZlZWRiYWNrIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxuICB3aWR0aDogMTAwJTtcXG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XFxuICBmb250LXNpemU6IDgwJTtcXG4gIGNvbG9yOiAjZGMzNTQ1OyB9XFxuLmludmFsaWQtdG9vbHRpcCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDEwMCU7XFxuICB6LWluZGV4OiA1O1xcbiAgZGlzcGxheTogbm9uZTtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IC41cmVtO1xcbiAgbWFyZ2luLXRvcDogLjFyZW07XFxuICBmb250LXNpemU6IC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMTtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDUzLCA2OSwgMC44KTtcXG4gIGJvcmRlci1yYWRpdXM6IC4ycmVtOyB9XFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQsIC53YXMtdmFsaWRhdGVkXFxuLmN1c3RvbS1zZWxlY3Q6aW52YWxpZCwgLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZCB7XFxuICBib3JkZXItY29sb3I6ICNkYzM1NDU7IH1cXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQ6Zm9jdXMsIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZDpmb2N1cywgLndhcy12YWxpZGF0ZWRcXG4gIC5jdXN0b20tc2VsZWN0OmludmFsaWQ6Zm9jdXMsIC5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQ6Zm9jdXMge1xcbiAgICBib3JkZXItY29sb3I6ICNkYzM1NDU7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjI1KTsgfVxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLCAud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLndhcy12YWxpZGF0ZWRcXG4gIC5jdXN0b20tc2VsZWN0OmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywgLndhcy12YWxpZGF0ZWRcXG4gIC5jdXN0b20tc2VsZWN0OmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAuY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssIC5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHtcXG4gICAgZGlzcGxheTogYmxvY2s7IH1cXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwsIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XFxuICBjb2xvcjogI2RjMzU0NTsgfVxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywgLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAsIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xcbiAgY29sb3I6ICNkYzM1NDU7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmYTJhOTsgfVxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssIC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHtcXG4gIGRpc3BsYXk6IGJsb2NrOyB9XFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0NjA2ZDsgfVxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpO1xcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpOyB9XFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcXG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTsgfVxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUge1xcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLCAud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XFxuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjI1KTtcXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpOyB9XFxuLmZvcm0taW5saW5lIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XFxuICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4uZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xcbiAgICB3aWR0aDogMTAwJTsgfVxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgICAuZm9ybS1pbmxpbmUgbGFiZWwge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAgIC5mb3JtLWlubGluZSAuZm9ybS1ncm91cCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87XFxuICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcXG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xcbiAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAgIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sIHtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgICAgd2lkdGg6IGF1dG87XFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxcbiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIHtcXG4gICAgICB3aWR0aDogYXV0bzsgfVxcbiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgICB3aWR0aDogYXV0bztcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cXG4gICAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgbWFyZ2luLXRvcDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbCB7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgICAuZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cXG4uYnRuIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XFxuICBmb250LXNpemU6IDFyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgLXdlYmtpdC1ib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgLXdlYmtpdC1ib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcXG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDsgfVxcbi5idG46aG92ZXIsIC5idG46Zm9jdXMge1xcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cXG4uYnRuOmZvY3VzLCAuYnRuLmZvY3VzIHtcXG4gICAgb3V0bGluZTogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpOyB9XFxuLmJ0bi5kaXNhYmxlZCwgLmJ0bjpkaXNhYmxlZCB7XFxuICAgIG9wYWNpdHk6IDAuNjU7IH1cXG4uYnRuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxcbmEuYnRuLmRpc2FibGVkLCBmaWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbi5idG4tcHJpbWFyeSB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XFxuICBib3JkZXItY29sb3I6ICMwMDdiZmY7IH1cXG4uYnRuLXByaW1hcnk6aG92ZXIge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjlkOTtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDA2MmNjOyB9XFxuLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXByaW1hcnkuZm9jdXMge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpOyB9XFxuLmJ0bi1wcmltYXJ5LmRpc2FibGVkLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmOyB9XFxuLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDYyY2M7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwNWNiZjsgfVxcbi5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpOyB9XFxuLmJ0bi1zZWNvbmRhcnkge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xcbiAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkOyB9XFxuLmJ0bi1zZWNvbmRhcnk6aG92ZXIge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVhNjI2ODtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNTQ1YjYyOyB9XFxuLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmZvY3VzIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEwOCwgMTE3LCAxMjUsIDAuNSk7IH1cXG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZCwgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkOyB9XFxuLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDViNjI7XFxuICAgIGJvcmRlci1jb2xvcjogIzRlNTU1YjsgfVxcbi5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTsgfVxcbi5idG4tc3VjY2VzcyB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XFxuICBib3JkZXItY29sb3I6ICMyOGE3NDU7IH1cXG4uYnRuLXN1Y2Nlc3M6aG92ZXIge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIxODgzODtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMWU3ZTM0OyB9XFxuLmJ0bi1zdWNjZXNzOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuZm9jdXMge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjUpOyB9XFxuLmJ0bi1zdWNjZXNzLmRpc2FibGVkLCAuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1OyB9XFxuLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTdlMzQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzFjNzQzMDsgfVxcbi5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjUpOyB9XFxuLmJ0bi1pbmZvIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODtcXG4gIGJvcmRlci1jb2xvcjogIzE3YTJiODsgfVxcbi5idG4taW5mbzpob3ZlciB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTM4NDk2O1xcbiAgICBib3JkZXItY29sb3I6ICMxMTdhOGI7IH1cXG4uYnRuLWluZm86Zm9jdXMsIC5idG4taW5mby5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIzLCAxNjIsIDE4NCwgMC41KTsgfVxcbi5idG4taW5mby5kaXNhYmxlZCwgLmJ0bi1pbmZvOmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7XFxuICAgIGJvcmRlci1jb2xvcjogIzE3YTJiODsgfVxcbi5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE3YThiO1xcbiAgICBib3JkZXItY29sb3I6ICMxMDcwN2Y7IH1cXG4uYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpOyB9XFxuLmJ0bi13YXJuaW5nIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNztcXG4gIGJvcmRlci1jb2xvcjogI2ZmYzEwNzsgfVxcbi5idG4td2FybmluZzpob3ZlciB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBhODAwO1xcbiAgICBib3JkZXItY29sb3I6ICNkMzllMDA7IH1cXG4uYnRuLXdhcm5pbmc6Zm9jdXMsIC5idG4td2FybmluZy5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7IH1cXG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQsIC5idG4td2FybmluZzpkaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xcbiAgICBib3JkZXItY29sb3I6ICNmZmMxMDc7IH1cXG4uYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUge1xcbiAgICBjb2xvcjogIzIxMjUyOTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzOWUwMDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjYzY5NTAwOyB9XFxuLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7IH1cXG4uYnRuLWRhbmdlciB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XFxuICBib3JkZXItY29sb3I6ICNkYzM1NDU7IH1cXG4uYnRuLWRhbmdlcjpob3ZlciB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzgyMzMzO1xcbiAgICBib3JkZXItY29sb3I6ICNiZDIxMzA7IH1cXG4uYnRuLWRhbmdlcjpmb2N1cywgLmJ0bi1kYW5nZXIuZm9jdXMge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpOyB9XFxuLmJ0bi1kYW5nZXIuZGlzYWJsZWQsIC5idG4tZGFuZ2VyOmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XFxuICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTsgfVxcbi5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwO1xcbiAgICBib3JkZXItY29sb3I6ICNiMjFmMmQ7IH1cXG4uYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuNSk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC41KTsgfVxcbi5idG4tbGlnaHQge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhOyB9XFxuLmJ0bi1saWdodDpob3ZlciB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlNmVhO1xcbiAgICBib3JkZXItY29sb3I6ICNkYWUwZTU7IH1cXG4uYnRuLWxpZ2h0OmZvY3VzLCAuYnRuLWxpZ2h0LmZvY3VzIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7IH1cXG4uYnRuLWxpZ2h0LmRpc2FibGVkLCAuYnRuLWxpZ2h0OmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICMyMTI1Mjk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XFxuICAgIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsgfVxcbi5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZSB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFlMGU1O1xcbiAgICBib3JkZXItY29sb3I6ICNkM2Q5ZGY7IH1cXG4uYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjQ4LCAyNDksIDI1MCwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7IH1cXG4uYnRuLWRhcmsge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xcbiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwOyB9XFxuLmJ0bi1kYXJrOmhvdmVyIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzI3MmI7XFxuICAgIGJvcmRlci1jb2xvcjogIzFkMjEyNDsgfVxcbi5idG4tZGFyazpmb2N1cywgLmJ0bi1kYXJrLmZvY3VzIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7IH1cXG4uYnRuLWRhcmsuZGlzYWJsZWQsIC5idG4tZGFyazpkaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xcbiAgICBib3JkZXItY29sb3I6ICMzNDNhNDA7IH1cXG4uYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tZGFyay5kcm9wZG93bi10b2dnbGUge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFkMjEyNDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMTcxYTFkOyB9XFxuLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xcbiAgY29sb3I6ICMwMDdiZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICBib3JkZXItY29sb3I6ICMwMDdiZmY7IH1cXG4uYnRuLW91dGxpbmUtcHJpbWFyeTpob3ZlciB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7IH1cXG4uYnRuLW91dGxpbmUtcHJpbWFyeTpmb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZm9jdXMge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICMwMDdiZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwN2JmZjsgfVxcbi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XFxuICBjb2xvcjogIzZjNzU3ZDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gIGJvcmRlci1jb2xvcjogIzZjNzU3ZDsgfVxcbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkOyB9XFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpkaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjNmM3NTdkO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xcbiAgICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7IH1cXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEwOCwgMTE3LCAxMjUsIDAuNSk7IH1cXG4uYnRuLW91dGxpbmUtc3VjY2VzcyB7XFxuICBjb2xvcjogIzI4YTc0NTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTsgfVxcbi5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XFxuICAgIGJvcmRlci1jb2xvcjogIzI4YTc0NTsgfVxcbi5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7IH1cXG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWQge1xcbiAgICBjb2xvcjogIzI4YTc0NTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4uYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1OyB9XFxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjUpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7IH1cXG4uYnRuLW91dGxpbmUtaW5mbyB7XFxuICBjb2xvcjogIzE3YTJiODtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gIGJvcmRlci1jb2xvcjogIzE3YTJiODsgfVxcbi5idG4tb3V0bGluZS1pbmZvOmhvdmVyIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7XFxuICAgIGJvcmRlci1jb2xvcjogIzE3YTJiODsgfVxcbi5idG4tb3V0bGluZS1pbmZvOmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mby5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIzLCAxNjIsIDE4NCwgMC41KTsgfVxcbi5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtaW5mbzpkaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjMTdhMmI4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbi5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4O1xcbiAgICBib3JkZXItY29sb3I6ICMxN2EyYjg7IH1cXG4uYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmcge1xcbiAgY29sb3I6ICNmZmMxMDc7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICBib3JkZXItY29sb3I6ICNmZmMxMDc7IH1cXG4uYnRuLW91dGxpbmUtd2FybmluZzpob3ZlciB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xcbiAgICBib3JkZXItY29sb3I6ICNmZmMxMDc7IH1cXG4uYnRuLW91dGxpbmUtd2FybmluZzpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZm9jdXMge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQsIC5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICNmZmMxMDc7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICMyMTI1Mjk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDc7XFxuICAgIGJvcmRlci1jb2xvcjogI2ZmYzEwNzsgfVxcbi5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNTUsIDE5MywgNywgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLWRhbmdlciB7XFxuICBjb2xvcjogI2RjMzU0NTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTsgfVxcbi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1OyB9XFxuLmJ0bi1vdXRsaW5lLWRhbmdlcjpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuNSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuNSk7IH1cXG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICNkYzM1NDU7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XFxuICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTsgfVxcbi5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLWxpZ2h0IHtcXG4gIGNvbG9yOiAjZjhmOWZhO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhOyB9XFxuLmJ0bi1vdXRsaW5lLWxpZ2h0OmhvdmVyIHtcXG4gICAgY29sb3I6ICMyMTI1Mjk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XFxuICAgIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsgfVxcbi5idG4tb3V0bGluZS1saWdodDpmb2N1cywgLmJ0bi1vdXRsaW5lLWxpZ2h0LmZvY3VzIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7IH1cXG4uYnRuLW91dGxpbmUtbGlnaHQuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1saWdodDpkaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjZjhmOWZhO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbi5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZSB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xcbiAgICBib3JkZXItY29sb3I6ICNmOGY5ZmE7IH1cXG4uYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tb3V0bGluZS1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjQ4LCAyNDksIDI1MCwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7IH1cXG4uYnRuLW91dGxpbmUtZGFyayB7XFxuICBjb2xvcjogIzM0M2E0MDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gIGJvcmRlci1jb2xvcjogIzM0M2E0MDsgfVxcbi5idG4tb3V0bGluZS1kYXJrOmhvdmVyIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XFxuICAgIGJvcmRlci1jb2xvcjogIzM0M2E0MDsgfVxcbi5idG4tb3V0bGluZS1kYXJrOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFyay5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTIsIDU4LCA2NCwgMC41KTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLWRhcmsuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1kYXJrOmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICMzNDNhNDA7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XFxuICAgIGJvcmRlci1jb2xvcjogIzM0M2E0MDsgfVxcbi5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tb3V0bGluZS1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTIsIDU4LCA2NCwgMC41KTsgfVxcbi5idG4tbGluayB7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgY29sb3I6ICMwMDdiZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbi5idG4tbGluazpob3ZlciB7XFxuICAgIGNvbG9yOiAjMDA1NmIzO1xcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4uYnRuLWxpbms6Zm9jdXMsIC5idG4tbGluay5mb2N1cyB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxcbi5idG4tbGluazpkaXNhYmxlZCwgLmJ0bi1saW5rLmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICM2Yzc1N2Q7IH1cXG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biB7XFxuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cXG4uYnRuLXNtLCAuYnRuLWdyb3VwLXNtID4gLmJ0biB7XFxuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtOyB9XFxuLmJ0bi1ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHdpZHRoOiAxMDAlOyB9XFxuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cXG5pbnB1dFt0eXBlPVxcXCJzdWJtaXRcXFwiXS5idG4tYmxvY2ssIGlucHV0W3R5cGU9XFxcInJlc2V0XFxcIl0uYnRuLWJsb2NrLCBpbnB1dFt0eXBlPVxcXCJidXR0b25cXFwiXS5idG4tYmxvY2sge1xcbiAgd2lkdGg6IDEwMCU7IH1cXG4uZmFkZSB7XFxuICBvcGFjaXR5OiAwO1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyOyB9XFxuLmZhZGUuc2hvdyB7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4uY29sbGFwc2Uge1xcbiAgZGlzcGxheTogbm9uZTsgfVxcbi5jb2xsYXBzZS5zaG93IHtcXG4gICAgZGlzcGxheTogYmxvY2s7IH1cXG50ci5jb2xsYXBzZS5zaG93IHtcXG4gIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxcbnRib2R5LmNvbGxhcHNlLnNob3cge1xcbiAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9XFxuLmNvbGxhcHNpbmcge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgaGVpZ2h0OiAwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDAuMzVzIGVhc2U7XFxuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgZWFzZTsgfVxcbi5kcm9wdXAsIC5kcm9wZG93biB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4uZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMDtcXG4gIGhlaWdodDogMDtcXG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkO1xcbiAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1ib3R0b206IDA7XFxuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4uZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XFxuICBtYXJnaW4tbGVmdDogMDsgfVxcbi5kcm9wZG93bi1tZW51IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxMDAwO1xcbiAgZGlzcGxheTogbm9uZTtcXG4gIGZsb2F0OiBsZWZ0O1xcbiAgbWluLXdpZHRoOiAxMHJlbTtcXG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xcbiAgbWFyZ2luOiAwLjEyNXJlbSAwIDA7XFxuICBmb250LXNpemU6IDFyZW07XFxuICBjb2xvcjogIzIxMjUyOTtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XFxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxcbi5kcm9wdXAgLmRyb3Bkb3duLW1lbnUge1xcbiAgbWFyZ2luLXRvcDogMDtcXG4gIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtOyB9XFxuLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMDtcXG4gIGhlaWdodDogMDtcXG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIGJvcmRlci10b3A6IDA7XFxuICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQ7XFxuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XFxuLmRyb3ByaWdodCAuZHJvcGRvd24tbWVudSB7XFxuICBtYXJnaW4tdG9wOiAwO1xcbiAgbWFyZ2luLWxlZnQ6IDAuMTI1cmVtOyB9XFxuLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMDtcXG4gIGhlaWdodDogMDtcXG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQ7IH1cXG4uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XFxuLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogMDsgfVxcbi5kcm9wbGVmdCAuZHJvcGRvd24tbWVudSB7XFxuICBtYXJnaW4tdG9wOiAwO1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTsgfVxcbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMDtcXG4gIGhlaWdodDogMDtcXG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XFxuICBjb250ZW50OiBcXFwiXFxcIjsgfVxcbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICBkaXNwbGF5OiBub25lOyB9XFxuLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMDtcXG4gIGhlaWdodDogMDtcXG4gIG1hcmdpbi1yaWdodDogMC4yNTVlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQ7XFxuICBib3JkZXItYm90dG9tOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XFxuICBtYXJnaW4tbGVmdDogMDsgfVxcbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUge1xcbiAgdmVydGljYWwtYWxpZ246IDA7IH1cXG4uZHJvcGRvd24tZGl2aWRlciB7XFxuICBoZWlnaHQ6IDA7XFxuICBtYXJnaW46IDAuNXJlbSAwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTllY2VmOyB9XFxuLmRyb3Bkb3duLWl0ZW0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMS41cmVtO1xcbiAgY2xlYXI6IGJvdGg7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyOiAwOyB9XFxuLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC5kcm9wZG93bi1pdGVtOmZvY3VzIHtcXG4gICAgY29sb3I6ICMxNjE4MWI7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTsgfVxcbi5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsgfVxcbi5kcm9wZG93bi1pdGVtLmRpc2FibGVkLCAuZHJvcGRvd24taXRlbTpkaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjNmM3NTdkO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbi5kcm9wZG93bi1tZW51LnNob3cge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG4uZHJvcGRvd24taGVhZGVyIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcGFkZGluZzogMC41cmVtIDEuNXJlbTtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgY29sb3I6ICM2Yzc1N2Q7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuLmJ0bi1ncm91cCwgLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4uYnRuLWdyb3VwID4gLmJ0biwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87IH1cXG4uYnRuLWdyb3VwID4gLmJ0bjpob3ZlciwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIge1xcbiAgICAgIHotaW5kZXg6IDE7IH1cXG4uYnRuLWdyb3VwID4gLmJ0bjpmb2N1cywgLmJ0bi1ncm91cCA+IC5idG46YWN0aXZlLCAuYnRuLWdyb3VwID4gLmJ0bi5hY3RpdmUsIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmZvY3VzLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjphY3RpdmUsIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLmFjdGl2ZSB7XFxuICAgICAgei1pbmRleDogMTsgfVxcbi5idG4tZ3JvdXAgLmJ0biArIC5idG4sIC5idG4tZ3JvdXAgLmJ0biArIC5idG4tZ3JvdXAsIC5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4sIC5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAsIC5idG4tZ3JvdXAtdmVydGljYWwgLmJ0biArIC5idG4sIC5idG4tZ3JvdXAtdmVydGljYWwgLmJ0biArIC5idG4tZ3JvdXAsIC5idG4tZ3JvdXAtdmVydGljYWwgLmJ0bi1ncm91cCArIC5idG4sIC5idG4tZ3JvdXAtdmVydGljYWwgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xcbiAgICBtYXJnaW4tbGVmdDogLTFweDsgfVxcbi5idG4tdG9vbGJhciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICAgICAgZmxleC13cmFwOiB3cmFwO1xcbiAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbi5idG4tdG9vbGJhciAuaW5wdXQtZ3JvdXAge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbi5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XFxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSwgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XFxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjU2MjVyZW07XFxuICBwYWRkaW5nLWxlZnQ6IDAuNTYyNXJlbTsgfVxcbi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwgLmJ0bi1ncm91cC1zbSA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMzc1cmVtO1xcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTsgfVxcbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLWxnID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcXG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTsgfVxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbi5idG4tZ3JvdXAtdmVydGljYWwgLmJ0biwgLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwIHtcXG4gICAgd2lkdGg6IDEwMCU7IH1cXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biArIC5idG4sIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuICsgLmJ0bi1ncm91cCwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgKyAuYnRuLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XFxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XFxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XFxuLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLCAuYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcXG4gIG1hcmdpbi1ib3R0b206IDA7IH1cXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4gaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSwgLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuIGlucHV0W3R5cGU9XFxcImNoZWNrYm94XFxcIl0sIC5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSwgLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLWdyb3VwID4gLmJ0biBpbnB1dFt0eXBlPVxcXCJjaGVja2JveFxcXCJdIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbi5pbnB1dC1ncm91cCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICAgICAgZmxleC13cmFwOiB3cmFwO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2g7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCwgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICB3aWR0aDogMSU7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOmZvY3VzLCAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdDpmb2N1cywgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlOmZvY3VzIHtcXG4gICAgICB6LWluZGV4OiAzOyB9XFxuLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wsIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuY3VzdG9tLXNlbGVjdCwgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCArIC5jdXN0b20tZmlsZSwgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QgKyAuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5jdXN0b20tc2VsZWN0LCAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5jdXN0b20tZmlsZSwgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmZvcm0tY29udHJvbCwgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmN1c3RvbS1zZWxlY3QsIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSArIC5jdXN0b20tZmlsZSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCksIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLCAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSB7XFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XFxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlIHtcXG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcXG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZSB7XFxuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcXG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XFxuLmlucHV0LWdyb3VwLXByZXBlbmQsIC5pbnB1dC1ncm91cC1hcHBlbmQge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuLCAuaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIHotaW5kZXg6IDI7IH1cXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuICsgLmJ0biwgLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4sIC5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biArIC5idG4sIC5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsIC5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcXG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XFxuICBtYXJnaW4tcmlnaHQ6IC0xcHg7IH1cXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcXG4gIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XFxuLmlucHV0LWdyb3VwLXRleHQge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGZvbnQtc2l6ZTogMXJlbTtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgY29sb3I6ICM0OTUwNTc7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSwgLmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT1cXFwiY2hlY2tib3hcXFwiXSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLCAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biwgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSwgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxcbi5jdXN0b20tY29udHJvbCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcXG4gIHBhZGRpbmctbGVmdDogMS41cmVtOyB9XFxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxcbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB6LWluZGV4OiAtMTtcXG4gIG9wYWNpdHk6IDA7IH1cXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7IH1cXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpOyB9XFxuLmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2Q3ZmY7IH1cXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xcbiAgICBjb2xvcjogIzZjNzU3ZDsgfVxcbi5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOyB9XFxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcXG4gIG1hcmdpbi1ib3R0b206IDA7IH1cXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAwLjI1cmVtO1xcbiAgICBsZWZ0OiAwO1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2lkdGg6IDFyZW07XFxuICAgIGhlaWdodDogMXJlbTtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2OyB9XFxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAwLjI1cmVtO1xcbiAgICBsZWZ0OiAwO1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2lkdGg6IDFyZW07XFxuICAgIGhlaWdodDogMXJlbTtcXG4gICAgY29udGVudDogXFxcIlxcXCI7XFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XFxuICAgIGJhY2tncm91bmQtc2l6ZTogNTAlIDUwJTsgfVxcbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxcbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOyB9XFxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM0UlM0Mvc3ZnJTNFXFxcIik7IH1cXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsgfVxcbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNmZmYnIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVxcXCIpOyB9XFxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7IH1cXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjMsIDI1NSwgMC41KTsgfVxcbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XFxuLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7IH1cXG4uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcXFwiKTsgfVxcbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyMywgMjU1LCAwLjUpOyB9XFxuLmN1c3RvbS1zZWxlY3Qge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGNhbGMoMi4yNXJlbSArIDJweCk7XFxuICBwYWRkaW5nOiAwLjM3NXJlbSAxLjc1cmVtIDAuMzc1cmVtIDAuNzVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgY29sb3I6ICM0OTUwNTc7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM0UlM0NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNFJTNDL3N2ZyUzRVxcXCIpIG5vLXJlcGVhdCByaWdodCAwLjc1cmVtIGNlbnRlcjtcXG4gIGJhY2tncm91bmQtc2l6ZTogOHB4IDEwcHg7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhO1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTsgfVxcbi5jdXN0b20tc2VsZWN0OmZvY3VzIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAjODBiZGZmO1xcbiAgICBvdXRsaW5lOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDVweCByZ2JhKDEyOCwgMTg5LCAyNTUsIDAuNSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNXB4IHJnYmEoMTI4LCAxODksIDI1NSwgMC41KTsgfVxcbi5jdXN0b20tc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xcbiAgICAgIGNvbG9yOiAjNDk1MDU3O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cXG4uY3VzdG9tLXNlbGVjdFttdWx0aXBsZV0sIC5jdXN0b20tc2VsZWN0W3NpemVdOm5vdChbc2l6ZT1cXFwiMVxcXCJdKSB7XFxuICAgIGhlaWdodDogYXV0bztcXG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxcbi5jdXN0b20tc2VsZWN0OmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICM2Yzc1N2Q7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7IH1cXG4uY3VzdG9tLXNlbGVjdDo6LW1zLWV4cGFuZCB7XFxuICAgIG9wYWNpdHk6IDA7IH1cXG4uY3VzdG9tLXNlbGVjdC1zbSB7XFxuICBoZWlnaHQ6IGNhbGMoMS44MTI1cmVtICsgMnB4KTtcXG4gIHBhZGRpbmctdG9wOiAwLjM3NXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbTtcXG4gIGZvbnQtc2l6ZTogNzUlOyB9XFxuLmN1c3RvbS1zZWxlY3QtbGcge1xcbiAgaGVpZ2h0OiBjYWxjKDIuODc1cmVtICsgMnB4KTtcXG4gIHBhZGRpbmctdG9wOiAwLjM3NXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbTtcXG4gIGZvbnQtc2l6ZTogMTI1JTsgfVxcbi5jdXN0b20tZmlsZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KTtcXG4gIG1hcmdpbi1ib3R0b206IDA7IH1cXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgei1pbmRleDogMjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBjYWxjKDIuMjVyZW0gKyAycHgpO1xcbiAgbWFyZ2luOiAwO1xcbiAgb3BhY2l0eTogMDsgfVxcbi5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1jb250cm9sIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAjODBiZGZmO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7IH1cXG4uY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcXG4gICAgICBib3JkZXItY29sb3I6ICM4MGJkZmY7IH1cXG4uY3VzdG9tLWZpbGUtaW5wdXQ6bGFuZyhlbikgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcXG4gICAgY29udGVudDogXFxcIkJyb3dzZVxcXCI7IH1cXG4uY3VzdG9tLWZpbGUtbGFiZWwge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbiAgei1pbmRleDogMTtcXG4gIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KTtcXG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgY29sb3I6ICM0OTUwNTc7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cXG4uY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBib3R0b206IDA7XFxuICAgIHotaW5kZXg6IDM7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICBoZWlnaHQ6IGNhbGMoY2FsYygyLjI1cmVtICsgMnB4KSAtIDFweCAqIDIpO1xcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS41O1xcbiAgICBjb2xvcjogIzQ5NTA1NztcXG4gICAgY29udGVudDogXFxcIkJyb3dzZVxcXCI7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NlZDRkYTtcXG4gICAgYm9yZGVyLXJhZGl1czogMCAwLjI1cmVtIDAuMjVyZW0gMDsgfVxcbi5uYXYge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtbXMtZmxleC13cmFwOiB3cmFwO1xcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcXG4gIHBhZGRpbmctbGVmdDogMDtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxuICBsaXN0LXN0eWxlOiBub25lOyB9XFxuLm5hdi1saW5rIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcGFkZGluZzogMC41cmVtIDFyZW07IH1cXG4ubmF2LWxpbms6aG92ZXIsIC5uYXYtbGluazpmb2N1cyB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxcbi5uYXYtbGluay5kaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjNmM3NTdkOyB9XFxuLm5hdi10YWJzIHtcXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2OyB9XFxuLm5hdi10YWJzIC5uYXYtaXRlbSB7XFxuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7IH1cXG4ubmF2LXRhYnMgLm5hdi1saW5rIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XFxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtOyB9XFxuLm5hdi10YWJzIC5uYXYtbGluazpob3ZlciwgLm5hdi10YWJzIC5uYXYtbGluazpmb2N1cyB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjZTllY2VmICNlOWVjZWYgI2RlZTJlNjsgfVxcbi5uYXYtdGFicyAubmF2LWxpbmsuZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiAjNmM3NTdkO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4ubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSwgLm5hdi10YWJzIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XFxuICAgIGNvbG9yOiAjNDk1MDU3O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXItY29sb3I6ICNkZWUyZTYgI2RlZTJlNiAjZmZmOyB9XFxuLm5hdi10YWJzIC5kcm9wZG93bi1tZW51IHtcXG4gICAgbWFyZ2luLXRvcDogLTFweDtcXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cXG4ubmF2LXBpbGxzIC5uYXYtbGluayB7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XFxuLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLCAubmF2LXBpbGxzIC5zaG93ID4gLm5hdi1saW5rIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsgfVxcbi5uYXYtZmlsbCAubmF2LWl0ZW0ge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuLm5hdi1qdXN0aWZpZWQgLm5hdi1pdGVtIHtcXG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwO1xcbiAgICAgIGZsZXgtYmFzaXM6IDA7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4udGFiLWNvbnRlbnQgPiAudGFiLXBhbmUge1xcbiAgZGlzcGxheTogbm9uZTsgfVxcbi50YWItY29udGVudCA+IC5hY3RpdmUge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG4ubmF2YmFyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtOyB9XFxuLm5hdmJhciA+IC5jb250YWluZXIsIC5uYXZiYXIgPiAuY29udGFpbmVyLWZsdWlkIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cXG4ubmF2YmFyLWJyYW5kIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtO1xcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1icmFuZDpmb2N1cyB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxcbi5uYXZiYXItbmF2IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cXG4ubmF2YmFyLW5hdiAubmF2LWxpbmsge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cXG4ubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XFxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XFxuICAgIGZsb2F0OiBub25lOyB9XFxuLm5hdmJhci10ZXh0IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9XFxuLm5hdmJhci1jb2xsYXBzZSB7XFxuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcXG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcXG4gICAgICAgICAgZmxleC1ncm93OiAxO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuLm5hdmJhci10b2dnbGVyIHtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTtcXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cXG4ubmF2YmFyLXRvZ2dsZXI6aG92ZXIsIC5uYXZiYXItdG9nZ2xlcjpmb2N1cyB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxcbi5uYXZiYXItdG9nZ2xlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHdpZHRoOiAxLjVlbTtcXG4gIGhlaWdodDogMS41ZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcXG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOyB9XFxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XFxuICAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXIsIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1mbHVpZCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAubmF2YmFyLWV4cGFuZC1zbSB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYge1xcbiAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XFxuICAgICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XFxuICAgICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xcbiAgICAgICAgcmlnaHQ6IDA7XFxuICAgICAgICBsZWZ0OiBhdXRvOyB9XFxuICAgICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XFxuICAgIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lciwgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLWZsdWlkIHtcXG4gICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XFxuICAgIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItY29sbGFwc2Uge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87XFxuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cXG4gICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci10b2dnbGVyIHtcXG4gICAgICBkaXNwbGF5OiBub25lOyB9XFxuICAgIC5uYXZiYXItZXhwYW5kLXNtIC5kcm9wdXAgLmRyb3Bkb3duLW1lbnUge1xcbiAgICAgIHRvcDogYXV0bztcXG4gICAgICBib3R0b206IDEwMCU7IH0gfVxcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xcbiAgLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgLm5hdmJhci1leHBhbmQtbWQge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XFxuICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IHtcXG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxcbiAgICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcbiAgICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51LXJpZ2h0IHtcXG4gICAgICAgIHJpZ2h0OiAwO1xcbiAgICAgICAgbGVmdDogYXV0bzsgfVxcbiAgICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXIsIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1mbHVpZCB7XFxuICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLWNvbGxhcHNlIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xcbiAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBhdXRvO1xcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XFxuICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItdG9nZ2xlciB7XFxuICAgICAgZGlzcGxheTogbm9uZTsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC1tZCAuZHJvcHVwIC5kcm9wZG93bi1tZW51IHtcXG4gICAgICB0b3A6IGF1dG87XFxuICAgICAgYm90dG9tOiAxMDAlOyB9IH1cXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcXG4gIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lciwgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLWZsdWlkIHtcXG4gICAgcGFkZGluZy1yaWdodDogMDtcXG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcXG4gIC5uYXZiYXItZXhwYW5kLWxnIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiB7XFxuICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cXG4gICAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG4gICAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodCB7XFxuICAgICAgICByaWdodDogMDtcXG4gICAgICAgIGxlZnQ6IGF1dG87IH1cXG4gICAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cXG4gICAgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cXG4gICAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1jb2xsYXBzZSB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcXG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogYXV0bztcXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bzsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLXRvZ2dsZXIge1xcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gICAgLm5hdmJhci1leHBhbmQtbGcgLmRyb3B1cCAuZHJvcGRvd24tbWVudSB7XFxuICAgICAgdG9wOiBhdXRvO1xcbiAgICAgIGJvdHRvbTogMTAwJTsgfSB9XFxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xcbiAgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcXG4gIC5uYXZiYXItZXhwYW5kLXhsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiB7XFxuICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cXG4gICAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG4gICAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodCB7XFxuICAgICAgICByaWdodDogMDtcXG4gICAgICAgIGxlZnQ6IGF1dG87IH1cXG4gICAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cXG4gICAgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cXG4gICAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1jb2xsYXBzZSB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcXG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogYXV0bztcXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bzsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLXRvZ2dsZXIge1xcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gICAgLm5hdmJhci1leHBhbmQteGwgLmRyb3B1cCAuZHJvcGRvd24tbWVudSB7XFxuICAgICAgdG9wOiBhdXRvO1xcbiAgICAgIGJvdHRvbTogMTAwJTsgfSB9XFxuLm5hdmJhci1leHBhbmQge1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgLW1zLWZsZXgtZmxvdzogcm93IG5vd3JhcDtcXG4gICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xcbiAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lciwgLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLWZsdWlkIHtcXG4gICAgcGFkZGluZy1yaWdodDogMDtcXG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XFxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxcbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodCB7XFxuICAgICAgcmlnaHQ6IDA7XFxuICAgICAgbGVmdDogYXV0bzsgfVxcbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxcbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItY29sbGFwc2Uge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XFxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBhdXRvO1xcbiAgICAgICAgZmxleC1iYXNpczogYXV0bzsgfVxcbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItdG9nZ2xlciB7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4ubmF2YmFyLWV4cGFuZCAuZHJvcHVwIC5kcm9wZG93bi1tZW51IHtcXG4gICAgdG9wOiBhdXRvO1xcbiAgICBib3R0b206IDEwMCU7IH1cXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQge1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmZvY3VzIHtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpOyB9XFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuZGlzYWJsZWQge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuc2hvdyA+IC5uYXYtbGluaywgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLCAubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LCAubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUge1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyIHtcXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyLWljb24ge1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0ncmdiYSgwLCAwLCAwLCAwLjUpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVxcXCIpOyB9XFxuLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQge1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGEge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpOyB9XFxuLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpmb2N1cyB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxcbi5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kIHtcXG4gIGNvbG9yOiAjZmZmOyB9XFxuLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmZvY3VzIHtcXG4gICAgY29sb3I6ICNmZmY7IH1cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcXG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyLCAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzIHtcXG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7IH1cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHtcXG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssIC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLCAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csIC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcXG4gIGNvbG9yOiAjZmZmOyB9XFxuLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlciB7XFxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyLWljb24ge1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0ncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVxcXCIpOyB9XFxuLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCB7XFxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhIHtcXG4gICAgY29sb3I6ICNmZmY7IH1cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGE6aG92ZXIsIC5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpmb2N1cyB7XFxuICAgICAgY29sb3I6ICNmZmY7IH1cXG4uY2FyZCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG1pbi13aWR0aDogMDtcXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XFxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cXG4uY2FyZCA+IGhyIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbi5jYXJkID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XFxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmNhcmQgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmNhcmQtYm9keSB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICBwYWRkaW5nOiAxLjI1cmVtOyB9XFxuLmNhcmQtdGl0bGUge1xcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxcbi5jYXJkLXN1YnRpdGxlIHtcXG4gIG1hcmdpbi10b3A6IC0wLjM3NXJlbTtcXG4gIG1hcmdpbi1ib3R0b206IDA7IH1cXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbi5jYXJkLWxpbms6aG92ZXIge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XFxuLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cXG4uY2FyZC1oZWFkZXIge1xcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7IH1cXG4uY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpIGNhbGMoMC4yNXJlbSAtIDFweCkgMCAwOyB9XFxuLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci10b3A6IDA7IH1cXG4uY2FyZC1mb290ZXIge1xcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzKTtcXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsgfVxcbi5jYXJkLWZvb3RlcjpsYXN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLXJhZGl1czogMCAwIGNhbGMoMC4yNXJlbSAtIDFweCkgY2FsYygwLjI1cmVtIC0gMXB4KTsgfVxcbi5jYXJkLWhlYWRlci10YWJzIHtcXG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogLTAuNzVyZW07XFxuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbi5jYXJkLWhlYWRlci1waWxscyB7XFxuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcXG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cXG4uY2FyZC1pbWctb3ZlcmxheSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICByaWdodDogMDtcXG4gIGJvdHRvbTogMDtcXG4gIGxlZnQ6IDA7XFxuICBwYWRkaW5nOiAxLjI1cmVtOyB9XFxuLmNhcmQtaW1nIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTsgfVxcbi5jYXJkLWltZy10b3Age1xcbiAgd2lkdGg6IDEwMCU7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7IH1cXG4uY2FyZC1pbWctYm90dG9tIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpOyB9XFxuLmNhcmQtZGVjayB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxcbi5jYXJkLWRlY2sgLmNhcmQge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAgIC5jYXJkLWRlY2sge1xcbiAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XFxuICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4OyB9XFxuICAgICAgLmNhcmQtZGVjayAuY2FyZCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IDEgMCAwJTtcXG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDAlO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9IH1cXG4uY2FyZC1ncm91cCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxcbi5jYXJkLWdyb3VwID4gLmNhcmQge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAgIC5jYXJkLWdyb3VwIHtcXG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xcbiAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxcbiAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQge1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogMSAwIDAlO1xcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgMCU7XFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAgICAgICAuY2FyZC1ncm91cCA+IC5jYXJkICsgLmNhcmQge1xcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQ6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cXG4gICAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpmaXJzdC1jaGlsZCAuY2FyZC1pbWctdG9wLCAuY2FyZC1ncm91cCA+IC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWhlYWRlciB7XFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cXG4gICAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpmaXJzdC1jaGlsZCAuY2FyZC1pbWctYm90dG9tLCAuY2FyZC1ncm91cCA+IC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWZvb3RlciB7XFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cXG4gICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQ6bGFzdC1jaGlsZCB7XFxuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XFxuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cXG4gICAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWltZy10b3AsIC5jYXJkLWdyb3VwID4gLmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1oZWFkZXIge1xcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cXG4gICAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWltZy1ib3R0b20sIC5jYXJkLWdyb3VwID4gLmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1mb290ZXIge1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cXG4gICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQ6b25seS1jaGlsZCB7XFxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cXG4gICAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWltZy10b3AsIC5jYXJkLWdyb3VwID4gLmNhcmQ6b25seS1jaGlsZCAuY2FyZC1oZWFkZXIge1xcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07IH1cXG4gICAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWltZy1ib3R0b20sIC5jYXJkLWdyb3VwID4gLmNhcmQ6b25seS1jaGlsZCAuY2FyZC1mb290ZXIge1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07IH1cXG4gICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIHtcXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxcbiAgICAgICAgICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1pbWctdG9wLCAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tLCAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1oZWFkZXIsIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIC5jYXJkLWZvb3RlciB7XFxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XFxuLmNhcmQtY29sdW1ucyAuY2FyZCB7XFxuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAuY2FyZC1jb2x1bW5zIHtcXG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XFxuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAzO1xcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDEuMjVyZW07XFxuICAgICAgICAgICAgY29sdW1uLWdhcDogMS4yNXJlbTsgfVxcbiAgICAuY2FyZC1jb2x1bW5zIC5jYXJkIHtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxcbi5icmVhZGNydW1iIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XFxuICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XFxuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbiAgY29udGVudDogXFxcIi9cXFwiOyB9XFxuLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxcbi5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XFxuLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUge1xcbiAgY29sb3I6ICM2Yzc1N2Q7IH1cXG4ucGFnaW5hdGlvbiB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHBhZGRpbmctbGVmdDogMDtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XFxuLnBhZ2UtbGluayB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICBsaW5lLWhlaWdodDogMS4yNTtcXG4gIGNvbG9yOiAjMDA3YmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7IH1cXG4ucGFnZS1saW5rOmhvdmVyIHtcXG4gICAgY29sb3I6ICMwMDU2YjM7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2OyB9XFxuLnBhZ2UtbGluazpmb2N1cyB7XFxuICAgIHotaW5kZXg6IDI7XFxuICAgIG91dGxpbmU6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTsgfVxcbi5wYWdlLWxpbms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4ucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xcbiAgbWFyZ2luLWxlZnQ6IDA7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTsgfVxcbi5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07IH1cXG4ucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rIHtcXG4gIHotaW5kZXg6IDE7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XFxuICBib3JkZXItY29sb3I6ICMwMDdiZmY7IH1cXG4ucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbmsge1xcbiAgY29sb3I6ICM2Yzc1N2Q7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIGN1cnNvcjogYXV0bztcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBib3JkZXItY29sb3I6ICNkZWUyZTY7IH1cXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcXG4gIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbi5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjNyZW07XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjNyZW07IH1cXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zcmVtO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuM3JlbTsgfVxcbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsge1xcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjJyZW07XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjJyZW07IH1cXG4ucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4ycmVtO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMnJlbTsgfVxcbi5iYWRnZSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwYWRkaW5nOiAwLjI1ZW0gMC40ZW07XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBsaW5lLWhlaWdodDogMTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmJhZGdlOmVtcHR5IHtcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbi5idG4gLmJhZGdlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHRvcDogLTFweDsgfVxcbi5iYWRnZS1waWxsIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuNmVtO1xcbiAgcGFkZGluZy1sZWZ0OiAwLjZlbTtcXG4gIGJvcmRlci1yYWRpdXM6IDEwcmVtOyB9XFxuLmJhZGdlLXByaW1hcnkge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOyB9XFxuLmJhZGdlLXByaW1hcnlbaHJlZl06aG92ZXIsIC5iYWRnZS1wcmltYXJ5W2hyZWZdOmZvY3VzIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjJjYzsgfVxcbi5iYWRnZS1zZWNvbmRhcnkge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkOyB9XFxuLmJhZGdlLXNlY29uZGFyeVtocmVmXTpob3ZlciwgLmJhZGdlLXNlY29uZGFyeVtocmVmXTpmb2N1cyB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDViNjI7IH1cXG4uYmFkZ2Utc3VjY2VzcyB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7IH1cXG4uYmFkZ2Utc3VjY2Vzc1tocmVmXTpob3ZlciwgLmJhZGdlLXN1Y2Nlc3NbaHJlZl06Zm9jdXMge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU3ZTM0OyB9XFxuLmJhZGdlLWluZm8ge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4OyB9XFxuLmJhZGdlLWluZm9baHJlZl06aG92ZXIsIC5iYWRnZS1pbmZvW2hyZWZdOmZvY3VzIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzExN2E4YjsgfVxcbi5iYWRnZS13YXJuaW5nIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNzsgfVxcbi5iYWRnZS13YXJuaW5nW2hyZWZdOmhvdmVyLCAuYmFkZ2Utd2FybmluZ1tocmVmXTpmb2N1cyB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMzllMDA7IH1cXG4uYmFkZ2UtZGFuZ2VyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTsgfVxcbi5iYWRnZS1kYW5nZXJbaHJlZl06aG92ZXIsIC5iYWRnZS1kYW5nZXJbaHJlZl06Zm9jdXMge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwOyB9XFxuLmJhZGdlLWxpZ2h0IHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTsgfVxcbi5iYWRnZS1saWdodFtocmVmXTpob3ZlciwgLmJhZGdlLWxpZ2h0W2hyZWZdOmZvY3VzIHtcXG4gICAgY29sb3I6ICMyMTI1Mjk7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNTsgfVxcbi5iYWRnZS1kYXJrIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDsgfVxcbi5iYWRnZS1kYXJrW2hyZWZdOmhvdmVyLCAuYmFkZ2UtZGFya1tocmVmXTpmb2N1cyB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDIxMjQ7IH1cXG4uanVtYm90cm9uIHtcXG4gIHBhZGRpbmc6IDJyZW0gMXJlbTtcXG4gIG1hcmdpbi1ib3R0b206IDJyZW07XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOyB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAgIC5qdW1ib3Ryb24ge1xcbiAgICAgIHBhZGRpbmc6IDRyZW0gMnJlbTsgfSB9XFxuLmp1bWJvdHJvbi1mbHVpZCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAwO1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxcbi5hbGVydCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmFsZXJ0LWhlYWRpbmcge1xcbiAgY29sb3I6IGluaGVyaXQ7IH1cXG4uYWxlcnQtbGluayB7XFxuICBmb250LXdlaWdodDogNzAwOyB9XFxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDRyZW07IH1cXG4uYWxlcnQtZGlzbWlzc2libGUgLmNsb3NlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XFxuICAgIGNvbG9yOiBpbmhlcml0OyB9XFxuLmFsZXJ0LXByaW1hcnkge1xcbiAgY29sb3I6ICMwMDQwODU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NlNWZmO1xcbiAgYm9yZGVyLWNvbG9yOiAjYjhkYWZmOyB9XFxuLmFsZXJ0LXByaW1hcnkgaHIge1xcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjOWZjZGZmOyB9XFxuLmFsZXJ0LXByaW1hcnkgLmFsZXJ0LWxpbmsge1xcbiAgICBjb2xvcjogIzAwMjc1MjsgfVxcbi5hbGVydC1zZWNvbmRhcnkge1xcbiAgY29sb3I6ICMzODNkNDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlM2U1O1xcbiAgYm9yZGVyLWNvbG9yOiAjZDZkOGRiOyB9XFxuLmFsZXJ0LXNlY29uZGFyeSBociB7XFxuICAgIGJvcmRlci10b3AtY29sb3I6ICNjOGNiY2Y7IH1cXG4uYWxlcnQtc2Vjb25kYXJ5IC5hbGVydC1saW5rIHtcXG4gICAgY29sb3I6ICMyMDIzMjY7IH1cXG4uYWxlcnQtc3VjY2VzcyB7XFxuICBjb2xvcjogIzE1NTcyNDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNGVkZGE7XFxuICBib3JkZXItY29sb3I6ICNjM2U2Y2I7IH1cXG4uYWxlcnQtc3VjY2VzcyBociB7XFxuICAgIGJvcmRlci10b3AtY29sb3I6ICNiMWRmYmI7IH1cXG4uYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGluayB7XFxuICAgIGNvbG9yOiAjMGIyZTEzOyB9XFxuLmFsZXJ0LWluZm8ge1xcbiAgY29sb3I6ICMwYzU0NjA7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFlY2YxO1xcbiAgYm9yZGVyLWNvbG9yOiAjYmVlNWViOyB9XFxuLmFsZXJ0LWluZm8gaHIge1xcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjYWJkZGU1OyB9XFxuLmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmsge1xcbiAgICBjb2xvcjogIzA2MmMzMzsgfVxcbi5hbGVydC13YXJuaW5nIHtcXG4gIGNvbG9yOiAjODU2NDA0O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNjZDtcXG4gIGJvcmRlci1jb2xvcjogI2ZmZWViYTsgfVxcbi5hbGVydC13YXJuaW5nIGhyIHtcXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZThhMTsgfVxcbi5hbGVydC13YXJuaW5nIC5hbGVydC1saW5rIHtcXG4gICAgY29sb3I6ICM1MzNmMDM7IH1cXG4uYWxlcnQtZGFuZ2VyIHtcXG4gIGNvbG9yOiAjNzIxYzI0O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYTtcXG4gIGJvcmRlci1jb2xvcjogI2Y1YzZjYjsgfVxcbi5hbGVydC1kYW5nZXIgaHIge1xcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZjFiMGI3OyB9XFxuLmFsZXJ0LWRhbmdlciAuYWxlcnQtbGluayB7XFxuICAgIGNvbG9yOiAjNDkxMjE3OyB9XFxuLmFsZXJ0LWxpZ2h0IHtcXG4gIGNvbG9yOiAjODE4MTgyO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcXG4gIGJvcmRlci1jb2xvcjogI2ZkZmRmZTsgfVxcbi5hbGVydC1saWdodCBociB7XFxuICAgIGJvcmRlci10b3AtY29sb3I6ICNlY2VjZjY7IH1cXG4uYWxlcnQtbGlnaHQgLmFsZXJ0LWxpbmsge1xcbiAgICBjb2xvcjogIzY4Njg2ODsgfVxcbi5hbGVydC1kYXJrIHtcXG4gIGNvbG9yOiAjMWIxZTIxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkOTtcXG4gIGJvcmRlci1jb2xvcjogI2M2YzhjYTsgfVxcbi5hbGVydC1kYXJrIGhyIHtcXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2I5YmJiZTsgfVxcbi5hbGVydC1kYXJrIC5hbGVydC1saW5rIHtcXG4gICAgY29sb3I6ICMwNDA1MDU7IH1cXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xcbiAgZnJvbSB7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFyZW0gMDsgfVxcbiAgdG8ge1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0gfVxcbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xcbiAgZnJvbSB7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFyZW0gMDsgfVxcbiAgdG8ge1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0gfVxcbi5wcm9ncmVzcyB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGhlaWdodDogMXJlbTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBmb250LXNpemU6IDAuNzVyZW07XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxcbi5wcm9ncmVzcy1iYXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xcbiAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlOyB9XFxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07IH1cXG4ucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAxcyBsaW5lYXIgaW5maW5pdGU7XFxuICAgICAgICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMXMgbGluZWFyIGluZmluaXRlOyB9XFxuLm1lZGlhIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cXG4ubWVkaWEtYm9keSB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxO1xcbiAgICAgICAgICBmbGV4OiAxOyB9XFxuLmxpc3QtZ3JvdXAge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxuICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBjb2xvcjogIzQ5NTA1NztcXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xcbiAgICBjb2xvcjogIzQ5NTA1NztcXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhOyB9XFxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246YWN0aXZlIHtcXG4gICAgY29sb3I6ICMyMTI1Mjk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7IH1cXG4ubGlzdC1ncm91cC1pdGVtIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsgfVxcbi5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTsgfVxcbi5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmxpc3QtZ3JvdXAtaXRlbTpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbTpmb2N1cyB7XFxuICAgIHotaW5kZXg6IDE7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxcbi5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQsIC5saXN0LWdyb3VwLWl0ZW06ZGlzYWJsZWQge1xcbiAgICBjb2xvcjogIzZjNzU3ZDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcXG4gICAgei1pbmRleDogMjtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwN2JmZjsgfVxcbi5saXN0LWdyb3VwLWZsdXNoIC5saXN0LWdyb3VwLWl0ZW0ge1xcbiAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgYm9yZGVyLWxlZnQ6IDA7XFxuICBib3JkZXItcmFkaXVzOiAwOyB9XFxuLmxpc3QtZ3JvdXAtZmx1c2g6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XFxuICBib3JkZXItdG9wOiAwOyB9XFxuLmxpc3QtZ3JvdXAtZmx1c2g6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeSB7XFxuICBjb2xvcjogIzAwNDA4NTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGRhZmY7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xcbiAgICBjb2xvcjogIzAwNDA4NTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzlmY2RmZjsgfVxcbi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0MDg1O1xcbiAgICBib3JkZXItY29sb3I6ICMwMDQwODU7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeSB7XFxuICBjb2xvcjogIzM4M2Q0MTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmQ4ZGI7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcXG4gICAgY29sb3I6ICMzODNkNDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOGNiY2Y7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzZDQxO1xcbiAgICBib3JkZXItY29sb3I6ICMzODNkNDE7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3Mge1xcbiAgY29sb3I6ICMxNTU3MjQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzNlNmNiOyB9XFxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcXG4gICAgY29sb3I6ICMxNTU3MjQ7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMWRmYmI7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1NTcyNDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMTU1NzI0OyB9XFxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIHtcXG4gIGNvbG9yOiAjMGM1NDYwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JlZTVlYjsgfVxcbi5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XFxuICAgIGNvbG9yOiAjMGM1NDYwO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJkZGU1OyB9XFxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYzU0NjA7XFxuICAgIGJvcmRlci1jb2xvcjogIzBjNTQ2MDsgfVxcbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZyB7XFxuICBjb2xvcjogIzg1NjQwNDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVlYmE7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xcbiAgICBjb2xvcjogIzg1NjQwNDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTsgfVxcbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU2NDA0O1xcbiAgICBib3JkZXItY29sb3I6ICM4NTY0MDQ7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWRhbmdlciB7XFxuICBjb2xvcjogIzcyMWMyNDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWM2Y2I7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcXG4gICAgY29sb3I6ICM3MjFjMjQ7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWIwYjc7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzIxYzI0O1xcbiAgICBib3JkZXItY29sb3I6ICM3MjFjMjQ7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWxpZ2h0IHtcXG4gIGNvbG9yOiAjODE4MTgyO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZTsgfVxcbi5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcXG4gICAgY29sb3I6ICM4MTgxODI7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MTgxODI7XFxuICAgIGJvcmRlci1jb2xvcjogIzgxODE4MjsgfVxcbi5saXN0LWdyb3VwLWl0ZW0tZGFyayB7XFxuICBjb2xvcjogIzFiMWUyMTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNjNmM4Y2E7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xcbiAgICBjb2xvcjogIzFiMWUyMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTsgfVxcbi5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxZTIxO1xcbiAgICBib3JkZXItY29sb3I6ICMxYjFlMjE7IH1cXG4uY2xvc2Uge1xcbiAgZmxvYXQ6IHJpZ2h0O1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgbGluZS1oZWlnaHQ6IDE7XFxuICBjb2xvcjogIzAwMDtcXG4gIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7XFxuICBvcGFjaXR5OiAuNTsgfVxcbi5jbG9zZTpob3ZlciwgLmNsb3NlOmZvY3VzIHtcXG4gICAgY29sb3I6ICMwMDA7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgb3BhY2l0eTogLjc1OyB9XFxuLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuYnV0dG9uLmNsb3NlIHtcXG4gIHBhZGRpbmc6IDA7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJvcmRlcjogMDtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxcbi5tb2RhbC1vcGVuIHtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG4ubW9kYWwge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBib3R0b206IDA7XFxuICBsZWZ0OiAwO1xcbiAgei1pbmRleDogMTA1MDtcXG4gIGRpc3BsYXk6IG5vbmU7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgb3V0bGluZTogMDsgfVxcbi5tb2RhbC1vcGVuIC5tb2RhbCB7XFxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcXG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxcbi5tb2RhbC1kaWFsb2cge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgd2lkdGg6IGF1dG87XFxuICBtYXJnaW46IDAuNXJlbTtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcXG4gICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XFxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpOyB9XFxuLm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZyB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gKDAuNXJlbSAqIDIpKTsgfVxcbi5tb2RhbC1jb250ZW50IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwb2ludGVyLWV2ZW50czogYXV0bztcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xcbiAgb3V0bGluZTogMDsgfVxcbi5tb2RhbC1iYWNrZHJvcCB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICByaWdodDogMDtcXG4gIGJvdHRvbTogMDtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxMDQwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxcbi5tb2RhbC1iYWNrZHJvcC5mYWRlIHtcXG4gICAgb3BhY2l0eTogMDsgfVxcbi5tb2RhbC1iYWNrZHJvcC5zaG93IHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuLm1vZGFsLWhlYWRlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICBwYWRkaW5nOiAxcmVtO1xcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOWVjZWY7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjNyZW07XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zcmVtOyB9XFxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xcbiAgICBwYWRkaW5nOiAxcmVtO1xcbiAgICBtYXJnaW46IC0xcmVtIC0xcmVtIC0xcmVtIGF1dG87IH1cXG4ubW9kYWwtdGl0bGUge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4ubW9kYWwtYm9keSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICBwYWRkaW5nOiAxcmVtOyB9XFxuLm1vZGFsLWZvb3RlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICBwYWRkaW5nOiAxcmVtO1xcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOWVjZWY7IH1cXG4ubW9kYWwtZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IC4yNXJlbTsgfVxcbi5tb2RhbC1mb290ZXIgPiA6bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgIG1hcmdpbi1yaWdodDogLjI1cmVtOyB9XFxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogLTk5OTlweDtcXG4gIHdpZHRoOiA1MHB4O1xcbiAgaGVpZ2h0OiA1MHB4O1xcbiAgb3ZlcmZsb3c6IHNjcm9sbDsgfVxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLm1vZGFsLWRpYWxvZyB7XFxuICAgIG1heC13aWR0aDogNTAwcHg7XFxuICAgIG1hcmdpbjogMS43NXJlbSBhdXRvOyB9XFxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcXG4gICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gKDEuNzVyZW0gKiAyKSk7IH1cXG4gIC5tb2RhbC1zbSB7XFxuICAgIG1heC13aWR0aDogMzAwcHg7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xcbiAgLm1vZGFsLWxnIHtcXG4gICAgbWF4LXdpZHRoOiA4MDBweDsgfSB9XFxuLnRvb2x0aXAge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgei1pbmRleDogMTA3MDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCI7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxuICB0ZXh0LWFsaWduOiBzdGFydDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gIHRleHQtc2hhZG93OiBub25lO1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xcbiAgd29yZC1icmVhazogbm9ybWFsO1xcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XFxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xcbiAgbGluZS1icmVhazogYXV0bztcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XFxuICBvcGFjaXR5OiAwOyB9XFxuLnRvb2x0aXAuc2hvdyB7XFxuICAgIG9wYWNpdHk6IDAuOTsgfVxcbi50b29sdGlwIC5hcnJvdyB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIHdpZHRoOiAwLjhyZW07XFxuICAgIGhlaWdodDogMC40cmVtOyB9XFxuLnRvb2x0aXAgLmFycm93OjpiZWZvcmUge1xcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcIjtcXG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cXG4uYnMtdG9vbHRpcC10b3AsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSB7XFxuICBwYWRkaW5nOiAwLjRyZW0gMDsgfVxcbi5icy10b29sdGlwLXRvcCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSAuYXJyb3cge1xcbiAgICBib3R0b206IDA7IH1cXG4uYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSAuYXJyb3c6OmJlZm9yZSB7XFxuICAgICAgdG9wOiAwO1xcbiAgICAgIGJvcmRlci13aWR0aDogMC40cmVtIDAuNHJlbSAwO1xcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDA7IH1cXG4uYnMtdG9vbHRpcC1yaWdodCwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0ge1xcbiAgcGFkZGluZzogMCAwLjRyZW07IH1cXG4uYnMtdG9vbHRpcC1yaWdodCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdIC5hcnJvdyB7XFxuICAgIGxlZnQ6IDA7XFxuICAgIHdpZHRoOiAwLjRyZW07XFxuICAgIGhlaWdodDogMC44cmVtOyB9XFxuLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gICAgICByaWdodDogMDtcXG4gICAgICBib3JkZXItd2lkdGg6IDAuNHJlbSAwLjRyZW0gMC40cmVtIDA7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMDAwOyB9XFxuLmJzLXRvb2x0aXAtYm90dG9tLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0ge1xcbiAgcGFkZGluZzogMC40cmVtIDA7IH1cXG4uYnMtdG9vbHRpcC1ib3R0b20gLmFycm93LCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93IHtcXG4gICAgdG9wOiAwOyB9XFxuLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgICAgIGJvdHRvbTogMDtcXG4gICAgICBib3JkZXItd2lkdGg6IDAgMC40cmVtIDAuNHJlbTtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwOyB9XFxuLmJzLXRvb2x0aXAtbGVmdCwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSB7XFxuICBwYWRkaW5nOiAwIDAuNHJlbTsgfVxcbi5icy10b29sdGlwLWxlZnQgLmFycm93LCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdIC5hcnJvdyB7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICB3aWR0aDogMC40cmVtO1xcbiAgICBoZWlnaHQ6IDAuOHJlbTsgfVxcbi5icy10b29sdGlwLWxlZnQgLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgICAgIGxlZnQ6IDA7XFxuICAgICAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMCAwLjRyZW0gMC40cmVtO1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDAwOyB9XFxuLnRvb2x0aXAtaW5uZXIge1xcbiAgbWF4LXdpZHRoOiAyMDBweDtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xcbiAgY29sb3I6ICNmZmY7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxcbi5wb3BvdmVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxMDYwO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXgtd2lkdGg6IDI3NnB4O1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCI7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxuICB0ZXh0LWFsaWduOiBzdGFydDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gIHRleHQtc2hhZG93OiBub25lO1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xcbiAgd29yZC1icmVhazogbm9ybWFsO1xcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XFxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xcbiAgbGluZS1icmVhazogYXV0bztcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTsgfVxcbi5wb3BvdmVyIC5hcnJvdyB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIHdpZHRoOiAxcmVtO1xcbiAgICBoZWlnaHQ6IDAuNXJlbTtcXG4gICAgbWFyZ2luOiAwIDAuM3JlbTsgfVxcbi5wb3BvdmVyIC5hcnJvdzo6YmVmb3JlLCAucG9wb3ZlciAuYXJyb3c6OmFmdGVyIHtcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgICAgY29udGVudDogXFxcIlxcXCI7XFxuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XFxuLmJzLXBvcG92ZXItdG9wLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwidG9wXFxcIl0ge1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XFxuLmJzLXBvcG92ZXItdG9wIC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdyB7XFxuICAgIGJvdHRvbTogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTsgfVxcbi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci10b3AgLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdzo6YWZ0ZXIge1xcbiAgICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMDsgfVxcbi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XFxuLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSAuYXJyb3c6OmFmdGVyIHtcXG4gICAgYm90dG9tOiAxcHg7XFxuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7IH1cXG4uYnMtcG9wb3Zlci1yaWdodCwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0ge1xcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxcbi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gLmFycm93IHtcXG4gICAgbGVmdDogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTtcXG4gICAgd2lkdGg6IDAuNXJlbTtcXG4gICAgaGVpZ2h0OiAxcmVtO1xcbiAgICBtYXJnaW46IDAuM3JlbSAwOyB9XFxuLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdIC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1yaWdodCAuYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwicmlnaHRcXFwiXSAuYXJyb3c6OmFmdGVyIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAwOyB9XFxuLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gICAgbGVmdDogMDtcXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XFxuLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gLmFycm93OjphZnRlciB7XFxuICAgIGxlZnQ6IDFweDtcXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmOyB9XFxuLmJzLXBvcG92ZXItYm90dG9tLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0ge1xcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XFxuLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdIC5hcnJvdyB7XFxuICAgIHRvcDogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTsgfVxcbi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdIC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdIC5hcnJvdzo6YWZ0ZXIge1xcbiAgICBib3JkZXItd2lkdGg6IDAgMC41cmVtIDAuNXJlbSAwLjVyZW07IH1cXG4uYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJib3R0b21cXFwiXSAuYXJyb3c6OmJlZm9yZSB7XFxuICAgIHRvcDogMDtcXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxcbi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93OjphZnRlciB7XFxuICAgIHRvcDogMXB4O1xcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmOyB9XFxuLmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRvcDogMDtcXG4gICAgbGVmdDogNTAlO1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2lkdGg6IDFyZW07XFxuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xcbiAgICBjb250ZW50OiBcXFwiXFxcIjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmN2Y3Zjc7IH1cXG4uYnMtcG9wb3Zlci1sZWZ0LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XFxuLmJzLXBvcG92ZXItbGVmdCAuYXJyb3csIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gLmFycm93IHtcXG4gICAgcmlnaHQ6IGNhbGMoKDAuNXJlbSArIDFweCkgKiAtMSk7XFxuICAgIHdpZHRoOiAwLjVyZW07XFxuICAgIGhlaWdodDogMXJlbTtcXG4gICAgbWFyZ2luOiAwLjNyZW0gMDsgfVxcbi5icy1wb3BvdmVyLWxlZnQgLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWxlZnQgLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSAuYXJyb3c6OmFmdGVyIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMCAwLjVyZW0gMC41cmVtOyB9XFxuLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSAuYXJyb3c6OmJlZm9yZSB7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxcbi5icy1wb3BvdmVyLWxlZnQgLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSAuYXJyb3c6OmFmdGVyIHtcXG4gICAgcmlnaHQ6IDFweDtcXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7IH1cXG4ucG9wb3Zlci1oZWFkZXIge1xcbiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKDAuM3JlbSAtIDFweCk7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpOyB9XFxuLnBvcG92ZXItaGVhZGVyOmVtcHR5IHtcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbi5wb3BvdmVyLWJvZHkge1xcbiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XFxuICBjb2xvcjogIzIxMjUyOTsgfVxcbi5jYXJvdXNlbCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4uY2Fyb3VzZWwtaW5uZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuLmNhcm91c2VsLWl0ZW0ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogbm9uZTtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjZzIGVhc2U7XFxuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjZzIGVhc2U7XFxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlO1xcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC42cyBlYXNlO1xcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XFxuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcXG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDBweDtcXG4gICAgICAgICAgcGVyc3BlY3RpdmU6IDEwMDBweDsgfVxcbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSwgLmNhcm91c2VsLWl0ZW0tbmV4dCwgLmNhcm91c2VsLWl0ZW0tcHJldiB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcbi5jYXJvdXNlbC1pdGVtLW5leHQsIC5jYXJvdXNlbC1pdGVtLXByZXYge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwOyB9XFxuLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XFxuQHN1cHBvcnRzICgoLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSBvciAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkpIHtcXG4gICAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XFxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XFxuLmNhcm91c2VsLWl0ZW0tbmV4dCwgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cXG5Ac3VwcG9ydHMgKCgtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIG9yICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSkge1xcbiAgICAuY2Fyb3VzZWwtaXRlbS1uZXh0LCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxcbi5jYXJvdXNlbC1pdGVtLXByZXYsIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxcbkBzdXBwb3J0cyAoKC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkgb3IgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpKSB7XFxuICAgIC5jYXJvdXNlbC1pdGVtLXByZXYsIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH0gfVxcbi5jYXJvdXNlbC1jb250cm9sLXByZXYsIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIHdpZHRoOiAxNSU7XFxuICBjb2xvcjogI2ZmZjtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIG9wYWNpdHk6IDAuNTsgfVxcbi5jYXJvdXNlbC1jb250cm9sLXByZXY6aG92ZXIsIC5jYXJvdXNlbC1jb250cm9sLXByZXY6Zm9jdXMsIC5jYXJvdXNlbC1jb250cm9sLW5leHQ6aG92ZXIsIC5jYXJvdXNlbC1jb250cm9sLW5leHQ6Zm9jdXMge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICBvdXRsaW5lOiAwO1xcbiAgICBvcGFjaXR5OiAuOTsgfVxcbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xcbiAgbGVmdDogMDsgfVxcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xcbiAgcmlnaHQ6IDA7IH1cXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMjBweDtcXG4gIGhlaWdodDogMjBweDtcXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7IH1cXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzRSUzQy9zdmclM0VcXFwiKTsgfVxcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZmZmJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNFJTNDL3N2ZyUzRVxcXCIpOyB9XFxuLmNhcm91c2VsLWluZGljYXRvcnMge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgcmlnaHQ6IDA7XFxuICBib3R0b206IDEwcHg7XFxuICBsZWZ0OiAwO1xcbiAgei1pbmRleDogMTU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgbWFyZ2luLXJpZ2h0OiAxNSU7XFxuICBtYXJnaW4tbGVmdDogMTUlO1xcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxcbi5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xcbiAgICB3aWR0aDogMzBweDtcXG4gICAgaGVpZ2h0OiAzcHg7XFxuICAgIG1hcmdpbi1yaWdodDogM3B4O1xcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaTo6YmVmb3JlIHtcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgdG9wOiAtMTBweDtcXG4gICAgICBsZWZ0OiAwO1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBoZWlnaHQ6IDEwcHg7XFxuICAgICAgY29udGVudDogXFxcIlxcXCI7IH1cXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaTo6YWZ0ZXIge1xcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICBib3R0b206IC0xMHB4O1xcbiAgICAgIGxlZnQ6IDA7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTBweDtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcIjsgfVxcbi5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XFxuLmNhcm91c2VsLWNhcHRpb24ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgcmlnaHQ6IDE1JTtcXG4gIGJvdHRvbTogMjBweDtcXG4gIGxlZnQ6IDE1JTtcXG4gIHotaW5kZXg6IDEwO1xcbiAgcGFkZGluZy10b3A6IDIwcHg7XFxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuLmFsaWduLWJhc2VsaW5lIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XFxuLmFsaWduLXRvcCB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cXG4uYWxpZ24tbWlkZGxlIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1ib3R0b20ge1xcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XFxuLmFsaWduLXRleHQtYm90dG9tIHtcXG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XFxuLmFsaWduLXRleHQtdG9wIHtcXG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XFxuLmJnLXByaW1hcnkge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZiAhaW1wb3J0YW50OyB9XFxuYS5iZy1wcmltYXJ5OmhvdmVyLCBhLmJnLXByaW1hcnk6Zm9jdXMsIGJ1dHRvbi5iZy1wcmltYXJ5OmhvdmVyLCBidXR0b24uYmctcHJpbWFyeTpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MmNjICFpbXBvcnRhbnQ7IH1cXG4uYmctc2Vjb25kYXJ5IHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDsgfVxcbmEuYmctc2Vjb25kYXJ5OmhvdmVyLCBhLmJnLXNlY29uZGFyeTpmb2N1cywgYnV0dG9uLmJnLXNlY29uZGFyeTpob3ZlciwgYnV0dG9uLmJnLXNlY29uZGFyeTpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1YjYyICFpbXBvcnRhbnQ7IH1cXG4uYmctc3VjY2VzcyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1ICFpbXBvcnRhbnQ7IH1cXG5hLmJnLXN1Y2Nlc3M6aG92ZXIsIGEuYmctc3VjY2Vzczpmb2N1cywgYnV0dG9uLmJnLXN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbi5iZy1zdWNjZXNzOmZvY3VzIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTdlMzQgIWltcG9ydGFudDsgfVxcbi5iZy1pbmZvIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjggIWltcG9ydGFudDsgfVxcbmEuYmctaW5mbzpob3ZlciwgYS5iZy1pbmZvOmZvY3VzLCBidXR0b24uYmctaW5mbzpob3ZlciwgYnV0dG9uLmJnLWluZm86Zm9jdXMge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExN2E4YiAhaW1wb3J0YW50OyB9XFxuLmJnLXdhcm5pbmcge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50OyB9XFxuYS5iZy13YXJuaW5nOmhvdmVyLCBhLmJnLXdhcm5pbmc6Zm9jdXMsIGJ1dHRvbi5iZy13YXJuaW5nOmhvdmVyLCBidXR0b24uYmctd2FybmluZzpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDM5ZTAwICFpbXBvcnRhbnQ7IH1cXG4uYmctZGFuZ2VyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDsgfVxcbmEuYmctZGFuZ2VyOmhvdmVyLCBhLmJnLWRhbmdlcjpmb2N1cywgYnV0dG9uLmJnLWRhbmdlcjpob3ZlciwgYnV0dG9uLmJnLWRhbmdlcjpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwICFpbXBvcnRhbnQ7IH1cXG4uYmctbGlnaHQge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50OyB9XFxuYS5iZy1saWdodDpob3ZlciwgYS5iZy1saWdodDpmb2N1cywgYnV0dG9uLmJnLWxpZ2h0OmhvdmVyLCBidXR0b24uYmctbGlnaHQ6Zm9jdXMge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNSAhaW1wb3J0YW50OyB9XFxuLmJnLWRhcmsge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50OyB9XFxuYS5iZy1kYXJrOmhvdmVyLCBhLmJnLWRhcms6Zm9jdXMsIGJ1dHRvbi5iZy1kYXJrOmhvdmVyLCBidXR0b24uYmctZGFyazpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMTI0ICFpbXBvcnRhbnQ7IH1cXG4uYmctd2hpdGUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XFxuLmJnLXRyYW5zcGFyZW50IHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cXG4uYm9yZGVyIHtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDsgfVxcbi5ib3JkZXItdG9wIHtcXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7IH1cXG4uYm9yZGVyLXJpZ2h0IHtcXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDsgfVxcbi5ib3JkZXItYm90dG9tIHtcXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7IH1cXG4uYm9yZGVyLWxlZnQge1xcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7IH1cXG4uYm9yZGVyLTAge1xcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cXG4uYm9yZGVyLXRvcC0wIHtcXG4gIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxcbi5ib3JkZXItcmlnaHQtMCB7XFxuICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxcbi5ib3JkZXItYm90dG9tLTAge1xcbiAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci1sZWZ0LTAge1xcbiAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxcbi5ib3JkZXItcHJpbWFyeSB7XFxuICBib3JkZXItY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDsgfVxcbi5ib3JkZXItc2Vjb25kYXJ5IHtcXG4gIGJvcmRlci1jb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci1zdWNjZXNzIHtcXG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NSAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci1pbmZvIHtcXG4gIGJvcmRlci1jb2xvcjogIzE3YTJiOCAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci13YXJuaW5nIHtcXG4gIGJvcmRlci1jb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci1kYW5nZXIge1xcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7IH1cXG4uYm9yZGVyLWxpZ2h0IHtcXG4gIGJvcmRlci1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci1kYXJrIHtcXG4gIGJvcmRlci1jb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci13aGl0ZSB7XFxuICBib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxcbi5yb3VuZGVkIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbi5yb3VuZGVkLXRvcCB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLnJvdW5kZWQtcmlnaHQge1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4ucm91bmRlZC1ib3R0b20ge1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbi5yb3VuZGVkLWxlZnQge1xcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLnJvdW5kZWQtY2lyY2xlIHtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50OyB9XFxuLnJvdW5kZWQtMCB7XFxuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7IH1cXG4uY2xlYXJmaXg6OmFmdGVyIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgY2xlYXI6IGJvdGg7XFxuICBjb250ZW50OiBcXFwiXFxcIjsgfVxcbi5kLW5vbmUge1xcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XFxuLmQtaW5saW5lIHtcXG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XFxuLmQtaW5saW5lLWJsb2NrIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XFxuLmQtYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxcbi5kLXRhYmxlIHtcXG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cXG4uZC10YWJsZS1yb3cge1xcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cXG4uZC10YWJsZS1jZWxsIHtcXG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxcbi5kLWZsZXgge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cXG4uZC1pbmxpbmUtZmxleCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3ggIWltcG9ydGFudDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLmQtc20tbm9uZSB7XFxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxcbiAgLmQtc20taW5saW5lIHtcXG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXNtLWlubGluZS1ibG9jayB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XFxuICAuZC1zbS1ibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXNtLXRhYmxlIHtcXG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxcbiAgLmQtc20tdGFibGUtcm93IHtcXG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXNtLXRhYmxlLWNlbGwge1xcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXNtLWZsZXgge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXNtLWlubGluZS1mbGV4IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcXG4gIC5kLW1kLW5vbmUge1xcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cXG4gIC5kLW1kLWlubGluZSB7XFxuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XFxuICAuZC1tZC1pbmxpbmUtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxcbiAgLmQtbWQtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XFxuICAuZC1tZC10YWJsZSB7XFxuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cXG4gIC5kLW1kLXRhYmxlLXJvdyB7XFxuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XFxuICAuZC1tZC10YWJsZS1jZWxsIHtcXG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XFxuICAuZC1tZC1mbGV4IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XFxuICAuZC1tZC1pbmxpbmUtZmxleCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAuZC1sZy1ub25lIHtcXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XFxuICAuZC1sZy1pbmxpbmUge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxcbiAgLmQtbGctaW5saW5lLWJsb2NrIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cXG4gIC5kLWxnLWJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxcbiAgLmQtbGctdGFibGUge1xcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XFxuICAuZC1sZy10YWJsZS1yb3cge1xcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxcbiAgLmQtbGctdGFibGUtY2VsbCB7XFxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxcbiAgLmQtbGctZmxleCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxcbiAgLmQtbGctaW5saW5lLWZsZXgge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcXG4gIC5kLXhsLW5vbmUge1xcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXhsLWlubGluZSB7XFxuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XFxuICAuZC14bC1pbmxpbmUtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxcbiAgLmQteGwtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XFxuICAuZC14bC10YWJsZSB7XFxuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXhsLXRhYmxlLXJvdyB7XFxuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XFxuICAuZC14bC10YWJsZS1jZWxsIHtcXG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XFxuICAuZC14bC1mbGV4IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XFxuICAuZC14bC1pbmxpbmUtZmxleCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XFxuQG1lZGlhIHByaW50IHtcXG4gIC5kLXByaW50LW5vbmUge1xcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXByaW50LWlubGluZSB7XFxuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XFxuICAuZC1wcmludC1pbmxpbmUtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxcbiAgLmQtcHJpbnQtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XFxuICAuZC1wcmludC10YWJsZSB7XFxuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXByaW50LXRhYmxlLXJvdyB7XFxuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XFxuICAuZC1wcmludC10YWJsZS1jZWxsIHtcXG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XFxuICAuZC1wcmludC1mbGV4IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XFxuICAuZC1wcmludC1pbmxpbmUtZmxleCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XFxuLmVtYmVkLXJlc3BvbnNpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuLmVtYmVkLXJlc3BvbnNpdmU6OmJlZm9yZSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICBjb250ZW50OiBcXFwiXFxcIjsgfVxcbi5lbWJlZC1yZXNwb25zaXZlIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sIC5lbWJlZC1yZXNwb25zaXZlIGlmcmFtZSwgLmVtYmVkLXJlc3BvbnNpdmUgZW1iZWQsIC5lbWJlZC1yZXNwb25zaXZlIG9iamVjdCwgLmVtYmVkLXJlc3BvbnNpdmUgdmlkZW8ge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRvcDogMDtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBsZWZ0OiAwO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICBib3JkZXI6IDA7IH1cXG4uZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OTo6YmVmb3JlIHtcXG4gIHBhZGRpbmctdG9wOiA0Mi44NTcxNCU7IH1cXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OTo6YmVmb3JlIHtcXG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzOjpiZWZvcmUge1xcbiAgcGFkZGluZy10b3A6IDc1JTsgfVxcbi5lbWJlZC1yZXNwb25zaXZlLTFieTE6OmJlZm9yZSB7XFxuICBwYWRkaW5nLXRvcDogMTAwJTsgfVxcbi5mbGV4LXJvdyB7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWwgIWltcG9ydGFudDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XFxuLmZsZXgtY29sdW1uIHtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XFxuLmZsZXgtcm93LXJldmVyc2Uge1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XFxuLmZsZXgtY29sdW1uLXJldmVyc2Uge1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50O1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxcbi5mbGV4LXdyYXAge1xcbiAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xcbiAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XFxuLmZsZXgtbm93cmFwIHtcXG4gIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cXG4uZmxleC13cmFwLXJldmVyc2Uge1xcbiAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxcbi5qdXN0aWZ5LWNvbnRlbnQtc3RhcnQge1xcbiAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxcbi5qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4uanVzdGlmeS1jb250ZW50LWNlbnRlciB7XFxuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxcbi5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7XFxuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeSAhaW1wb3J0YW50O1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxcbi5qdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIHtcXG4gIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XFxuLmFsaWduLWl0ZW1zLXN0YXJ0IHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuLmFsaWduLWl0ZW1zLWVuZCB7XFxuICAtd2Via2l0LWJveC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1pdGVtcy1jZW50ZXIge1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuLmFsaWduLWl0ZW1zLWJhc2VsaW5lIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1pdGVtcy1zdHJldGNoIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxcbi5hbGlnbi1jb250ZW50LXN0YXJ0IHtcXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cXG4uYWxpZ24tY29udGVudC1lbmQge1xcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XFxuLmFsaWduLWNvbnRlbnQtY2VudGVyIHtcXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4uYWxpZ24tY29udGVudC1iZXR3ZWVuIHtcXG4gIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50O1xcbiAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxcbi5hbGlnbi1jb250ZW50LWFyb3VuZCB7XFxuICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDtcXG4gICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1jb250ZW50LXN0cmV0Y2gge1xcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XFxuLmFsaWduLXNlbGYtYXV0byB7XFxuICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7XFxuICAgICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XFxuLmFsaWduLXNlbGYtc3RhcnQge1xcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cXG4uYWxpZ24tc2VsZi1lbmQge1xcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1zZWxmLWNlbnRlciB7XFxuICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1zZWxmLWJhc2VsaW5lIHtcXG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxuICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLmZsZXgtc20tcm93IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgtc20tY29sdW1uIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50O1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LXNtLXJvdy1yZXZlcnNlIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XFxuICAuZmxleC1zbS1jb2x1bW4tcmV2ZXJzZSB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LXNtLXdyYXAge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgtc20tbm93cmFwIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XFxuICAuZmxleC1zbS13cmFwLXJldmVyc2Uge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tc3RhcnQge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1zbS1lbmQge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1zbS1jZW50ZXIge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tYmV0d2VlbiB7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1zbS1hcm91bmQge1xcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7XFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtc20tc3RhcnQge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1pdGVtcy1zbS1lbmQge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1pdGVtcy1zbS1jZW50ZXIge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtc20tYmFzZWxpbmUge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtc20tc3RyZXRjaCB7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LXNtLXN0YXJ0IHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC1zbS1lbmQge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWNvbnRlbnQtc20tY2VudGVyIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC1zbS1iZXR3ZWVuIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LXNtLWFyb3VuZCB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LXNtLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYtc20tYXV0byB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGF1dG8gIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYtc20tc3RhcnQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tc2VsZi1zbS1lbmQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLXNtLWNlbnRlciB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLXNtLWJhc2VsaW5lIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLXNtLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgLmZsZXgtbWQtcm93IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgtbWQtY29sdW1uIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50O1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LW1kLXJvdy1yZXZlcnNlIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XFxuICAuZmxleC1tZC1jb2x1bW4tcmV2ZXJzZSB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LW1kLXdyYXAge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgtbWQtbm93cmFwIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XFxuICAuZmxleC1tZC13cmFwLXJldmVyc2Uge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtc3RhcnQge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1tZC1lbmQge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1tZC1jZW50ZXIge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYmV0d2VlbiB7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1tZC1hcm91bmQge1xcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7XFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtbWQtc3RhcnQge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1pdGVtcy1tZC1lbmQge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1pdGVtcy1tZC1jZW50ZXIge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtbWQtYmFzZWxpbmUge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtbWQtc3RyZXRjaCB7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LW1kLXN0YXJ0IHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC1tZC1lbmQge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWNvbnRlbnQtbWQtY2VudGVyIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC1tZC1iZXR3ZWVuIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LW1kLWFyb3VuZCB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LW1kLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYtbWQtYXV0byB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGF1dG8gIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYtbWQtc3RhcnQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tc2VsZi1tZC1lbmQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLW1kLWNlbnRlciB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLW1kLWJhc2VsaW5lIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLW1kLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xcbiAgLmZsZXgtbGctcm93IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgtbGctY29sdW1uIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50O1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LWxnLXJvdy1yZXZlcnNlIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XFxuICAuZmxleC1sZy1jb2x1bW4tcmV2ZXJzZSB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LWxnLXdyYXAge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgtbGctbm93cmFwIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XFxuICAuZmxleC1sZy13cmFwLXJldmVyc2Uge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnQge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1sZy1lbmQge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1sZy1jZW50ZXIge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbiB7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1sZy1hcm91bmQge1xcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7XFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtbGctc3RhcnQge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1pdGVtcy1sZy1lbmQge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1pdGVtcy1sZy1jZW50ZXIge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtbGctYmFzZWxpbmUge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtbGctc3RyZXRjaCB7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LWxnLXN0YXJ0IHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC1sZy1lbmQge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWNvbnRlbnQtbGctY2VudGVyIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC1sZy1iZXR3ZWVuIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LWxnLWFyb3VuZCB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LWxnLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYtbGctYXV0byB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGF1dG8gIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYtbGctc3RhcnQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tc2VsZi1sZy1lbmQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLWxnLWNlbnRlciB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLWxnLWJhc2VsaW5lIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLWxnLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcXG4gIC5mbGV4LXhsLXJvdyB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbCAhaW1wb3J0YW50O1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LXhsLWNvbHVtbiB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XFxuICAuZmxleC14bC1yb3ctcmV2ZXJzZSB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbCAhaW1wb3J0YW50O1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgteGwtY29sdW1uLXJldmVyc2Uge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XFxuICAuZmxleC14bC13cmFwIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xcbiAgICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LXhsLW5vd3JhcCB7XFxuICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgteGwtd3JhcC1yZXZlcnNlIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XFxuICAuanVzdGlmeS1jb250ZW50LXhsLXN0YXJ0IHtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtZW5kIHtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtY2VudGVyIHtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuanVzdGlmeS1jb250ZW50LXhsLWJldHdlZW4ge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtYXJvdW5kIHtcXG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50O1xcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWl0ZW1zLXhsLXN0YXJ0IHtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMteGwtZW5kIHtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMteGwtY2VudGVyIHtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWl0ZW1zLXhsLWJhc2VsaW5lIHtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWl0ZW1zLXhsLXN0cmV0Y2gge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC14bC1zdGFydCB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWNvbnRlbnQteGwtZW5kIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LXhsLWNlbnRlciB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWNvbnRlbnQteGwtYmV0d2VlbiB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC14bC1hcm91bmQge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC14bC1zdHJldGNoIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLXhsLWF1dG8ge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLXhsLXN0YXJ0IHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYteGwtZW5kIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tc2VsZi14bC1jZW50ZXIge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tc2VsZi14bC1iYXNlbGluZSB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tc2VsZi14bC1zdHJldGNoIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9IH1cXG4uZmxvYXQtbGVmdCB7XFxuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XFxuLmZsb2F0LXJpZ2h0IHtcXG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XFxuLmZsb2F0LW5vbmUge1xcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLmZsb2F0LXNtLWxlZnQge1xcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XFxuICAuZmxvYXQtc20tcmlnaHQge1xcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxcbiAgLmZsb2F0LXNtLW5vbmUge1xcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcXG4gIC5mbG9hdC1tZC1sZWZ0IHtcXG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxcbiAgLmZsb2F0LW1kLXJpZ2h0IHtcXG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cXG4gIC5mbG9hdC1tZC1ub25lIHtcXG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAuZmxvYXQtbGctbGVmdCB7XFxuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cXG4gIC5mbG9hdC1sZy1yaWdodCB7XFxuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XFxuICAuZmxvYXQtbGctbm9uZSB7XFxuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcXG4gIC5mbG9hdC14bC1sZWZ0IHtcXG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxcbiAgLmZsb2F0LXhsLXJpZ2h0IHtcXG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cXG4gIC5mbG9hdC14bC1ub25lIHtcXG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XFxuLnBvc2l0aW9uLXN0YXRpYyB7XFxuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IH1cXG4ucG9zaXRpb24tcmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IH1cXG4ucG9zaXRpb24tYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cXG4ucG9zaXRpb24tZml4ZWQge1xcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cXG4ucG9zaXRpb24tc3RpY2t5IHtcXG4gIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreSAhaW1wb3J0YW50O1xcbiAgcG9zaXRpb246IHN0aWNreSAhaW1wb3J0YW50OyB9XFxuLmZpeGVkLXRvcCB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICByaWdodDogMDtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxMDMwOyB9XFxuLmZpeGVkLWJvdHRvbSB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICByaWdodDogMDtcXG4gIGJvdHRvbTogMDtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxMDMwOyB9XFxuQHN1cHBvcnRzICgocG9zaXRpb246IC13ZWJraXQtc3RpY2t5KSBvciAocG9zaXRpb246IHN0aWNreSkpIHtcXG4gIC5zdGlja3ktdG9wIHtcXG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xcbiAgICB0b3A6IDA7XFxuICAgIHotaW5kZXg6IDEwMjA7IH0gfVxcbi5zci1vbmx5IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcXG4gICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xcbiAgYm9yZGVyOiAwOyB9XFxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwgLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHtcXG4gIHBvc2l0aW9uOiBzdGF0aWM7XFxuICB3aWR0aDogYXV0bztcXG4gIGhlaWdodDogYXV0bztcXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xcbiAgY2xpcDogYXV0bztcXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XFxuICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZTtcXG4gICAgICAgICAgY2xpcC1wYXRoOiBub25lOyB9XFxuLnctMjUge1xcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9XFxuLnctNTAge1xcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XFxuLnctNzUge1xcbiAgd2lkdGg6IDc1JSAhaW1wb3J0YW50OyB9XFxuLnctMTAwIHtcXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cXG4uaC0yNSB7XFxuICBoZWlnaHQ6IDI1JSAhaW1wb3J0YW50OyB9XFxuLmgtNTAge1xcbiAgaGVpZ2h0OiA1MCUgIWltcG9ydGFudDsgfVxcbi5oLTc1IHtcXG4gIGhlaWdodDogNzUlICFpbXBvcnRhbnQ7IH1cXG4uaC0xMDAge1xcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cXG4ubXctMTAwIHtcXG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XFxuLm1oLTEwMCB7XFxuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XFxuLm10LTAsIC5teS0wIHtcXG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxcbi5tci0wLCAubXgtMCB7XFxuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxcbi5tYi0wLCAubXktMCB7XFxuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cXG4ubWwtMCwgLm14LTAge1xcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxcbi5tLTEge1xcbiAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4ubXQtMSwgLm15LTEge1xcbiAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLm1yLTEsIC5teC0xIHtcXG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLm1iLTEsIC5teS0xIHtcXG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbi5tbC0xLCAubXgtMSB7XFxuICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLm0tMiB7XFxuICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuLm10LTIsIC5teS0yIHtcXG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuLm1yLTIsIC5teC0yIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4ubWItMiwgLm15LTIge1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4ubWwtMiwgLm14LTIge1xcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuLm0tMyB7XFxuICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxcbi5tdC0zLCAubXktMyB7XFxuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4ubXItMywgLm14LTMge1xcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4ubWItMywgLm15LTMge1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XFxuLm1sLTMsIC5teC0zIHtcXG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4ubS00IHtcXG4gIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4ubXQtNCwgLm15LTQge1xcbiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4ubXItNCwgLm14LTQge1xcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbi5tYi00LCAubXktNCB7XFxuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbi5tbC00LCAubXgtNCB7XFxuICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4ubS01IHtcXG4gIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XFxuLm10LTUsIC5teS01IHtcXG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxcbi5tci01LCAubXgtNSB7XFxuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbi5tYi01LCAubXktNSB7XFxuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4ubWwtNSwgLm14LTUge1xcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbi5wLTAge1xcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XFxuLnB0LTAsIC5weS0wIHtcXG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cXG4ucHItMCwgLnB4LTAge1xcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XFxuLnBiLTAsIC5weS0wIHtcXG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cXG4ucGwtMCwgLnB4LTAge1xcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cXG4ucC0xIHtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbi5wdC0xLCAucHktMSB7XFxuICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLnByLTEsIC5weC0xIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbi5wYi0xLCAucHktMSB7XFxuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLnBsLTEsIC5weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLnAtMiB7XFxuICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbi5wdC0yLCAucHktMiB7XFxuICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4ucHItMiwgLnB4LTIge1xcbiAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4ucGItMiwgLnB5LTIge1xcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuLnBsLTIsIC5weC0yIHtcXG4gIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4ucC0zIHtcXG4gIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxcbi5wdC0zLCAucHktMyB7XFxuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XFxuLnByLTMsIC5weC0zIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxcbi5wYi0zLCAucHktMyB7XFxuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XFxuLnBsLTMsIC5weC0zIHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XFxuLnAtNCB7XFxuICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbi5wdC00LCAucHktNCB7XFxuICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4ucHItNCwgLnB4LTQge1xcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4ucGItNCwgLnB5LTQge1xcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuLnBsLTQsIC5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4ucC01IHtcXG4gIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxcbi5wdC01LCAucHktNSB7XFxuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XFxuLnByLTUsIC5weC01IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbi5wYi01LCAucHktNSB7XFxuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XFxuLnBsLTUsIC5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XFxuLm0tYXV0byB7XFxuICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxcbi5tdC1hdXRvLCAubXktYXV0byB7XFxuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4ubXItYXV0bywgLm14LWF1dG8ge1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4ubWItYXV0bywgLm15LWF1dG8ge1xcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XFxuLm1sLWF1dG8sIC5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcXG4gIC5tLXNtLTAge1xcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxcbiAgLm10LXNtLTAsIC5teS1zbS0wIHtcXG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XFxuICAubXItc20tMCwgLm14LXNtLTAge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxcbiAgLm1iLXNtLTAsIC5teS1zbS0wIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XFxuICAubWwtc20tMCwgLm14LXNtLTAge1xcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XFxuICAubS1zbS0xIHtcXG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1zbS0xLCAubXktc20tMSB7XFxuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLXNtLTEsIC5teC1zbS0xIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1zbS0xLCAubXktc20tMSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1sLXNtLTEsIC5teC1zbS0xIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0tc20tMiB7XFxuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1zbS0yLCAubXktc20tMiB7XFxuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXItc20tMiwgLm14LXNtLTIge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWItc20tMiwgLm15LXNtLTIge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1sLXNtLTIsIC5teC1zbS0yIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubS1zbS0zIHtcXG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1zbS0zLCAubXktc20tMyB7XFxuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLXNtLTMsIC5teC1zbS0zIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1zbS0zLCAubXktc20tMyB7XFxuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1sLXNtLTMsIC5teC1zbS0zIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0tc20tNCB7XFxuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1zbS00LCAubXktc20tNCB7XFxuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXItc20tNCwgLm14LXNtLTQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWItc20tNCwgLm15LXNtLTQge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1sLXNtLTQsIC5teC1zbS00IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubS1zbS01IHtcXG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1zbS01LCAubXktc20tNSB7XFxuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLXNtLTUsIC5teC1zbS01IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1zbS01LCAubXktc20tNSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1sLXNtLTUsIC5teC1zbS01IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnAtc20tMCB7XFxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxcbiAgLnB0LXNtLTAsIC5weS1zbS0wIHtcXG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxcbiAgLnByLXNtLTAsIC5weC1zbS0wIHtcXG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XFxuICAucGItc20tMCwgLnB5LXNtLTAge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XFxuICAucGwtc20tMCwgLnB4LXNtLTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxcbiAgLnAtc20tMSB7XFxuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LXNtLTEsIC5weS1zbS0xIHtcXG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLXNtLTEsIC5weC1zbS0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGItc20tMSwgLnB5LXNtLTEge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGwtc20tMSwgLnB4LXNtLTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnAtc20tMiB7XFxuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHQtc20tMiwgLnB5LXNtLTIge1xcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wci1zbS0yLCAucHgtc20tMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGItc20tMiwgLnB5LXNtLTIge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC1zbS0yLCAucHgtc20tMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLXNtLTMge1xcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC1zbS0zLCAucHktc20tMyB7XFxuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wci1zbS0zLCAucHgtc20tMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLXNtLTMsIC5weS1zbS0zIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLXNtLTMsIC5weC1zbS0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLXNtLTQge1xcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LXNtLTQsIC5weS1zbS00IHtcXG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHItc20tNCwgLnB4LXNtLTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLXNtLTQsIC5weS1zbS00IHtcXG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGwtc20tNCwgLnB4LXNtLTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucC1zbS01IHtcXG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucHQtc20tNSwgLnB5LXNtLTUge1xcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucHItc20tNSwgLnB4LXNtLTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi1zbS01LCAucHktc20tNSB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC1zbS01LCAucHgtc20tNSB7XFxuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubS1zbS1hdXRvIHtcXG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1zbS1hdXRvLCAubXktc20tYXV0byB7XFxuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLm1yLXNtLWF1dG8sIC5teC1zbS1hdXRvIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1zbS1hdXRvLCAubXktc20tYXV0byB7XFxuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLm1sLXNtLWF1dG8sIC5teC1zbS1hdXRvIHtcXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICAubS1tZC0wIHtcXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1tZC0wLCAubXktbWQtMCB7XFxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxcbiAgLm1yLW1kLTAsIC5teC1tZC0wIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1tZC0wLCAubXktbWQtMCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxcbiAgLm1sLW1kLTAsIC5teC1tZC0wIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxcbiAgLm0tbWQtMSB7XFxuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQtbWQtMSwgLm15LW1kLTEge1xcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1tZC0xLCAubXgtbWQtMSB7XFxuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWItbWQtMSwgLm15LW1kLTEge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1tZC0xLCAubXgtbWQtMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLW1kLTIge1xcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQtbWQtMiwgLm15LW1kLTIge1xcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLW1kLTIsIC5teC1tZC0yIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLW1kLTIsIC5teS1tZC0yIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1tZC0yLCAubXgtbWQtMiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0tbWQtMyB7XFxuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQtbWQtMywgLm15LW1kLTMge1xcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1tZC0zLCAubXgtbWQtMyB7XFxuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWItbWQtMywgLm15LW1kLTMge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1tZC0zLCAubXgtbWQtMyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLW1kLTQge1xcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQtbWQtNCwgLm15LW1kLTQge1xcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLW1kLTQsIC5teC1tZC00IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLW1kLTQsIC5teS1tZC00IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1tZC00LCAubXgtbWQtNCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0tbWQtNSB7XFxuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubXQtbWQtNSwgLm15LW1kLTUge1xcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1tZC01LCAubXgtbWQtNSB7XFxuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubWItbWQtNSwgLm15LW1kLTUge1xcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1tZC01LCAubXgtbWQtNSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLW1kLTAge1xcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC1tZC0wLCAucHktbWQtMCB7XFxuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wci1tZC0wLCAucHgtbWQtMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxcbiAgLnBiLW1kLTAsIC5weS1tZC0wIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxcbiAgLnBsLW1kLTAsIC5weC1tZC0wIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wLW1kLTEge1xcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC1tZC0xLCAucHktbWQtMSB7XFxuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wci1tZC0xLCAucHgtbWQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLW1kLTEsIC5weS1tZC0xIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLW1kLTEsIC5weC1tZC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLW1kLTIge1xcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LW1kLTIsIC5weS1tZC0yIHtcXG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHItbWQtMiwgLnB4LW1kLTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLW1kLTIsIC5weS1tZC0yIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGwtbWQtMiwgLnB4LW1kLTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucC1tZC0zIHtcXG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHQtbWQtMywgLnB5LW1kLTMge1xcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHItbWQtMywgLnB4LW1kLTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi1tZC0zLCAucHktbWQtMyB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC1tZC0zLCAucHgtbWQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucC1tZC00IHtcXG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC1tZC00LCAucHktbWQtNCB7XFxuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLW1kLTQsIC5weC1tZC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi1tZC00LCAucHktbWQtNCB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLW1kLTQsIC5weC1tZC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnAtbWQtNSB7XFxuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LW1kLTUsIC5weS1tZC01IHtcXG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLW1kLTUsIC5weC1tZC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucGItbWQtNSwgLnB5LW1kLTUge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucGwtbWQtNSwgLnB4LW1kLTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0tbWQtYXV0byB7XFxuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XFxuICAubXQtbWQtYXV0bywgLm15LW1kLWF1dG8ge1xcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1tZC1hdXRvLCAubXgtbWQtYXV0byB7XFxuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XFxuICAubWItbWQtYXV0bywgLm15LW1kLWF1dG8ge1xcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1tZC1hdXRvLCAubXgtbWQtYXV0byB7XFxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xcbiAgLm0tbGctMCB7XFxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XFxuICAubXQtbGctMCwgLm15LWxnLTAge1xcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1sZy0wLCAubXgtbGctMCB7XFxuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XFxuICAubWItbGctMCwgLm15LWxnLTAge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1sZy0wLCAubXgtbGctMCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tLWxnLTEge1xcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm10LWxnLTEsIC5teS1sZy0xIHtcXG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXItbGctMSwgLm14LWxnLTEge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLWxnLTEsIC5teS1sZy0xIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWwtbGctMSwgLm14LWxnLTEge1xcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubS1sZy0yIHtcXG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm10LWxnLTIsIC5teS1sZy0yIHtcXG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1sZy0yLCAubXgtbGctMiB7XFxuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1sZy0yLCAubXktbGctMiB7XFxuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWwtbGctMiwgLm14LWxnLTIge1xcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLWxnLTMge1xcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLm10LWxnLTMsIC5teS1sZy0zIHtcXG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXItbGctMywgLm14LWxnLTMge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLWxnLTMsIC5teS1sZy0zIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWwtbGctMywgLm14LWxnLTMge1xcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubS1sZy00IHtcXG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm10LWxnLTQsIC5teS1sZy00IHtcXG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1sZy00LCAubXgtbGctNCB7XFxuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1sZy00LCAubXktbGctNCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWwtbGctNCwgLm14LWxnLTQge1xcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLWxnLTUge1xcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLm10LWxnLTUsIC5teS1sZy01IHtcXG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubXItbGctNSwgLm14LWxnLTUge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLWxnLTUsIC5teS1sZy01IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubWwtbGctNSwgLm14LWxnLTUge1xcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucC1sZy0wIHtcXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XFxuICAucHQtbGctMCwgLnB5LWxnLTAge1xcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XFxuICAucHItbGctMCwgLnB4LWxnLTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi1sZy0wLCAucHktbGctMCB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC1sZy0wLCAucHgtbGctMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XFxuICAucC1sZy0xIHtcXG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHQtbGctMSwgLnB5LWxnLTEge1xcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHItbGctMSwgLnB4LWxnLTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi1sZy0xLCAucHktbGctMSB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC1sZy0xLCAucHgtbGctMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucC1sZy0yIHtcXG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC1sZy0yLCAucHktbGctMiB7XFxuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLWxnLTIsIC5weC1sZy0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi1sZy0yLCAucHktbGctMiB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLWxnLTIsIC5weC1sZy0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnAtbGctMyB7XFxuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LWxnLTMsIC5weS1sZy0zIHtcXG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLWxnLTMsIC5weC1sZy0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGItbGctMywgLnB5LWxnLTMge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGwtbGctMywgLnB4LWxnLTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLnAtbGctNCB7XFxuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHQtbGctNCwgLnB5LWxnLTQge1xcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wci1sZy00LCAucHgtbGctNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGItbGctNCwgLnB5LWxnLTQge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC1sZy00LCAucHgtbGctNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLWxnLTUge1xcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC1sZy01LCAucHktbGctNSB7XFxuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wci1sZy01LCAucHgtbGctNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLWxnLTUsIC5weS1sZy01IHtcXG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLWxnLTUsIC5weC1sZy01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLWxnLWF1dG8ge1xcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLm10LWxnLWF1dG8sIC5teS1sZy1hdXRvIHtcXG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XFxuICAubXItbGctYXV0bywgLm14LWxnLWF1dG8ge1xcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLm1iLWxnLWF1dG8sIC5teS1sZy1hdXRvIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XFxuICAubWwtbGctYXV0bywgLm14LWxnLWF1dG8ge1xcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XFxuICAubS14bC0wIHtcXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC14bC0wLCAubXkteGwtMCB7XFxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxcbiAgLm1yLXhsLTAsIC5teC14bC0wIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi14bC0wLCAubXkteGwtMCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxcbiAgLm1sLXhsLTAsIC5teC14bC0wIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxcbiAgLm0teGwtMSB7XFxuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQteGwtMSwgLm15LXhsLTEge1xcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci14bC0xLCAubXgteGwtMSB7XFxuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWIteGwtMSwgLm15LXhsLTEge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC14bC0xLCAubXgteGwtMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLXhsLTIge1xcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQteGwtMiwgLm15LXhsLTIge1xcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLXhsLTIsIC5teC14bC0yIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLXhsLTIsIC5teS14bC0yIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC14bC0yLCAubXgteGwtMiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0teGwtMyB7XFxuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQteGwtMywgLm15LXhsLTMge1xcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci14bC0zLCAubXgteGwtMyB7XFxuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWIteGwtMywgLm15LXhsLTMge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC14bC0zLCAubXgteGwtMyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLXhsLTQge1xcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQteGwtNCwgLm15LXhsLTQge1xcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLXhsLTQsIC5teC14bC00IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLXhsLTQsIC5teS14bC00IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC14bC00LCAubXgteGwtNCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0teGwtNSB7XFxuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubXQteGwtNSwgLm15LXhsLTUge1xcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci14bC01LCAubXgteGwtNSB7XFxuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubWIteGwtNSwgLm15LXhsLTUge1xcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC14bC01LCAubXgteGwtNSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLXhsLTAge1xcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC14bC0wLCAucHkteGwtMCB7XFxuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wci14bC0wLCAucHgteGwtMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxcbiAgLnBiLXhsLTAsIC5weS14bC0wIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxcbiAgLnBsLXhsLTAsIC5weC14bC0wIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wLXhsLTEge1xcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC14bC0xLCAucHkteGwtMSB7XFxuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wci14bC0xLCAucHgteGwtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLXhsLTEsIC5weS14bC0xIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLXhsLTEsIC5weC14bC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLXhsLTIge1xcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LXhsLTIsIC5weS14bC0yIHtcXG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHIteGwtMiwgLnB4LXhsLTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLXhsLTIsIC5weS14bC0yIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGwteGwtMiwgLnB4LXhsLTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucC14bC0zIHtcXG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHQteGwtMywgLnB5LXhsLTMge1xcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHIteGwtMywgLnB4LXhsLTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi14bC0zLCAucHkteGwtMyB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC14bC0zLCAucHgteGwtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucC14bC00IHtcXG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC14bC00LCAucHkteGwtNCB7XFxuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLXhsLTQsIC5weC14bC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi14bC00LCAucHkteGwtNCB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLXhsLTQsIC5weC14bC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnAteGwtNSB7XFxuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LXhsLTUsIC5weS14bC01IHtcXG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLXhsLTUsIC5weC14bC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucGIteGwtNSwgLnB5LXhsLTUge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucGwteGwtNSwgLnB4LXhsLTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0teGwtYXV0byB7XFxuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XFxuICAubXQteGwtYXV0bywgLm15LXhsLWF1dG8ge1xcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5tci14bC1hdXRvLCAubXgteGwtYXV0byB7XFxuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XFxuICAubWIteGwtYXV0bywgLm15LXhsLWF1dG8ge1xcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC14bC1hdXRvLCAubXgteGwtYXV0byB7XFxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxcbi50ZXh0LWp1c3RpZnkge1xcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XFxuLnRleHQtbm93cmFwIHtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxcbi50ZXh0LXRydW5jYXRlIHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG4udGV4dC1sZWZ0IHtcXG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxcbi50ZXh0LXJpZ2h0IHtcXG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcXG4gIC50ZXh0LXNtLWxlZnQge1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cXG4gIC50ZXh0LXNtLXJpZ2h0IHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxcbiAgLnRleHQtc20tY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgLnRleHQtbWQtbGVmdCB7XFxuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxcbiAgLnRleHQtbWQtcmlnaHQge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XFxuICAudGV4dC1tZC1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAudGV4dC1sZy1sZWZ0IHtcXG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XFxuICAudGV4dC1sZy1yaWdodCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cXG4gIC50ZXh0LWxnLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XFxuICAudGV4dC14bC1sZWZ0IHtcXG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XFxuICAudGV4dC14bC1yaWdodCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cXG4gIC50ZXh0LXhsLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cXG4udGV4dC1sb3dlcmNhc2Uge1xcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XFxuLnRleHQtdXBwZXJjYXNlIHtcXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxcbi50ZXh0LWNhcGl0YWxpemUge1xcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxcbi5mb250LXdlaWdodC1saWdodCB7XFxuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7IH1cXG4uZm9udC13ZWlnaHQtbm9ybWFsIHtcXG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDsgfVxcbi5mb250LXdlaWdodC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsgfVxcbi5mb250LWl0YWxpYyB7XFxuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxcbi50ZXh0LXdoaXRlIHtcXG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cXG4udGV4dC1wcmltYXJ5IHtcXG4gIGNvbG9yOiAjMDA3YmZmICFpbXBvcnRhbnQ7IH1cXG5hLnRleHQtcHJpbWFyeTpob3ZlciwgYS50ZXh0LXByaW1hcnk6Zm9jdXMge1xcbiAgY29sb3I6ICMwMDYyY2MgIWltcG9ydGFudDsgfVxcbi50ZXh0LXNlY29uZGFyeSB7XFxuICBjb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50OyB9XFxuYS50ZXh0LXNlY29uZGFyeTpob3ZlciwgYS50ZXh0LXNlY29uZGFyeTpmb2N1cyB7XFxuICBjb2xvcjogIzU0NWI2MiAhaW1wb3J0YW50OyB9XFxuLnRleHQtc3VjY2VzcyB7XFxuICBjb2xvcjogIzI4YTc0NSAhaW1wb3J0YW50OyB9XFxuYS50ZXh0LXN1Y2Nlc3M6aG92ZXIsIGEudGV4dC1zdWNjZXNzOmZvY3VzIHtcXG4gIGNvbG9yOiAjMWU3ZTM0ICFpbXBvcnRhbnQ7IH1cXG4udGV4dC1pbmZvIHtcXG4gIGNvbG9yOiAjMTdhMmI4ICFpbXBvcnRhbnQ7IH1cXG5hLnRleHQtaW5mbzpob3ZlciwgYS50ZXh0LWluZm86Zm9jdXMge1xcbiAgY29sb3I6ICMxMTdhOGIgIWltcG9ydGFudDsgfVxcbi50ZXh0LXdhcm5pbmcge1xcbiAgY29sb3I6ICNmZmMxMDcgIWltcG9ydGFudDsgfVxcbmEudGV4dC13YXJuaW5nOmhvdmVyLCBhLnRleHQtd2FybmluZzpmb2N1cyB7XFxuICBjb2xvcjogI2QzOWUwMCAhaW1wb3J0YW50OyB9XFxuLnRleHQtZGFuZ2VyIHtcXG4gIGNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7IH1cXG5hLnRleHQtZGFuZ2VyOmhvdmVyLCBhLnRleHQtZGFuZ2VyOmZvY3VzIHtcXG4gIGNvbG9yOiAjYmQyMTMwICFpbXBvcnRhbnQ7IH1cXG4udGV4dC1saWdodCB7XFxuICBjb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50OyB9XFxuYS50ZXh0LWxpZ2h0OmhvdmVyLCBhLnRleHQtbGlnaHQ6Zm9jdXMge1xcbiAgY29sb3I6ICNkYWUwZTUgIWltcG9ydGFudDsgfVxcbi50ZXh0LWRhcmsge1xcbiAgY29sb3I6ICMzNDNhNDAgIWltcG9ydGFudDsgfVxcbmEudGV4dC1kYXJrOmhvdmVyLCBhLnRleHQtZGFyazpmb2N1cyB7XFxuICBjb2xvcjogIzFkMjEyNCAhaW1wb3J0YW50OyB9XFxuLnRleHQtbXV0ZWQge1xcbiAgY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDsgfVxcbi50ZXh0LWhpZGUge1xcbiAgZm9udDogMC8wIGE7XFxuICBjb2xvcjogdHJhbnNwYXJlbnQ7XFxuICB0ZXh0LXNoYWRvdzogbm9uZTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyOiAwOyB9XFxuLnZpc2libGUge1xcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OyB9XFxuLmludmlzaWJsZSB7XFxuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxcbkBtZWRpYSBwcmludCB7XFxuICAqLCAqOjpiZWZvcmUsICo6OmFmdGVyIHtcXG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XFxuICBhOm5vdCguYnRuKSB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XFxuICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiBcXFwiIChcXFwiIGF0dHIodGl0bGUpIFxcXCIpXFxcIjsgfVxcbiAgcHJlIHtcXG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7IH1cXG4gIHByZSwgYmxvY2txdW90ZSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XFxuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxcbiAgdGhlYWQge1xcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cXG4gIHRyLCBpbWcge1xcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cXG4gIHAsIGgyLCBoMyB7XFxuICAgIG9ycGhhbnM6IDM7XFxuICAgIHdpZG93czogMzsgfVxcbiAgaDIsIGgzIHtcXG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cXG4gIEBwYWdlIHtcXG4gICAgc2l6ZTogYTM7IH1cXG4gIGJvZHkge1xcbiAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQ7IH1cXG4gIC5jb250YWluZXIge1xcbiAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQ7IH1cXG4gIC5uYXZiYXIge1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYmFkZ2Uge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XFxuICAudGFibGUge1xcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7IH1cXG4gICAgLnRhYmxlIHRkLCAudGFibGUgdGgge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxcbiAgLnRhYmxlLWJvcmRlcmVkIHRoLCAudGFibGUtYm9yZGVyZWQgdGQge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7IH0gfVxcbi5hd2Vzb21wbGV0ZSBbaGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lOyB9XFxuLmF3ZXNvbXBsZXRlIC52aXN1YWxseS1oaWRkZW4ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgfVxcbi5hd2Vzb21wbGV0ZSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4uYXdlc29tcGxldGUgPiBpbnB1dCB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxO1xcbiAgbWluLXdpZHRoOiAxMDAlO1xcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XFxuLmF3ZXNvbXBsZXRlID4gdWw6ZW1wdHkge1xcbiAgZGlzcGxheTogbm9uZTsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsIHtcXG4gIGJvcmRlci1yYWRpdXM6IC4zZW07XFxuICBtYXJnaW46IC4yZW0gMCAwO1xcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCBib3R0b20sIGZyb20od2hpdGUpLCB0byhyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkpKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsIHdoaXRlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkpO1xcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwLjA1ZW0gMC4yZW0gMC42ZW0gcmdiYSgwLCAwLCAwLCAwLjIpO1xcbiAgICAgICAgICBib3gtc2hhZG93OiAwLjA1ZW0gMC4yZW0gMC42ZW0gcmdiYSgwLCAwLCAwLCAwLjIpO1xcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cXG5Ac3VwcG9ydHMgKCgtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCkpIG9yICh0cmFuc2Zvcm06IHNjYWxlKDApKSkge1xcbiAgLmF3ZXNvbXBsZXRlID4gdWwge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMC4yLCAwLjUsIDEuNCk7XFxuICAgIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMC4yLCAwLjUsIDEuNCk7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMS40M2VtIC0uNDNlbTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxLjQzZW0gLS40M2VtOyB9XFxuICAuYXdlc29tcGxldGUgPiB1bFtoaWRkZW5dLCAuYXdlc29tcGxldGUgPiB1bDplbXB0eSB7XFxuICAgIG9wYWNpdHk6IDA7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcXG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsgfSB9XFxuLyogUG9pbnRlciAqL1xcbi5hd2Vzb21wbGV0ZSA+IHVsOmJlZm9yZSB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogLS40M2VtO1xcbiAgbGVmdDogMWVtO1xcbiAgd2lkdGg6IDA7XFxuICBoZWlnaHQ6IDA7XFxuICBwYWRkaW5nOiAuNGVtO1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICBib3JkZXI6IGluaGVyaXQ7XFxuICBib3JkZXItcmlnaHQ6IDA7XFxuICBib3JkZXItYm90dG9tOiAwO1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cXG4uYXdlc29tcGxldGUgPiB1bCA+IGxpIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHBhZGRpbmc6IC4yZW0gLjVlbTtcXG4gIGN1cnNvcjogcG9pbnRlcjsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsID4gbGk6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogI2I4ZDNlMDtcXG4gIGNvbG9yOiBibGFjazsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsID4gbGlbYXJpYS1zZWxlY3RlZD1cXFwidHJ1ZVxcXCJdIHtcXG4gIGJhY2tncm91bmQ6ICMzZDZkOGY7XFxuICBjb2xvcjogd2hpdGU7IH1cXG4uYXdlc29tcGxldGUgbWFyayB7XFxuICBiYWNrZ3JvdW5kOiAjZWFmZjAwOyB9XFxuLmF3ZXNvbXBsZXRlIGxpOmhvdmVyIG1hcmsge1xcbiAgYmFja2dyb3VuZDogI2I1ZDEwMDsgfVxcbi5hd2Vzb21wbGV0ZSBsaVthcmlhLXNlbGVjdGVkPVxcXCJ0cnVlXFxcIl0gbWFyayB7XFxuICBiYWNrZ3JvdW5kOiAjM2Q2YjAwO1xcbiAgY29sb3I6IGluaGVyaXQ7IH1cXG5odG1sIHtcXG4gIGZvbnQtc2l6ZTogMTRweDsgfVxcbi5oaWRlIHtcXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxcbi5wYWdlLWVycm9yIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIHBhZGRpbmc6IDIwMHB4IDBweDsgfVxcbi5mb3JtLWJvZHkge1xcbiAgbWF4LXdpZHRoOiA2MDBweDsgfVxcbi5mb3JtLWJvZHkgLmZvcm0tdG9vbGJhciB7XFxuICAgIGhlaWdodDogMnJlbTtcXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxcbi5mb3JtLWJvZHkgLmFsZXJ0IHtcXG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxcbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogYXV0bzsgfVxcbi5hd2Vzb21wbGV0ZSB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsID4gbGkge1xcbiAgcGFkZGluZzogLjc1cmVtIC4zNzVyZW07IH1cXG4uYXdlc29tcGxldGUgPiB1bCA+IGxpOmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6ICNkZWUyZTY7XFxuICBjb2xvcjogIzIxMjUyOTsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsID4gbGlbYXJpYS1zZWxlY3RlZD1cXFwidHJ1ZVxcXCJdIHtcXG4gIGJhY2tncm91bmQ6ICNkZWUyZTY7XFxuICBjb2xvcjogIzIxMjUyOTsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsID4gbGlbYXJpYS1zZWxlY3RlZD1cXFwidHJ1ZVxcXCJdOmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6ICNkZWUyZTY7XFxuICBjb2xvcjogIzIxMjUyOTsgfVxcbm1hcmsge1xcbiAgcGFkZGluZzogbm9uZTtcXG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7IH1cXG4uYXdlc29tcGxldGUgbGlbYXJpYS1zZWxlY3RlZD1cXFwidHJ1ZVxcXCJdIG1hcmssIC5hd2Vzb21wbGV0ZSBsaVthcmlhLXNlbGVjdGVkPVxcXCJmYWxzZVxcXCJdIG1hcmsge1xcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgcGFkZGluZzogMHB4OyB9XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlciEuL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9saWI/e30hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvbGliL2xvYWRlci5qcyEuL3Njc3MvbWFpbi5zY3NzXG4vLyBtb2R1bGUgaWQgPSA2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qXG5cdE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG5cdEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG4vLyBjc3MgYmFzZSBjb2RlLCBpbmplY3RlZCBieSB0aGUgY3NzLWxvYWRlclxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbih1c2VTb3VyY2VNYXApIHtcblx0dmFyIGxpc3QgPSBbXTtcblxuXHQvLyByZXR1cm4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhcyBjc3Mgc3RyaW5nXG5cdGxpc3QudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcblx0XHRyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcblx0XHRcdHZhciBjb250ZW50ID0gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtLCB1c2VTb3VyY2VNYXApO1xuXHRcdFx0aWYoaXRlbVsyXSkge1xuXHRcdFx0XHRyZXR1cm4gXCJAbWVkaWEgXCIgKyBpdGVtWzJdICsgXCJ7XCIgKyBjb250ZW50ICsgXCJ9XCI7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gY29udGVudDtcblx0XHRcdH1cblx0XHR9KS5qb2luKFwiXCIpO1xuXHR9O1xuXG5cdC8vIGltcG9ydCBhIGxpc3Qgb2YgbW9kdWxlcyBpbnRvIHRoZSBsaXN0XG5cdGxpc3QuaSA9IGZ1bmN0aW9uKG1vZHVsZXMsIG1lZGlhUXVlcnkpIHtcblx0XHRpZih0eXBlb2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIilcblx0XHRcdG1vZHVsZXMgPSBbW251bGwsIG1vZHVsZXMsIFwiXCJdXTtcblx0XHR2YXIgYWxyZWFkeUltcG9ydGVkTW9kdWxlcyA9IHt9O1xuXHRcdGZvcih2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgaWQgPSB0aGlzW2ldWzBdO1xuXHRcdFx0aWYodHlwZW9mIGlkID09PSBcIm51bWJlclwiKVxuXHRcdFx0XHRhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2lkXSA9IHRydWU7XG5cdFx0fVxuXHRcdGZvcihpID0gMDsgaSA8IG1vZHVsZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpdGVtID0gbW9kdWxlc1tpXTtcblx0XHRcdC8vIHNraXAgYWxyZWFkeSBpbXBvcnRlZCBtb2R1bGVcblx0XHRcdC8vIHRoaXMgaW1wbGVtZW50YXRpb24gaXMgbm90IDEwMCUgcGVyZmVjdCBmb3Igd2VpcmQgbWVkaWEgcXVlcnkgY29tYmluYXRpb25zXG5cdFx0XHQvLyAgd2hlbiBhIG1vZHVsZSBpcyBpbXBvcnRlZCBtdWx0aXBsZSB0aW1lcyB3aXRoIGRpZmZlcmVudCBtZWRpYSBxdWVyaWVzLlxuXHRcdFx0Ly8gIEkgaG9wZSB0aGlzIHdpbGwgbmV2ZXIgb2NjdXIgKEhleSB0aGlzIHdheSB3ZSBoYXZlIHNtYWxsZXIgYnVuZGxlcylcblx0XHRcdGlmKHR5cGVvZiBpdGVtWzBdICE9PSBcIm51bWJlclwiIHx8ICFhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2l0ZW1bMF1dKSB7XG5cdFx0XHRcdGlmKG1lZGlhUXVlcnkgJiYgIWl0ZW1bMl0pIHtcblx0XHRcdFx0XHRpdGVtWzJdID0gbWVkaWFRdWVyeTtcblx0XHRcdFx0fSBlbHNlIGlmKG1lZGlhUXVlcnkpIHtcblx0XHRcdFx0XHRpdGVtWzJdID0gXCIoXCIgKyBpdGVtWzJdICsgXCIpIGFuZCAoXCIgKyBtZWRpYVF1ZXJ5ICsgXCIpXCI7XG5cdFx0XHRcdH1cblx0XHRcdFx0bGlzdC5wdXNoKGl0ZW0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcblx0cmV0dXJuIGxpc3Q7XG59O1xuXG5mdW5jdGlvbiBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1hcCkge1xuXHR2YXIgY29udGVudCA9IGl0ZW1bMV0gfHwgJyc7XG5cdHZhciBjc3NNYXBwaW5nID0gaXRlbVszXTtcblx0aWYgKCFjc3NNYXBwaW5nKSB7XG5cdFx0cmV0dXJuIGNvbnRlbnQ7XG5cdH1cblxuXHRpZiAodXNlU291cmNlTWFwICYmIHR5cGVvZiBidG9hID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0dmFyIHNvdXJjZU1hcHBpbmcgPSB0b0NvbW1lbnQoY3NzTWFwcGluZyk7XG5cdFx0dmFyIHNvdXJjZVVSTHMgPSBjc3NNYXBwaW5nLnNvdXJjZXMubWFwKGZ1bmN0aW9uIChzb3VyY2UpIHtcblx0XHRcdHJldHVybiAnLyojIHNvdXJjZVVSTD0nICsgY3NzTWFwcGluZy5zb3VyY2VSb290ICsgc291cmNlICsgJyAqLydcblx0XHR9KTtcblxuXHRcdHJldHVybiBbY29udGVudF0uY29uY2F0KHNvdXJjZVVSTHMpLmNvbmNhdChbc291cmNlTWFwcGluZ10pLmpvaW4oJ1xcbicpO1xuXHR9XG5cblx0cmV0dXJuIFtjb250ZW50XS5qb2luKCdcXG4nKTtcbn1cblxuLy8gQWRhcHRlZCBmcm9tIGNvbnZlcnQtc291cmNlLW1hcCAoTUlUKVxuZnVuY3Rpb24gdG9Db21tZW50KHNvdXJjZU1hcCkge1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcblx0dmFyIGJhc2U2NCA9IGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSk7XG5cdHZhciBkYXRhID0gJ3NvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCcgKyBiYXNlNjQ7XG5cblx0cmV0dXJuICcvKiMgJyArIGRhdGEgKyAnICovJztcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXG4vLyBtb2R1bGUgaWQgPSA3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qXG5cdE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG5cdEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG5cbnZhciBzdHlsZXNJbkRvbSA9IHt9O1xuXG52YXJcdG1lbW9pemUgPSBmdW5jdGlvbiAoZm4pIHtcblx0dmFyIG1lbW87XG5cblx0cmV0dXJuIGZ1bmN0aW9uICgpIHtcblx0XHRpZiAodHlwZW9mIG1lbW8gPT09IFwidW5kZWZpbmVkXCIpIG1lbW8gPSBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuXHRcdHJldHVybiBtZW1vO1xuXHR9O1xufTtcblxudmFyIGlzT2xkSUUgPSBtZW1vaXplKGZ1bmN0aW9uICgpIHtcblx0Ly8gVGVzdCBmb3IgSUUgPD0gOSBhcyBwcm9wb3NlZCBieSBCcm93c2VyaGFja3Ncblx0Ly8gQHNlZSBodHRwOi8vYnJvd3NlcmhhY2tzLmNvbS8jaGFjay1lNzFkODY5MmY2NTMzNDE3M2ZlZTcxNWMyMjJjYjgwNVxuXHQvLyBUZXN0cyBmb3IgZXhpc3RlbmNlIG9mIHN0YW5kYXJkIGdsb2JhbHMgaXMgdG8gYWxsb3cgc3R5bGUtbG9hZGVyXG5cdC8vIHRvIG9wZXJhdGUgY29ycmVjdGx5IGludG8gbm9uLXN0YW5kYXJkIGVudmlyb25tZW50c1xuXHQvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvc3R5bGUtbG9hZGVyL2lzc3Vlcy8xNzdcblx0cmV0dXJuIHdpbmRvdyAmJiBkb2N1bWVudCAmJiBkb2N1bWVudC5hbGwgJiYgIXdpbmRvdy5hdG9iO1xufSk7XG5cbnZhciBnZXRFbGVtZW50ID0gKGZ1bmN0aW9uIChmbikge1xuXHR2YXIgbWVtbyA9IHt9O1xuXG5cdHJldHVybiBmdW5jdGlvbihzZWxlY3Rvcikge1xuXHRcdGlmICh0eXBlb2YgbWVtb1tzZWxlY3Rvcl0gPT09IFwidW5kZWZpbmVkXCIpIHtcblx0XHRcdHZhciBzdHlsZVRhcmdldCA9IGZuLmNhbGwodGhpcywgc2VsZWN0b3IpO1xuXHRcdFx0Ly8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcblx0XHRcdGlmIChzdHlsZVRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCkge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdC8vIFRoaXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24gaWYgYWNjZXNzIHRvIGlmcmFtZSBpcyBibG9ja2VkXG5cdFx0XHRcdFx0Ly8gZHVlIHRvIGNyb3NzLW9yaWdpbiByZXN0cmljdGlvbnNcblx0XHRcdFx0XHRzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xuXHRcdFx0XHR9IGNhdGNoKGUpIHtcblx0XHRcdFx0XHRzdHlsZVRhcmdldCA9IG51bGw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdG1lbW9bc2VsZWN0b3JdID0gc3R5bGVUYXJnZXQ7XG5cdFx0fVxuXHRcdHJldHVybiBtZW1vW3NlbGVjdG9yXVxuXHR9O1xufSkoZnVuY3Rpb24gKHRhcmdldCkge1xuXHRyZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQpXG59KTtcblxudmFyIHNpbmdsZXRvbiA9IG51bGw7XG52YXJcdHNpbmdsZXRvbkNvdW50ZXIgPSAwO1xudmFyXHRzdHlsZXNJbnNlcnRlZEF0VG9wID0gW107XG5cbnZhclx0Zml4VXJscyA9IHJlcXVpcmUoXCIuL3VybHNcIik7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obGlzdCwgb3B0aW9ucykge1xuXHRpZiAodHlwZW9mIERFQlVHICE9PSBcInVuZGVmaW5lZFwiICYmIERFQlVHKSB7XG5cdFx0aWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IEVycm9yKFwiVGhlIHN0eWxlLWxvYWRlciBjYW5ub3QgYmUgdXNlZCBpbiBhIG5vbi1icm93c2VyIGVudmlyb25tZW50XCIpO1xuXHR9XG5cblx0b3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cblx0b3B0aW9ucy5hdHRycyA9IHR5cGVvZiBvcHRpb25zLmF0dHJzID09PSBcIm9iamVjdFwiID8gb3B0aW9ucy5hdHRycyA6IHt9O1xuXG5cdC8vIEZvcmNlIHNpbmdsZS10YWcgc29sdXRpb24gb24gSUU2LTksIHdoaWNoIGhhcyBhIGhhcmQgbGltaXQgb24gdGhlICMgb2YgPHN0eWxlPlxuXHQvLyB0YWdzIGl0IHdpbGwgYWxsb3cgb24gYSBwYWdlXG5cdGlmICghb3B0aW9ucy5zaW5nbGV0b24gJiYgdHlwZW9mIG9wdGlvbnMuc2luZ2xldG9uICE9PSBcImJvb2xlYW5cIikgb3B0aW9ucy5zaW5nbGV0b24gPSBpc09sZElFKCk7XG5cblx0Ly8gQnkgZGVmYXVsdCwgYWRkIDxzdHlsZT4gdGFncyB0byB0aGUgPGhlYWQ+IGVsZW1lbnRcblx0aWYgKCFvcHRpb25zLmluc2VydEludG8pIG9wdGlvbnMuaW5zZXJ0SW50byA9IFwiaGVhZFwiO1xuXG5cdC8vIEJ5IGRlZmF1bHQsIGFkZCA8c3R5bGU+IHRhZ3MgdG8gdGhlIGJvdHRvbSBvZiB0aGUgdGFyZ2V0XG5cdGlmICghb3B0aW9ucy5pbnNlcnRBdCkgb3B0aW9ucy5pbnNlcnRBdCA9IFwiYm90dG9tXCI7XG5cblx0dmFyIHN0eWxlcyA9IGxpc3RUb1N0eWxlcyhsaXN0LCBvcHRpb25zKTtcblxuXHRhZGRTdHlsZXNUb0RvbShzdHlsZXMsIG9wdGlvbnMpO1xuXG5cdHJldHVybiBmdW5jdGlvbiB1cGRhdGUgKG5ld0xpc3QpIHtcblx0XHR2YXIgbWF5UmVtb3ZlID0gW107XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGl0ZW0gPSBzdHlsZXNbaV07XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdFx0ZG9tU3R5bGUucmVmcy0tO1xuXHRcdFx0bWF5UmVtb3ZlLnB1c2goZG9tU3R5bGUpO1xuXHRcdH1cblxuXHRcdGlmKG5ld0xpc3QpIHtcblx0XHRcdHZhciBuZXdTdHlsZXMgPSBsaXN0VG9TdHlsZXMobmV3TGlzdCwgb3B0aW9ucyk7XG5cdFx0XHRhZGRTdHlsZXNUb0RvbShuZXdTdHlsZXMsIG9wdGlvbnMpO1xuXHRcdH1cblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgbWF5UmVtb3ZlLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBtYXlSZW1vdmVbaV07XG5cblx0XHRcdGlmKGRvbVN0eWxlLnJlZnMgPT09IDApIHtcblx0XHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykgZG9tU3R5bGUucGFydHNbal0oKTtcblxuXHRcdFx0XHRkZWxldGUgc3R5bGVzSW5Eb21bZG9tU3R5bGUuaWRdO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcbn07XG5cbmZ1bmN0aW9uIGFkZFN0eWxlc1RvRG9tIChzdHlsZXMsIG9wdGlvbnMpIHtcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IHN0eWxlc1tpXTtcblx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdGlmKGRvbVN0eWxlKSB7XG5cdFx0XHRkb21TdHlsZS5yZWZzKys7XG5cblx0XHRcdGZvcih2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRkb21TdHlsZS5wYXJ0c1tqXShpdGVtLnBhcnRzW2pdKTtcblx0XHRcdH1cblxuXHRcdFx0Zm9yKDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ZG9tU3R5bGUucGFydHMucHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdLCBvcHRpb25zKSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHZhciBwYXJ0cyA9IFtdO1xuXG5cdFx0XHRmb3IodmFyIGogPSAwOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRwYXJ0cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0sIG9wdGlvbnMpKTtcblx0XHRcdH1cblxuXHRcdFx0c3R5bGVzSW5Eb21baXRlbS5pZF0gPSB7aWQ6IGl0ZW0uaWQsIHJlZnM6IDEsIHBhcnRzOiBwYXJ0c307XG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGxpc3RUb1N0eWxlcyAobGlzdCwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGVzID0gW107XG5cdHZhciBuZXdTdHlsZXMgPSB7fTtcblxuXHRmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IGxpc3RbaV07XG5cdFx0dmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG5cdFx0dmFyIGNzcyA9IGl0ZW1bMV07XG5cdFx0dmFyIG1lZGlhID0gaXRlbVsyXTtcblx0XHR2YXIgc291cmNlTWFwID0gaXRlbVszXTtcblx0XHR2YXIgcGFydCA9IHtjc3M6IGNzcywgbWVkaWE6IG1lZGlhLCBzb3VyY2VNYXA6IHNvdXJjZU1hcH07XG5cblx0XHRpZighbmV3U3R5bGVzW2lkXSkgc3R5bGVzLnB1c2gobmV3U3R5bGVzW2lkXSA9IHtpZDogaWQsIHBhcnRzOiBbcGFydF19KTtcblx0XHRlbHNlIG5ld1N0eWxlc1tpZF0ucGFydHMucHVzaChwYXJ0KTtcblx0fVxuXG5cdHJldHVybiBzdHlsZXM7XG59XG5cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudCAob3B0aW9ucywgc3R5bGUpIHtcblx0dmFyIHRhcmdldCA9IGdldEVsZW1lbnQob3B0aW9ucy5pbnNlcnRJbnRvKVxuXG5cdGlmICghdGFyZ2V0KSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmluZCBhIHN0eWxlIHRhcmdldC4gVGhpcyBwcm9iYWJseSBtZWFucyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlICdpbnNlcnRJbnRvJyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cIik7XG5cdH1cblxuXHR2YXIgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AgPSBzdHlsZXNJbnNlcnRlZEF0VG9wW3N0eWxlc0luc2VydGVkQXRUb3AubGVuZ3RoIC0gMV07XG5cblx0aWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwidG9wXCIpIHtcblx0XHRpZiAoIWxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wKSB7XG5cdFx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCB0YXJnZXQuZmlyc3RDaGlsZCk7XG5cdFx0fSBlbHNlIGlmIChsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcC5uZXh0U2libGluZykge1xuXHRcdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AubmV4dFNpYmxpbmcpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHRcdH1cblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnB1c2goc3R5bGUpO1xuXHR9IGVsc2UgaWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwiYm90dG9tXCIpIHtcblx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb25zLmluc2VydEF0ID09PSBcIm9iamVjdFwiICYmIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKSB7XG5cdFx0dmFyIG5leHRTaWJsaW5nID0gZ2V0RWxlbWVudChvcHRpb25zLmluc2VydEludG8gKyBcIiBcIiArIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKTtcblx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBuZXh0U2libGluZyk7XG5cdH0gZWxzZSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiW1N0eWxlIExvYWRlcl1cXG5cXG4gSW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICdpbnNlcnRBdCcgKCdvcHRpb25zLmluc2VydEF0JykgZm91bmQuXFxuIE11c3QgYmUgJ3RvcCcsICdib3R0b20nLCBvciBPYmplY3QuXFxuIChodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlciNpbnNlcnRhdClcXG5cIik7XG5cdH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50IChzdHlsZSkge1xuXHRpZiAoc3R5bGUucGFyZW50Tm9kZSA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXHRzdHlsZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlKTtcblxuXHR2YXIgaWR4ID0gc3R5bGVzSW5zZXJ0ZWRBdFRvcC5pbmRleE9mKHN0eWxlKTtcblx0aWYoaWR4ID49IDApIHtcblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnNwbGljZShpZHgsIDEpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0eWxlRWxlbWVudCAob3B0aW9ucykge1xuXHR2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXG5cdGFkZEF0dHJzKHN0eWxlLCBvcHRpb25zLmF0dHJzKTtcblx0aW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMsIHN0eWxlKTtcblxuXHRyZXR1cm4gc3R5bGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxpbmtFbGVtZW50IChvcHRpb25zKSB7XG5cdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpbmtcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXHRvcHRpb25zLmF0dHJzLnJlbCA9IFwic3R5bGVzaGVldFwiO1xuXG5cdGFkZEF0dHJzKGxpbmssIG9wdGlvbnMuYXR0cnMpO1xuXHRpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucywgbGluayk7XG5cblx0cmV0dXJuIGxpbms7XG59XG5cbmZ1bmN0aW9uIGFkZEF0dHJzIChlbCwgYXR0cnMpIHtcblx0T2JqZWN0LmtleXMoYXR0cnMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuXHRcdGVsLnNldEF0dHJpYnV0ZShrZXksIGF0dHJzW2tleV0pO1xuXHR9KTtcbn1cblxuZnVuY3Rpb24gYWRkU3R5bGUgKG9iaiwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGUsIHVwZGF0ZSwgcmVtb3ZlLCByZXN1bHQ7XG5cblx0Ly8gSWYgYSB0cmFuc2Zvcm0gZnVuY3Rpb24gd2FzIGRlZmluZWQsIHJ1biBpdCBvbiB0aGUgY3NzXG5cdGlmIChvcHRpb25zLnRyYW5zZm9ybSAmJiBvYmouY3NzKSB7XG5cdCAgICByZXN1bHQgPSBvcHRpb25zLnRyYW5zZm9ybShvYmouY3NzKTtcblxuXHQgICAgaWYgKHJlc3VsdCkge1xuXHQgICAgXHQvLyBJZiB0cmFuc2Zvcm0gcmV0dXJucyBhIHZhbHVlLCB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIHJ1bm5pbmcgcnVudGltZSB0cmFuc2Zvcm1hdGlvbnMgb24gdGhlIGNzcy5cblx0ICAgIFx0b2JqLmNzcyA9IHJlc3VsdDtcblx0ICAgIH0gZWxzZSB7XG5cdCAgICBcdC8vIElmIHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb24gcmV0dXJucyBhIGZhbHN5IHZhbHVlLCBkb24ndCBhZGQgdGhpcyBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIGNvbmRpdGlvbmFsIGxvYWRpbmcgb2YgY3NzXG5cdCAgICBcdHJldHVybiBmdW5jdGlvbigpIHtcblx0ICAgIFx0XHQvLyBub29wXG5cdCAgICBcdH07XG5cdCAgICB9XG5cdH1cblxuXHRpZiAob3B0aW9ucy5zaW5nbGV0b24pIHtcblx0XHR2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrKztcblxuXHRcdHN0eWxlID0gc2luZ2xldG9uIHx8IChzaW5nbGV0b24gPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucykpO1xuXG5cdFx0dXBkYXRlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCBmYWxzZSk7XG5cdFx0cmVtb3ZlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCB0cnVlKTtcblxuXHR9IGVsc2UgaWYgKFxuXHRcdG9iai5zb3VyY2VNYXAgJiZcblx0XHR0eXBlb2YgVVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgVVJMLmNyZWF0ZU9iamVjdFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIFVSTC5yZXZva2VPYmplY3RVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBCbG9iID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiXG5cdCkge1xuXHRcdHN0eWxlID0gY3JlYXRlTGlua0VsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gdXBkYXRlTGluay5iaW5kKG51bGwsIHN0eWxlLCBvcHRpb25zKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXG5cdFx0XHRpZihzdHlsZS5ocmVmKSBVUkwucmV2b2tlT2JqZWN0VVJMKHN0eWxlLmhyZWYpO1xuXHRcdH07XG5cdH0gZWxzZSB7XG5cdFx0c3R5bGUgPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gYXBwbHlUb1RhZy5iaW5kKG51bGwsIHN0eWxlKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXHRcdH07XG5cdH1cblxuXHR1cGRhdGUob2JqKTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUgKG5ld09iaikge1xuXHRcdGlmIChuZXdPYmopIHtcblx0XHRcdGlmIChcblx0XHRcdFx0bmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJlxuXHRcdFx0XHRuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJlxuXHRcdFx0XHRuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwXG5cdFx0XHQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHR1cGRhdGUob2JqID0gbmV3T2JqKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVtb3ZlKCk7XG5cdFx0fVxuXHR9O1xufVxuXG52YXIgcmVwbGFjZVRleHQgPSAoZnVuY3Rpb24gKCkge1xuXHR2YXIgdGV4dFN0b3JlID0gW107XG5cblx0cmV0dXJuIGZ1bmN0aW9uIChpbmRleCwgcmVwbGFjZW1lbnQpIHtcblx0XHR0ZXh0U3RvcmVbaW5kZXhdID0gcmVwbGFjZW1lbnQ7XG5cblx0XHRyZXR1cm4gdGV4dFN0b3JlLmZpbHRlcihCb29sZWFuKS5qb2luKCdcXG4nKTtcblx0fTtcbn0pKCk7XG5cbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcgKHN0eWxlLCBpbmRleCwgcmVtb3ZlLCBvYmopIHtcblx0dmFyIGNzcyA9IHJlbW92ZSA/IFwiXCIgOiBvYmouY3NzO1xuXG5cdGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XG5cdH0gZWxzZSB7XG5cdFx0dmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpO1xuXHRcdHZhciBjaGlsZE5vZGVzID0gc3R5bGUuY2hpbGROb2RlcztcblxuXHRcdGlmIChjaGlsZE5vZGVzW2luZGV4XSkgc3R5bGUucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pO1xuXG5cdFx0aWYgKGNoaWxkTm9kZXMubGVuZ3RoKSB7XG5cdFx0XHRzdHlsZS5pbnNlcnRCZWZvcmUoY3NzTm9kZSwgY2hpbGROb2Rlc1tpbmRleF0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdHlsZS5hcHBlbmRDaGlsZChjc3NOb2RlKTtcblx0XHR9XG5cdH1cbn1cblxuZnVuY3Rpb24gYXBwbHlUb1RhZyAoc3R5bGUsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIG1lZGlhID0gb2JqLm1lZGlhO1xuXG5cdGlmKG1lZGlhKSB7XG5cdFx0c3R5bGUuc2V0QXR0cmlidXRlKFwibWVkaWFcIiwgbWVkaWEpXG5cdH1cblxuXHRpZihzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuXHR9IGVsc2Uge1xuXHRcdHdoaWxlKHN0eWxlLmZpcnN0Q2hpbGQpIHtcblx0XHRcdHN0eWxlLnJlbW92ZUNoaWxkKHN0eWxlLmZpcnN0Q2hpbGQpO1xuXHRcdH1cblxuXHRcdHN0eWxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUxpbmsgKGxpbmssIG9wdGlvbnMsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIHNvdXJjZU1hcCA9IG9iai5zb3VyY2VNYXA7XG5cblx0Lypcblx0XHRJZiBjb252ZXJ0VG9BYnNvbHV0ZVVybHMgaXNuJ3QgZGVmaW5lZCwgYnV0IHNvdXJjZW1hcHMgYXJlIGVuYWJsZWRcblx0XHRhbmQgdGhlcmUgaXMgbm8gcHVibGljUGF0aCBkZWZpbmVkIHRoZW4gbGV0cyB0dXJuIGNvbnZlcnRUb0Fic29sdXRlVXJsc1xuXHRcdG9uIGJ5IGRlZmF1bHQuICBPdGhlcndpc2UgZGVmYXVsdCB0byB0aGUgY29udmVydFRvQWJzb2x1dGVVcmxzIG9wdGlvblxuXHRcdGRpcmVjdGx5XG5cdCovXG5cdHZhciBhdXRvRml4VXJscyA9IG9wdGlvbnMuY29udmVydFRvQWJzb2x1dGVVcmxzID09PSB1bmRlZmluZWQgJiYgc291cmNlTWFwO1xuXG5cdGlmIChvcHRpb25zLmNvbnZlcnRUb0Fic29sdXRlVXJscyB8fCBhdXRvRml4VXJscykge1xuXHRcdGNzcyA9IGZpeFVybHMoY3NzKTtcblx0fVxuXG5cdGlmIChzb3VyY2VNYXApIHtcblx0XHQvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yNjYwMzg3NVxuXHRcdGNzcyArPSBcIlxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXCIgKyBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpICsgXCIgKi9cIjtcblx0fVxuXG5cdHZhciBibG9iID0gbmV3IEJsb2IoW2Nzc10sIHsgdHlwZTogXCJ0ZXh0L2Nzc1wiIH0pO1xuXG5cdHZhciBvbGRTcmMgPSBsaW5rLmhyZWY7XG5cblx0bGluay5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcblxuXHRpZihvbGRTcmMpIFVSTC5yZXZva2VPYmplY3RVUkwob2xkU3JjKTtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXG4vLyBtb2R1bGUgaWQgPSA4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIlxuLyoqXG4gKiBXaGVuIHNvdXJjZSBtYXBzIGFyZSBlbmFibGVkLCBgc3R5bGUtbG9hZGVyYCB1c2VzIGEgbGluayBlbGVtZW50IHdpdGggYSBkYXRhLXVyaSB0b1xuICogZW1iZWQgdGhlIGNzcyBvbiB0aGUgcGFnZS4gVGhpcyBicmVha3MgYWxsIHJlbGF0aXZlIHVybHMgYmVjYXVzZSBub3cgdGhleSBhcmUgcmVsYXRpdmUgdG8gYVxuICogYnVuZGxlIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgcGFnZS5cbiAqXG4gKiBPbmUgc29sdXRpb24gaXMgdG8gb25seSB1c2UgZnVsbCB1cmxzLCBidXQgdGhhdCBtYXkgYmUgaW1wb3NzaWJsZS5cbiAqXG4gKiBJbnN0ZWFkLCB0aGlzIGZ1bmN0aW9uIFwiZml4ZXNcIiB0aGUgcmVsYXRpdmUgdXJscyB0byBiZSBhYnNvbHV0ZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgcGFnZSBsb2NhdGlvbi5cbiAqXG4gKiBBIHJ1ZGltZW50YXJ5IHRlc3Qgc3VpdGUgaXMgbG9jYXRlZCBhdCBgdGVzdC9maXhVcmxzLmpzYCBhbmQgY2FuIGJlIHJ1biB2aWEgdGhlIGBucG0gdGVzdGAgY29tbWFuZC5cbiAqXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY3NzKSB7XG4gIC8vIGdldCBjdXJyZW50IGxvY2F0aW9uXG4gIHZhciBsb2NhdGlvbiA9IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmxvY2F0aW9uO1xuXG4gIGlmICghbG9jYXRpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJmaXhVcmxzIHJlcXVpcmVzIHdpbmRvdy5sb2NhdGlvblwiKTtcbiAgfVxuXG5cdC8vIGJsYW5rIG9yIG51bGw/XG5cdGlmICghY3NzIHx8IHR5cGVvZiBjc3MgIT09IFwic3RyaW5nXCIpIHtcblx0ICByZXR1cm4gY3NzO1xuICB9XG5cbiAgdmFyIGJhc2VVcmwgPSBsb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIGxvY2F0aW9uLmhvc3Q7XG4gIHZhciBjdXJyZW50RGlyID0gYmFzZVVybCArIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1xcL1teXFwvXSokLywgXCIvXCIpO1xuXG5cdC8vIGNvbnZlcnQgZWFjaCB1cmwoLi4uKVxuXHQvKlxuXHRUaGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBqdXN0IGEgd2F5IHRvIHJlY3Vyc2l2ZWx5IG1hdGNoIGJyYWNrZXRzIHdpdGhpblxuXHRhIHN0cmluZy5cblxuXHQgL3VybFxccypcXCggID0gTWF0Y2ggb24gdGhlIHdvcmQgXCJ1cmxcIiB3aXRoIGFueSB3aGl0ZXNwYWNlIGFmdGVyIGl0IGFuZCB0aGVuIGEgcGFyZW5zXG5cdCAgICggID0gU3RhcnQgYSBjYXB0dXJpbmcgZ3JvdXBcblx0ICAgICAoPzogID0gU3RhcnQgYSBub24tY2FwdHVyaW5nIGdyb3VwXG5cdCAgICAgICAgIFteKShdICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgIFxcKCAgPSBNYXRjaCBhIHN0YXJ0IHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAoPzogID0gU3RhcnQgYW5vdGhlciBub24tY2FwdHVyaW5nIGdyb3Vwc1xuXHQgICAgICAgICAgICAgICAgIFteKShdKyAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgICAgICAgICAgXFwoICA9IE1hdGNoIGEgc3RhcnQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICAgICAgW14pKF0qICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgICAgIFxcKSAgPSBNYXRjaCBhIGVuZCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgKSAgPSBFbmQgR3JvdXBcbiAgICAgICAgICAgICAgKlxcKSA9IE1hdGNoIGFueXRoaW5nIGFuZCB0aGVuIGEgY2xvc2UgcGFyZW5zXG4gICAgICAgICAgKSAgPSBDbG9zZSBub24tY2FwdHVyaW5nIGdyb3VwXG4gICAgICAgICAgKiAgPSBNYXRjaCBhbnl0aGluZ1xuICAgICAgICkgID0gQ2xvc2UgY2FwdHVyaW5nIGdyb3VwXG5cdCBcXCkgID0gTWF0Y2ggYSBjbG9zZSBwYXJlbnNcblxuXHQgL2dpICA9IEdldCBhbGwgbWF0Y2hlcywgbm90IHRoZSBmaXJzdC4gIEJlIGNhc2UgaW5zZW5zaXRpdmUuXG5cdCAqL1xuXHR2YXIgZml4ZWRDc3MgPSBjc3MucmVwbGFjZSgvdXJsXFxzKlxcKCgoPzpbXikoXXxcXCgoPzpbXikoXSt8XFwoW14pKF0qXFwpKSpcXCkpKilcXCkvZ2ksIGZ1bmN0aW9uKGZ1bGxNYXRjaCwgb3JpZ1VybCkge1xuXHRcdC8vIHN0cmlwIHF1b3RlcyAoaWYgdGhleSBleGlzdClcblx0XHR2YXIgdW5xdW90ZWRPcmlnVXJsID0gb3JpZ1VybFxuXHRcdFx0LnRyaW0oKVxuXHRcdFx0LnJlcGxhY2UoL15cIiguKilcIiQvLCBmdW5jdGlvbihvLCAkMSl7IHJldHVybiAkMTsgfSlcblx0XHRcdC5yZXBsYWNlKC9eJyguKiknJC8sIGZ1bmN0aW9uKG8sICQxKXsgcmV0dXJuICQxOyB9KTtcblxuXHRcdC8vIGFscmVhZHkgYSBmdWxsIHVybD8gbm8gY2hhbmdlXG5cdFx0aWYgKC9eKCN8ZGF0YTp8aHR0cDpcXC9cXC98aHR0cHM6XFwvXFwvfGZpbGU6XFwvXFwvXFwvKS9pLnRlc3QodW5xdW90ZWRPcmlnVXJsKSkge1xuXHRcdCAgcmV0dXJuIGZ1bGxNYXRjaDtcblx0XHR9XG5cblx0XHQvLyBjb252ZXJ0IHRoZSB1cmwgdG8gYSBmdWxsIHVybFxuXHRcdHZhciBuZXdVcmw7XG5cblx0XHRpZiAodW5xdW90ZWRPcmlnVXJsLmluZGV4T2YoXCIvL1wiKSA9PT0gMCkge1xuXHRcdCAgXHQvL1RPRE86IHNob3VsZCB3ZSBhZGQgcHJvdG9jb2w/XG5cdFx0XHRuZXdVcmwgPSB1bnF1b3RlZE9yaWdVcmw7XG5cdFx0fSBlbHNlIGlmICh1bnF1b3RlZE9yaWdVcmwuaW5kZXhPZihcIi9cIikgPT09IDApIHtcblx0XHRcdC8vIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBiYXNlIHVybFxuXHRcdFx0bmV3VXJsID0gYmFzZVVybCArIHVucXVvdGVkT3JpZ1VybDsgLy8gYWxyZWFkeSBzdGFydHMgd2l0aCAnLydcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gcGF0aCBzaG91bGQgYmUgcmVsYXRpdmUgdG8gY3VycmVudCBkaXJlY3Rvcnlcblx0XHRcdG5ld1VybCA9IGN1cnJlbnREaXIgKyB1bnF1b3RlZE9yaWdVcmwucmVwbGFjZSgvXlxcLlxcLy8sIFwiXCIpOyAvLyBTdHJpcCBsZWFkaW5nICcuLydcblx0XHR9XG5cblx0XHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIHVybCguLi4pXG5cdFx0cmV0dXJuIFwidXJsKFwiICsgSlNPTi5zdHJpbmdpZnkobmV3VXJsKSArIFwiKVwiO1xuXHR9KTtcblxuXHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIGNzc1xuXHRyZXR1cm4gZml4ZWRDc3M7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi91cmxzLmpzXG4vLyBtb2R1bGUgaWQgPSA5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGNvbW1vbiA9IHJlcXVpcmUoJ2ZyYXBwZWpzL2NvbW1vbicpO1xuY29uc3QgUkVTVENsaWVudCA9IHJlcXVpcmUoJ2ZyYXBwZWpzL2JhY2tlbmRzL3Jlc3RfY2xpZW50Jyk7XG5jb25zdCBmcmFwcGUgPSByZXF1aXJlKCdmcmFwcGVqcycpO1xuZnJhcHBlLnVpID0gcmVxdWlyZSgnLi91aScpO1xuY29uc3QgRGVzayA9IHJlcXVpcmUoJy4vZGVzaycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBhc3luYyBzdGFydCh7c2VydmVyfSkge1xuICAgICAgICB3aW5kb3cuZnJhcHBlID0gZnJhcHBlO1xuICAgICAgICBmcmFwcGUuaW5pdCgpO1xuICAgICAgICBjb21tb24uaW5pdF9saWJzKGZyYXBwZSk7XG5cbiAgICAgICAgZnJhcHBlLmZldGNoID0gd2luZG93LmZldGNoLmJpbmQoKTtcbiAgICAgICAgZnJhcHBlLmRiID0gYXdhaXQgbmV3IFJFU1RDbGllbnQoe3NlcnZlcjogc2VydmVyfSk7XG5cbiAgICAgICAgZnJhcHBlLmZsYWdzLmNhY2hlX2RvY3MgPSB0cnVlO1xuXG4gICAgICAgIGZyYXBwZS5kZXNrID0gbmV3IERlc2soKTtcbiAgICAgICAgYXdhaXQgZnJhcHBlLmxvZ2luKCk7XG4gICAgfVxufTtcblxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY2xpZW50L2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJjb25zdCB1dGlscyA9IHJlcXVpcmUoJy4uL3V0aWxzJyk7XG5jb25zdCBtb2RlbHMgPSByZXF1aXJlKCcuLi9tb2RlbC9tb2RlbHMnKTtcbmNvbnN0IG1vZGVsID0gcmVxdWlyZSgnLi4vbW9kZWwnKTtcbmNvbnN0IF9kb2N1bWVudCA9IHJlcXVpcmUoJy4uL21vZGVsL2RvY3VtZW50Jyk7XG5jb25zdCBtZXRhID0gcmVxdWlyZSgnLi4vbW9kZWwvbWV0YScpO1xuY29uc3QgX3Nlc3Npb24gPSByZXF1aXJlKCcuLi9zZXNzaW9uJyk7XG5jb25zdCBlcnJvcnMgPSByZXF1aXJlKCcuL2Vycm9ycycpO1xuXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICAgIGluaXRfbGlicyhmcmFwcGUpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihmcmFwcGUsIHV0aWxzKTtcbiAgICAgICAgZnJhcHBlLm1vZGVsID0gbW9kZWw7XG4gICAgICAgIGZyYXBwZS5tb2RlbHMgPSBuZXcgbW9kZWxzLk1vZGVscygpO1xuICAgICAgICBmcmFwcGUuZG9jdW1lbnQgPSBfZG9jdW1lbnQ7XG4gICAgICAgIGZyYXBwZS5tZXRhID0gbWV0YTtcbiAgICAgICAgZnJhcHBlLl9zZXNzaW9uID0gX3Nlc3Npb247XG4gICAgICAgIGZyYXBwZS5lcnJvcnMgPSBlcnJvcnM7XG4gICAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NvbW1vbi9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwibW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgc2x1Zyh0ZXh0KSB7XG4gICAgICAgIHJldHVybiB0ZXh0LnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvIC9nLCAnXycpO1xuICAgIH0sXG5cbiAgICBhc3luY19oYW5kbGVyKGZuKSB7XG4gICAgICAgIHJldHVybiAocmVxLCByZXMsIG5leHQpID0+IFByb21pc2UucmVzb2x2ZShmbihyZXEsIHJlcywgbmV4dCkpXG4gICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIGVycm9yXG4gICAgICAgICAgICAgICAgcmVzLnN0YXR1cyhlcnIuc3RhdHVzX2NvZGUgfHwgNTAwKS5zZW5kKHtlcnJvcjogZXJyLm1lc3NhZ2V9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH0sXG5cbiAgICBhc3luYyBzbGVlcChzZWNvbmRzKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgc2Vjb25kcyAqIDEwMDApO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9mcmFwcGVqcy91dGlscy9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgcHJvY2VzcyA9IHJlcXVpcmUoJ3Byb2Nlc3MnKTtcbmNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5cbmNsYXNzIE1vZGVscyB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IHtkb2N0eXBlOiB7fX07XG4gICAgICAgIHRoaXMuY29udHJvbGxlcnMgPSB7fTtcbiAgICAgICAgdGhpcy5tZXRhX2NsYXNzZXMgPSB7fTtcbiAgICB9XG5cbiAgICBnZXQoZG9jdHlwZSwgbmFtZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhW2ZyYXBwZS5zbHVnKGRvY3R5cGUpXVtmcmFwcGUuc2x1ZyhuYW1lKV07XG4gICAgfVxuXG4gICAgZ2V0X2NvbnRyb2xsZXIoZG9jdHlwZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyc1tmcmFwcGUuc2x1Zyhkb2N0eXBlKV07XG4gICAgfVxuXG4gICAgZ2V0X21ldGFfY2xhc3MoZG9jdHlwZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXRhX2NsYXNzZXNbZnJhcHBlLnNsdWcoZG9jdHlwZSldIHx8IGZyYXBwZS5tZXRhLk1ldGE7XG4gICAgfVxuXG59XG5cbm1vZHVsZS5leHBvcnRzID0geyBNb2RlbHM6IE1vZGVscyB9XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvbW9kZWwvbW9kZWxzLmpzXG4vLyBtb2R1bGUgaWQgPSAxM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBzdGFuZGFyZF9maWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZmllbGRuYW1lOiAnbmFtZScsIGZpZWxkdHlwZTogJ0RhdGEnLCByZXFkOiAxXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkbmFtZTogJ293bmVyJywgZmllbGR0eXBlOiAnTGluaycsIHJlcWQ6IDEsIG9wdGlvbnM6ICdVc2VyJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZG5hbWU6ICdtb2RpZmllZF9ieScsIGZpZWxkdHlwZTogJ0xpbmsnLCByZXFkOiAxLCBvcHRpb25zOiAnVXNlcidcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmllbGRuYW1lOiAnY3JlYXRpb24nLCBmaWVsZHR5cGU6ICdEYXRldGltZScsIHJlcWQ6IDFcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmllbGRuYW1lOiAnbW9kaWZpZWQnLCBmaWVsZHR5cGU6ICdEYXRldGltZScsIHJlcWQ6IDFcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmllbGRuYW1lOiAna2V5d29yZHMnLCBmaWVsZHR5cGU6ICdUZXh0J1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZG5hbWU6ICdkb2NzdGF0dXMnLCBmaWVsZHR5cGU6ICdJbnQnLCByZXFkOiAxLCBkZWZhdWx0OiAwXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGNoaWxkX2ZpZWxkczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZG5hbWU6ICdpZHgnLCBmaWVsZHR5cGU6ICdJbnQnLCByZXFkOiAxXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkbmFtZTogJ3BhcmVudCcsIGZpZWxkdHlwZTogJ0RhdGEnLCByZXFkOiAxXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkbmFtZTogJ3BhcmVudHR5cGUnLCBmaWVsZHR5cGU6ICdMaW5rJywgcmVxZDogMSwgb3B0aW9uczogJ0RvY1R5cGUnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkbmFtZTogJ3BhcmVudGZpZWxkJywgZmllbGR0eXBlOiAnRGF0YScsIHJlcWQ6IDFcbiAgICAgICAgfVxuICAgIF1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvbW9kZWwvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDE0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IERvY3VtZW50ID0gcmVxdWlyZSgnLi9kb2N1bWVudCcpLkRvY3VtZW50O1xuY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcblxuY2xhc3MgTWV0YSBleHRlbmRzIERvY3VtZW50IHtcbiAgICBjb25zdHJ1Y3RvcihkYXRhKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLmV2ZW50X2hhbmRsZXJzID0ge307XG4gICAgICAgIHRoaXMubGlzdF9vcHRpb25zID0ge1xuICAgICAgICAgICAgZmllbGRzOiBbJ25hbWUnLCAnbW9kaWZpZWQnXVxuICAgICAgICB9O1xuICAgICAgICBpZiAodGhpcy5zZXR1cF9tZXRhKSAge1xuICAgICAgICAgICAgdGhpcy5zZXR1cF9tZXRhKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRfZmllbGQoZmllbGRuYW1lKSB7XG4gICAgICAgIGlmICghdGhpcy5maWVsZF9tYXApIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGRfbWFwID0ge307XG4gICAgICAgICAgICBmb3IgKGxldCBkZiBvZiB0aGlzLmZpZWxkcykge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGRfbWFwW2RmLmZpZWxkbmFtZV0gPSBkZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5maWVsZF9tYXBbZmllbGRuYW1lXTtcbiAgICB9XG5cbiAgICBvbihrZXksIGZuKSB7XG4gICAgICAgIGlmICghdGhpcy5ldmVudF9oYW5kbGVyc1trZXldKSB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50X2hhbmRsZXJzW2tleV0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV2ZW50X2hhbmRsZXJzW2tleV0ucHVzaChmbik7XG4gICAgfVxuXG4gICAgYXN5bmMgc2V0KGZpZWxkbmFtZSwgdmFsdWUpIHtcbiAgICAgICAgdGhpc1tmaWVsZG5hbWVdID0gdmFsdWU7XG4gICAgICAgIGF3YWl0IHRoaXMudHJpZ2dlcihmaWVsZG5hbWUpO1xuICAgIH1cblxuICAgIGdldChmaWVsZG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbZmllbGRuYW1lXTtcbiAgICB9XG5cbiAgICBnZXRfdmFsaWRfZmllbGRzKCkge1xuICAgICAgICBpZiAoIXRoaXMuX3ZhbGlkX2ZpZWxkcykge1xuICAgICAgICAgICAgdGhpcy5fdmFsaWRfZmllbGRzID0gW107XG5cbiAgICAgICAgICAgIGNvbnN0IGRvY3R5cGVfZmllbGRzID0gdGhpcy5maWVsZHMubWFwKChkZikgPT4gZGYuZmllbGRuYW1lKTtcblxuICAgICAgICAgICAgLy8gc3RhbmRhcmQgZmllbGRzXG4gICAgICAgICAgICBmb3IgKGxldCBkZiBvZiBmcmFwcGUubW9kZWwuc3RhbmRhcmRfZmllbGRzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZyYXBwZS5kYi50eXBlX21hcFtkZi5maWVsZHR5cGVdICYmICFkb2N0eXBlX2ZpZWxkcy5pbmNsdWRlcyhkZi5maWVsZG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZhbGlkX2ZpZWxkcy5wdXNoKGRmKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHBhcmVudCBmaWVsZHNcbiAgICAgICAgICAgIGlmICh0aGlzLmlzdGFibGUpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBkZiBvZiBmcmFwcGUubW9kZWwuY2hpbGRfZmllbGRzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmcmFwcGUuZGIudHlwZV9tYXBbZGYuZmllbGR0eXBlXSAmJiAhZG9jdHlwZV9maWVsZHMuaW5jbHVkZXMoZGYuZmllbGRuYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmFsaWRfZmllbGRzLnB1c2goZGYpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBkb2N0eXBlIGZpZWxkc1xuICAgICAgICAgICAgZm9yIChsZXQgZGYgb2YgdGhpcy5maWVsZHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoZnJhcHBlLmRiLnR5cGVfbWFwW2RmLmZpZWxkdHlwZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmFsaWRfZmllbGRzLnB1c2goZGYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl92YWxpZF9maWVsZHM7XG4gICAgfVxuXG4gICAgZ2V0X2tleXdvcmRfZmllbGRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5rZXl3b3JkX2ZpZWxkcyB8fCB0aGlzLm1ldGEuZmllbGRzLmZpbHRlcihkZiA9PiBkZi5yZXFkKS5tYXAoZGYgPT4gZGYuZmllbGRuYW1lKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZV9zZWxlY3QoZGYsIHZhbHVlKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0gZGYub3B0aW9ucztcbiAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgLy8gdmFsdWVzIGdpdmVuIGFzIHN0cmluZ1xuICAgICAgICAgICAgb3B0aW9ucyA9IGRmLm9wdGlvbnMuc3BsaXQoJ1xcbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghb3B0aW9ucy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBmcmFwcGUuZXJyb3JzLlZhbHVlRXJyb3IoYCR7dmFsdWV9IG11c3QgYmUgb25lIG9mICR7b3B0aW9ucy5qb2luKFwiLCBcIil9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyB0cmlnZ2VyKGtleSwgZXZlbnQgPSB7fSkge1xuXG4gICAgICAgIE9iamVjdC5hc3NpZ24oZXZlbnQsIHtcbiAgICAgICAgICAgIGRvYzogdGhpcyxcbiAgICAgICAgICAgIG5hbWU6IGtleVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5ldmVudF9oYW5kbGVyc1trZXldKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBoYW5kbGVyIG9mIHRoaXMuZXZlbnRfaGFuZGxlcnNba2V5XSkge1xuICAgICAgICAgICAgICAgIGF3YWl0IGhhbmRsZXIoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gY29sbGVjdGlvbnNcbiAgICBhc3luYyBnZXRfbGlzdCh7c3RhcnQsIGxpbWl0PTIwLCBmaWx0ZXJzfSkge1xuICAgICAgICByZXR1cm4gYXdhaXQgZnJhcHBlLmRiLmdldF9hbGwoe1xuICAgICAgICAgICAgZG9jdHlwZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgZmllbGRzOiB0aGlzLmxpc3Rfb3B0aW9ucy5maWVsZHMsXG4gICAgICAgICAgICBmaWx0ZXJzOiBmaWx0ZXJzLFxuICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICAgICAgbGltaXQ6IGxpbWl0XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldF9yb3dfaHRtbChkYXRhKSB7XG4gICAgICAgIHJldHVybiBgPGEgaHJlZj1cIi92aWV3LyR7dGhpcy5uYW1lfS8ke2RhdGEubmFtZX1cIj4ke2RhdGEubmFtZX08L2E+YDtcbiAgICB9XG5cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7IE1ldGE6IE1ldGEgfVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL21vZGVsL21ldGEuanNcbi8vIG1vZHVsZSBpZCA9IDE1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5cbmNsYXNzIFNlc3Npb24ge1xuICAgIGNvbnN0cnVjdG9yKHVzZXIsIHVzZXJfa2V5KSB7XG4gICAgICAgIHRoaXMudXNlciA9IHVzZXIgfHwgJ2d1ZXN0JztcbiAgICAgICAgaWYgKHRoaXMudXNlciAhPT0gJ2d1ZXN0Jykge1xuICAgICAgICAgICAgdGhpcy5sb2dpbih1c2VyX2tleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2dpbih1c2VyX2tleSkge1xuICAgICAgICAvLyBjb3VsZCBiZSBwYXNzd29yZCwgc2Vzc2lvbmlkLCBvdHBcbiAgICB9XG5cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7IFNlc3Npb246IFNlc3Npb24gfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9mcmFwcGVqcy9zZXNzaW9uLmpzXG4vLyBtb2R1bGUgaWQgPSAxNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJjbGFzcyBCYXNlRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG5cdGNvbnN0cnVjdG9yKHN0YXR1c19jb2RlLCAuLi5wYXJhbXMpIHtcblx0XHRzdXBlciguLi5wYXJhbXMpO1xuXHRcdHRoaXMuc3RhdHVzX2NvZGUgPSBzdGF0dXNfY29kZTtcblx0fVxufVxuXG5jbGFzcyBWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuXHRjb25zdHJ1Y3RvciguLi5wYXJhbXMpIHsgc3VwZXIoNDE3LCAuLi5wYXJhbXMpOyB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuXHRWYWxpZGF0aW9uRXJyb3I6IFZhbGlkYXRpb25FcnJvcixcblx0VmFsdWVFcnJvcjogY2xhc3MgVmFsdWVFcnJvciBleHRlbmRzIFZhbGlkYXRpb25FcnJvciB7IH0sXG5cdE5vdEZvdW5kOiBjbGFzcyBOb3RGb3VuZCBleHRlbmRzIEJhc2VFcnJvciB7XG5cdFx0Y29uc3RydWN0b3IoLi4ucGFyYW1zKSB7IHN1cGVyKDQwNCwgLi4ucGFyYW1zKTsgfVxuXHR9LFxuXHRGb3JiaWRkZW46IGNsYXNzIEZvcmJpZGRlbiBleHRlbmRzIEJhc2VFcnJvciB7XG5cdFx0Y29uc3RydWN0b3IoLi4ucGFyYW1zKSB7IHN1cGVyKDQwMywgLi4ucGFyYW1zKTsgfVxuXHR9LFxufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY29tbW9uL2Vycm9ycy5qc1xuLy8gbW9kdWxlIGlkID0gMTdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcbmNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gY2xhc3MgUkVTVENsaWVudCB7XG4gICAgY29uc3RydWN0b3Ioe3NlcnZlciwgcHJvdG9jb2w9J2h0dHAnfSkge1xuICAgICAgICB0aGlzLnNlcnZlciA9IHNlcnZlcjtcbiAgICAgICAgdGhpcy5wcm90b2NvbCA9IHByb3RvY29sO1xuXG4gICAgICAgIHRoaXMuaW5pdF90eXBlX21hcCgpO1xuXG4gICAgICAgIHRoaXMuanNvbl9oZWFkZXJzID0ge1xuICAgICAgICAgICAgJ0FjY2VwdCc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbm5lY3QoKSB7XG5cbiAgICB9XG5cbiAgICBhc3luYyBpbnNlcnQoZG9jdHlwZSwgZG9jKSB7XG4gICAgICAgIGRvYy5kb2N0eXBlID0gZG9jdHlwZTtcbiAgICAgICAgbGV0IHVybCA9IHRoaXMucHJvdG9jb2wgKyAnOi8vJyArIHBhdGguam9pbih0aGlzLnNlcnZlciwgYC9hcGkvcmVzb3VyY2UvJHtmcmFwcGUuc2x1Zyhkb2N0eXBlKX1gKTtcbiAgICAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgZnJhcHBlLmZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLmpzb25faGVhZGVycyxcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRvYylcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXQoZG9jdHlwZSwgbmFtZSkge1xuICAgICAgICBsZXQgdXJsID0gdGhpcy5wcm90b2NvbCArICc6Ly8nICsgcGF0aC5qb2luKHRoaXMuc2VydmVyLCBgL2FwaS9yZXNvdXJjZS8ke2ZyYXBwZS5zbHVnKGRvY3R5cGUpfS8ke25hbWV9YCk7XG4gICAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IGZyYXBwZS5mZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLmpzb25faGVhZGVyc1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXRfYWxsKHtkb2N0eXBlLCBmaWVsZHMsIGZpbHRlcnMsIHN0YXJ0LCBsaW1pdCwgc29ydF9ieSwgb3JkZXJ9KSB7XG4gICAgICAgIGxldCB1cmwgPSB0aGlzLnByb3RvY29sICsgJzovLycgKyBwYXRoLmpvaW4odGhpcy5zZXJ2ZXIsIGAvYXBpL3Jlc291cmNlLyR7ZnJhcHBlLnNsdWcoZG9jdHlwZSl9YCk7XG5cbiAgICAgICAgdXJsID0gdXJsICsgXCI/XCIgKyB0aGlzLmdldF9xdWVyeV9zdHJpbmcoe1xuICAgICAgICAgICAgZmllbGRzOiBKU09OLnN0cmluZ2lmeShmaWVsZHMpLFxuICAgICAgICAgICAgZmlsdGVyczogSlNPTi5zdHJpbmdpZnkoZmlsdGVycyksXG4gICAgICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgICAgICBsaW1pdDogbGltaXQsXG4gICAgICAgICAgICBzb3J0X2J5OiBzb3J0X2J5LFxuICAgICAgICAgICAgb3JkZXI6IG9yZGVyXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IGZyYXBwZS5mZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLmpzb25faGVhZGVyc1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcblxuICAgIH1cblxuICAgIGFzeW5jIHVwZGF0ZShkb2N0eXBlLCBkb2MpIHtcbiAgICAgICAgZG9jLmRvY3R5cGUgPSBkb2N0eXBlO1xuICAgICAgICBsZXQgdXJsID0gdGhpcy5wcm90b2NvbCArICc6Ly8nICsgcGF0aC5qb2luKHRoaXMuc2VydmVyLCBgL2FwaS9yZXNvdXJjZS8ke2ZyYXBwZS5zbHVnKGRvY3R5cGUpfS8ke2RvYy5uYW1lfWApO1xuICAgICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCBmcmFwcGUuZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgICAgICAgaGVhZGVyczogdGhpcy5qc29uX2hlYWRlcnMsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkb2MpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgZGVsZXRlKGRvY3R5cGUsIG5hbWUpIHtcbiAgICAgICAgbGV0IHVybCA9IHRoaXMucHJvdG9jb2wgKyAnOi8vJyArIHBhdGguam9pbih0aGlzLnNlcnZlciwgYC9hcGkvcmVzb3VyY2UvJHtmcmFwcGUuc2x1Zyhkb2N0eXBlKX0vJHtuYW1lfWApO1xuXG4gICAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IGZyYXBwZS5mZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLmpzb25faGVhZGVyc1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgIH1cblxuICAgIGdldF9xdWVyeV9zdHJpbmcocGFyYW1zKSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhwYXJhbXMpXG4gICAgICAgICAgICAubWFwKGsgPT4gcGFyYW1zW2tdICE9IG51bGwgPyBlbmNvZGVVUklDb21wb25lbnQoaykgKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQocGFyYW1zW2tdKSA6IG51bGwpXG4gICAgICAgICAgICAuZmlsdGVyKHYgPT4gdilcbiAgICAgICAgICAgIC5qb2luKCcmJyk7XG4gICAgfVxuXG4gICAgaW5pdF90eXBlX21hcCgpIHtcbiAgICAgICAgdGhpcy50eXBlX21hcCA9IHtcbiAgICAgICAgICAgICdDdXJyZW5jeSc6ICAgICAgICB0cnVlXG4gICAgICAgICAgICAsJ0ludCc6ICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgLCdGbG9hdCc6ICAgICAgICB0cnVlXG4gICAgICAgICAgICAsJ1BlcmNlbnQnOiAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgLCdDaGVjayc6ICAgICAgICB0cnVlXG4gICAgICAgICAgICAsJ1NtYWxsIFRleHQnOiAgICB0cnVlXG4gICAgICAgICAgICAsJ0xvbmcgVGV4dCc6ICAgIHRydWVcbiAgICAgICAgICAgICwnQ29kZSc6ICAgICAgICB0cnVlXG4gICAgICAgICAgICAsJ1RleHQgRWRpdG9yJzogICAgdHJ1ZVxuICAgICAgICAgICAgLCdEYXRlJzogICAgICAgIHRydWVcbiAgICAgICAgICAgICwnRGF0ZXRpbWUnOiAgICB0cnVlXG4gICAgICAgICAgICAsJ1RpbWUnOiAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgLCdUZXh0JzogICAgICAgIHRydWVcbiAgICAgICAgICAgICwnRGF0YSc6ICAgICAgICB0cnVlXG4gICAgICAgICAgICAsJ0xpbmsnOiAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgLCdEeW5hbWljIExpbmsnOnRydWVcbiAgICAgICAgICAgICwnUGFzc3dvcmQnOiAgICB0cnVlXG4gICAgICAgICAgICAsJ1NlbGVjdCc6ICAgICAgICB0cnVlXG4gICAgICAgICAgICAsJ1JlYWQgT25seSc6ICAgIHRydWVcbiAgICAgICAgICAgICwnQXR0YWNoJzogICAgICAgIHRydWVcbiAgICAgICAgICAgICwnQXR0YWNoIEltYWdlJzp0cnVlXG4gICAgICAgICAgICAsJ1NpZ25hdHVyZSc6ICAgIHRydWVcbiAgICAgICAgICAgICwnQ29sb3InOiAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgLCdCYXJjb2RlJzogICAgICAgIHRydWVcbiAgICAgICAgICAgICwnR2VvbG9jYXRpb24nOiAgICB0cnVlXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcblxuICAgIH1cblxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2JhY2tlbmRzL3Jlc3RfY2xpZW50LmpzXG4vLyBtb2R1bGUgaWQgPSAxOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuLy8gcmVzb2x2ZXMgLiBhbmQgLi4gZWxlbWVudHMgaW4gYSBwYXRoIGFycmF5IHdpdGggZGlyZWN0b3J5IG5hbWVzIHRoZXJlXG4vLyBtdXN0IGJlIG5vIHNsYXNoZXMsIGVtcHR5IGVsZW1lbnRzLCBvciBkZXZpY2UgbmFtZXMgKGM6XFwpIGluIHRoZSBhcnJheVxuLy8gKHNvIGFsc28gbm8gbGVhZGluZyBhbmQgdHJhaWxpbmcgc2xhc2hlcyAtIGl0IGRvZXMgbm90IGRpc3Rpbmd1aXNoXG4vLyByZWxhdGl2ZSBhbmQgYWJzb2x1dGUgcGF0aHMpXG5mdW5jdGlvbiBub3JtYWxpemVBcnJheShwYXJ0cywgYWxsb3dBYm92ZVJvb3QpIHtcbiAgLy8gaWYgdGhlIHBhdGggdHJpZXMgdG8gZ28gYWJvdmUgdGhlIHJvb3QsIGB1cGAgZW5kcyB1cCA+IDBcbiAgdmFyIHVwID0gMDtcbiAgZm9yICh2YXIgaSA9IHBhcnRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgdmFyIGxhc3QgPSBwYXJ0c1tpXTtcbiAgICBpZiAobGFzdCA9PT0gJy4nKSB7XG4gICAgICBwYXJ0cy5zcGxpY2UoaSwgMSk7XG4gICAgfSBlbHNlIGlmIChsYXN0ID09PSAnLi4nKSB7XG4gICAgICBwYXJ0cy5zcGxpY2UoaSwgMSk7XG4gICAgICB1cCsrO1xuICAgIH0gZWxzZSBpZiAodXApIHtcbiAgICAgIHBhcnRzLnNwbGljZShpLCAxKTtcbiAgICAgIHVwLS07XG4gICAgfVxuICB9XG5cbiAgLy8gaWYgdGhlIHBhdGggaXMgYWxsb3dlZCB0byBnbyBhYm92ZSB0aGUgcm9vdCwgcmVzdG9yZSBsZWFkaW5nIC4uc1xuICBpZiAoYWxsb3dBYm92ZVJvb3QpIHtcbiAgICBmb3IgKDsgdXAtLTsgdXApIHtcbiAgICAgIHBhcnRzLnVuc2hpZnQoJy4uJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHBhcnRzO1xufVxuXG4vLyBTcGxpdCBhIGZpbGVuYW1lIGludG8gW3Jvb3QsIGRpciwgYmFzZW5hbWUsIGV4dF0sIHVuaXggdmVyc2lvblxuLy8gJ3Jvb3QnIGlzIGp1c3QgYSBzbGFzaCwgb3Igbm90aGluZy5cbnZhciBzcGxpdFBhdGhSZSA9XG4gICAgL14oXFwvP3wpKFtcXHNcXFNdKj8pKCg/OlxcLnsxLDJ9fFteXFwvXSs/fCkoXFwuW14uXFwvXSp8KSkoPzpbXFwvXSopJC87XG52YXIgc3BsaXRQYXRoID0gZnVuY3Rpb24oZmlsZW5hbWUpIHtcbiAgcmV0dXJuIHNwbGl0UGF0aFJlLmV4ZWMoZmlsZW5hbWUpLnNsaWNlKDEpO1xufTtcblxuLy8gcGF0aC5yZXNvbHZlKFtmcm9tIC4uLl0sIHRvKVxuLy8gcG9zaXggdmVyc2lvblxuZXhwb3J0cy5yZXNvbHZlID0gZnVuY3Rpb24oKSB7XG4gIHZhciByZXNvbHZlZFBhdGggPSAnJyxcbiAgICAgIHJlc29sdmVkQWJzb2x1dGUgPSBmYWxzZTtcblxuICBmb3IgKHZhciBpID0gYXJndW1lbnRzLmxlbmd0aCAtIDE7IGkgPj0gLTEgJiYgIXJlc29sdmVkQWJzb2x1dGU7IGktLSkge1xuICAgIHZhciBwYXRoID0gKGkgPj0gMCkgPyBhcmd1bWVudHNbaV0gOiBwcm9jZXNzLmN3ZCgpO1xuXG4gICAgLy8gU2tpcCBlbXB0eSBhbmQgaW52YWxpZCBlbnRyaWVzXG4gICAgaWYgKHR5cGVvZiBwYXRoICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQXJndW1lbnRzIHRvIHBhdGgucmVzb2x2ZSBtdXN0IGJlIHN0cmluZ3MnKTtcbiAgICB9IGVsc2UgaWYgKCFwYXRoKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICByZXNvbHZlZFBhdGggPSBwYXRoICsgJy8nICsgcmVzb2x2ZWRQYXRoO1xuICAgIHJlc29sdmVkQWJzb2x1dGUgPSBwYXRoLmNoYXJBdCgwKSA9PT0gJy8nO1xuICB9XG5cbiAgLy8gQXQgdGhpcyBwb2ludCB0aGUgcGF0aCBzaG91bGQgYmUgcmVzb2x2ZWQgdG8gYSBmdWxsIGFic29sdXRlIHBhdGgsIGJ1dFxuICAvLyBoYW5kbGUgcmVsYXRpdmUgcGF0aHMgdG8gYmUgc2FmZSAobWlnaHQgaGFwcGVuIHdoZW4gcHJvY2Vzcy5jd2QoKSBmYWlscylcblxuICAvLyBOb3JtYWxpemUgdGhlIHBhdGhcbiAgcmVzb2x2ZWRQYXRoID0gbm9ybWFsaXplQXJyYXkoZmlsdGVyKHJlc29sdmVkUGF0aC5zcGxpdCgnLycpLCBmdW5jdGlvbihwKSB7XG4gICAgcmV0dXJuICEhcDtcbiAgfSksICFyZXNvbHZlZEFic29sdXRlKS5qb2luKCcvJyk7XG5cbiAgcmV0dXJuICgocmVzb2x2ZWRBYnNvbHV0ZSA/ICcvJyA6ICcnKSArIHJlc29sdmVkUGF0aCkgfHwgJy4nO1xufTtcblxuLy8gcGF0aC5ub3JtYWxpemUocGF0aClcbi8vIHBvc2l4IHZlcnNpb25cbmV4cG9ydHMubm9ybWFsaXplID0gZnVuY3Rpb24ocGF0aCkge1xuICB2YXIgaXNBYnNvbHV0ZSA9IGV4cG9ydHMuaXNBYnNvbHV0ZShwYXRoKSxcbiAgICAgIHRyYWlsaW5nU2xhc2ggPSBzdWJzdHIocGF0aCwgLTEpID09PSAnLyc7XG5cbiAgLy8gTm9ybWFsaXplIHRoZSBwYXRoXG4gIHBhdGggPSBub3JtYWxpemVBcnJheShmaWx0ZXIocGF0aC5zcGxpdCgnLycpLCBmdW5jdGlvbihwKSB7XG4gICAgcmV0dXJuICEhcDtcbiAgfSksICFpc0Fic29sdXRlKS5qb2luKCcvJyk7XG5cbiAgaWYgKCFwYXRoICYmICFpc0Fic29sdXRlKSB7XG4gICAgcGF0aCA9ICcuJztcbiAgfVxuICBpZiAocGF0aCAmJiB0cmFpbGluZ1NsYXNoKSB7XG4gICAgcGF0aCArPSAnLyc7XG4gIH1cblxuICByZXR1cm4gKGlzQWJzb2x1dGUgPyAnLycgOiAnJykgKyBwYXRoO1xufTtcblxuLy8gcG9zaXggdmVyc2lvblxuZXhwb3J0cy5pc0Fic29sdXRlID0gZnVuY3Rpb24ocGF0aCkge1xuICByZXR1cm4gcGF0aC5jaGFyQXQoMCkgPT09ICcvJztcbn07XG5cbi8vIHBvc2l4IHZlcnNpb25cbmV4cG9ydHMuam9pbiA9IGZ1bmN0aW9uKCkge1xuICB2YXIgcGF0aHMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDApO1xuICByZXR1cm4gZXhwb3J0cy5ub3JtYWxpemUoZmlsdGVyKHBhdGhzLCBmdW5jdGlvbihwLCBpbmRleCkge1xuICAgIGlmICh0eXBlb2YgcCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50cyB0byBwYXRoLmpvaW4gbXVzdCBiZSBzdHJpbmdzJyk7XG4gICAgfVxuICAgIHJldHVybiBwO1xuICB9KS5qb2luKCcvJykpO1xufTtcblxuXG4vLyBwYXRoLnJlbGF0aXZlKGZyb20sIHRvKVxuLy8gcG9zaXggdmVyc2lvblxuZXhwb3J0cy5yZWxhdGl2ZSA9IGZ1bmN0aW9uKGZyb20sIHRvKSB7XG4gIGZyb20gPSBleHBvcnRzLnJlc29sdmUoZnJvbSkuc3Vic3RyKDEpO1xuICB0byA9IGV4cG9ydHMucmVzb2x2ZSh0bykuc3Vic3RyKDEpO1xuXG4gIGZ1bmN0aW9uIHRyaW0oYXJyKSB7XG4gICAgdmFyIHN0YXJ0ID0gMDtcbiAgICBmb3IgKDsgc3RhcnQgPCBhcnIubGVuZ3RoOyBzdGFydCsrKSB7XG4gICAgICBpZiAoYXJyW3N0YXJ0XSAhPT0gJycpIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBlbmQgPSBhcnIubGVuZ3RoIC0gMTtcbiAgICBmb3IgKDsgZW5kID49IDA7IGVuZC0tKSB7XG4gICAgICBpZiAoYXJyW2VuZF0gIT09ICcnKSBicmVhaztcbiAgICB9XG5cbiAgICBpZiAoc3RhcnQgPiBlbmQpIHJldHVybiBbXTtcbiAgICByZXR1cm4gYXJyLnNsaWNlKHN0YXJ0LCBlbmQgLSBzdGFydCArIDEpO1xuICB9XG5cbiAgdmFyIGZyb21QYXJ0cyA9IHRyaW0oZnJvbS5zcGxpdCgnLycpKTtcbiAgdmFyIHRvUGFydHMgPSB0cmltKHRvLnNwbGl0KCcvJykpO1xuXG4gIHZhciBsZW5ndGggPSBNYXRoLm1pbihmcm9tUGFydHMubGVuZ3RoLCB0b1BhcnRzLmxlbmd0aCk7XG4gIHZhciBzYW1lUGFydHNMZW5ndGggPSBsZW5ndGg7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoZnJvbVBhcnRzW2ldICE9PSB0b1BhcnRzW2ldKSB7XG4gICAgICBzYW1lUGFydHNMZW5ndGggPSBpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgdmFyIG91dHB1dFBhcnRzID0gW107XG4gIGZvciAodmFyIGkgPSBzYW1lUGFydHNMZW5ndGg7IGkgPCBmcm9tUGFydHMubGVuZ3RoOyBpKyspIHtcbiAgICBvdXRwdXRQYXJ0cy5wdXNoKCcuLicpO1xuICB9XG5cbiAgb3V0cHV0UGFydHMgPSBvdXRwdXRQYXJ0cy5jb25jYXQodG9QYXJ0cy5zbGljZShzYW1lUGFydHNMZW5ndGgpKTtcblxuICByZXR1cm4gb3V0cHV0UGFydHMuam9pbignLycpO1xufTtcblxuZXhwb3J0cy5zZXAgPSAnLyc7XG5leHBvcnRzLmRlbGltaXRlciA9ICc6JztcblxuZXhwb3J0cy5kaXJuYW1lID0gZnVuY3Rpb24ocGF0aCkge1xuICB2YXIgcmVzdWx0ID0gc3BsaXRQYXRoKHBhdGgpLFxuICAgICAgcm9vdCA9IHJlc3VsdFswXSxcbiAgICAgIGRpciA9IHJlc3VsdFsxXTtcblxuICBpZiAoIXJvb3QgJiYgIWRpcikge1xuICAgIC8vIE5vIGRpcm5hbWUgd2hhdHNvZXZlclxuICAgIHJldHVybiAnLic7XG4gIH1cblxuICBpZiAoZGlyKSB7XG4gICAgLy8gSXQgaGFzIGEgZGlybmFtZSwgc3RyaXAgdHJhaWxpbmcgc2xhc2hcbiAgICBkaXIgPSBkaXIuc3Vic3RyKDAsIGRpci5sZW5ndGggLSAxKTtcbiAgfVxuXG4gIHJldHVybiByb290ICsgZGlyO1xufTtcblxuXG5leHBvcnRzLmJhc2VuYW1lID0gZnVuY3Rpb24ocGF0aCwgZXh0KSB7XG4gIHZhciBmID0gc3BsaXRQYXRoKHBhdGgpWzJdO1xuICAvLyBUT0RPOiBtYWtlIHRoaXMgY29tcGFyaXNvbiBjYXNlLWluc2Vuc2l0aXZlIG9uIHdpbmRvd3M/XG4gIGlmIChleHQgJiYgZi5zdWJzdHIoLTEgKiBleHQubGVuZ3RoKSA9PT0gZXh0KSB7XG4gICAgZiA9IGYuc3Vic3RyKDAsIGYubGVuZ3RoIC0gZXh0Lmxlbmd0aCk7XG4gIH1cbiAgcmV0dXJuIGY7XG59O1xuXG5cbmV4cG9ydHMuZXh0bmFtZSA9IGZ1bmN0aW9uKHBhdGgpIHtcbiAgcmV0dXJuIHNwbGl0UGF0aChwYXRoKVszXTtcbn07XG5cbmZ1bmN0aW9uIGZpbHRlciAoeHMsIGYpIHtcbiAgICBpZiAoeHMuZmlsdGVyKSByZXR1cm4geHMuZmlsdGVyKGYpO1xuICAgIHZhciByZXMgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHhzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChmKHhzW2ldLCBpLCB4cykpIHJlcy5wdXNoKHhzW2ldKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cblxuLy8gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHIgLSBuZWdhdGl2ZSBpbmRleCBkb24ndCB3b3JrIGluIElFOFxudmFyIHN1YnN0ciA9ICdhYicuc3Vic3RyKC0xKSA9PT0gJ2InXG4gICAgPyBmdW5jdGlvbiAoc3RyLCBzdGFydCwgbGVuKSB7IHJldHVybiBzdHIuc3Vic3RyKHN0YXJ0LCBsZW4pIH1cbiAgICA6IGZ1bmN0aW9uIChzdHIsIHN0YXJ0LCBsZW4pIHtcbiAgICAgICAgaWYgKHN0YXJ0IDwgMCkgc3RhcnQgPSBzdHIubGVuZ3RoICsgc3RhcnQ7XG4gICAgICAgIHJldHVybiBzdHIuc3Vic3RyKHN0YXJ0LCBsZW4pO1xuICAgIH1cbjtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3BhdGgtYnJvd3NlcmlmeS9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcbmNvbnN0IERyb3Bkb3duID0gcmVxdWlyZSgnLi9kcm9wZG93bicpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBhZGQodGFnLCBjbGFzc05hbWUsIHBhcmVudCkge1xuICAgICAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnKTtcbiAgICAgICAgaWYgKGNsYXNzTmFtZSkge1xuICAgICAgICAgICAgZm9yIChsZXQgYyBvZiBjbGFzc05hbWUuc3BsaXQoJyAnKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkX2NsYXNzKGVsZW1lbnQsIGMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9LFxuXG4gICAgcmVtb3ZlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xuICAgIH0sXG5cbiAgICBhZGRfY2xhc3MoZWxlbWVudCwgY2xhc3NOYW1lKSB7XG4gICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdCkge1xuICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTmFtZSArPSBcIiBcIiArIGNsYXNzTmFtZTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICByZW1vdmVfY2xhc3MoZWxlbWVudCwgY2xhc3NOYW1lKSB7XG4gICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdCkge1xuICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTmFtZSA9IGVsZW1lbnQuY2xhc3NOYW1lLnJlcGxhY2UobmV3IFJlZ0V4cCgnKF58XFxcXGIpJyArIGNsYXNzTmFtZS5zcGxpdCgnICcpLmpvaW4oJ3wnKSArICcoXFxcXGJ8JCknLCAnZ2knKSwgJyAnKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICB0b2dnbGUoZWxlbWVudCwgZGVmYXVsdF9kaXNwbGF5ID0gJycpIHtcbiAgICAgICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gZWxlbWVudC5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScgPyBkZWZhdWx0X2Rpc3BsYXkgOiAnbm9uZSc7XG4gICAgfSxcblxuICAgIG1ha2VfZHJvcGRvd24obGFiZWwsIHBhcmVudCwgYnRuX2NsYXNzID0gJ2J0bi1zZWNvbmRhcnknKSB7XG4gICAgICAgIHJldHVybiBuZXcgRHJvcGRvd24oe3BhcmVudDogcGFyZW50LCBsYWJlbDpsYWJlbCwgYnRuX2NsYXNzOmJ0bl9jbGFzc30pO1xuICAgIH1cblxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NsaWVudC91aS9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMjBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcblxuY2xhc3MgRHJvcGRvd24ge1xuICAgIGNvbnN0cnVjdG9yKHtwYXJlbnQsIGxhYmVsLCBidG5fY2xhc3MgPSAnYnRuLXNlY29uZGFyeScsIGl0ZW1zID0gW119KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgYXJndW1lbnRzWzBdKTtcblxuICAgICAgICB0aGlzLmRyb3Bkb3duX2l0ZW1zID0gW107XG4gICAgICAgIHRoaXMuc2V0dXBfYmFja2dyb3VuZF9jbGljaygpO1xuICAgICAgICB0aGlzLm1ha2UoKTtcblxuICAgICAgICAvLyBpbml0IGl0ZW1zXG4gICAgICAgIGlmICh0aGlzLml0ZW1zKSB7XG4gICAgICAgICAgICBmb3IgKGl0ZW0gb2YgdGhpcy5pdGVtcykge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkX2l0ZW0oaXRlbS5sYWJlbCwgaXRlbS5hY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0dXBfYmFja2dyb3VuZF9jbGljaygpIHtcbiAgICAgICAgaWYgKCFkb2N1bWVudC5kcm9wZG93bl9zZXR1cCkge1xuICAgICAgICAgICAgZnJhcHBlLmRyb3Bkb3ducyA9IFtdO1xuICAgICAgICAgICAgLy8gc2V0dXAgaGlkaW5nIGFsbCBkcm9wZG93bnMgb24gY2xpY2tcbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZCBvZiBmcmFwcGUuZHJvcGRvd25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkLmJ1dHRvbiAhPT0gZXZlbnQudGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkLmNvbGxhcHNlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGRvY3VtZW50LmRyb3Bkb3duX3NldHVwID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBmcmFwcGUuZHJvcGRvd25zLnB1c2godGhpcyk7XG4gICAgfVxuXG4gICAgbWFrZSgpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93biA9IGZyYXBwZS51aS5hZGQoJ2RpdicsICdkcm9wZG93bicsIHRoaXMucGFyZW50KTtcbiAgICAgICAgdGhpcy5tYWtlX2J1dHRvbigpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duX21lbnUgPSBmcmFwcGUudWkuYWRkKCdkaXYnLCAnZHJvcGRvd24tbWVudScsIHRoaXMuZHJvcGRvd24pO1xuICAgIH1cblxuICAgIG1ha2VfYnV0dG9uKCkge1xuICAgICAgICB0aGlzLmJ1dHRvbiA9IGZyYXBwZS51aS5hZGQoJ2J1dHRvbicsICdidG4gJyArIHRoaXMuYnRuX2NsYXNzLFxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bik7XG4gICAgICAgIGZyYXBwZS51aS5hZGRfY2xhc3ModGhpcy5idXR0b24sICdkcm9wZG93bi10b2dnbGUnKTtcbiAgICAgICAgdGhpcy5idXR0b24udGV4dENvbnRlbnQgPSB0aGlzLmxhYmVsO1xuICAgICAgICB0aGlzLmJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGV4cGFuZCgpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XG4gICAgICAgIHRoaXMuZHJvcGRvd25fbWVudS5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XG4gICAgfVxuXG4gICAgY29sbGFwc2UoKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd24uY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duX21lbnUuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xuICAgIH1cblxuICAgIHRvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5jbGFzc0xpc3QudG9nZ2xlKCdzaG93Jyk7XG4gICAgICAgIHRoaXMuZHJvcGRvd25fbWVudS5jbGFzc0xpc3QudG9nZ2xlKCdzaG93Jyk7XG4gICAgfVxuXG4gICAgYWRkX2l0ZW0obGFiZWwsIGFjdGlvbikge1xuICAgICAgICBsZXQgaXRlbSA9IGZyYXBwZS51aS5hZGQoJ2J1dHRvbicsICdkcm9wZG93bi1pdGVtJywgdGhpcy5kcm9wZG93bl9tZW51KTtcbiAgICAgICAgaXRlbS50ZXh0Q29udGVudCA9IGxhYmVsO1xuICAgICAgICBpdGVtLnNldEF0dHJpYnV0ZSgndHlwZScsICdidXR0b24nKTtcbiAgICAgICAgaWYgKHR5cGVvZiBhY3Rpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpdGVtLnNyYyA9IGFjdGlvbjtcbiAgICAgICAgICAgIGl0ZW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgZnJhcHBlLnJvdXRlci5zZXRfcm91dGUoYWN0aW9uKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpdGVtLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGF3YWl0IGFjdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRyb3Bkb3duX2l0ZW1zLnB1c2goaXRlbSk7XG4gICAgfVxuXG4gICAgZmxvYXRfcmlnaHQoKSB7XG4gICAgICAgIGZyYXBwZS51aS5hZGRfY2xhc3ModGhpcy5kcm9wZG93biwgJ2Zsb2F0LXJpZ2h0Jyk7XG4gICAgICAgIGZyYXBwZS51aS5hZGRfY2xhc3ModGhpcy5kcm9wZG93bl9tZW51LCAnZHJvcGRvd24tbWVudS1yaWdodCcpO1xuICAgIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBEcm9wZG93bjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9mcmFwcGVqcy9jbGllbnQvdWkvZHJvcGRvd24uanNcbi8vIG1vZHVsZSBpZCA9IDIxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5jb25zdCBTZWFyY2ggPSByZXF1aXJlKCcuL3NlYXJjaCcpO1xuY29uc3QgUm91dGVyID0gcmVxdWlyZSgnZnJhcHBlanMvY29tbW9uL3JvdXRlcicpO1xuY29uc3QgUGFnZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzL2NsaWVudC92aWV3L3BhZ2UnKTtcbmNvbnN0IExpc3QgPSByZXF1aXJlKCdmcmFwcGVqcy9jbGllbnQvdmlldy9saXN0Jyk7XG5jb25zdCBGb3JtID0gcmVxdWlyZSgnZnJhcHBlanMvY2xpZW50L3ZpZXcvZm9ybScpO1xuY29uc3QgTmF2YmFyID0gcmVxdWlyZSgnLi9uYXZiYXInKTtcblxubW9kdWxlLmV4cG9ydHMgPSBjbGFzcyBEZXNrIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZnJhcHBlLnJvdXRlciA9IG5ldyBSb3V0ZXIoKTtcbiAgICAgICAgZnJhcHBlLnJvdXRlci5saXN0ZW4oKTtcblxuICAgICAgICBsZXQgYm9keSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKTtcbiAgICAgICAgdGhpcy5uYXZiYXIgPSBuZXcgTmF2YmFyKCk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ2NvbnRhaW5lci1mbHVpZCcsIGJvZHkpO1xuXG4gICAgICAgIHRoaXMuY29udGFpbmVyX3JvdyA9IGZyYXBwZS51aS5hZGQoJ2RpdicsICdyb3cnLCB0aGlzLmNvbnRhaW5lcilcbiAgICAgICAgdGhpcy5zaWRlYmFyID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ2NvbC1tZC0yIHAtMyBzaWRlYmFyJywgdGhpcy5jb250YWluZXJfcm93KTtcbiAgICAgICAgdGhpcy5ib2R5ID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ2NvbC1tZC0xMCBwLTMgbWFpbicsIHRoaXMuY29udGFpbmVyX3Jvdyk7XG5cbiAgICAgICAgdGhpcy5zaWRlYmFyX2l0ZW1zID0gW107XG4gICAgICAgIHRoaXMucGFnZXMgPSB7XG4gICAgICAgICAgICBsaXN0czoge30sXG4gICAgICAgICAgICBmb3Jtczoge31cbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmluaXRfcm91dGVzKCk7XG5cbiAgICAgICAgLy8gdGhpcy5zZWFyY2ggPSBuZXcgU2VhcmNoKHRoaXMubmF2KTtcbiAgICB9XG5cbiAgICBpbml0X3JvdXRlcygpIHtcbiAgICAgICAgZnJhcHBlLnJvdXRlci5hZGQoJ25vdC1mb3VuZCcsIGFzeW5jIChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5ub3RfZm91bmRfcGFnZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubm90X2ZvdW5kX3BhZ2UgPSBuZXcgUGFnZSgnTm90IEZvdW5kJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCB0aGlzLm5vdF9mb3VuZF9wYWdlLnNob3coKTtcbiAgICAgICAgICAgIHRoaXMubm90X2ZvdW5kX3BhZ2UucmVuZGVyX2Vycm9yKCdOb3QgRm91bmQnLCBwYXJhbXMgPyBwYXJhbXMucm91dGUgOiAnJyk7XG4gICAgICAgIH0pXG5cbiAgICAgICAgZnJhcHBlLnJvdXRlci5hZGQoJ2xpc3QvOmRvY3R5cGUnLCBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBsZXQgcGFnZSA9IHRoaXMuZ2V0X2xpc3RfcGFnZShwYXJhbXMuZG9jdHlwZSk7XG4gICAgICAgICAgICBhd2FpdCBwYWdlLnNob3cocGFyYW1zKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZnJhcHBlLnJvdXRlci5hZGQoJ2VkaXQvOmRvY3R5cGUvOm5hbWUnLCBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBsZXQgcGFnZSA9IHRoaXMuZ2V0X2Zvcm1fcGFnZShwYXJhbXMuZG9jdHlwZSk7XG4gICAgICAgICAgICBhd2FpdCBwYWdlLnNob3cocGFyYW1zKTtcbiAgICAgICAgfSlcblxuICAgICAgICBmcmFwcGUucm91dGVyLmFkZCgnbmV3Lzpkb2N0eXBlJywgYXN5bmMgKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgbGV0IGRvYyA9IGF3YWl0IGZyYXBwZS5nZXRfbmV3X2RvYyhwYXJhbXMuZG9jdHlwZSk7XG4gICAgICAgICAgICBmcmFwcGUucm91dGVyLnNldF9yb3V0ZSgnZWRpdCcsIGRvYy5kb2N0eXBlLCBkb2MubmFtZSk7XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgZ2V0X2xpc3RfcGFnZShkb2N0eXBlKSB7XG4gICAgICAgIGlmICghdGhpcy5wYWdlcy5saXN0c1tkb2N0eXBlXSkge1xuICAgICAgICAgICAgbGV0IHBhZ2UgPSBuZXcgUGFnZSgnTGlzdCAnICsgZG9jdHlwZSk7XG4gICAgICAgICAgICBwYWdlLmxpc3QgPSBuZXcgTGlzdCh7XG4gICAgICAgICAgICAgICAgZG9jdHlwZTogZG9jdHlwZSxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IHBhZ2UuYm9keVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBwYWdlLm9uKCdzaG93JywgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGF3YWl0IHBhZ2UubGlzdC5ydW4oKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5wYWdlcy5saXN0c1tkb2N0eXBlXSA9IHBhZ2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucGFnZXMubGlzdHNbZG9jdHlwZV07XG4gICAgfVxuXG4gICAgZ2V0X2Zvcm1fcGFnZShkb2N0eXBlKSB7XG4gICAgICAgIGlmICghdGhpcy5wYWdlcy5mb3Jtc1tkb2N0eXBlXSkge1xuICAgICAgICAgICAgbGV0IHBhZ2UgPSBuZXcgUGFnZSgnRWRpdCAnICsgZG9jdHlwZSk7XG4gICAgICAgICAgICBwYWdlLmZvcm0gPSBuZXcgRm9ybSh7XG4gICAgICAgICAgICAgICAgZG9jdHlwZTogZG9jdHlwZSxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IHBhZ2UuYm9keVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBwYWdlLm9uKCdzaG93JywgYXN5bmMgKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2UuZG9jID0gYXdhaXQgZnJhcHBlLmdldF9kb2MocGFyYW1zLmRvY3R5cGUsIHBhcmFtcy5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcGFnZS5mb3JtLnVzZShwYWdlLmRvYyk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICBwYWdlLnJlbmRlcl9lcnJvcihlLnN0YXR1c19jb2RlLCBlLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5wYWdlcy5mb3Jtc1tkb2N0eXBlXSA9IHBhZ2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucGFnZXMuZm9ybXNbZG9jdHlwZV07XG4gICAgfVxuXG4gICAgYWRkX3NpZGViYXJfaXRlbShsYWJlbCwgYWN0aW9uKSB7XG4gICAgICAgIGxldCBpdGVtID0gZnJhcHBlLnVpLmFkZCgnYScsICcnLCBmcmFwcGUudWkuYWRkKCdwJywgbnVsbCwgZnJhcHBlLmRlc2suc2lkZWJhcikpO1xuICAgICAgICBpdGVtLnRleHRDb250ZW50ID0gbGFiZWw7XG4gICAgICAgIGlmICh0eXBlb2YgYWN0aW9uID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgaXRlbS5ocmVmID0gYWN0aW9uO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaXRlbS5hZGRFdmVudEhhbmRsZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvbigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9mcmFwcGVqcy9jbGllbnQvZGVzay9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMjJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBjbGFzcyBTZWFyY2gge1xuICAgIGNvbnN0cnVjdG9yKHBhcmVudCkge1xuICAgICAgICB0aGlzLmlucHV0ID0gZnJhcHBlLnVpLmFkZCgnaW5wdXQnLCAnZm9ybS1jb250cm9sIG5hdi1zZWFyY2gnLCBwYXJlbnQpO1xuICAgICAgICB0aGlzLmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXByZXNzJywgZnVuY3Rpb24oZXZlbnQpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5rZXlDb2RlPT09MTMpIHtcbiAgICAgICAgICAgICAgICBsZXQgbGlzdCA9IGZyYXBwZS5yb3V0ZXIuY3VycmVudF9wYWdlLmxpc3Q7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC5zZWFyY2hfdGV4dCA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGxpc3QucnVuKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9mcmFwcGVqcy9jbGllbnQvZGVzay9zZWFyY2guanNcbi8vIG1vZHVsZSBpZCA9IDIzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gY2xhc3MgUm91dGVyIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50X3BhZ2UgPSBudWxsO1xuICAgICAgICB0aGlzLnN0YXRpY19yb3V0ZXMgPSBbXTtcbiAgICAgICAgdGhpcy5keW5hbWljX3JvdXRlcyA9IFtdO1xuICAgIH1cblxuICAgIGFkZChyb3V0ZSwgaGFuZGxlcikge1xuICAgICAgICBsZXQgcGFnZSA9IHtoYW5kbGVyOiBoYW5kbGVyLCByb3V0ZTogcm91dGV9O1xuXG4gICAgICAgIC8vICcvdG9kby86bmFtZS86cGxhY2UnLm1hdGNoKC86KFteL10rKS9nKTtcbiAgICAgICAgcGFnZS5wYXJhbV9rZXlzID0gcm91dGUubWF0Y2goLzooW14vXSspL2cpO1xuXG4gICAgICAgIGlmIChwYWdlLnBhcmFtX2tleXMpIHtcbiAgICAgICAgICAgIC8vIG1ha2UgZXhwcmVzc2lvblxuICAgICAgICAgICAgLy8gJy90b2RvLzpuYW1lLzpwbGFjZScucmVwbGFjZSgvXFwvOihbXi9dKykvZywgXCJcXC8oW14vXSspXCIpO1xuICAgICAgICAgICAgcGFnZS5kZXB0aCA9IHJvdXRlLnNwbGl0KCcvJykubGVuZ3RoO1xuICAgICAgICAgICAgcGFnZS5leHByZXNzaW9uID0gcm91dGUucmVwbGFjZSgvXFwvOihbXi9dKykvZywgXCJcXC8oW14vXSspXCIpO1xuICAgICAgICAgICAgdGhpcy5keW5hbWljX3JvdXRlcy5wdXNoKHBhZ2UpO1xuICAgICAgICAgICAgdGhpcy5zb3J0X2R5bmFtaWNfcm91dGVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRpY19yb3V0ZXMucHVzaChwYWdlKTtcbiAgICAgICAgICAgIHRoaXMuc29ydF9zdGF0aWNfcm91dGVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzb3J0X2R5bmFtaWNfcm91dGVzKCkge1xuICAgICAgICAvLyByb3V0ZXMgd2l0aCBtb3JlIHBhcnRzIGZpcnN0XG4gICAgICAgIHRoaXMuZHluYW1pY19yb3V0ZXMgPSB0aGlzLmR5bmFtaWNfcm91dGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGlmIChhLmRlcHRoIDwgYi5kZXB0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChhLmRlcHRoID4gYi5kZXB0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGEucGFyYW1fa2V5cy5sZW5ndGggIT09IGIucGFyYW1fa2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEucGFyYW1fa2V5cy5sZW5ndGggPiBiLnBhcmFtX2tleXMubGVuZ3RoID8gMSA6IC0xO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhLnJvdXRlLmxlbmd0aCA+IGIucm91dGUubGVuZ3RoID8gMSA6IC0xO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBzb3J0X3N0YXRpY19yb3V0ZXMoKSB7XG4gICAgICAgIC8vIGxvbmdlciByb3V0ZXMgb24gZmlyc3RcbiAgICAgICAgdGhpcy5zdGF0aWNfcm91dGVzID0gdGhpcy5zdGF0aWNfcm91dGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBhLnJvdXRlLmxlbmd0aCA+IGIucm91dGUubGVuZ3RoID8gMSA6IC0xO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBsaXN0ZW4oKSB7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdoYXNoY2hhbmdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3cod2luZG93LmxvY2F0aW9uLmhhc2gpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXRfcm91dGUoLi4ucGFydHMpIHtcbiAgICAgICAgY29uc3Qgcm91dGUgPSBwYXJ0cy5qb2luKCcvJyk7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gcm91dGU7XG4gICAgfVxuXG4gICAgYXN5bmMgc2hvdyhyb3V0ZSkge1xuICAgICAgICBpZiAocm91dGUgJiYgcm91dGVbMF09PT0nIycpIHtcbiAgICAgICAgICAgIHJvdXRlID0gcm91dGUuc3Vic3RyKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFyb3V0ZSkge1xuICAgICAgICAgICAgcm91dGUgPSB0aGlzLmRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHBhZ2UgPSB0aGlzLm1hdGNoKHJvdXRlKTtcblxuICAgICAgICBpZiAocGFnZSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBwYWdlLmhhbmRsZXI9PT0nZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgcGFnZS5oYW5kbGVyKHBhZ2UucGFyYW1zKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgcGFnZS5oYW5kbGVyLnNob3cocGFnZS5wYXJhbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5tYXRjaCgnbm90LWZvdW5kJykuaGFuZGxlcih7cm91dGU6IHJvdXRlfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYXRjaChyb3V0ZSkge1xuICAgICAgICAvLyBtYXRjaCBzdGF0aWNcbiAgICAgICAgZm9yKGxldCBwYWdlIG9mIHRoaXMuc3RhdGljX3JvdXRlcykge1xuICAgICAgICAgICAgaWYgKHBhZ2Uucm91dGUgPT09IHJvdXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtoYW5kbGVyOiBwYWdlLmhhbmRsZXJ9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWF0Y2ggZHluYW1pY1xuICAgICAgICBmb3IobGV0IHBhZ2Ugb2YgdGhpcy5keW5hbWljX3JvdXRlcykge1xuICAgICAgICAgICAgbGV0IG1hdGNoZXMgPSByb3V0ZS5tYXRjaChuZXcgUmVnRXhwKHBhZ2UuZXhwcmVzc2lvbikpO1xuXG4gICAgICAgICAgICBpZiAobWF0Y2hlcyAmJiBtYXRjaGVzLmxlbmd0aCA9PSBwYWdlLnBhcmFtX2tleXMubGVuZ3RoICsgMSkge1xuICAgICAgICAgICAgICAgIGxldCBwYXJhbXMgPSB7fVxuICAgICAgICAgICAgICAgIGZvciAobGV0IGk9MDsgaSA8IHBhZ2UucGFyYW1fa2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXNbcGFnZS5wYXJhbV9rZXlzW2ldLnN1YnN0cigxKV0gPSBtYXRjaGVzW2kgKyAxXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtoYW5kbGVyOnBhZ2UuaGFuZGxlciwgcGFyYW1zOiBwYXJhbXN9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NvbW1vbi9yb3V0ZXIuanNcbi8vIG1vZHVsZSBpZCA9IDI0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gY2xhc3MgUGFnZSB7XG4gICAgY29uc3RydWN0b3IodGl0bGUpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVycyA9IHt9O1xuICAgICAgICB0aGlzLnRpdGxlID0gdGl0bGU7XG4gICAgICAgIHRoaXMubWFrZSgpO1xuICAgIH1cblxuICAgIG1ha2UoKSB7XG4gICAgICAgIHRoaXMud3JhcHBlciA9IGZyYXBwZS51aS5hZGQoJ2RpdicsICdwYWdlIGhpZGUnLCBmcmFwcGUuZGVzay5ib2R5KTtcbiAgICAgICAgdGhpcy5ib2R5ID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ3BhZ2UtYm9keScsIHRoaXMud3JhcHBlcik7XG4gICAgfVxuXG4gICAgaGlkZSgpIHtcbiAgICAgICAgdGhpcy53cmFwcGVyLmNsYXNzTGlzdC5hZGQoJ2hpZGUnKTtcbiAgICAgICAgdGhpcy50cmlnZ2VyKCdoaWRlJyk7XG4gICAgfVxuXG4gICAgYXN5bmMgc2hvdyhwYXJhbXMpIHtcbiAgICAgICAgaWYgKGZyYXBwZS5yb3V0ZXIuY3VycmVudF9wYWdlKSB7XG4gICAgICAgICAgICBmcmFwcGUucm91dGVyLmN1cnJlbnRfcGFnZS5oaWRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53cmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGUnKTtcbiAgICAgICAgdGhpcy5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGUnKTtcblxuICAgICAgICBpZiAodGhpcy5wYWdlX2Vycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VfZXJyb3IuY2xhc3NMaXN0LmFkZCgnaGlkZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgZnJhcHBlLnJvdXRlci5jdXJyZW50X3BhZ2UgPSB0aGlzO1xuICAgICAgICBkb2N1bWVudC50aXRsZSA9IHRoaXMudGl0bGU7XG5cbiAgICAgICAgYXdhaXQgdGhpcy50cmlnZ2VyKCdzaG93JywgcGFyYW1zKTtcbiAgICB9XG5cbiAgICByZW5kZXJfZXJyb3IodGl0bGUsIG1lc3NhZ2UpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhZ2VfZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZV9lcnJvciA9IGZyYXBwZS51aS5hZGQoJ2RpdicsICdwYWdlLWVycm9yJywgdGhpcy53cmFwcGVyKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJvZHkuY2xhc3NMaXN0LmFkZCgnaGlkZScpO1xuICAgICAgICB0aGlzLnBhZ2VfZXJyb3IuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZScpO1xuICAgICAgICB0aGlzLnBhZ2VfZXJyb3IuaW5uZXJIVE1MID0gYDxoMyBjbGFzcz1cInRleHQtZXh0cmEtbXV0ZWRcIj4ke3RpdGxlID8gdGl0bGUgOiBcIlwifTwvaDM+PHAgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+JHttZXNzYWdlID8gbWVzc2FnZSA6IFwiXCJ9PC9wPmA7XG4gICAgfVxuXG4gICAgb24oZXZlbnQsIGZuKSB7XG4gICAgICAgIGlmICghdGhpcy5oYW5kbGVyc1tldmVudF0pIHRoaXMuaGFuZGxlcnNbZXZlbnRdID0gW107XG4gICAgICAgIHRoaXMuaGFuZGxlcnNbZXZlbnRdLnB1c2goZm4pO1xuICAgIH1cblxuICAgIGFzeW5jIHRyaWdnZXIoZXZlbnQsIHBhcmFtcykge1xuICAgICAgICBpZiAodGhpcy5oYW5kbGVyc1tldmVudF0pIHtcbiAgICAgICAgICAgIGZvciAobGV0IGhhbmRsZXIgb2YgdGhpcy5oYW5kbGVyc1tldmVudF0pIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBoYW5kbGVyKHBhcmFtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvcGFnZS5qc1xuLy8gbW9kdWxlIGlkID0gMjVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBjbGFzcyBMaXN0IHtcbiAgICBjb25zdHJ1Y3Rvcih7ZG9jdHlwZSwgcGFyZW50LCBmaWVsZHN9KSB7XG4gICAgICAgIHRoaXMuZG9jdHlwZSA9IGRvY3R5cGU7XG4gICAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcblxuICAgICAgICB0aGlzLm1ldGEgPSBmcmFwcGUuZ2V0X21ldGEodGhpcy5kb2N0eXBlKTtcblxuICAgICAgICB0aGlzLnN0YXJ0ID0gMDtcbiAgICAgICAgdGhpcy5wYWdlX2xlbmd0aCA9IDIwO1xuXG4gICAgICAgIHRoaXMuYm9keSA9IG51bGw7XG4gICAgICAgIHRoaXMucm93cyA9IFtdO1xuICAgICAgICB0aGlzLmRhdGEgPSBbXTtcbiAgICB9XG5cbiAgICBhc3luYyBydW4oKSB7XG4gICAgICAgIHRoaXMubWFrZV9ib2R5KCk7XG4gICAgICAgIHRoaXMuc2V0X2ZpbHRlcnMoKTtcblxuICAgICAgICBsZXQgZGF0YSA9IGF3YWl0IHRoaXMubWV0YS5nZXRfbGlzdCh7XG4gICAgICAgICAgICBmaWx0ZXJzOiB0aGlzLmZpbHRlcnMsXG4gICAgICAgICAgICBzdGFydDp0aGlzLnN0YXJ0LFxuICAgICAgICAgICAgbGltaXQ6dGhpcy5wYWdlX2xlbmd0aCArIDFcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm9yIChsZXQgaT0wOyBpPCBNYXRoLm1pbih0aGlzLnBhZ2VfbGVuZ3RoLCBkYXRhLmxlbmd0aCk7IGkrKykge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJfcm93KHRoaXMuc3RhcnQgKyBpLCBkYXRhW2ldKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnN0YXJ0ID4gMCkge1xuICAgICAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLmNvbmNhdChkYXRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsZWFyX2VtcHR5X3Jvd3MoKTtcbiAgICAgICAgdGhpcy51cGRhdGVfbW9yZShkYXRhLmxlbmd0aCA+IHRoaXMucGFnZV9sZW5ndGgpO1xuICAgIH1cblxuICAgIGFzeW5jIGFwcGVuZCgpIHtcbiAgICAgICAgdGhpcy5zdGFydCArPSB0aGlzLnBhZ2VfbGVuZ3RoO1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bigpO1xuICAgIH1cblxuICAgIHNldF9maWx0ZXJzKCkge1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSB7fTtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoX2lucHV0LnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcnMua2V5d29yZHMgPSBbJ2xpa2UnLCAnJScgKyB0aGlzLnNlYXJjaF9pbnB1dC52YWx1ZSArICclJ107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYWtlX2JvZHkoKSB7XG4gICAgICAgIGlmICghdGhpcy5ib2R5KSB7XG4gICAgICAgICAgICB0aGlzLm1ha2VfdG9vbGJhcigpO1xuICAgICAgICAgICAgLy90aGlzLm1ha2VfbmV3KCk7XG4gICAgICAgICAgICB0aGlzLmJvZHkgPSBmcmFwcGUudWkuYWRkKCdkaXYnLCAnbGlzdC1ib2R5JywgdGhpcy5wYXJlbnQpO1xuICAgICAgICAgICAgdGhpcy5tYWtlX21vcmVfYnRuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYWtlX3Rvb2xiYXIoKSB7XG4gICAgICAgIHRoaXMudG9vbGJhciA9IGZyYXBwZS51aS5hZGQoJ2RpdicsICdsaXN0LXRvb2xiYXInLCB0aGlzLnBhcmVudCk7XG4gICAgICAgIHRoaXMudG9vbGJhci5pbm5lckhUTUwgPSBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC05XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBsaXN0LXNlYXJjaCBtYi0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoLi4uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLXNlYXJjaFwiPlNlYXJjaDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBjb2wtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI25ldy8ke2ZyYXBwZS5zbHVnKHRoaXMuZG9jdHlwZSl9XCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgTmV3XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICBgO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoX2lucHV0ID0gdGhpcy50b29sYmFyLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XG4gICAgICAgIHRoaXMuc2VhcmNoX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXByZXNzJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQua2V5Q29kZT09PTEzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ydW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hfYnV0dG9uID0gdGhpcy50b29sYmFyLnF1ZXJ5U2VsZWN0b3IoJy5idG4tc2VhcmNoJyk7XG4gICAgICAgIHRoaXMuc2VhcmNoX2J1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ydW4oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbWFrZV9tb3JlX2J0bigpIHtcbiAgICAgICAgdGhpcy5tb3JlX2J0biA9IGZyYXBwZS51aS5hZGQoJ2J1dHRvbicsICdidG4gYnRuLXNlY29uZGFyeSBoaWRlJywgdGhpcy5wYXJlbnQpO1xuICAgICAgICB0aGlzLm1vcmVfYnRuLnRleHRDb250ZW50ID0gJ01vcmUnO1xuICAgICAgICB0aGlzLm1vcmVfYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHBlbmQoKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICByZW5kZXJfcm93KGksIGRhdGEpIHtcbiAgICAgICAgbGV0IHJvdyA9IHRoaXMuZ2V0X3JvdyhpKTtcbiAgICAgICAgcm93LmlubmVySFRNTCA9IHRoaXMubWV0YS5nZXRfcm93X2h0bWwoZGF0YSk7XG4gICAgICAgIHJvdy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICB9XG5cbiAgICBnZXRfcm93KGkpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJvd3NbaV0pIHtcbiAgICAgICAgICAgIHRoaXMucm93c1tpXSA9IGZyYXBwZS51aS5hZGQoJ2RpdicsICdsaXN0LXJvdyBweS0yJywgdGhpcy5ib2R5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5yb3dzW2ldO1xuICAgIH1cblxuICAgIGNsZWFyX2VtcHR5X3Jvd3MoKSB7XG4gICAgICAgIGlmICh0aGlzLnJvd3MubGVuZ3RoID4gdGhpcy5kYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaT10aGlzLmRhdGEubGVuZ3RoOyBpIDwgdGhpcy5yb3dzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IHJvdyA9IHRoaXMuZ2V0X3JvdyhpKTtcbiAgICAgICAgICAgICAgICByb3cuaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgcm93LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVfbW9yZShzaG93KSB7XG4gICAgICAgIGlmIChzaG93KSB7XG4gICAgICAgICAgICB0aGlzLm1vcmVfYnRuLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGUnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubW9yZV9idG4uY2xhc3NMaXN0LmFkZCgnaGlkZScpO1xuICAgICAgICB9XG4gICAgfVxuXG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NsaWVudC92aWV3L2xpc3QuanNcbi8vIG1vZHVsZSBpZCA9IDI2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5jb25zdCBjb250cm9scyA9IHJlcXVpcmUoJy4vY29udHJvbHMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBjbGFzcyBGb3JtIHtcbiAgICBjb25zdHJ1Y3Rvcih7ZG9jdHlwZSwgcGFyZW50LCBzdWJtaXRfbGFiZWw9J1N1Ym1pdCd9KSB7XG4gICAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgICAgICB0aGlzLmRvY3R5cGUgPSBkb2N0eXBlO1xuICAgICAgICB0aGlzLnN1Ym1pdF9sYWJlbCA9IHN1Ym1pdF9sYWJlbDtcblxuICAgICAgICB0aGlzLmNvbnRyb2xzID0ge307XG4gICAgICAgIHRoaXMuY29udHJvbHNfbGlzdCA9IFtdO1xuXG4gICAgICAgIHRoaXMubWV0YSA9IGZyYXBwZS5nZXRfbWV0YSh0aGlzLmRvY3R5cGUpO1xuICAgICAgICB0aGlzLm1ha2UoKTtcbiAgICB9XG5cbiAgICBtYWtlKCkge1xuICAgICAgICBpZiAodGhpcy5ib2R5IHx8ICF0aGlzLnBhcmVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ib2R5ID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ2Zvcm0tYm9keScsIHRoaXMucGFyZW50KTtcbiAgICAgICAgdGhpcy5tYWtlX3Rvb2xiYXIoKTtcblxuICAgICAgICB0aGlzLmZvcm0gPSBmcmFwcGUudWkuYWRkKCdmb3JtJywgbnVsbCwgdGhpcy5ib2R5KTtcbiAgICAgICAgZm9yKGxldCBkZiBvZiB0aGlzLm1ldGEuZmllbGRzKSB7XG4gICAgICAgICAgICBpZiAoY29udHJvbHMuZ2V0X2NvbnRyb2xfY2xhc3MoZGYuZmllbGR0eXBlKSkge1xuICAgICAgICAgICAgICAgIGxldCBjb250cm9sID0gY29udHJvbHMubWFrZV9jb250cm9sKGRmLCB0aGlzLmZvcm0pO1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbHNfbGlzdC5wdXNoKGNvbnRyb2wpO1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbHNbZGYuZmllbGRuYW1lXSA9IGNvbnRyb2w7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYWtlX3Rvb2xiYXIoKSB7XG4gICAgICAgIHRoaXMudG9vbGJhciA9IGZyYXBwZS51aS5hZGQoJ2RpdicsICdmb3JtLXRvb2xiYXIgdGV4dC1yaWdodCcsIHRoaXMuYm9keSk7XG4gICAgICAgIHRoaXMudG9vbGJhci5pbm5lckhUTUwgPSBgXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tZGVsZXRlXCI+RGVsZXRlPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zdWJtaXRcIj5TYXZlPC9idXR0b24+XG4gICAgICAgIGBcblxuICAgICAgICB0aGlzLmJ0bl9zdWJtaXQgPSB0aGlzLnRvb2xiYXIucXVlcnlTZWxlY3RvcignLmJ0bi1zdWJtaXQnKTs7XG4gICAgICAgIHRoaXMuYnRuX3N1Ym1pdC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGFzeW5jIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJtaXQoKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0pXG5cbiAgICAgICAgdGhpcy5idG5fZGVsZXRlID0gdGhpcy50b29sYmFyLnF1ZXJ5U2VsZWN0b3IoJy5idG4tZGVsZXRlJyk7XG4gICAgICAgIHRoaXMuYnRuX2RlbGV0ZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZG9jLmRlbGV0ZSgpO1xuICAgICAgICAgICAgdGhpcy5zaG93X2FsZXJ0KCdEZWxldGVkJywgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG5cbiAgICBzaG93X2FsZXJ0KG1lc3NhZ2UsIHR5cGUpIHtcbiAgICAgICAgdGhpcy5jbGVhcl9hbGVydCgpO1xuICAgICAgICB0aGlzLmFsZXJ0ID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgYGFsZXJ0IGFsZXJ0LSR7dHlwZX1gLCB0aGlzLmJvZHkpO1xuICAgICAgICB0aGlzLmFsZXJ0LnRleHRDb250ZW50ID0gbWVzc2FnZTtcbiAgICB9XG5cbiAgICBjbGVhcl9hbGVydCgpIHtcbiAgICAgICAgaWYgKHRoaXMuYWxlcnQpIHtcbiAgICAgICAgICAgIGZyYXBwZS51aS5yZW1vdmUodGhpcy5hbGVydCk7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIHVzZShkb2MsIGlzX25ldyA9IGZhbHNlKSB7XG4gICAgICAgIGlmICh0aGlzLmRvYykge1xuICAgICAgICAgICAgLy8gY2xlYXIgaGFuZGxlcnMgb2Ygb3V0Z29pbmcgZG9jXG4gICAgICAgICAgICB0aGlzLmRvYy5jbGVhcl9oYW5kbGVycygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2xlYXJfYWxlcnQoKTtcbiAgICAgICAgdGhpcy5kb2MgPSBkb2M7XG4gICAgICAgIHRoaXMuaXNfbmV3ID0gaXNfbmV3O1xuICAgICAgICBmb3IgKGxldCBjb250cm9sIG9mIHRoaXMuY29udHJvbHNfbGlzdCkge1xuICAgICAgICAgICAgY29udHJvbC5iaW5kKHRoaXMuZG9jKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIHN1Ym1pdCgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzX25ldyB8fCB0aGlzLmRvYy5fX25vdF9pbnNlcnRlZCkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZG9jLmluc2VydCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmRvYy51cGRhdGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IHRoaXMucmVmcmVzaCgpO1xuICAgICAgICAgICAgdGhpcy5zaG93X2FsZXJ0KCdTYXZlZCcsICdzdWNjZXNzJyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd19hbGVydCgnRmFpbGVkJywgJ2RhbmdlcicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVmcmVzaCgpIHtcbiAgICAgICAgZm9yKGxldCBjb250cm9sIG9mIHRoaXMuY29udHJvbHNfbGlzdCkge1xuICAgICAgICAgICAgY29udHJvbC5yZWZyZXNoKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9mcmFwcGVqcy9jbGllbnQvdmlldy9mb3JtLmpzXG4vLyBtb2R1bGUgaWQgPSAyN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJjb25zdCBjb250cm9sX2NsYXNzZXMgPSB7XG4gICAgRGF0YTogcmVxdWlyZSgnLi9kYXRhJyksXG4gICAgVGV4dDogcmVxdWlyZSgnLi90ZXh0JyksXG4gICAgU2VsZWN0OiByZXF1aXJlKCcuL3NlbGVjdCcpLFxuICAgIExpbms6IHJlcXVpcmUoJy4vbGluaycpXG59XG5cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZ2V0X2NvbnRyb2xfY2xhc3MoZmllbGR0eXBlKSB7XG4gICAgICAgIHJldHVybiBjb250cm9sX2NsYXNzZXNbZmllbGR0eXBlXTtcbiAgICB9LFxuICAgIG1ha2VfY29udHJvbChmaWVsZCwgcGFyZW50KSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xfY2xhc3MgPSB0aGlzLmdldF9jb250cm9sX2NsYXNzKGZpZWxkLmZpZWxkdHlwZSk7XG4gICAgICAgIGxldCBjb250cm9sID0gbmV3IGNvbnRyb2xfY2xhc3MoZmllbGQsIHBhcmVudCk7XG4gICAgICAgIGNvbnRyb2wubWFrZSgpO1xuICAgICAgICByZXR1cm4gY29udHJvbDtcbiAgICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvY29udHJvbHMvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDI4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IEJhc2VDb250cm9sID0gcmVxdWlyZSgnLi9iYXNlJyk7XG5cbmNsYXNzIERhdGFDb250cm9sIGV4dGVuZHMgQmFzZUNvbnRyb2wge1xuICAgIG1ha2UoKSB7XG4gICAgICAgIHN1cGVyLm1ha2UoKTtcbiAgICAgICAgdGhpcy5pbnB1dC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dCcpO1xuICAgIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gRGF0YUNvbnRyb2w7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvY29udHJvbHMvZGF0YS5qc1xuLy8gbW9kdWxlIGlkID0gMjlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgQmFzZUNvbnRyb2wgPSByZXF1aXJlKCcuL2Jhc2UnKTtcblxuY2xhc3MgVGV4dENvbnRyb2wgZXh0ZW5kcyBCYXNlQ29udHJvbCB7XG4gICAgbWFrZV9pbnB1dCgpIHtcbiAgICAgICAgdGhpcy5pbnB1dCA9IGZyYXBwZS51aS5hZGQoJ3RleHRhcmVhJywgJ2Zvcm0tY29udHJvbCcsIHRoaXMuZm9ybV9ncm91cCk7XG4gICAgfVxuICAgIG1ha2UoKSB7XG4gICAgICAgIHN1cGVyLm1ha2UoKTtcbiAgICAgICAgdGhpcy5pbnB1dC5zZXRBdHRyaWJ1dGUoJ3Jvd3MnLCAnOCcpO1xuICAgIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gVGV4dENvbnRyb2w7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvY29udHJvbHMvdGV4dC5qc1xuLy8gbW9kdWxlIGlkID0gMzBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgQmFzZUNvbnRyb2wgPSByZXF1aXJlKCcuL2Jhc2UnKTtcblxuY2xhc3MgU2VsZWN0Q29udHJvbCBleHRlbmRzIEJhc2VDb250cm9sIHtcbiAgICBtYWtlX2lucHV0KCkge1xuICAgICAgICB0aGlzLmlucHV0ID0gZnJhcHBlLnVpLmFkZCgnc2VsZWN0JywgJ2Zvcm0tY29udHJvbCcsIHRoaXMuZm9ybV9ncm91cCk7XG5cbiAgICAgICAgbGV0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucz09PSdzdHJpbmcnKSB7XG4gICAgICAgICAgICBvcHRpb25zID0gb3B0aW9ucy5zcGxpdCgnXFxuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGxldCB2YWx1ZSBvZiBvcHRpb25zKSB7XG4gICAgICAgICAgICBsZXQgb3B0aW9uID0gZnJhcHBlLnVpLmFkZCgnb3B0aW9uJywgbnVsbCwgdGhpcy5pbnB1dCk7XG4gICAgICAgICAgICBvcHRpb24udGV4dENvbnRlbnQgPSB2YWx1ZTtcbiAgICAgICAgICAgIG9wdGlvbi5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG1ha2UoKSB7XG4gICAgICAgIHN1cGVyLm1ha2UoKTtcbiAgICAgICAgdGhpcy5pbnB1dC5zZXRBdHRyaWJ1dGUoJ3JvdycsICczJyk7XG4gICAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSBTZWxlY3RDb250cm9sO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NsaWVudC92aWV3L2NvbnRyb2xzL3NlbGVjdC5qc1xuLy8gbW9kdWxlIGlkID0gMzFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcbmNvbnN0IEJhc2VDb250cm9sID0gcmVxdWlyZSgnLi9iYXNlJyk7XG5jb25zdCBBd2Vzb21wbGV0ZSA9IHJlcXVpcmUoJ2F3ZXNvbXBsZXRlJyk7XG5cbmNsYXNzIExpbmtDb250cm9sIGV4dGVuZHMgQmFzZUNvbnRyb2wge1xuICAgIG1ha2UoKSB7XG4gICAgICAgIHN1cGVyLm1ha2UoKTtcblx0XHR0aGlzLmlucHV0LnNldEF0dHJpYnV0ZSgndHlwZScsICd0ZXh0Jyk7XG5cdFx0dGhpcy5hd2Vzb21wbGV0ZSA9IG5ldyBBd2Vzb21wbGV0ZSh0aGlzLmlucHV0LCB7XG5cdFx0XHRhdXRvRmlyc3Q6IHRydWUsXG5cdFx0XHRtaW5DaGFyczogMCxcblx0XHRcdG1heEl0ZW1zOiA5OVxuXHRcdH0pO1xuXG5cdFx0Ly8gcmVidWlsZCB0aGUgbGlzdCBvbiBpbnB1dFxuXHRcdHRoaXMuaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBhc3luYyAoZXZlbnQpID0+IHtcblx0XHRcdHRoaXMuYXdlc29tcGxldGUubGlzdCA9IChhd2FpdCBmcmFwcGUuZGIuZ2V0X2FsbCh7XG5cdFx0XHRcdGRvY3R5cGU6IHRoaXMub3B0aW9ucyxcblx0XHRcdFx0ZmlsdGVyczoge2tleXdvcmRzOiBbXCJsaWtlXCIsIHRoaXMuaW5wdXQudmFsdWVdfSxcblx0XHRcdFx0bGltaXQ6IDUwXG5cdFx0XHR9KSkubWFwKGQgPT4gZC5uYW1lKTtcblx0XHR9KTtcbiAgICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IExpbmtDb250cm9sO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NsaWVudC92aWV3L2NvbnRyb2xzL2xpbmsuanNcbi8vIG1vZHVsZSBpZCA9IDMyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKlxuICogU2ltcGxlLCBsaWdodHdlaWdodCwgdXNhYmxlIGxvY2FsIGF1dG9jb21wbGV0ZSBsaWJyYXJ5IGZvciBtb2Rlcm4gYnJvd3NlcnNcbiAqIEJlY2F1c2UgdGhlcmUgd2VyZW7igJl0IGVub3VnaCBhdXRvY29tcGxldGUgc2NyaXB0cyBpbiB0aGUgd29ybGQ/IEJlY2F1c2UgSeKAmW0gY29tcGxldGVseSBpbnNhbmUgYW5kIGhhdmUgTklIIHN5bmRyb21lPyBQcm9iYWJseSBib3RoLiA6UFxuICogQGF1dGhvciBMZWEgVmVyb3UgaHR0cDovL2xlYXZlcm91LmdpdGh1Yi5pby9hd2Vzb21wbGV0ZVxuICogTUlUIGxpY2Vuc2VcbiAqL1xuXG4oZnVuY3Rpb24gKCkge1xuXG52YXIgXyA9IGZ1bmN0aW9uIChpbnB1dCwgbykge1xuXHR2YXIgbWUgPSB0aGlzO1xuXG5cdC8vIFNldHVwXG5cblx0dGhpcy5pc09wZW5lZCA9IGZhbHNlO1xuXG5cdHRoaXMuaW5wdXQgPSAkKGlucHV0KTtcblx0dGhpcy5pbnB1dC5zZXRBdHRyaWJ1dGUoXCJhdXRvY29tcGxldGVcIiwgXCJvZmZcIik7XG5cdHRoaXMuaW5wdXQuc2V0QXR0cmlidXRlKFwiYXJpYS1hdXRvY29tcGxldGVcIiwgXCJsaXN0XCIpO1xuXG5cdG8gPSBvIHx8IHt9O1xuXG5cdGNvbmZpZ3VyZSh0aGlzLCB7XG5cdFx0bWluQ2hhcnM6IDIsXG5cdFx0bWF4SXRlbXM6IDEwLFxuXHRcdGF1dG9GaXJzdDogZmFsc2UsXG5cdFx0ZGF0YTogXy5EQVRBLFxuXHRcdGZpbHRlcjogXy5GSUxURVJfQ09OVEFJTlMsXG5cdFx0c29ydDogby5zb3J0ID09PSBmYWxzZSA/IGZhbHNlIDogXy5TT1JUX0JZTEVOR1RILFxuXHRcdGl0ZW06IF8uSVRFTSxcblx0XHRyZXBsYWNlOiBfLlJFUExBQ0Vcblx0fSwgbyk7XG5cblx0dGhpcy5pbmRleCA9IC0xO1xuXG5cdC8vIENyZWF0ZSBuZWNlc3NhcnkgZWxlbWVudHNcblxuXHR0aGlzLmNvbnRhaW5lciA9ICQuY3JlYXRlKFwiZGl2XCIsIHtcblx0XHRjbGFzc05hbWU6IFwiYXdlc29tcGxldGVcIixcblx0XHRhcm91bmQ6IGlucHV0XG5cdH0pO1xuXG5cdHRoaXMudWwgPSAkLmNyZWF0ZShcInVsXCIsIHtcblx0XHRoaWRkZW46IFwiaGlkZGVuXCIsXG5cdFx0aW5zaWRlOiB0aGlzLmNvbnRhaW5lclxuXHR9KTtcblxuXHR0aGlzLnN0YXR1cyA9ICQuY3JlYXRlKFwic3BhblwiLCB7XG5cdFx0Y2xhc3NOYW1lOiBcInZpc3VhbGx5LWhpZGRlblwiLFxuXHRcdHJvbGU6IFwic3RhdHVzXCIsXG5cdFx0XCJhcmlhLWxpdmVcIjogXCJhc3NlcnRpdmVcIixcblx0XHRcImFyaWEtcmVsZXZhbnRcIjogXCJhZGRpdGlvbnNcIixcblx0XHRpbnNpZGU6IHRoaXMuY29udGFpbmVyXG5cdH0pO1xuXG5cdC8vIEJpbmQgZXZlbnRzXG5cblx0dGhpcy5fZXZlbnRzID0ge1xuXHRcdGlucHV0OiB7XG5cdFx0XHRcImlucHV0XCI6IHRoaXMuZXZhbHVhdGUuYmluZCh0aGlzKSxcblx0XHRcdFwiYmx1clwiOiB0aGlzLmNsb3NlLmJpbmQodGhpcywgeyByZWFzb246IFwiYmx1clwiIH0pLFxuXHRcdFx0XCJrZXlkb3duXCI6IGZ1bmN0aW9uKGV2dCkge1xuXHRcdFx0XHR2YXIgYyA9IGV2dC5rZXlDb2RlO1xuXG5cdFx0XHRcdC8vIElmIHRoZSBkcm9wZG93biBgdWxgIGlzIGluIHZpZXcsIHRoZW4gYWN0IG9uIGtleWRvd24gZm9yIHRoZSBmb2xsb3dpbmcga2V5czpcblx0XHRcdFx0Ly8gRW50ZXIgLyBFc2MgLyBVcCAvIERvd25cblx0XHRcdFx0aWYobWUub3BlbmVkKSB7XG5cdFx0XHRcdFx0aWYgKGMgPT09IDEzICYmIG1lLnNlbGVjdGVkKSB7IC8vIEVudGVyXG5cdFx0XHRcdFx0XHRldnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdFx0XHRcdG1lLnNlbGVjdCgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRlbHNlIGlmIChjID09PSAyNykgeyAvLyBFc2Ncblx0XHRcdFx0XHRcdG1lLmNsb3NlKHsgcmVhc29uOiBcImVzY1wiIH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRlbHNlIGlmIChjID09PSAzOCB8fCBjID09PSA0MCkgeyAvLyBEb3duL1VwIGFycm93XG5cdFx0XHRcdFx0XHRldnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdFx0XHRcdG1lW2MgPT09IDM4PyBcInByZXZpb3VzXCIgOiBcIm5leHRcIl0oKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdGZvcm06IHtcblx0XHRcdFwic3VibWl0XCI6IHRoaXMuY2xvc2UuYmluZCh0aGlzLCB7IHJlYXNvbjogXCJzdWJtaXRcIiB9KVxuXHRcdH0sXG5cdFx0dWw6IHtcblx0XHRcdFwibW91c2Vkb3duXCI6IGZ1bmN0aW9uKGV2dCkge1xuXHRcdFx0XHR2YXIgbGkgPSBldnQudGFyZ2V0O1xuXG5cdFx0XHRcdGlmIChsaSAhPT0gdGhpcykge1xuXG5cdFx0XHRcdFx0d2hpbGUgKGxpICYmICEvbGkvaS50ZXN0KGxpLm5vZGVOYW1lKSkge1xuXHRcdFx0XHRcdFx0bGkgPSBsaS5wYXJlbnROb2RlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGlmIChsaSAmJiBldnQuYnV0dG9uID09PSAwKSB7ICAvLyBPbmx5IHNlbGVjdCBvbiBsZWZ0IGNsaWNrXG5cdFx0XHRcdFx0XHRldnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdFx0XHRcdG1lLnNlbGVjdChsaSwgZXZ0LnRhcmdldCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXG5cdCQuYmluZCh0aGlzLmlucHV0LCB0aGlzLl9ldmVudHMuaW5wdXQpO1xuXHQkLmJpbmQodGhpcy5pbnB1dC5mb3JtLCB0aGlzLl9ldmVudHMuZm9ybSk7XG5cdCQuYmluZCh0aGlzLnVsLCB0aGlzLl9ldmVudHMudWwpO1xuXG5cdGlmICh0aGlzLmlucHV0Lmhhc0F0dHJpYnV0ZShcImxpc3RcIikpIHtcblx0XHR0aGlzLmxpc3QgPSBcIiNcIiArIHRoaXMuaW5wdXQuZ2V0QXR0cmlidXRlKFwibGlzdFwiKTtcblx0XHR0aGlzLmlucHV0LnJlbW92ZUF0dHJpYnV0ZShcImxpc3RcIik7XG5cdH1cblx0ZWxzZSB7XG5cdFx0dGhpcy5saXN0ID0gdGhpcy5pbnB1dC5nZXRBdHRyaWJ1dGUoXCJkYXRhLWxpc3RcIikgfHwgby5saXN0IHx8IFtdO1xuXHR9XG5cblx0Xy5hbGwucHVzaCh0aGlzKTtcbn07XG5cbl8ucHJvdG90eXBlID0ge1xuXHRzZXQgbGlzdChsaXN0KSB7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkobGlzdCkpIHtcblx0XHRcdHRoaXMuX2xpc3QgPSBsaXN0O1xuXHRcdH1cblx0XHRlbHNlIGlmICh0eXBlb2YgbGlzdCA9PT0gXCJzdHJpbmdcIiAmJiBsaXN0LmluZGV4T2YoXCIsXCIpID4gLTEpIHtcblx0XHRcdFx0dGhpcy5fbGlzdCA9IGxpc3Quc3BsaXQoL1xccyosXFxzKi8pO1xuXHRcdH1cblx0XHRlbHNlIHsgLy8gRWxlbWVudCBvciBDU1Mgc2VsZWN0b3Jcblx0XHRcdGxpc3QgPSAkKGxpc3QpO1xuXG5cdFx0XHRpZiAobGlzdCAmJiBsaXN0LmNoaWxkcmVuKSB7XG5cdFx0XHRcdHZhciBpdGVtcyA9IFtdO1xuXHRcdFx0XHRzbGljZS5hcHBseShsaXN0LmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkge1xuXHRcdFx0XHRcdGlmICghZWwuZGlzYWJsZWQpIHtcblx0XHRcdFx0XHRcdHZhciB0ZXh0ID0gZWwudGV4dENvbnRlbnQudHJpbSgpO1xuXHRcdFx0XHRcdFx0dmFyIHZhbHVlID0gZWwudmFsdWUgfHwgdGV4dDtcblx0XHRcdFx0XHRcdHZhciBsYWJlbCA9IGVsLmxhYmVsIHx8IHRleHQ7XG5cdFx0XHRcdFx0XHRpZiAodmFsdWUgIT09IFwiXCIpIHtcblx0XHRcdFx0XHRcdFx0aXRlbXMucHVzaCh7IGxhYmVsOiBsYWJlbCwgdmFsdWU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHRcdHRoaXMuX2xpc3QgPSBpdGVtcztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5pbnB1dCkge1xuXHRcdFx0dGhpcy5ldmFsdWF0ZSgpO1xuXHRcdH1cblx0fSxcblxuXHRnZXQgc2VsZWN0ZWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuaW5kZXggPiAtMTtcblx0fSxcblxuXHRnZXQgb3BlbmVkKCkge1xuXHRcdHJldHVybiB0aGlzLmlzT3BlbmVkO1xuXHR9LFxuXG5cdGNsb3NlOiBmdW5jdGlvbiAobykge1xuXHRcdGlmICghdGhpcy5vcGVuZWQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLnVsLnNldEF0dHJpYnV0ZShcImhpZGRlblwiLCBcIlwiKTtcblx0XHR0aGlzLmlzT3BlbmVkID0gZmFsc2U7XG5cdFx0dGhpcy5pbmRleCA9IC0xO1xuXG5cdFx0JC5maXJlKHRoaXMuaW5wdXQsIFwiYXdlc29tcGxldGUtY2xvc2VcIiwgbyB8fCB7fSk7XG5cdH0sXG5cblx0b3BlbjogZnVuY3Rpb24gKCkge1xuXHRcdHRoaXMudWwucmVtb3ZlQXR0cmlidXRlKFwiaGlkZGVuXCIpO1xuXHRcdHRoaXMuaXNPcGVuZWQgPSB0cnVlO1xuXG5cdFx0aWYgKHRoaXMuYXV0b0ZpcnN0ICYmIHRoaXMuaW5kZXggPT09IC0xKSB7XG5cdFx0XHR0aGlzLmdvdG8oMCk7XG5cdFx0fVxuXG5cdFx0JC5maXJlKHRoaXMuaW5wdXQsIFwiYXdlc29tcGxldGUtb3BlblwiKTtcblx0fSxcblxuXHRkZXN0cm95OiBmdW5jdGlvbigpIHtcblx0XHQvL3JlbW92ZSBldmVudHMgZnJvbSB0aGUgaW5wdXQgYW5kIGl0cyBmb3JtXG5cdFx0JC51bmJpbmQodGhpcy5pbnB1dCwgdGhpcy5fZXZlbnRzLmlucHV0KTtcblx0XHQkLnVuYmluZCh0aGlzLmlucHV0LmZvcm0sIHRoaXMuX2V2ZW50cy5mb3JtKTtcblxuXHRcdC8vbW92ZSB0aGUgaW5wdXQgb3V0IG9mIHRoZSBhd2Vzb21wbGV0ZSBjb250YWluZXIgYW5kIHJlbW92ZSB0aGUgY29udGFpbmVyIGFuZCBpdHMgY2hpbGRyZW5cblx0XHR2YXIgcGFyZW50Tm9kZSA9IHRoaXMuY29udGFpbmVyLnBhcmVudE5vZGU7XG5cblx0XHRwYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLmlucHV0LCB0aGlzLmNvbnRhaW5lcik7XG5cdFx0cGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lcik7XG5cblx0XHQvL3JlbW92ZSBhdXRvY29tcGxldGUgYW5kIGFyaWEtYXV0b2NvbXBsZXRlIGF0dHJpYnV0ZXNcblx0XHR0aGlzLmlucHV0LnJlbW92ZUF0dHJpYnV0ZShcImF1dG9jb21wbGV0ZVwiKTtcblx0XHR0aGlzLmlucHV0LnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtYXV0b2NvbXBsZXRlXCIpO1xuXG5cdFx0Ly9yZW1vdmUgdGhpcyBhd2Vzb21lcGxldGUgaW5zdGFuY2UgZnJvbSB0aGUgZ2xvYmFsIGFycmF5IG9mIGluc3RhbmNlc1xuXHRcdHZhciBpbmRleE9mQXdlc29tcGxldGUgPSBfLmFsbC5pbmRleE9mKHRoaXMpO1xuXG5cdFx0aWYgKGluZGV4T2ZBd2Vzb21wbGV0ZSAhPT0gLTEpIHtcblx0XHRcdF8uYWxsLnNwbGljZShpbmRleE9mQXdlc29tcGxldGUsIDEpO1xuXHRcdH1cblx0fSxcblxuXHRuZXh0OiBmdW5jdGlvbiAoKSB7XG5cdFx0dmFyIGNvdW50ID0gdGhpcy51bC5jaGlsZHJlbi5sZW5ndGg7XG5cdFx0dGhpcy5nb3RvKHRoaXMuaW5kZXggPCBjb3VudCAtIDEgPyB0aGlzLmluZGV4ICsgMSA6IChjb3VudCA/IDAgOiAtMSkgKTtcblx0fSxcblxuXHRwcmV2aW91czogZnVuY3Rpb24gKCkge1xuXHRcdHZhciBjb3VudCA9IHRoaXMudWwuY2hpbGRyZW4ubGVuZ3RoO1xuXHRcdHZhciBwb3MgPSB0aGlzLmluZGV4IC0gMTtcblxuXHRcdHRoaXMuZ290byh0aGlzLnNlbGVjdGVkICYmIHBvcyAhPT0gLTEgPyBwb3MgOiBjb3VudCAtIDEpO1xuXHR9LFxuXG5cdC8vIFNob3VsZCBub3QgYmUgdXNlZCwgaGlnaGxpZ2h0cyBzcGVjaWZpYyBpdGVtIHdpdGhvdXQgYW55IGNoZWNrcyFcblx0Z290bzogZnVuY3Rpb24gKGkpIHtcblx0XHR2YXIgbGlzID0gdGhpcy51bC5jaGlsZHJlbjtcblxuXHRcdGlmICh0aGlzLnNlbGVjdGVkKSB7XG5cdFx0XHRsaXNbdGhpcy5pbmRleF0uc2V0QXR0cmlidXRlKFwiYXJpYS1zZWxlY3RlZFwiLCBcImZhbHNlXCIpO1xuXHRcdH1cblxuXHRcdHRoaXMuaW5kZXggPSBpO1xuXG5cdFx0aWYgKGkgPiAtMSAmJiBsaXMubGVuZ3RoID4gMCkge1xuXHRcdFx0bGlzW2ldLnNldEF0dHJpYnV0ZShcImFyaWEtc2VsZWN0ZWRcIiwgXCJ0cnVlXCIpO1xuXHRcdFx0dGhpcy5zdGF0dXMudGV4dENvbnRlbnQgPSBsaXNbaV0udGV4dENvbnRlbnQ7XG5cblx0XHRcdC8vIHNjcm9sbCB0byBoaWdobGlnaHRlZCBlbGVtZW50IGluIGNhc2UgcGFyZW50J3MgaGVpZ2h0IGlzIGZpeGVkXG5cdFx0XHR0aGlzLnVsLnNjcm9sbFRvcCA9IGxpc1tpXS5vZmZzZXRUb3AgLSB0aGlzLnVsLmNsaWVudEhlaWdodCArIGxpc1tpXS5jbGllbnRIZWlnaHQ7XG5cblx0XHRcdCQuZmlyZSh0aGlzLmlucHV0LCBcImF3ZXNvbXBsZXRlLWhpZ2hsaWdodFwiLCB7XG5cdFx0XHRcdHRleHQ6IHRoaXMuc3VnZ2VzdGlvbnNbdGhpcy5pbmRleF1cblx0XHRcdH0pO1xuXHRcdH1cblx0fSxcblxuXHRzZWxlY3Q6IGZ1bmN0aW9uIChzZWxlY3RlZCwgb3JpZ2luKSB7XG5cdFx0aWYgKHNlbGVjdGVkKSB7XG5cdFx0XHR0aGlzLmluZGV4ID0gJC5zaWJsaW5nSW5kZXgoc2VsZWN0ZWQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzZWxlY3RlZCA9IHRoaXMudWwuY2hpbGRyZW5bdGhpcy5pbmRleF07XG5cdFx0fVxuXG5cdFx0aWYgKHNlbGVjdGVkKSB7XG5cdFx0XHR2YXIgc3VnZ2VzdGlvbiA9IHRoaXMuc3VnZ2VzdGlvbnNbdGhpcy5pbmRleF07XG5cblx0XHRcdHZhciBhbGxvd2VkID0gJC5maXJlKHRoaXMuaW5wdXQsIFwiYXdlc29tcGxldGUtc2VsZWN0XCIsIHtcblx0XHRcdFx0dGV4dDogc3VnZ2VzdGlvbixcblx0XHRcdFx0b3JpZ2luOiBvcmlnaW4gfHwgc2VsZWN0ZWRcblx0XHRcdH0pO1xuXG5cdFx0XHRpZiAoYWxsb3dlZCkge1xuXHRcdFx0XHR0aGlzLnJlcGxhY2Uoc3VnZ2VzdGlvbik7XG5cdFx0XHRcdHRoaXMuY2xvc2UoeyByZWFzb246IFwic2VsZWN0XCIgfSk7XG5cdFx0XHRcdCQuZmlyZSh0aGlzLmlucHV0LCBcImF3ZXNvbXBsZXRlLXNlbGVjdGNvbXBsZXRlXCIsIHtcblx0XHRcdFx0XHR0ZXh0OiBzdWdnZXN0aW9uXG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fSxcblxuXHRldmFsdWF0ZTogZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG1lID0gdGhpcztcblx0XHR2YXIgdmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlO1xuXG5cdFx0aWYgKHZhbHVlLmxlbmd0aCA+PSB0aGlzLm1pbkNoYXJzICYmIHRoaXMuX2xpc3QubGVuZ3RoID4gMCkge1xuXHRcdFx0dGhpcy5pbmRleCA9IC0xO1xuXHRcdFx0Ly8gUG9wdWxhdGUgbGlzdCB3aXRoIG9wdGlvbnMgdGhhdCBtYXRjaFxuXHRcdFx0dGhpcy51bC5pbm5lckhUTUwgPSBcIlwiO1xuXG5cdFx0XHR0aGlzLnN1Z2dlc3Rpb25zID0gdGhpcy5fbGlzdFxuXHRcdFx0XHQubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcblx0XHRcdFx0XHRyZXR1cm4gbmV3IFN1Z2dlc3Rpb24obWUuZGF0YShpdGVtLCB2YWx1ZSkpO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuZmlsdGVyKGZ1bmN0aW9uKGl0ZW0pIHtcblx0XHRcdFx0XHRyZXR1cm4gbWUuZmlsdGVyKGl0ZW0sIHZhbHVlKTtcblx0XHRcdFx0fSk7XG5cblx0XHRcdGlmICh0aGlzLnNvcnQgIT09IGZhbHNlKSB7XG5cdFx0XHRcdHRoaXMuc3VnZ2VzdGlvbnMgPSB0aGlzLnN1Z2dlc3Rpb25zLnNvcnQodGhpcy5zb3J0KTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5zdWdnZXN0aW9ucyA9IHRoaXMuc3VnZ2VzdGlvbnMuc2xpY2UoMCwgdGhpcy5tYXhJdGVtcyk7XG5cblx0XHRcdHRoaXMuc3VnZ2VzdGlvbnMuZm9yRWFjaChmdW5jdGlvbih0ZXh0KSB7XG5cdFx0XHRcdFx0bWUudWwuYXBwZW5kQ2hpbGQobWUuaXRlbSh0ZXh0LCB2YWx1ZSkpO1xuXHRcdFx0XHR9KTtcblxuXHRcdFx0aWYgKHRoaXMudWwuY2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdHRoaXMuY2xvc2UoeyByZWFzb246IFwibm9tYXRjaGVzXCIgfSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLm9wZW4oKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0ZWxzZSB7XG5cdFx0XHR0aGlzLmNsb3NlKHsgcmVhc29uOiBcIm5vbWF0Y2hlc1wiIH0pO1xuXHRcdH1cblx0fVxufTtcblxuLy8gU3RhdGljIG1ldGhvZHMvcHJvcGVydGllc1xuXG5fLmFsbCA9IFtdO1xuXG5fLkZJTFRFUl9DT05UQUlOUyA9IGZ1bmN0aW9uICh0ZXh0LCBpbnB1dCkge1xuXHRyZXR1cm4gUmVnRXhwKCQucmVnRXhwRXNjYXBlKGlucHV0LnRyaW0oKSksIFwiaVwiKS50ZXN0KHRleHQpO1xufTtcblxuXy5GSUxURVJfU1RBUlRTV0lUSCA9IGZ1bmN0aW9uICh0ZXh0LCBpbnB1dCkge1xuXHRyZXR1cm4gUmVnRXhwKFwiXlwiICsgJC5yZWdFeHBFc2NhcGUoaW5wdXQudHJpbSgpKSwgXCJpXCIpLnRlc3QodGV4dCk7XG59O1xuXG5fLlNPUlRfQllMRU5HVEggPSBmdW5jdGlvbiAoYSwgYikge1xuXHRpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSB7XG5cdFx0cmV0dXJuIGEubGVuZ3RoIC0gYi5sZW5ndGg7XG5cdH1cblxuXHRyZXR1cm4gYSA8IGI/IC0xIDogMTtcbn07XG5cbl8uSVRFTSA9IGZ1bmN0aW9uICh0ZXh0LCBpbnB1dCkge1xuXHR2YXIgaHRtbCA9IGlucHV0LnRyaW0oKSA9PT0gXCJcIiA/IHRleHQgOiB0ZXh0LnJlcGxhY2UoUmVnRXhwKCQucmVnRXhwRXNjYXBlKGlucHV0LnRyaW0oKSksIFwiZ2lcIiksIFwiPG1hcms+JCY8L21hcms+XCIpO1xuXHRyZXR1cm4gJC5jcmVhdGUoXCJsaVwiLCB7XG5cdFx0aW5uZXJIVE1MOiBodG1sLFxuXHRcdFwiYXJpYS1zZWxlY3RlZFwiOiBcImZhbHNlXCJcblx0fSk7XG59O1xuXG5fLlJFUExBQ0UgPSBmdW5jdGlvbiAodGV4dCkge1xuXHR0aGlzLmlucHV0LnZhbHVlID0gdGV4dC52YWx1ZTtcbn07XG5cbl8uREFUQSA9IGZ1bmN0aW9uIChpdGVtLyosIGlucHV0Ki8pIHsgcmV0dXJuIGl0ZW07IH07XG5cbi8vIFByaXZhdGUgZnVuY3Rpb25zXG5cbmZ1bmN0aW9uIFN1Z2dlc3Rpb24oZGF0YSkge1xuXHR2YXIgbyA9IEFycmF5LmlzQXJyYXkoZGF0YSlcblx0ICA/IHsgbGFiZWw6IGRhdGFbMF0sIHZhbHVlOiBkYXRhWzFdIH1cblx0ICA6IHR5cGVvZiBkYXRhID09PSBcIm9iamVjdFwiICYmIFwibGFiZWxcIiBpbiBkYXRhICYmIFwidmFsdWVcIiBpbiBkYXRhID8gZGF0YSA6IHsgbGFiZWw6IGRhdGEsIHZhbHVlOiBkYXRhIH07XG5cblx0dGhpcy5sYWJlbCA9IG8ubGFiZWwgfHwgby52YWx1ZTtcblx0dGhpcy52YWx1ZSA9IG8udmFsdWU7XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoU3VnZ2VzdGlvbi5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFN0cmluZy5wcm90b3R5cGUpLCBcImxlbmd0aFwiLCB7XG5cdGdldDogZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLmxhYmVsLmxlbmd0aDsgfVxufSk7XG5TdWdnZXN0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9IFN1Z2dlc3Rpb24ucHJvdG90eXBlLnZhbHVlT2YgPSBmdW5jdGlvbiAoKSB7XG5cdHJldHVybiBcIlwiICsgdGhpcy5sYWJlbDtcbn07XG5cbmZ1bmN0aW9uIGNvbmZpZ3VyZShpbnN0YW5jZSwgcHJvcGVydGllcywgbykge1xuXHRmb3IgKHZhciBpIGluIHByb3BlcnRpZXMpIHtcblx0XHR2YXIgaW5pdGlhbCA9IHByb3BlcnRpZXNbaV0sXG5cdFx0ICAgIGF0dHJWYWx1ZSA9IGluc3RhbmNlLmlucHV0LmdldEF0dHJpYnV0ZShcImRhdGEtXCIgKyBpLnRvTG93ZXJDYXNlKCkpO1xuXG5cdFx0aWYgKHR5cGVvZiBpbml0aWFsID09PSBcIm51bWJlclwiKSB7XG5cdFx0XHRpbnN0YW5jZVtpXSA9IHBhcnNlSW50KGF0dHJWYWx1ZSk7XG5cdFx0fVxuXHRcdGVsc2UgaWYgKGluaXRpYWwgPT09IGZhbHNlKSB7IC8vIEJvb2xlYW4gb3B0aW9ucyBtdXN0IGJlIGZhbHNlIGJ5IGRlZmF1bHQgYW55d2F5XG5cdFx0XHRpbnN0YW5jZVtpXSA9IGF0dHJWYWx1ZSAhPT0gbnVsbDtcblx0XHR9XG5cdFx0ZWxzZSBpZiAoaW5pdGlhbCBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG5cdFx0XHRpbnN0YW5jZVtpXSA9IG51bGw7XG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0aW5zdGFuY2VbaV0gPSBhdHRyVmFsdWU7XG5cdFx0fVxuXG5cdFx0aWYgKCFpbnN0YW5jZVtpXSAmJiBpbnN0YW5jZVtpXSAhPT0gMCkge1xuXHRcdFx0aW5zdGFuY2VbaV0gPSAoaSBpbiBvKT8gb1tpXSA6IGluaXRpYWw7XG5cdFx0fVxuXHR9XG59XG5cbi8vIEhlbHBlcnNcblxudmFyIHNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlO1xuXG5mdW5jdGlvbiAkKGV4cHIsIGNvbikge1xuXHRyZXR1cm4gdHlwZW9mIGV4cHIgPT09IFwic3RyaW5nXCI/IChjb24gfHwgZG9jdW1lbnQpLnF1ZXJ5U2VsZWN0b3IoZXhwcikgOiBleHByIHx8IG51bGw7XG59XG5cbmZ1bmN0aW9uICQkKGV4cHIsIGNvbikge1xuXHRyZXR1cm4gc2xpY2UuY2FsbCgoY29uIHx8IGRvY3VtZW50KS5xdWVyeVNlbGVjdG9yQWxsKGV4cHIpKTtcbn1cblxuJC5jcmVhdGUgPSBmdW5jdGlvbih0YWcsIG8pIHtcblx0dmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7XG5cblx0Zm9yICh2YXIgaSBpbiBvKSB7XG5cdFx0dmFyIHZhbCA9IG9baV07XG5cblx0XHRpZiAoaSA9PT0gXCJpbnNpZGVcIikge1xuXHRcdFx0JCh2YWwpLmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuXHRcdH1cblx0XHRlbHNlIGlmIChpID09PSBcImFyb3VuZFwiKSB7XG5cdFx0XHR2YXIgcmVmID0gJCh2YWwpO1xuXHRcdFx0cmVmLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGVsZW1lbnQsIHJlZik7XG5cdFx0XHRlbGVtZW50LmFwcGVuZENoaWxkKHJlZik7XG5cdFx0fVxuXHRcdGVsc2UgaWYgKGkgaW4gZWxlbWVudCkge1xuXHRcdFx0ZWxlbWVudFtpXSA9IHZhbDtcblx0XHR9XG5cdFx0ZWxzZSB7XG5cdFx0XHRlbGVtZW50LnNldEF0dHJpYnV0ZShpLCB2YWwpO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBlbGVtZW50O1xufTtcblxuJC5iaW5kID0gZnVuY3Rpb24oZWxlbWVudCwgbykge1xuXHRpZiAoZWxlbWVudCkge1xuXHRcdGZvciAodmFyIGV2ZW50IGluIG8pIHtcblx0XHRcdHZhciBjYWxsYmFjayA9IG9bZXZlbnRdO1xuXG5cdFx0XHRldmVudC5zcGxpdCgvXFxzKy8pLmZvckVhY2goZnVuY3Rpb24gKGV2ZW50KSB7XG5cdFx0XHRcdGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgY2FsbGJhY2spO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG59O1xuXG4kLnVuYmluZCA9IGZ1bmN0aW9uKGVsZW1lbnQsIG8pIHtcblx0aWYgKGVsZW1lbnQpIHtcblx0XHRmb3IgKHZhciBldmVudCBpbiBvKSB7XG5cdFx0XHR2YXIgY2FsbGJhY2sgPSBvW2V2ZW50XTtcblxuXHRcdFx0ZXZlbnQuc3BsaXQoL1xccysvKS5mb3JFYWNoKGZ1bmN0aW9uKGV2ZW50KSB7XG5cdFx0XHRcdGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgY2FsbGJhY2spO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG59O1xuXG4kLmZpcmUgPSBmdW5jdGlvbih0YXJnZXQsIHR5cGUsIHByb3BlcnRpZXMpIHtcblx0dmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiSFRNTEV2ZW50c1wiKTtcblxuXHRldnQuaW5pdEV2ZW50KHR5cGUsIHRydWUsIHRydWUgKTtcblxuXHRmb3IgKHZhciBqIGluIHByb3BlcnRpZXMpIHtcblx0XHRldnRbal0gPSBwcm9wZXJ0aWVzW2pdO1xuXHR9XG5cblx0cmV0dXJuIHRhcmdldC5kaXNwYXRjaEV2ZW50KGV2dCk7XG59O1xuXG4kLnJlZ0V4cEVzY2FwZSA9IGZ1bmN0aW9uIChzKSB7XG5cdHJldHVybiBzLnJlcGxhY2UoL1stXFxcXF4kKis/LigpfFtcXF17fV0vZywgXCJcXFxcJCZcIik7XG59O1xuXG4kLnNpYmxpbmdJbmRleCA9IGZ1bmN0aW9uIChlbCkge1xuXHQvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25kLWFzc2lnbiAqL1xuXHRmb3IgKHZhciBpID0gMDsgZWwgPSBlbC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nOyBpKyspO1xuXHRyZXR1cm4gaTtcbn07XG5cbi8vIEluaXRpYWxpemF0aW9uXG5cbmZ1bmN0aW9uIGluaXQoKSB7XG5cdCQkKFwiaW5wdXQuYXdlc29tcGxldGVcIikuZm9yRWFjaChmdW5jdGlvbiAoaW5wdXQpIHtcblx0XHRuZXcgXyhpbnB1dCk7XG5cdH0pO1xufVxuXG4vLyBBcmUgd2UgaW4gYSBicm93c2VyPyBDaGVjayBmb3IgRG9jdW1lbnQgY29uc3RydWN0b3JcbmlmICh0eXBlb2YgRG9jdW1lbnQgIT09IFwidW5kZWZpbmVkXCIpIHtcblx0Ly8gRE9NIGFscmVhZHkgbG9hZGVkP1xuXHRpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gXCJsb2FkaW5nXCIpIHtcblx0XHRpbml0KCk7XG5cdH1cblx0ZWxzZSB7XG5cdFx0Ly8gV2FpdCBmb3IgaXRcblx0XHRkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLCBpbml0KTtcblx0fVxufVxuXG5fLiQgPSAkO1xuXy4kJCA9ICQkO1xuXG4vLyBNYWtlIHN1cmUgdG8gZXhwb3J0IEF3ZXNvbXBsZXRlIG9uIHNlbGYgd2hlbiBpbiBhIGJyb3dzZXJcbmlmICh0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIikge1xuXHRzZWxmLkF3ZXNvbXBsZXRlID0gXztcbn1cblxuLy8gRXhwb3NlIEF3ZXNvbXBsZXRlIGFzIGEgQ0pTIG1vZHVsZVxuaWYgKHR5cGVvZiBtb2R1bGUgPT09IFwib2JqZWN0XCIgJiYgbW9kdWxlLmV4cG9ydHMpIHtcblx0bW9kdWxlLmV4cG9ydHMgPSBfO1xufVxuXG5yZXR1cm4gXztcblxufSgpKTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL25vZGVfbW9kdWxlcy9hd2Vzb21wbGV0ZS9hd2Vzb21wbGV0ZS5qc1xuLy8gbW9kdWxlIGlkID0gMzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBjbGFzcyBOYXZiYXIge1xuXHRjb25zdHJ1Y3Rvcih7YnJhbmRfbGFiZWwgPSAnSG9tZSd9ID0ge30pIHtcblx0XHRPYmplY3QuYXNzaWduKHRoaXMsIGFyZ3VtZW50c1swXSk7XG5cdFx0dGhpcy5pdGVtcyA9IHt9O1xuXHRcdHRoaXMubmF2YmFyID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ25hdmJhciBuYXZiYXItZXhwYW5kLW1kIGJvcmRlci1ib3R0b20nLCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5JykpO1xuXG5cdFx0dGhpcy5icmFuZCA9IGZyYXBwZS51aS5hZGQoJ2EnLCAnbmF2YmFyLWJyYW5kJywgdGhpcy5uYXZiYXIpO1xuXHRcdHRoaXMuYnJhbmQuaHJlZiA9ICcjJztcblx0XHR0aGlzLmJyYW5kLnRleHRDb250ZW50ID0gYnJhbmRfbGFiZWw7XG5cblx0XHR0aGlzLnRvZ2dsZXIgPSBmcmFwcGUudWkuYWRkKCdidXR0b24nLCAnbmF2YmFyLXRvZ2dsZXInLCB0aGlzLm5hdmJhcik7XG5cdFx0dGhpcy50b2dnbGVyLnNldEF0dHJpYnV0ZSgndHlwZScsICdidXR0b24nKTtcblx0XHR0aGlzLnRvZ2dsZXIuc2V0QXR0cmlidXRlKCdkYXRhLXRvZ2dsZScsICdjb2xsYXBzZScpO1xuXHRcdHRoaXMudG9nZ2xlci5zZXRBdHRyaWJ1dGUoJ2RhdGEtdGFyZ2V0JywgJ2Rlc2stbmF2YmFyJyk7XG5cdFx0dGhpcy50b2dnbGVyLmlubmVySFRNTCA9IGA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+YDtcblxuXHRcdHRoaXMubmF2YmFyX2NvbGxhcHNlID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ2NvbGxhcHNlIG5hdmJhci1jb2xsYXBzZScsIHRoaXMubmF2YmFyKTtcblx0XHR0aGlzLm5hdmJhcl9jb2xsYXBzZS5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2Rlc2stbmF2YmFyJyk7XG5cblx0XHR0aGlzLm5hdiA9IGZyYXBwZS51aS5hZGQoJ3VsJywgJ25hdmJhci1uYXYgbXItYXV0bycsIHRoaXMubmF2YmFyX2NvbGxhcHNlKTtcblx0fVxuXG5cdGFkZF9pdGVtKGxhYmVsLCByb3V0ZSkge1xuXHRcdGxldCBpdGVtID0gZnJhcHBlLnVpLmFkZCgnbGknLCAnbmF2LWl0ZW0nLCB0aGlzLm5hdik7XG5cdFx0aXRlbS5saW5rID0gZnJhcHBlLnVpLmFkZCgnYScsICduYXYtbGluaycsIGl0ZW0pO1xuXHRcdGl0ZW0ubGluay50ZXh0Q29udGVudCA9IGxhYmVsO1xuXHRcdGl0ZW0ubGluay5ocmVmID0gcm91dGU7XG5cdFx0dGhpcy5pdGVtc1tsYWJlbF0gPSBpdGVtO1xuXHRcdHJldHVybiBpdGVtO1xuXHR9XG5cblx0YWRkX2Ryb3Bkb3duKGxhYmVsKSB7XG5cblx0fVxuXG5cdGFkZF9zZWFyY2goKSB7XG5cdFx0bGV0IGZvcm0gPSBmcmFwcGUudWkuYWRkKCdmb3JtJywgJ2Zvcm0taW5saW5lIG15LTIgbXktbWQtMCcsIHRoaXMubmF2KTtcblxuXHR9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY2xpZW50L2Rlc2svbmF2YmFyLmpzXG4vLyBtb2R1bGUgaWQgPSAzNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJjb25zdCBmcmFwcGUgPSByZXF1aXJlKCdmcmFwcGVqcycpO1xuXG5jbGFzcyB0b2RvX21ldGEgZXh0ZW5kcyBmcmFwcGUubWV0YS5NZXRhIHtcbiAgICBzZXR1cF9tZXRhKCkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHJlcXVpcmUoJy4vdG9kby5qc29uJykpO1xuICAgICAgICB0aGlzLmxpc3Rfb3B0aW9ucy5maWVsZHMgPSBbJ25hbWUnLCAnc3ViamVjdCcsICdzdGF0dXMnXTtcbiAgICB9XG5cbiAgICBnZXRfcm93X2h0bWwoZGF0YSkge1xuICAgICAgICBjb25zdCBzaWduID0gZGF0YS5zdGF0dXMgPT09ICdPcGVuJyA/ICcnIDogJ+KclCc7XG4gICAgICAgIHJldHVybiBgPGEgaHJlZj1cIiNlZGl0L3RvZG8vJHtkYXRhLm5hbWV9XCI+JHtzaWdufSAke2RhdGEuc3ViamVjdH08L2E+YDtcbiAgICB9XG5cbn1cblxuY2xhc3MgdG9kbyBleHRlbmRzIGZyYXBwZS5kb2N1bWVudC5Eb2N1bWVudCB7XG4gICAgc2V0dXAoKSB7XG4gICAgICAgIHRoaXMuYWRkX2hhbmRsZXIoJ3ZhbGlkYXRlJyk7XG4gICAgfVxuICAgIHZhbGlkYXRlKCkge1xuICAgICAgICBpZiAoIXRoaXMuc3RhdHVzKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9ICdPcGVuJztcbiAgICAgICAgfVxuICAgIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7dG9kbzp0b2RvLCB0b2RvX21ldGE6dG9kb19tZXRhfTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL21vZGVscy9kb2N0eXBlL3RvZG8vdG9kby5qc1xuLy8gbW9kdWxlIGlkID0gMzVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwibW9kdWxlLmV4cG9ydHMgPSB7XCJhdXRvbmFtZVwiOlwiaGFzaFwiLFwibmFtZVwiOlwiVG9Eb1wiLFwiZG9jdHlwZVwiOlwiRG9jVHlwZVwiLFwiaXNzaW5nbGVcIjowLFwia2V5d29yZF9maWVsZHNcIjpbXCJzdWJqZWN0XCIsXCJkZXNjcmlwdGlvblwiXSxcImZpZWxkc1wiOlt7XCJmaWVsZG5hbWVcIjpcInN1YmplY3RcIixcImxhYmVsXCI6XCJTdWJqZWN0XCIsXCJmaWVsZHR5cGVcIjpcIkRhdGFcIixcInJlcWRcIjoxfSx7XCJmaWVsZG5hbWVcIjpcImRlc2NyaXB0aW9uXCIsXCJsYWJlbFwiOlwiRGVzY3JpcHRpb25cIixcImZpZWxkdHlwZVwiOlwiVGV4dFwifSx7XCJmaWVsZG5hbWVcIjpcInN0YXR1c1wiLFwibGFiZWxcIjpcIlN0YXR1c1wiLFwiZmllbGR0eXBlXCI6XCJTZWxlY3RcIixcIm9wdGlvbnNcIjpbXCJPcGVuXCIsXCJDbG9zZWRcIl0sXCJkZWZhdWx0XCI6XCJPcGVuXCIsXCJyZXFkXCI6MX1dfVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL21vZGVscy9kb2N0eXBlL3RvZG8vdG9kby5qc29uXG4vLyBtb2R1bGUgaWQgPSAzNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJjb25zdCBmcmFwcGUgPSByZXF1aXJlKCdmcmFwcGVqcycpO1xuXG5jbGFzcyBhY2NvdW50X21ldGEgZXh0ZW5kcyBmcmFwcGUubWV0YS5NZXRhIHtcbiAgICBzZXR1cF9tZXRhKCkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHJlcXVpcmUoJy4vYWNjb3VudC5qc29uJykpO1xuICAgICAgICB0aGlzLmxpc3Rfb3B0aW9ucy5maWVsZHMgPSBbJ25hbWUnLCAnYWNjb3VudF90eXBlJ107XG4gICAgfVxuXG4gICAgZ2V0X3Jvd19odG1sKGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIGA8YSBocmVmPVwiI2VkaXQvYWNjb3VudC8ke2RhdGEubmFtZX1cIj4ke2RhdGEubmFtZX0gKCR7ZGF0YS5hY2NvdW50X3R5cGV9KTwvYT5gO1xuICAgIH1cblxufVxuXG5jbGFzcyBhY2NvdW50IGV4dGVuZHMgZnJhcHBlLmRvY3VtZW50LkRvY3VtZW50IHtcbiAgICBzZXR1cCgpIHtcbiAgICAgICAgdGhpcy5hZGRfaGFuZGxlcigndmFsaWRhdGUnKTtcbiAgICB9XG4gICAgdmFsaWRhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5hY2NvdW50X3R5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gJ0Fzc2V0JztcbiAgICAgICAgfVxuICAgIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7YWNjb3VudDphY2NvdW50LCBhY2NvdW50X21ldGE6YWNjb3VudF9tZXRhfTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbW9kZWxzL2RvY3R5cGUvYWNjb3VudC9hY2NvdW50LmpzXG4vLyBtb2R1bGUgaWQgPSAzN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJtb2R1bGUuZXhwb3J0cyA9IHtcIm5hbWVcIjpcIkFjY291bnRcIixcImRvY3R5cGVcIjpcIkRvY1R5cGVcIixcImlzc2luZ2xlXCI6MCxcImtleXdvcmRfZmllbGRzXCI6W1wibmFtZVwiLFwiYWNjb3VudF90eXBlXCJdLFwiZmllbGRzXCI6W3tcImZpZWxkbmFtZVwiOlwibmFtZVwiLFwibGFiZWxcIjpcIkFjY291bnQgTmFtZVwiLFwiZmllbGR0eXBlXCI6XCJEYXRhXCIsXCJyZXFkXCI6MX0se1wiZmllbGRuYW1lXCI6XCJwYXJlbnRfYWNjb3VudFwiLFwibGFiZWxcIjpcIlBhcmVudCBBY2NvdW50XCIsXCJmaWVsZHR5cGVcIjpcIkxpbmtcIixcIm9wdGlvbnNcIjpcIkFjY291bnRcIn0se1wiZmllbGRuYW1lXCI6XCJhY2NvdW50X3R5cGVcIixcImxhYmVsXCI6XCJBY2NvdW50IFR5cGVcIixcImZpZWxkdHlwZVwiOlwiU2VsZWN0XCIsXCJvcHRpb25zXCI6W1wiQXNzZXRcIixcIkxpYWJpbGl0eVwiLFwiRXF1aXR5XCIsXCJJbmNvbWVcIixcIkV4cGVuc2VcIl19XX1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL21vZGVscy9kb2N0eXBlL2FjY291bnQvYWNjb3VudC5qc29uXG4vLyBtb2R1bGUgaWQgPSAzOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAgMDZjOTQ5YmIzYzc5ZDg2MTgwZWMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL2luZGV4LmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvdmlldy9jb250cm9scy9iYXNlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL21vZGVsL2RvY3VtZW50LmpzIiwid2VicGFjazovLy8uL2luZGV4LmpzIiwid2VicGFjazovLy8uL3Njc3MvbWFpbi5zY3NzPzRiYWIiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi91cmxzLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL2NvbW1vbi9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvdXRpbHMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL21vZGVsL21vZGVscy5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvbW9kZWwvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL21vZGVsL21ldGEuanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL3Nlc3Npb24uanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL2NvbW1vbi9lcnJvcnMuanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL2JhY2tlbmRzL3Jlc3RfY2xpZW50LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wYXRoLWJyb3dzZXJpZnkvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL2NsaWVudC91aS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvY2xpZW50L3VpL2Ryb3Bkb3duLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvZGVzay9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvY2xpZW50L2Rlc2svc2VhcmNoLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jb21tb24vcm91dGVyLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvdmlldy9wYWdlLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvdmlldy9saXN0LmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvdmlldy9mb3JtLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvdmlldy9jb250cm9scy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvY29udHJvbHMvZGF0YS5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvY29udHJvbHMvdGV4dC5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvY29udHJvbHMvc2VsZWN0LmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9jbGllbnQvdmlldy9jb250cm9scy9saW5rLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9ub2RlX21vZHVsZXMvYXdlc29tcGxldGUvYXdlc29tcGxldGUuanMiLCJ3ZWJwYWNrOi8vLy4uL2ZyYXBwZWpzL2NsaWVudC9kZXNrL25hdmJhci5qcyIsIndlYnBhY2s6Ly8vLi4vZnJhcHBlanMvbW9kZWxzL2RvY3R5cGUvdG9kby90b2RvLmpzIiwid2VicGFjazovLy8uLi9mcmFwcGVqcy9tb2RlbHMvZG9jdHlwZS90b2RvL3RvZG8uanNvbiIsIndlYnBhY2s6Ly8vLi9tb2RlbHMvZG9jdHlwZS9hY2NvdW50L2FjY291bnQuanMiLCJ3ZWJwYWNrOi8vLy4vbW9kZWxzL2RvY3R5cGUvYWNjb3VudC9hY2NvdW50Lmpzb24iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBMkIsMEJBQTBCLEVBQUU7QUFDdkQseUNBQWlDLGVBQWU7QUFDaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOERBQXNELCtEQUErRDs7QUFFckg7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7O0FDN0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMseUJBQXlCO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLHdDQUF3QyxpQkFBaUI7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FDbEdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNkI7Ozs7OztBQ3JHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLHNCQUFzQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDOztBQUVyQztBQUNBO0FBQ0E7O0FBRUEsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QixVQUFVOzs7Ozs7O0FDdkx0Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7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QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdURBQXVEO0FBQ3ZEOztBQUVBLDZCQUE2QixtQkFBbUI7O0FBRWhEOztBQUVBOztB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O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsMEI7Ozs7OztBQzFGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQSxDOzs7Ozs7QUN6R0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLEM7Ozs7OztBQ2ZBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG9CQUFvQjs7QUFFcEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVCxtREFBbUQsYUFBYTtBQUNoRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2QkFBNkIsNEJBQTRCO0FBQ3pEO0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBO0FBQ0EsQzs7Ozs7O0FDekdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvRUFBb0UsbUJBQW1CLDZCQUE2Qix1QkFBdUI7QUFDM0k7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDOzs7Ozs7QUN6REE7O0FBRUE7QUFDQSxpQkFBaUIsd0JBQXdCO0FBQ3pDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQscUJBQXFCLDRDQUE0QztBQUNqRTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0MsMEJBQTBCO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHdDQUF3QyxzQkFBc0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUEsRTs7Ozs7O0FDdklBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUIsdUNBQXVDO0FBQ3hEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOzs7QUFHQTtBQUNBO0FBQ0EseURBQXlELEtBQUs7QUFDOUQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEM7Ozs7OztBQ3JHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDOzs7Ozs7QUNsQkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDZCOzs7Ozs7QUNUQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNkI7Ozs7OztBQ1pBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLCtCOzs7Ozs7QUN2QkE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7O0FBRUEsNkI7Ozs7OztBQ2pDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFD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QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EseUNBQXlDLFVBQVUsSUFBSSxVQUFVLElBQUksa0JBQWtCO0FBQ3ZGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCOzs7Ozs7O0FDbENsQixrQkFBa0Isc0dBQXNHLHNFQUFzRSxFQUFFLDZGQUE2RixFQUFFLG1JQUFtSSxFIiwiZmlsZSI6Ii4vanMvYnVuZGxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7XG4gXHRcdFx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuIFx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcbiBcdFx0XHRcdGdldDogZ2V0dGVyXG4gXHRcdFx0fSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiL1wiO1xuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDQpO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHdlYnBhY2svYm9vdHN0cmFwIDA2Yzk0OWJiM2M3OWQ4NjE4MGVjIiwibW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgYXN5bmMgaW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSByZXR1cm47XG4gICAgICAgIHRoaXMuaW5pdF9jb25maWcoKTtcbiAgICAgICAgdGhpcy5pbml0X2dsb2JhbHMoKTtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH0sXG5cbiAgICBpbml0X2NvbmZpZygpIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAgICAgICBiYWNrZW5kOiAnc3FsaXRlJyxcbiAgICAgICAgICAgIHBvcnQ6IDgwMDBcbiAgICAgICAgfTtcbiAgICB9LFxuXG4gICAgaW5pdF9nbG9iYWxzKCkge1xuICAgICAgICB0aGlzLm1ldGFfY2FjaGUgPSB7fTtcbiAgICAgICAgdGhpcy5kb2NzID0ge307XG4gICAgICAgIHRoaXMuZmxhZ3MgPSB7XG4gICAgICAgICAgICBjYWNoZV9kb2NzOiBmYWxzZVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIGFkZF90b19jYWNoZShkb2MpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZsYWdzLmNhY2hlX2RvY3MpIHJldHVybjtcblxuICAgICAgICAvLyBhZGQgdG8gYGRvY3NgIGNhY2hlXG4gICAgICAgIGlmIChkb2MuZG9jdHlwZSAmJiBkb2MubmFtZSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRvY3NbZG9jLmRvY3R5cGVdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb2NzW2RvYy5kb2N0eXBlXSA9IHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5kb2NzW2RvYy5kb2N0eXBlXVtkb2MubmFtZV0gPSBkb2M7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgZ2V0X2RvY19mcm9tX2NhY2hlKGRvY3R5cGUsIG5hbWUpIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jc1tkb2N0eXBlXSAmJiB0aGlzLmRvY3NbZG9jdHlwZV1bbmFtZV0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRvY3NbZG9jdHlwZV1bbmFtZV07XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgZ2V0X21ldGEoZG9jdHlwZSkge1xuICAgICAgICBpZiAoIXRoaXMubWV0YV9jYWNoZVtkb2N0eXBlXSkge1xuICAgICAgICAgICAgdGhpcy5tZXRhX2NhY2hlW2RvY3R5cGVdID0gbmV3ICh0aGlzLm1vZGVscy5nZXRfbWV0YV9jbGFzcyhkb2N0eXBlKSkodGhpcy5tb2RlbHMuZ2V0KCdEb2NUeXBlJywgZG9jdHlwZSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm1ldGFfY2FjaGVbZG9jdHlwZV07XG4gICAgfSxcblxuICAgIGluaXRfY29udHJvbGxlcihkb2N0eXBlLCBtb2R1bGUpIHtcbiAgICAgICAgZG9jdHlwZSA9IHRoaXMuc2x1Zyhkb2N0eXBlKTtcbiAgICAgICAgdGhpcy5tb2RlbHMuY29udHJvbGxlcnNbZG9jdHlwZV0gPSBtb2R1bGVbZG9jdHlwZV07XG4gICAgICAgIHRoaXMubW9kZWxzLm1ldGFfY2xhc3Nlc1tkb2N0eXBlXSA9IG1vZHVsZVtkb2N0eXBlICsgJ19tZXRhJ107XG4gICAgfSxcblxuICAgIGFzeW5jIGdldF9kb2MoZGF0YSwgbmFtZSkge1xuICAgICAgICBpZiAodHlwZW9mIGRhdGE9PT0nc3RyaW5nJyAmJiB0eXBlb2YgbmFtZT09PSdzdHJpbmcnKSB7XG4gICAgICAgICAgICBsZXQgZG9jID0gdGhpcy5nZXRfZG9jX2Zyb21fY2FjaGUoZGF0YSwgbmFtZSk7XG4gICAgICAgICAgICBpZiAoIWRvYykge1xuICAgICAgICAgICAgICAgIGxldCBjb250cm9sbGVyX2NsYXNzID0gdGhpcy5tb2RlbHMuZ2V0X2NvbnRyb2xsZXIoZGF0YSk7XG4gICAgICAgICAgICAgICAgZG9jID0gbmV3IGNvbnRyb2xsZXJfY2xhc3Moe2RvY3R5cGU6ZGF0YSwgbmFtZTogbmFtZX0pO1xuICAgICAgICAgICAgICAgIGF3YWl0IGRvYy5sb2FkKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRfdG9fY2FjaGUoZG9jKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBkb2M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXQgY29udHJvbGxlcl9jbGFzcyA9IHRoaXMubW9kZWxzLmdldF9jb250cm9sbGVyKGRhdGEuZG9jdHlwZSk7XG4gICAgICAgICAgICB2YXIgZG9jID0gbmV3IGNvbnRyb2xsZXJfY2xhc3MoZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRvYztcbiAgICB9LFxuXG4gICAgYXN5bmMgZ2V0X25ld19kb2MoZG9jdHlwZSkge1xuICAgICAgICBsZXQgZG9jID0gYXdhaXQgZnJhcHBlLmdldF9kb2Moe2RvY3R5cGU6IGRvY3R5cGV9KTtcbiAgICAgICAgZG9jLnNldF9uYW1lKCk7XG4gICAgICAgIGRvYy5fX25vdF9pbnNlcnRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuYWRkX3RvX2NhY2hlKGRvYyk7XG4gICAgICAgIHJldHVybiBkb2M7XG4gICAgfSxcblxuICAgIGFzeW5jIGluc2VydChkYXRhKSB7XG4gICAgICAgIGNvbnN0IGRvYyA9IGF3YWl0IHRoaXMuZ2V0X2RvYyhkYXRhKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGRvYy5pbnNlcnQoKTtcbiAgICB9LFxuXG4gICAgbG9naW4odXNlcj0nZ3Vlc3QnLCB1c2VyX2tleSkge1xuICAgICAgICB0aGlzLnNlc3Npb24gPSBuZXcgdGhpcy5fc2Vzc2lvbi5TZXNzaW9uKHVzZXIpO1xuICAgICAgICBpZiAodXNlciAmJiB1c2VyX2tleSkge1xuICAgICAgICAgICAgdGhpcy5hdXRoZW50aWNhdGUodXNlcl9rZXkpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIGNsb3NlKCkge1xuICAgICAgICB0aGlzLmRiLmNsb3NlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VydmVyKSB7XG4gICAgICAgICAgICB0aGlzLnNlcnZlci5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5cbmNsYXNzIEJhc2VDb250cm9sIHtcbiAgICBjb25zdHJ1Y3Rvcihkb2NmaWVsZCwgZm9ybSkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGRvY2ZpZWxkKTtcbiAgICAgICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICAgICAgaWYgKCF0aGlzLmZpZWxkbmFtZSkge1xuICAgICAgICAgICAgdGhpcy5maWVsZG5hbWUgPSBmcmFwcGUuc2x1Zyh0aGlzLmxhYmVsKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBhcmVudCA9IGZvcm0uZm9ybTtcbiAgICAgICAgaWYgKHRoaXMuc2V0dXApIHtcbiAgICAgICAgICAgIHRoaXMuc2V0dXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJpbmQoZG9jKSB7XG4gICAgICAgIHRoaXMuZG9jID0gZG9jO1xuXG4gICAgICAgIHRoaXMuZG9jLmFkZF9oYW5kbGVyKHRoaXMuZmllbGRuYW1lLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldF9kb2NfdmFsdWUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zZXRfZG9jX3ZhbHVlKCk7XG4gICAgfVxuXG4gICAgcmVmcmVzaCgpIHtcbiAgICAgICAgdGhpcy5tYWtlKCk7XG4gICAgICAgIHRoaXMuc2V0X2RvY192YWx1ZSgpO1xuICAgIH1cblxuICAgIHNldF9kb2NfdmFsdWUoKSB7XG4gICAgICAgIGlmICh0aGlzLmRvYykge1xuICAgICAgICAgICAgdGhpcy5zZXRfaW5wdXRfdmFsdWUodGhpcy5kb2MuZ2V0KHRoaXMuZmllbGRuYW1lKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYWtlKCkge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybV9ncm91cCkge1xuICAgICAgICAgICAgdGhpcy5tYWtlX2Zvcm1fZ3JvdXAoKTtcbiAgICAgICAgICAgIHRoaXMubWFrZV9sYWJlbCgpO1xuICAgICAgICAgICAgdGhpcy5tYWtlX2lucHV0KCk7XG4gICAgICAgICAgICB0aGlzLnNldF9pbnB1dF9uYW1lKCk7XG4gICAgICAgICAgICB0aGlzLm1ha2VfZGVzY3JpcHRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuYmluZF9jaGFuZ2VfZXZlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1ha2VfZm9ybV9ncm91cCgpIHtcbiAgICAgICAgdGhpcy5mb3JtX2dyb3VwID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ2Zvcm0tZ3JvdXAnLCB0aGlzLnBhcmVudCk7XG4gICAgfVxuXG4gICAgbWFrZV9sYWJlbCgpIHtcbiAgICAgICAgdGhpcy5sYWJlbF9lbGVtZW50ID0gZnJhcHBlLnVpLmFkZCgnbGFiZWwnLCBudWxsLCB0aGlzLmZvcm1fZ3JvdXApO1xuICAgICAgICB0aGlzLmxhYmVsX2VsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLmxhYmVsO1xuICAgIH1cblxuICAgIG1ha2VfaW5wdXQoKSB7XG4gICAgICAgIHRoaXMuaW5wdXQgPSBmcmFwcGUudWkuYWRkKCdpbnB1dCcsICdmb3JtLWNvbnRyb2wnLCB0aGlzLmZvcm1fZ3JvdXApO1xuICAgIH1cblxuICAgIHNldF9pbnB1dF9uYW1lKCkge1xuICAgICAgICB0aGlzLmlucHV0LnNldEF0dHJpYnV0ZSgnbmFtZScsIHRoaXMuZmllbGRuYW1lKTtcbiAgICB9XG5cbiAgICBtYWtlX2Rlc2NyaXB0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbl9lbGVtZW50ID0gZnJhcHBlLnVpLmFkZCgnc21hbGwnLCAnZm9ybS10ZXh0IHRleHQtbXV0ZWQnLCB0aGlzLmZvcm1fZ3JvdXApO1xuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvbl9lbGVtZW50LnRleHRDb250ZW50ID0gdGhpcy5kZXNjcmlwdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldF9pbnB1dF92YWx1ZSh2YWx1ZSkge1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdmFsdWUgPSAnJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlucHV0LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0X2lucHV0X3ZhbHVlKCkge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wYXJzZSh0aGlzLmlucHV0LnZhbHVlKTtcbiAgICB9XG5cbiAgICBhc3luYyBwYXJzZSh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgYXN5bmMgdmFsaWRhdGUodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGJpbmRfY2hhbmdlX2V2ZW50KCkge1xuICAgICAgICB0aGlzLmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB0aGlzLmhhbmRsZV9jaGFuZ2UoZSkpO1xuICAgIH1cblxuICAgIGFzeW5jIGhhbmRsZV9jaGFuZ2UoZSkge1xuICAgICAgICBsZXQgdmFsdWUgPSBhd2FpdCB0aGlzLmdldF9pbnB1dF92YWx1ZSgpO1xuICAgICAgICB2YWx1ZSA9IGF3YWl0IHRoaXMudmFsaWRhdGUodmFsdWUpO1xuICAgICAgICBhd2FpdCB0aGlzLmRvYy5zZXQodGhpcy5maWVsZG5hbWUsIHZhbHVlKTtcbiAgICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQmFzZUNvbnRyb2w7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvY29udHJvbHMvYmFzZS5qc1xuLy8gbW9kdWxlIGlkID0gMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvLyBzaGltIGZvciB1c2luZyBwcm9jZXNzIGluIGJyb3dzZXJcbnZhciBwcm9jZXNzID0gbW9kdWxlLmV4cG9ydHMgPSB7fTtcblxuLy8gY2FjaGVkIGZyb20gd2hhdGV2ZXIgZ2xvYmFsIGlzIHByZXNlbnQgc28gdGhhdCB0ZXN0IHJ1bm5lcnMgdGhhdCBzdHViIGl0XG4vLyBkb24ndCBicmVhayB0aGluZ3MuICBCdXQgd2UgbmVlZCB0byB3cmFwIGl0IGluIGEgdHJ5IGNhdGNoIGluIGNhc2UgaXQgaXNcbi8vIHdyYXBwZWQgaW4gc3RyaWN0IG1vZGUgY29kZSB3aGljaCBkb2Vzbid0IGRlZmluZSBhbnkgZ2xvYmFscy4gIEl0J3MgaW5zaWRlIGFcbi8vIGZ1bmN0aW9uIGJlY2F1c2UgdHJ5L2NhdGNoZXMgZGVvcHRpbWl6ZSBpbiBjZXJ0YWluIGVuZ2luZXMuXG5cbnZhciBjYWNoZWRTZXRUaW1lb3V0O1xudmFyIGNhY2hlZENsZWFyVGltZW91dDtcblxuZnVuY3Rpb24gZGVmYXVsdFNldFRpbW91dCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbmZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQgKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XG59XG4oZnVuY3Rpb24gKCkge1xuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2V0VGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gZGVmYXVsdFNldFRpbW91dDtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2YgY2xlYXJUaW1lb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgIH1cbn0gKCkpXG5mdW5jdGlvbiBydW5UaW1lb3V0KGZ1bikge1xuICAgIGlmIChjYWNoZWRTZXRUaW1lb3V0ID09PSBzZXRUaW1lb3V0KSB7XG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xuICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW4sIDApO1xuICAgIH1cbiAgICAvLyBpZiBzZXRUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxuICAgIGlmICgoY2FjaGVkU2V0VGltZW91dCA9PT0gZGVmYXVsdFNldFRpbW91dCB8fCAhY2FjaGVkU2V0VGltZW91dCkgJiYgc2V0VGltZW91dCkge1xuICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xuICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dChmdW4sIDApO1xuICAgIH0gY2F0Y2goZSl7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSBpbiBJLkUuIGJ1dCB0aGUgc2NyaXB0IGhhcyBiZWVuIGV2YWxlZCBzbyBJLkUuIGRvZXNuJ3QgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwobnVsbCwgZnVuLCAwKTtcbiAgICAgICAgfSBjYXRjaChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yXG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKHRoaXMsIGZ1biwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuZnVuY3Rpb24gcnVuQ2xlYXJUaW1lb3V0KG1hcmtlcikge1xuICAgIGlmIChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGNsZWFyVGltZW91dCkge1xuICAgICAgICAvL25vcm1hbCBlbnZpcm9tZW50cyBpbiBzYW5lIHNpdHVhdGlvbnNcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICAvLyBpZiBjbGVhclRpbWVvdXQgd2Fzbid0IGF2YWlsYWJsZSBidXQgd2FzIGxhdHRlciBkZWZpbmVkXG4gICAgaWYgKChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGRlZmF1bHRDbGVhclRpbWVvdXQgfHwgIWNhY2hlZENsZWFyVGltZW91dCkgJiYgY2xlYXJUaW1lb3V0KSB7XG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyB3aGVuIHdoZW4gc29tZWJvZHkgaGFzIHNjcmV3ZWQgd2l0aCBzZXRUaW1lb3V0IGJ1dCBubyBJLkUuIG1hZGRuZXNzXG4gICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIGluIEkuRS4gYnV0IHRoZSBzY3JpcHQgaGFzIGJlZW4gZXZhbGVkIHNvIEkuRS4gZG9lc24ndCAgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbChudWxsLCBtYXJrZXIpO1xuICAgICAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yLlxuICAgICAgICAgICAgLy8gU29tZSB2ZXJzaW9ucyBvZiBJLkUuIGhhdmUgZGlmZmVyZW50IHJ1bGVzIGZvciBjbGVhclRpbWVvdXQgdnMgc2V0VGltZW91dFxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKHRoaXMsIG1hcmtlcik7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG59XG52YXIgcXVldWUgPSBbXTtcbnZhciBkcmFpbmluZyA9IGZhbHNlO1xudmFyIGN1cnJlbnRRdWV1ZTtcbnZhciBxdWV1ZUluZGV4ID0gLTE7XG5cbmZ1bmN0aW9uIGNsZWFuVXBOZXh0VGljaygpIHtcbiAgICBpZiAoIWRyYWluaW5nIHx8ICFjdXJyZW50UXVldWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkcmFpbmluZyA9IGZhbHNlO1xuICAgIGlmIChjdXJyZW50UXVldWUubGVuZ3RoKSB7XG4gICAgICAgIHF1ZXVlID0gY3VycmVudFF1ZXVlLmNvbmNhdChxdWV1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgIH1cbiAgICBpZiAocXVldWUubGVuZ3RoKSB7XG4gICAgICAgIGRyYWluUXVldWUoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGRyYWluUXVldWUoKSB7XG4gICAgaWYgKGRyYWluaW5nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHRpbWVvdXQgPSBydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7XG4gICAgZHJhaW5pbmcgPSB0cnVlO1xuXG4gICAgdmFyIGxlbiA9IHF1ZXVlLmxlbmd0aDtcbiAgICB3aGlsZShsZW4pIHtcbiAgICAgICAgY3VycmVudFF1ZXVlID0gcXVldWU7XG4gICAgICAgIHF1ZXVlID0gW107XG4gICAgICAgIHdoaWxlICgrK3F1ZXVlSW5kZXggPCBsZW4pIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50UXVldWUpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50UXVldWVbcXVldWVJbmRleF0ucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgICAgICBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gICAgfVxuICAgIGN1cnJlbnRRdWV1ZSA9IG51bGw7XG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcbiAgICBydW5DbGVhclRpbWVvdXQodGltZW91dCk7XG59XG5cbnByb2Nlc3MubmV4dFRpY2sgPSBmdW5jdGlvbiAoZnVuKSB7XG4gICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpO1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgYXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcXVldWUucHVzaChuZXcgSXRlbShmdW4sIGFyZ3MpKTtcbiAgICBpZiAocXVldWUubGVuZ3RoID09PSAxICYmICFkcmFpbmluZykge1xuICAgICAgICBydW5UaW1lb3V0KGRyYWluUXVldWUpO1xuICAgIH1cbn07XG5cbi8vIHY4IGxpa2VzIHByZWRpY3RpYmxlIG9iamVjdHNcbmZ1bmN0aW9uIEl0ZW0oZnVuLCBhcnJheSkge1xuICAgIHRoaXMuZnVuID0gZnVuO1xuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbn1cbkl0ZW0ucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmZ1bi5hcHBseShudWxsLCB0aGlzLmFycmF5KTtcbn07XG5wcm9jZXNzLnRpdGxlID0gJ2Jyb3dzZXInO1xucHJvY2Vzcy5icm93c2VyID0gdHJ1ZTtcbnByb2Nlc3MuZW52ID0ge307XG5wcm9jZXNzLmFyZ3YgPSBbXTtcbnByb2Nlc3MudmVyc2lvbiA9ICcnOyAvLyBlbXB0eSBzdHJpbmcgdG8gYXZvaWQgcmVnZXhwIGlzc3Vlc1xucHJvY2Vzcy52ZXJzaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiBub29wKCkge31cblxucHJvY2Vzcy5vbiA9IG5vb3A7XG5wcm9jZXNzLmFkZExpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3Mub25jZSA9IG5vb3A7XG5wcm9jZXNzLm9mZiA9IG5vb3A7XG5wcm9jZXNzLnJlbW92ZUxpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzID0gbm9vcDtcbnByb2Nlc3MuZW1pdCA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRPbmNlTGlzdGVuZXIgPSBub29wO1xuXG5wcm9jZXNzLmxpc3RlbmVycyA9IGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiBbXSB9XG5cbnByb2Nlc3MuYmluZGluZyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCcpO1xufTtcblxucHJvY2Vzcy5jd2QgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAnLycgfTtcbnByb2Nlc3MuY2hkaXIgPSBmdW5jdGlvbiAoZGlyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn07XG5wcm9jZXNzLnVtYXNrID0gZnVuY3Rpb24oKSB7IHJldHVybiAwOyB9O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXG4vLyBtb2R1bGUgaWQgPSAyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5cbmNsYXNzIERvY3VtZW50IHtcbiAgICBjb25zdHJ1Y3RvcihkYXRhKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlcnMgPSB7fTtcbiAgICAgICAgdGhpcy5zZXR1cCgpO1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGRhdGEpO1xuICAgIH1cblxuICAgIHNldHVwKCkge1xuICAgICAgICAvLyBhZGQgaGFuZGxlcnNcbiAgICB9XG5cbiAgICBjbGVhcl9oYW5kbGVycygpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVycyA9IHt9O1xuICAgIH1cblxuICAgIGFkZF9oYW5kbGVyKGtleSwgbWV0aG9kKSB7XG4gICAgICAgIGlmICghdGhpcy5oYW5kbGVyc1trZXldKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZXJzW2tleV0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhbmRsZXJzW2tleV0ucHVzaChtZXRob2QgfHwga2V5KTtcbiAgICB9XG5cbiAgICBnZXQoa2V5KSB7XG4gICAgICAgIHJldHVybiB0aGlzW2tleV07XG4gICAgfVxuXG4gICAgc2V0KGtleSwgdmFsdWUpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0ZV9maWVsZChrZXksIHZhbHVlKTtcbiAgICAgICAgdGhpc1trZXldID0gdmFsdWU7XG4gICAgfVxuXG4gICAgc2V0X25hbWUoKSB7XG4gICAgICAgIC8vIGFzc2lnbiBhIHJhbmRvbSBuYW1lIGJ5IGRlZmF1bHRcbiAgICAgICAgLy8gb3ZlcnJpZGUgdGhpcyB0byBzZXQgYSBuYW1lXG4gICAgICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRfa2V5d29yZHMoKSB7XG4gICAgICAgIGxldCBrZXl3b3JkcyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBmaWVsZG5hbWUgb2YgdGhpcy5tZXRhLmdldF9rZXl3b3JkX2ZpZWxkcygpKSB7XG4gICAgICAgICAgICBrZXl3b3Jkcy5wdXNoKHRoaXNbZmllbGRuYW1lXSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5rZXl3b3JkcyA9IGtleXdvcmRzLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgZ2V0IG1ldGEoKSB7XG4gICAgICAgIGlmICghdGhpcy5fbWV0YSkge1xuICAgICAgICAgICAgdGhpcy5fbWV0YSA9IGZyYXBwZS5nZXRfbWV0YSh0aGlzLmRvY3R5cGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9tZXRhO1xuICAgIH1cblxuICAgIGFwcGVuZChrZXksIGRvY3VtZW50KSB7XG4gICAgICAgIGlmICghdGhpc1trZXldKSB7XG4gICAgICAgICAgICB0aGlzW2tleV0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzW2tleV0ucHVzaCh0aGlzLmluaXRfZG9jKGRvY3VtZW50KSk7XG4gICAgfVxuXG4gICAgaW5pdF9kb2MoZGF0YSkge1xuICAgICAgICBpZiAoZGF0YS5wcm90b3R5cGUgaW5zdGFuY2VvZiBEb2N1bWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERvY3VtZW50KGQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFsaWRhdGVfZmllbGQgKGtleSwgdmFsdWUpIHtcbiAgICAgICAgbGV0IGRmID0gdGhpcy5tZXRhLmdldF9maWVsZChrZXkpO1xuICAgICAgICBpZiAoZGYuZmllbGR0eXBlPT0nU2VsZWN0Jykge1xuICAgICAgICAgICAgdGhpcy5tZXRhLnZhbGlkYXRlX3NlbGVjdChkZiwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0X3ZhbGlkX2RpY3QoKSB7XG4gICAgICAgIGxldCBkb2MgPSB7fTtcbiAgICAgICAgZm9yKGxldCBkZiBvZiB0aGlzLm1ldGEuZ2V0X3ZhbGlkX2ZpZWxkcygpKSB7XG4gICAgICAgICAgICBkb2NbZGYuZmllbGRuYW1lXSA9IHRoaXMuZ2V0KGRmLmZpZWxkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRvYztcbiAgICB9XG5cbiAgICBzZXRfc3RhbmRhcmRfdmFsdWVzKCkge1xuICAgICAgICBsZXQgbm93ID0gbmV3IERhdGUoKTtcbiAgICAgICAgaWYgKHRoaXMuZG9jc3RhdHVzID09PSBudWxsIHx8IHRoaXMuZG9jc3RhdHVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jc3RhdHVzID0gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMub3duZXIpIHtcbiAgICAgICAgICAgIHRoaXMub3duZXIgPSBmcmFwcGUuc2Vzc2lvbi51c2VyO1xuICAgICAgICAgICAgdGhpcy5jcmVhdGlvbiA9IG5vdztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vZGlmaWVkX2J5ID0gZnJhcHBlLnNlc3Npb24udXNlcjtcbiAgICAgICAgdGhpcy5tb2RpZmllZCA9IG5vdztcbiAgICB9XG5cbiAgICBhc3luYyBsb2FkKCkge1xuICAgICAgICBsZXQgZGF0YSA9IGF3YWl0IGZyYXBwZS5kYi5nZXQodGhpcy5kb2N0eXBlLCB0aGlzLm5hbWUpO1xuICAgICAgICBpZiAoZGF0YS5uYW1lKSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IGZyYXBwZS5lcnJvcnMuTm90Rm91bmQoYE5vdCBGb3VuZDogJHt0aGlzLmRvY3R5cGV9ICR7dGhpcy5uYW1lfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgaW5zZXJ0KCkge1xuICAgICAgICB0aGlzLnNldF9uYW1lKCk7XG4gICAgICAgIHRoaXMuc2V0X3N0YW5kYXJkX3ZhbHVlcygpO1xuICAgICAgICB0aGlzLnNldF9rZXl3b3JkcygpO1xuICAgICAgICBhd2FpdCB0aGlzLnRyaWdnZXIoJ3ZhbGlkYXRlJywgJ2JlZm9yZV9pbnNlcnQnKTtcbiAgICAgICAgYXdhaXQgZnJhcHBlLmRiLmluc2VydCh0aGlzLmRvY3R5cGUsIHRoaXMuZ2V0X3ZhbGlkX2RpY3QoKSk7XG4gICAgICAgIGF3YWl0IHRoaXMudHJpZ2dlcignYWZ0ZXJfaW5zZXJ0JywgJ2FmdGVyX3NhdmUnKTtcbiAgICB9XG5cbiAgICBhc3luYyBkZWxldGUoKSB7XG4gICAgICAgIGF3YWl0IHRoaXMudHJpZ2dlcignYmVmb3JlX2RlbGV0ZScpO1xuICAgICAgICBhd2FpdCBmcmFwcGUuZGIuZGVsZXRlKHRoaXMuZG9jdHlwZSwgdGhpcy5uYW1lKTtcbiAgICAgICAgYXdhaXQgdGhpcy50cmlnZ2VyKCdhZnRlcl9kZWxldGUnKTtcbiAgICB9XG5cbiAgICBhc3luYyB0cmlnZ2VyKCkge1xuICAgICAgICBmb3IodmFyIGtleSBvZiBhcmd1bWVudHMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhbmRsZXJzW2tleV0pIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBtZXRob2Qgb2YgdGhpcy5oYW5kbGVyc1trZXldKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbWV0aG9kID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpc1ttZXRob2RdKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBtZXRob2QodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyB1cGRhdGUoKSB7XG4gICAgICAgIHRoaXMuc2V0X3N0YW5kYXJkX3ZhbHVlcygpO1xuICAgICAgICB0aGlzLnNldF9rZXl3b3JkcygpO1xuICAgICAgICBhd2FpdCB0aGlzLnRyaWdnZXIoJ3ZhbGlkYXRlJywgJ2JlZm9yZV91cGRhdGUnKTtcbiAgICAgICAgYXdhaXQgZnJhcHBlLmRiLnVwZGF0ZSh0aGlzLmRvY3R5cGUsIHRoaXMuZ2V0X3ZhbGlkX2RpY3QoKSk7XG4gICAgICAgIGF3YWl0IHRoaXMudHJpZ2dlcignYWZ0ZXJfdXBkYXRlJywgJ2FmdGVyX3NhdmUnKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7IERvY3VtZW50OiBEb2N1bWVudCB9O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL21vZGVsL2RvY3VtZW50LmpzXG4vLyBtb2R1bGUgaWQgPSAzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsInJlcXVpcmUoJy4vc2Nzcy9tYWluLnNjc3MnKTtcblxuY29uc3QgY2xpZW50ID0gcmVxdWlyZSgnZnJhcHBlanMvY2xpZW50Jyk7XG5cbi8vIHN0YXJ0IHNlcnZlclxuY2xpZW50LnN0YXJ0KHtcbiAgICBzZXJ2ZXI6ICdsb2NhbGhvc3Q6ODAwMCcsXG4gICAgY29udGFpbmVyOiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud3JhcHBlcicpLFxufSkudGhlbigoKSA9PiB7XG4gICAgZnJhcHBlLnRvZG9fbW9kdWxlID0gcmVxdWlyZSgnZnJhcHBlanMvbW9kZWxzL2RvY3R5cGUvdG9kby90b2RvLmpzJyk7XG4gICAgZnJhcHBlLmFjY291bnRfbW9kdWxlID0gcmVxdWlyZSgnLi9tb2RlbHMvZG9jdHlwZS9hY2NvdW50L2FjY291bnQuanMnKTtcblxuICAgIGZyYXBwZS5pbml0X2NvbnRyb2xsZXIoJ2FjY291bnQnLCBmcmFwcGUuYWNjb3VudF9tb2R1bGUpO1xuICAgIGZyYXBwZS5pbml0X2NvbnRyb2xsZXIoJ3RvZG8nLCBmcmFwcGUudG9kb19tb2R1bGUpO1xuXG4gICAgZnJhcHBlLmRlc2suYWRkX3NpZGViYXJfaXRlbSgnVG9EbycsICcjbGlzdC90b2RvJyk7XG4gICAgZnJhcHBlLmRlc2suYWRkX3NpZGViYXJfaXRlbSgnQWNjb3VudHMnLCAnI2xpc3QvYWNjb3VudCcpO1xuXG4gICAgZnJhcHBlLnJvdXRlci5kZWZhdWx0ID0gJyNsaXN0L3RvZG8nO1xuXG4gICAgZnJhcHBlLnJvdXRlci5zaG93KHdpbmRvdy5sb2NhdGlvbi5oYXNoKTtcbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLy8gc3R5bGUtbG9hZGVyOiBBZGRzIHNvbWUgY3NzIHRvIHRoZSBET00gYnkgYWRkaW5nIGEgPHN0eWxlPiB0YWdcblxuLy8gbG9hZCB0aGUgc3R5bGVzXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tMC0yIS4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9saWIvbG9hZGVyLmpzIS4vbWFpbi5zY3NzXCIpO1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG4vLyBQcmVwYXJlIGNzc1RyYW5zZm9ybWF0aW9uXG52YXIgdHJhbnNmb3JtO1xuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxuLy8gYWRkIHRoZSBzdHlsZXMgdG8gdGhlIERPTVxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG5cdC8vIFdoZW4gdGhlIHN0eWxlcyBjaGFuZ2UsIHVwZGF0ZSB0aGUgPHN0eWxlPiB0YWdzXG5cdGlmKCFjb250ZW50LmxvY2Fscykge1xuXHRcdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTAtMiEuLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvbGliL2xvYWRlci5qcyEuL21haW4uc2Nzc1wiLCBmdW5jdGlvbigpIHtcblx0XHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS0wLTIhLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2xpYi9sb2FkZXIuanMhLi9tYWluLnNjc3NcIik7XG5cdFx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblx0XHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0XHR9KTtcblx0fVxuXHQvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc2Nzcy9tYWluLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIvKiFcXG4gKiBCb290c3RyYXAgdjQuMC4wIChodHRwczovL2dldGJvb3RzdHJhcC5jb20pXFxuICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE4IFR3aXR0ZXIsIEluYy5cXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxcbiAqL1xcbiosICo6OmJlZm9yZSwgKjo6YWZ0ZXIge1xcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XFxuaHRtbCB7XFxuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG5ALW1zLXZpZXdwb3J0IHtcXG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cXG5hcnRpY2xlLCBhc2lkZSwgZGlhbG9nLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG5hdiwgc2VjdGlvbiB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcbmJvZHkge1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCI7XFxuICBmb250LXNpemU6IDFyZW07XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cXG5bdGFiaW5kZXg9XFxcIi0xXFxcIl06Zm9jdXMge1xcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50OyB9XFxuaHIge1xcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcXG4gICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICBoZWlnaHQ6IDA7XFxuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xcbiAgbWFyZ2luLXRvcDogMDtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxcbnAge1xcbiAgbWFyZ2luLXRvcDogMDtcXG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cXG5hYmJyW3RpdGxlXSwgYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICBjdXJzb3I6IGhlbHA7XFxuICBib3JkZXItYm90dG9tOiAwOyB9XFxuYWRkcmVzcyB7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cXG5vbCwgdWwsIGRsIHtcXG4gIG1hcmdpbi10b3A6IDA7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XFxub2wgb2wsIHVsIHVsLCBvbCB1bCwgdWwgb2wge1xcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbmR0IHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cXG5kZCB7XFxuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XFxuYmxvY2txdW90ZSB7XFxuICBtYXJnaW46IDAgMCAxcmVtOyB9XFxuZGZuIHtcXG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxcbmIsIHN0cm9uZyB7XFxuICBmb250LXdlaWdodDogYm9sZGVyOyB9XFxuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7IH1cXG5zdWIsIHN1cCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XFxuc3ViIHtcXG4gIGJvdHRvbTogLS4yNWVtOyB9XFxuc3VwIHtcXG4gIHRvcDogLS41ZW07IH1cXG5hIHtcXG4gIGNvbG9yOiAjMDA3YmZmO1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyB9XFxuYTpob3ZlciB7XFxuICAgIGNvbG9yOiAjMDA1NmIzO1xcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxcbmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XFxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6aG92ZXIsIGE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmZvY3VzIHtcXG4gICAgY29sb3I6IGluaGVyaXQ7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxcbmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pOmZvY3VzIHtcXG4gICAgb3V0bGluZTogMDsgfVxcbnByZSwgY29kZSwga2JkLCBzYW1wIHtcXG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcXG4gIGZvbnQtc2l6ZTogMWVtOyB9XFxucHJlIHtcXG4gIG1hcmdpbi10b3A6IDA7XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbiAgb3ZlcmZsb3c6IGF1dG87XFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjsgfVxcbmZpZ3VyZSB7XFxuICBtYXJnaW46IDAgMCAxcmVtOyB9XFxuaW1nIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cXG5zdmc6bm90KDpyb290KSB7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxudGFibGUge1xcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxcbmNhcHRpb24ge1xcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG4gIGNhcHRpb24tc2lkZTogYm90dG9tOyB9XFxudGgge1xcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgfVxcbmxhYmVsIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XFxuYnV0dG9uIHtcXG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cXG5idXR0b246Zm9jdXMge1xcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcXG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsgfVxcbmlucHV0LCBidXR0b24sIHNlbGVjdCwgb3B0Z3JvdXAsIHRleHRhcmVhIHtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cXG5idXR0b24sIGlucHV0IHtcXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XFxuYnV0dG9uLCBzZWxlY3Qge1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cXG5idXR0b24sIGh0bWwgW3R5cGU9XFxcImJ1dHRvblxcXCJdLCBbdHlwZT1cXFwicmVzZXRcXFwiXSwgW3R5cGU9XFxcInN1Ym1pdFxcXCJdIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XFxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cXFwiYnV0dG9uXFxcIl06Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVxcXCJyZXNldFxcXCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cXFwic3VibWl0XFxcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xcbiAgcGFkZGluZzogMDtcXG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxcbmlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0sIGlucHV0W3R5cGU9XFxcImNoZWNrYm94XFxcIl0ge1xcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgcGFkZGluZzogMDsgfVxcbmlucHV0W3R5cGU9XFxcImRhdGVcXFwiXSwgaW5wdXRbdHlwZT1cXFwidGltZVxcXCJdLCBpbnB1dFt0eXBlPVxcXCJkYXRldGltZS1sb2NhbFxcXCJdLCBpbnB1dFt0eXBlPVxcXCJtb250aFxcXCJdIHtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDsgfVxcbnRleHRhcmVhIHtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxcbmZpZWxkc2V0IHtcXG4gIG1pbi13aWR0aDogMDtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBib3JkZXI6IDA7IH1cXG5sZWdlbmQge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XFxuICBjb2xvcjogaW5oZXJpdDtcXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cXG5wcm9ncmVzcyB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cXG5bdHlwZT1cXFwibnVtYmVyXFxcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIFt0eXBlPVxcXCJudW1iZXJcXFwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XFxuICBoZWlnaHQ6IGF1dG87IH1cXG5bdHlwZT1cXFwic2VhcmNoXFxcIl0ge1xcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cXG5bdHlwZT1cXFwic2VhcmNoXFxcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVxcXCJzZWFyY2hcXFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gIGZvbnQ6IGluaGVyaXQ7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxcbm91dHB1dCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cXG5zdW1tYXJ5IHtcXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcXG4gIGN1cnNvcjogcG9pbnRlcjsgfVxcbnRlbXBsYXRlIHtcXG4gIGRpc3BsYXk6IG5vbmU7IH1cXG5baGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XFxuICBjb2xvcjogaW5oZXJpdDsgfVxcbmgxLCAuaDEge1xcbiAgZm9udC1zaXplOiAyLjVyZW07IH1cXG5oMiwgLmgyIHtcXG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxcbmgzLCAuaDMge1xcbiAgZm9udC1zaXplOiAxLjc1cmVtOyB9XFxuaDQsIC5oNCB7XFxuICBmb250LXNpemU6IDEuNXJlbTsgfVxcbmg1LCAuaDUge1xcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XFxuaDYsIC5oNiB7XFxuICBmb250LXNpemU6IDFyZW07IH1cXG4ubGVhZCB7XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBmb250LXdlaWdodDogMzAwOyB9XFxuLmRpc3BsYXktMSB7XFxuICBmb250LXNpemU6IDZyZW07XFxuICBmb250LXdlaWdodDogMzAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxcbi5kaXNwbGF5LTIge1xcbiAgZm9udC1zaXplOiA1LjVyZW07XFxuICBmb250LXdlaWdodDogMzAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxcbi5kaXNwbGF5LTMge1xcbiAgZm9udC1zaXplOiA0LjVyZW07XFxuICBmb250LXdlaWdodDogMzAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxcbi5kaXNwbGF5LTQge1xcbiAgZm9udC1zaXplOiAzLjVyZW07XFxuICBmb250LXdlaWdodDogMzAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxcbmhyIHtcXG4gIG1hcmdpbi10b3A6IDFyZW07XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbiAgYm9yZGVyOiAwO1xcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxcbnNtYWxsLCAuc21hbGwge1xcbiAgZm9udC1zaXplOiA4MCU7XFxuICBmb250LXdlaWdodDogNDAwOyB9XFxubWFyaywgLm1hcmsge1xcbiAgcGFkZGluZzogMC4yZW07XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOyB9XFxuLmxpc3QtdW5zdHlsZWQge1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxcbi5saXN0LWlubGluZSB7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxuICBsaXN0LXN0eWxlOiBub25lOyB9XFxuLmxpc3QtaW5saW5lLWl0ZW0ge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XFxuLmxpc3QtaW5saW5lLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XFxuLmluaXRpYWxpc20ge1xcbiAgZm9udC1zaXplOiA5MCU7XFxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XFxuLmJsb2NrcXVvdGUge1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxcbi5ibG9ja3F1b3RlLWZvb3RlciB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGZvbnQtc2l6ZTogODAlO1xcbiAgY29sb3I6ICM2Yzc1N2Q7IH1cXG4uYmxvY2txdW90ZS1mb290ZXI6OmJlZm9yZSB7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFxcMjAxNCAgIFxcXFxBMFxcXCI7IH1cXG4uaW1nLWZsdWlkIHtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIGhlaWdodDogYXV0bzsgfVxcbi5pbWctdGh1bWJuYWlsIHtcXG4gIHBhZGRpbmc6IDAuMjVyZW07XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87IH1cXG4uZmlndXJlIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxcbi5maWd1cmUtaW1nIHtcXG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxOyB9XFxuLmZpZ3VyZS1jYXB0aW9uIHtcXG4gIGZvbnQtc2l6ZTogOTAlO1xcbiAgY29sb3I6ICM2Yzc1N2Q7IH1cXG5jb2RlLCBrYmQsIHByZSwgc2FtcCB7XFxuICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcXFwiTGliZXJhdGlvbiBNb25vXFxcIiwgXFxcIkNvdXJpZXIgTmV3XFxcIiwgbW9ub3NwYWNlOyB9XFxuY29kZSB7XFxuICBmb250LXNpemU6IDg3LjUlO1xcbiAgY29sb3I6ICNlODNlOGM7XFxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyB9XFxuYSA+IGNvZGUge1xcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxcbmtiZCB7XFxuICBwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xcbiAgZm9udC1zaXplOiA4Ny41JTtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTsgfVxcbmtiZCBrYmQge1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBmb250LXNpemU6IDEwMCU7XFxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cXG5wcmUge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBmb250LXNpemU6IDg3LjUlO1xcbiAgY29sb3I6ICMyMTI1Mjk7IH1cXG5wcmUgY29kZSB7XFxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gICAgY29sb3I6IGluaGVyaXQ7XFxuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDsgfVxcbi5wcmUtc2Nyb2xsYWJsZSB7XFxuICBtYXgtaGVpZ2h0OiAzNDBweDtcXG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxcbi5jb250YWluZXIge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcXG4gICAgLmNvbnRhaW5lciB7XFxuICAgICAgbWF4LXdpZHRoOiA1NDBweDsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICAgIC5jb250YWluZXIge1xcbiAgICAgIG1heC13aWR0aDogNzIwcHg7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xcbiAgICAuY29udGFpbmVyIHtcXG4gICAgICBtYXgtd2lkdGg6IDk2MHB4OyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XFxuICAgIC5jb250YWluZXIge1xcbiAgICAgIG1heC13aWR0aDogMTE0MHB4OyB9IH1cXG4uY29udGFpbmVyLWZsdWlkIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcGFkZGluZy1yaWdodDogMTVweDtcXG4gIHBhZGRpbmctbGVmdDogMTVweDtcXG4gIG1hcmdpbi1yaWdodDogYXV0bztcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XFxuLnJvdyB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICAgICAgZmxleC13cmFwOiB3cmFwO1xcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcXG4gIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxcbi5uby1ndXR0ZXJzIHtcXG4gIG1hcmdpbi1yaWdodDogMDtcXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XFxuLm5vLWd1dHRlcnMgPiAuY29sLCAubm8tZ3V0dGVycyA+IFtjbGFzcyo9XFxcImNvbC1cXFwiXSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIHBhZGRpbmctbGVmdDogMDsgfVxcbi5jb2wtMSwgLmNvbC0yLCAuY29sLTMsIC5jb2wtNCwgLmNvbC01LCAuY29sLTYsIC5jb2wtNywgLmNvbC04LCAuY29sLTksIC5jb2wtMTAsIC5jb2wtMTEsIC5jb2wtMTIsIC5jb2wsIC5jb2wtYXV0bywgLmNvbC1zbS0xLCAuY29sLXNtLTIsIC5jb2wtc20tMywgLmNvbC1zbS00LCAuY29sLXNtLTUsIC5jb2wtc20tNiwgLmNvbC1zbS03LCAuY29sLXNtLTgsIC5jb2wtc20tOSwgLmNvbC1zbS0xMCwgLmNvbC1zbS0xMSwgLmNvbC1zbS0xMiwgLmNvbC1zbSwgLmNvbC1zbS1hdXRvLCAuY29sLW1kLTEsIC5jb2wtbWQtMiwgLmNvbC1tZC0zLCAuY29sLW1kLTQsIC5jb2wtbWQtNSwgLmNvbC1tZC02LCAuY29sLW1kLTcsIC5jb2wtbWQtOCwgLmNvbC1tZC05LCAuY29sLW1kLTEwLCAuY29sLW1kLTExLCAuY29sLW1kLTEyLCAuY29sLW1kLCAuY29sLW1kLWF1dG8sIC5jb2wtbGctMSwgLmNvbC1sZy0yLCAuY29sLWxnLTMsIC5jb2wtbGctNCwgLmNvbC1sZy01LCAuY29sLWxnLTYsIC5jb2wtbGctNywgLmNvbC1sZy04LCAuY29sLWxnLTksIC5jb2wtbGctMTAsIC5jb2wtbGctMTEsIC5jb2wtbGctMTIsIC5jb2wtbGcsIC5jb2wtbGctYXV0bywgLmNvbC14bC0xLCAuY29sLXhsLTIsIC5jb2wteGwtMywgLmNvbC14bC00LCAuY29sLXhsLTUsIC5jb2wteGwtNiwgLmNvbC14bC03LCAuY29sLXhsLTgsIC5jb2wteGwtOSwgLmNvbC14bC0xMCwgLmNvbC14bC0xMSwgLmNvbC14bC0xMiwgLmNvbC14bCwgLmNvbC14bC1hdXRvIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgbWluLWhlaWdodDogMXB4O1xcbiAgcGFkZGluZy1yaWdodDogMTVweDtcXG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxcbi5jb2wge1xcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7XFxuICAgICAgZmxleC1iYXNpczogMDtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XFxuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcXG4gIG1heC13aWR0aDogMTAwJTsgfVxcbi5jb2wtYXV0byB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcXG4gICAgICAgICAgZmxleDogMCAwIGF1dG87XFxuICB3aWR0aDogYXV0bztcXG4gIG1heC13aWR0aDogbm9uZTsgfVxcbi5jb2wtMSB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMyU7XFxuICAgICAgICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcXG4gIG1heC13aWR0aDogOC4zMzMzMyU7IH1cXG4uY29sLTIge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY3JTtcXG4gICAgICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcXG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XFxuLmNvbC0zIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgLW1zLWZsZXg6IDAgMCAyNSU7XFxuICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XFxuICBtYXgtd2lkdGg6IDI1JTsgfVxcbi5jb2wtNCB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xcbiAgICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cXG4uY29sLTUge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcXG4gICAgICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTtcXG4gIG1heC13aWR0aDogNDEuNjY2NjclOyB9XFxuLmNvbC02IHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XFxuICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XFxuICBtYXgtd2lkdGg6IDUwJTsgfVxcbi5jb2wtNyB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlO1xcbiAgICAgICAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cXG4uY29sLTgge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcXG4gICAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcXG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XFxuLmNvbC05IHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgLW1zLWZsZXg6IDAgMCA3NSU7XFxuICAgICAgICAgIGZsZXg6IDAgMCA3NSU7XFxuICBtYXgtd2lkdGg6IDc1JTsgfVxcbi5jb2wtMTAge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcXG4gICAgICAgICAgZmxleDogMCAwIDgzLjMzMzMzJTtcXG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XFxuLmNvbC0xMSB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclO1xcbiAgICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xcbiAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cXG4uY29sLTEyIHtcXG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xcbiAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcXG4gIG1heC13aWR0aDogMTAwJTsgfVxcbi5vcmRlci1maXJzdCB7XFxuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAwO1xcbiAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcXG4gICAgICAgICAgb3JkZXI6IC0xOyB9XFxuLm9yZGVyLWxhc3Qge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTQ7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDEzO1xcbiAgICAgICAgICBvcmRlcjogMTM7IH1cXG4ub3JkZXItMCB7XFxuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxO1xcbiAgICAgIC1tcy1mbGV4LW9yZGVyOiAwO1xcbiAgICAgICAgICBvcmRlcjogMDsgfVxcbi5vcmRlci0xIHtcXG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDE7XFxuICAgICAgICAgIG9yZGVyOiAxOyB9XFxuLm9yZGVyLTIge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMztcXG4gICAgICAtbXMtZmxleC1vcmRlcjogMjtcXG4gICAgICAgICAgb3JkZXI6IDI7IH1cXG4ub3JkZXItMyB7XFxuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA0O1xcbiAgICAgIC1tcy1mbGV4LW9yZGVyOiAzO1xcbiAgICAgICAgICBvcmRlcjogMzsgfVxcbi5vcmRlci00IHtcXG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDU7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDQ7XFxuICAgICAgICAgIG9yZGVyOiA0OyB9XFxuLm9yZGVyLTUge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNjtcXG4gICAgICAtbXMtZmxleC1vcmRlcjogNTtcXG4gICAgICAgICAgb3JkZXI6IDU7IH1cXG4ub3JkZXItNiB7XFxuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA3O1xcbiAgICAgIC1tcy1mbGV4LW9yZGVyOiA2O1xcbiAgICAgICAgICBvcmRlcjogNjsgfVxcbi5vcmRlci03IHtcXG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDg7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDc7XFxuICAgICAgICAgIG9yZGVyOiA3OyB9XFxuLm9yZGVyLTgge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogOTtcXG4gICAgICAtbXMtZmxleC1vcmRlcjogODtcXG4gICAgICAgICAgb3JkZXI6IDg7IH1cXG4ub3JkZXItOSB7XFxuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMDtcXG4gICAgICAtbXMtZmxleC1vcmRlcjogOTtcXG4gICAgICAgICAgb3JkZXI6IDk7IH1cXG4ub3JkZXItMTAge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTE7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDEwO1xcbiAgICAgICAgICBvcmRlcjogMTA7IH1cXG4ub3JkZXItMTEge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTI7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDExO1xcbiAgICAgICAgICBvcmRlcjogMTE7IH1cXG4ub3JkZXItMTIge1xcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTM7XFxuICAgICAgLW1zLWZsZXgtb3JkZXI6IDEyO1xcbiAgICAgICAgICBvcmRlcjogMTI7IH1cXG4ub2Zmc2V0LTEge1xcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XFxuLm9mZnNldC0yIHtcXG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cXG4ub2Zmc2V0LTMge1xcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxcbi5vZmZzZXQtNCB7XFxuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XFxuLm9mZnNldC01IHtcXG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cXG4ub2Zmc2V0LTYge1xcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxcbi5vZmZzZXQtNyB7XFxuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XFxuLm9mZnNldC04IHtcXG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cXG4ub2Zmc2V0LTkge1xcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxcbi5vZmZzZXQtMTAge1xcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxcbi5vZmZzZXQtMTEge1xcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLmNvbC1zbSB7XFxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwO1xcbiAgICAgICAgZmxleC1iYXNpczogMDtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcXG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XFxuICAuY29sLXNtLWF1dG8ge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xcbiAgICB3aWR0aDogYXV0bztcXG4gICAgbWF4LXdpZHRoOiBub25lOyB9XFxuICAuY29sLXNtLTEge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA4LjMzMzMzJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XFxuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cXG4gIC5jb2wtc20tMiB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDE2LjY2NjY3JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxcbiAgLmNvbC1zbS0zIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMjUlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XFxuICAgIG1heC13aWR0aDogMjUlOyB9XFxuICAuY29sLXNtLTQge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAzMy4zMzMzMyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cXG4gIC5jb2wtc20tNSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDQxLjY2NjY3JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxcbiAgLmNvbC1zbS02IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTAlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XFxuICAgIG1heC13aWR0aDogNTAlOyB9XFxuICAuY29sLXNtLTcge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1OC4zMzMzMyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDU4LjMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cXG4gIC5jb2wtc20tOCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDY2LjY2NjY3JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxcbiAgLmNvbC1zbS05IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNzUlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA3NSU7XFxuICAgIG1heC13aWR0aDogNzUlOyB9XFxuICAuY29sLXNtLTEwIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgODMuMzMzMzMlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XFxuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XFxuICAuY29sLXNtLTExIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgOTEuNjY2NjclO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XFxuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XFxuICAuY29sLXNtLTEyIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTAwJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcXG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XFxuICAub3JkZXItc20tZmlyc3Qge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAwO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xcbiAgICAgICAgICAgIG9yZGVyOiAtMTsgfVxcbiAgLm9yZGVyLXNtLWxhc3Qge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxNDtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMztcXG4gICAgICAgICAgICBvcmRlcjogMTM7IH1cXG4gIC5vcmRlci1zbS0wIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAwO1xcbiAgICAgICAgICAgIG9yZGVyOiAwOyB9XFxuICAub3JkZXItc20tMSB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTtcXG4gICAgICAgICAgICBvcmRlcjogMTsgfVxcbiAgLm9yZGVyLXNtLTIge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAzO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDI7XFxuICAgICAgICAgICAgb3JkZXI6IDI7IH1cXG4gIC5vcmRlci1zbS0zIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNDtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAzO1xcbiAgICAgICAgICAgIG9yZGVyOiAzOyB9XFxuICAub3JkZXItc20tNCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDU7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogNDtcXG4gICAgICAgICAgICBvcmRlcjogNDsgfVxcbiAgLm9yZGVyLXNtLTUge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA2O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDU7XFxuICAgICAgICAgICAgb3JkZXI6IDU7IH1cXG4gIC5vcmRlci1zbS02IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNztcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA2O1xcbiAgICAgICAgICAgIG9yZGVyOiA2OyB9XFxuICAub3JkZXItc20tNyB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDg7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogNztcXG4gICAgICAgICAgICBvcmRlcjogNzsgfVxcbiAgLm9yZGVyLXNtLTgge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA5O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDg7XFxuICAgICAgICAgICAgb3JkZXI6IDg7IH1cXG4gIC5vcmRlci1zbS05IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTA7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogOTtcXG4gICAgICAgICAgICBvcmRlcjogOTsgfVxcbiAgLm9yZGVyLXNtLTEwIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTE7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTA7XFxuICAgICAgICAgICAgb3JkZXI6IDEwOyB9XFxuICAub3JkZXItc20tMTEge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMjtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMTtcXG4gICAgICAgICAgICBvcmRlcjogMTE7IH1cXG4gIC5vcmRlci1zbS0xMiB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEzO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEyO1xcbiAgICAgICAgICAgIG9yZGVyOiAxMjsgfVxcbiAgLm9mZnNldC1zbS0wIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gIC5vZmZzZXQtc20tMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxcbiAgLm9mZnNldC1zbS0yIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxcbiAgLm9mZnNldC1zbS0zIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxcbiAgLm9mZnNldC1zbS00IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxcbiAgLm9mZnNldC1zbS01IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxcbiAgLm9mZnNldC1zbS02IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxcbiAgLm9mZnNldC1zbS03IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxcbiAgLm9mZnNldC1zbS04IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxcbiAgLm9mZnNldC1zbS05IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxcbiAgLm9mZnNldC1zbS0xMCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cXG4gIC5vZmZzZXQtc20tMTEge1xcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcXG4gIC5jb2wtbWQge1xcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDtcXG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XFxuICAgIG1heC13aWR0aDogMTAwJTsgfVxcbiAgLmNvbC1tZC1hdXRvIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcXG4gICAgd2lkdGg6IGF1dG87XFxuICAgIG1heC13aWR0aDogbm9uZTsgfVxcbiAgLmNvbC1tZC0xIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDguMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XFxuICAuY29sLW1kLTIge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cXG4gIC5jb2wtbWQtMyB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDI1JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxcbiAgLmNvbC1tZC00IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XFxuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XFxuICAuY29sLW1kLTUge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cXG4gIC5jb2wtbWQtNiB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxcbiAgLmNvbC1tZC03IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XFxuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XFxuICAuY29sLW1kLTgge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cXG4gIC5jb2wtbWQtOSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDc1JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNzUlO1xcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxcbiAgLmNvbC1tZC0xMCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxcbiAgLmNvbC1tZC0xMSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY3JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxcbiAgLmNvbC1tZC0xMiB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDEwMCU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XFxuICAgIG1heC13aWR0aDogMTAwJTsgfVxcbiAgLm9yZGVyLW1kLWZpcnN0IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMDtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcXG4gICAgICAgICAgICBvcmRlcjogLTE7IH1cXG4gIC5vcmRlci1tZC1sYXN0IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTQ7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTM7XFxuICAgICAgICAgICAgb3JkZXI6IDEzOyB9XFxuICAub3JkZXItbWQtMCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDE7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMDtcXG4gICAgICAgICAgICBvcmRlcjogMDsgfVxcbiAgLm9yZGVyLW1kLTEge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDE7XFxuICAgICAgICAgICAgb3JkZXI6IDE7IH1cXG4gIC5vcmRlci1tZC0yIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMztcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAyO1xcbiAgICAgICAgICAgIG9yZGVyOiAyOyB9XFxuICAub3JkZXItbWQtMyB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDQ7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMztcXG4gICAgICAgICAgICBvcmRlcjogMzsgfVxcbiAgLm9yZGVyLW1kLTQge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA1O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDQ7XFxuICAgICAgICAgICAgb3JkZXI6IDQ7IH1cXG4gIC5vcmRlci1tZC01IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNjtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA1O1xcbiAgICAgICAgICAgIG9yZGVyOiA1OyB9XFxuICAub3JkZXItbWQtNiB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDc7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogNjtcXG4gICAgICAgICAgICBvcmRlcjogNjsgfVxcbiAgLm9yZGVyLW1kLTcge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA4O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDc7XFxuICAgICAgICAgICAgb3JkZXI6IDc7IH1cXG4gIC5vcmRlci1tZC04IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogOTtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA4O1xcbiAgICAgICAgICAgIG9yZGVyOiA4OyB9XFxuICAub3JkZXItbWQtOSB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEwO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDk7XFxuICAgICAgICAgICAgb3JkZXI6IDk7IH1cXG4gIC5vcmRlci1tZC0xMCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDExO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEwO1xcbiAgICAgICAgICAgIG9yZGVyOiAxMDsgfVxcbiAgLm9yZGVyLW1kLTExIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTI7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTE7XFxuICAgICAgICAgICAgb3JkZXI6IDExOyB9XFxuICAub3JkZXItbWQtMTIge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMztcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMjtcXG4gICAgICAgICAgICBvcmRlcjogMTI7IH1cXG4gIC5vZmZzZXQtbWQtMCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAub2Zmc2V0LW1kLTEge1xcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cXG4gIC5vZmZzZXQtbWQtMiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cXG4gIC5vZmZzZXQtbWQtMyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cXG4gIC5vZmZzZXQtbWQtNCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cXG4gIC5vZmZzZXQtbWQtNSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cXG4gIC5vZmZzZXQtbWQtNiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cXG4gIC5vZmZzZXQtbWQtNyB7XFxuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cXG4gIC5vZmZzZXQtbWQtOCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cXG4gIC5vZmZzZXQtbWQtOSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cXG4gIC5vZmZzZXQtbWQtMTAge1xcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XFxuICAub2Zmc2V0LW1kLTExIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAuY29sLWxnIHtcXG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7XFxuICAgICAgICBmbGV4LWJhc2lzOiAwO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XFxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cXG4gIC5jb2wtbGctYXV0byB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cXG4gIC5jb2wtbGctMSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDguMzMzMzMlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxcbiAgLmNvbC1sZy0yIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMTYuNjY2NjclO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XFxuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XFxuICAuY29sLWxnLTMge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAyNSU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDI1JTtcXG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cXG4gIC5jb2wtbGctNCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDMzLjMzMzMzJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxcbiAgLmNvbC1sZy01IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNDEuNjY2NjclO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XFxuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XFxuICAuY29sLWxnLTYge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA1MCU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcXG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cXG4gIC5jb2wtbGctNyB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDU4LjMzMzMzJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxcbiAgLmNvbC1sZy04IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNjYuNjY2NjclO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XFxuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XFxuICAuY29sLWxnLTkge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA3NSU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDc1JTtcXG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cXG4gIC5jb2wtbGctMTAge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA4My4zMzMzMyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDgzLjMzMzMzJTtcXG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cXG4gIC5jb2wtbGctMTEge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA5MS42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDkxLjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cXG4gIC5jb2wtbGctMTIge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxMDAlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cXG4gIC5vcmRlci1sZy1maXJzdCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDA7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogLTE7XFxuICAgICAgICAgICAgb3JkZXI6IC0xOyB9XFxuICAub3JkZXItbGctbGFzdCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDE0O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEzO1xcbiAgICAgICAgICAgIG9yZGVyOiAxMzsgfVxcbiAgLm9yZGVyLWxnLTAge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDA7XFxuICAgICAgICAgICAgb3JkZXI6IDA7IH1cXG4gIC5vcmRlci1sZy0xIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxO1xcbiAgICAgICAgICAgIG9yZGVyOiAxOyB9XFxuICAub3JkZXItbGctMiB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDM7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMjtcXG4gICAgICAgICAgICBvcmRlcjogMjsgfVxcbiAgLm9yZGVyLWxnLTMge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA0O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDM7XFxuICAgICAgICAgICAgb3JkZXI6IDM7IH1cXG4gIC5vcmRlci1sZy00IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNTtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA0O1xcbiAgICAgICAgICAgIG9yZGVyOiA0OyB9XFxuICAub3JkZXItbGctNSB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDY7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogNTtcXG4gICAgICAgICAgICBvcmRlcjogNTsgfVxcbiAgLm9yZGVyLWxnLTYge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA3O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDY7XFxuICAgICAgICAgICAgb3JkZXI6IDY7IH1cXG4gIC5vcmRlci1sZy03IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogODtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA3O1xcbiAgICAgICAgICAgIG9yZGVyOiA3OyB9XFxuICAub3JkZXItbGctOCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDk7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogODtcXG4gICAgICAgICAgICBvcmRlcjogODsgfVxcbiAgLm9yZGVyLWxnLTkge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMDtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA5O1xcbiAgICAgICAgICAgIG9yZGVyOiA5OyB9XFxuICAub3JkZXItbGctMTAge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMTtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMDtcXG4gICAgICAgICAgICBvcmRlcjogMTA7IH1cXG4gIC5vcmRlci1sZy0xMSB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEyO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDExO1xcbiAgICAgICAgICAgIG9yZGVyOiAxMTsgfVxcbiAgLm9yZGVyLWxnLTEyIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTM7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTI7XFxuICAgICAgICAgICAgb3JkZXI6IDEyOyB9XFxuICAub2Zmc2V0LWxnLTAge1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbiAgLm9mZnNldC1sZy0xIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XFxuICAub2Zmc2V0LWxnLTIge1xcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XFxuICAub2Zmc2V0LWxnLTMge1xcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XFxuICAub2Zmc2V0LWxnLTQge1xcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XFxuICAub2Zmc2V0LWxnLTUge1xcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XFxuICAub2Zmc2V0LWxnLTYge1xcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XFxuICAub2Zmc2V0LWxnLTcge1xcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XFxuICAub2Zmc2V0LWxnLTgge1xcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XFxuICAub2Zmc2V0LWxnLTkge1xcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XFxuICAub2Zmc2V0LWxnLTEwIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxcbiAgLm9mZnNldC1sZy0xMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcXG4gIC5jb2wteGwge1xcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMDtcXG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XFxuICAgIG1heC13aWR0aDogMTAwJTsgfVxcbiAgLmNvbC14bC1hdXRvIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcXG4gICAgd2lkdGg6IGF1dG87XFxuICAgIG1heC13aWR0aDogbm9uZTsgfVxcbiAgLmNvbC14bC0xIHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgOC4zMzMzMyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDguMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XFxuICAuY29sLXhsLTIge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxNi42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cXG4gIC5jb2wteGwtMyB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDI1JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxcbiAgLmNvbC14bC00IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgMzMuMzMzMzMlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XFxuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XFxuICAuY29sLXhsLTUge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA0MS42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cXG4gIC5jb2wteGwtNiB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDUwJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxcbiAgLmNvbC14bC03IHtcXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgNTguMzMzMzMlO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XFxuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XFxuICAuY29sLXhsLTgge1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMCA2Ni42NjY2NyU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcXG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cXG4gIC5jb2wteGwtOSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDc1JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgNzUlO1xcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxcbiAgLmNvbC14bC0xMCB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDgzLjMzMzMzJTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxcbiAgLmNvbC14bC0xMSB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDkxLjY2NjY3JTtcXG4gICAgICAgICAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxcbiAgLmNvbC14bC0xMiB7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAwIDEwMCU7XFxuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XFxuICAgIG1heC13aWR0aDogMTAwJTsgfVxcbiAgLm9yZGVyLXhsLWZpcnN0IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMDtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAtMTtcXG4gICAgICAgICAgICBvcmRlcjogLTE7IH1cXG4gIC5vcmRlci14bC1sYXN0IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTQ7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTM7XFxuICAgICAgICAgICAgb3JkZXI6IDEzOyB9XFxuICAub3JkZXIteGwtMCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDE7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMDtcXG4gICAgICAgICAgICBvcmRlcjogMDsgfVxcbiAgLm9yZGVyLXhsLTEge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDE7XFxuICAgICAgICAgICAgb3JkZXI6IDE7IH1cXG4gIC5vcmRlci14bC0yIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMztcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAyO1xcbiAgICAgICAgICAgIG9yZGVyOiAyOyB9XFxuICAub3JkZXIteGwtMyB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDQ7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMztcXG4gICAgICAgICAgICBvcmRlcjogMzsgfVxcbiAgLm9yZGVyLXhsLTQge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA1O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDQ7XFxuICAgICAgICAgICAgb3JkZXI6IDQ7IH1cXG4gIC5vcmRlci14bC01IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogNjtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA1O1xcbiAgICAgICAgICAgIG9yZGVyOiA1OyB9XFxuICAub3JkZXIteGwtNiB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDc7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogNjtcXG4gICAgICAgICAgICBvcmRlcjogNjsgfVxcbiAgLm9yZGVyLXhsLTcge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiA4O1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDc7XFxuICAgICAgICAgICAgb3JkZXI6IDc7IH1cXG4gIC5vcmRlci14bC04IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogOTtcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiA4O1xcbiAgICAgICAgICAgIG9yZGVyOiA4OyB9XFxuICAub3JkZXIteGwtOSB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDEwO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDk7XFxuICAgICAgICAgICAgb3JkZXI6IDk7IH1cXG4gIC5vcmRlci14bC0xMCB7XFxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDExO1xcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDEwO1xcbiAgICAgICAgICAgIG9yZGVyOiAxMDsgfVxcbiAgLm9yZGVyLXhsLTExIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMTI7XFxuICAgICAgICAtbXMtZmxleC1vcmRlcjogMTE7XFxuICAgICAgICAgICAgb3JkZXI6IDExOyB9XFxuICAub3JkZXIteGwtMTIge1xcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxMztcXG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxMjtcXG4gICAgICAgICAgICBvcmRlcjogMTI7IH1cXG4gIC5vZmZzZXQteGwtMCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XFxuICAub2Zmc2V0LXhsLTEge1xcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cXG4gIC5vZmZzZXQteGwtMiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cXG4gIC5vZmZzZXQteGwtMyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cXG4gIC5vZmZzZXQteGwtNCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cXG4gIC5vZmZzZXQteGwtNSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cXG4gIC5vZmZzZXQteGwtNiB7XFxuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cXG4gIC5vZmZzZXQteGwtNyB7XFxuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cXG4gIC5vZmZzZXQteGwtOCB7XFxuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cXG4gIC5vZmZzZXQteGwtOSB7XFxuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cXG4gIC5vZmZzZXQteGwtMTAge1xcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XFxuICAub2Zmc2V0LXhsLTExIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XFxuLnRhYmxlIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuLnRhYmxlIHRoLCAudGFibGUgdGQge1xcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RlZTJlNjsgfVxcbi50YWJsZSB0aGVhZCB0aCB7XFxuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XFxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGVlMmU2OyB9XFxuLnRhYmxlIHRib2R5ICsgdGJvZHkge1xcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2RlZTJlNjsgfVxcbi50YWJsZSAudGFibGUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XFxuLnRhYmxlLXNtIHRoLCAudGFibGUtc20gdGQge1xcbiAgcGFkZGluZzogMC4zcmVtOyB9XFxuLnRhYmxlLWJvcmRlcmVkIHtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7IH1cXG4udGFibGUtYm9yZGVyZWQgdGgsIC50YWJsZS1ib3JkZXJlZCB0ZCB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7IH1cXG4udGFibGUtYm9yZGVyZWQgdGhlYWQgdGgsIC50YWJsZS1ib3JkZXJlZCB0aGVhZCB0ZCB7XFxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDsgfVxcbi50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxcbi50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxcbi50YWJsZS1wcmltYXJ5LCAudGFibGUtcHJpbWFyeSA+IHRoLCAudGFibGUtcHJpbWFyeSA+IHRkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGRhZmY7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlmY2RmZjsgfVxcbi50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlciA+IHRkLCAudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXIgPiB0aCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZmNkZmY7IH1cXG4udGFibGUtc2Vjb25kYXJ5LCAudGFibGUtc2Vjb25kYXJ5ID4gdGgsIC50YWJsZS1zZWNvbmRhcnkgPiB0ZCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkOGRiOyB9XFxuLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4Y2JjZjsgfVxcbi50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyID4gdGQsIC50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyID4gdGgge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjYmNmOyB9XFxuLnRhYmxlLXN1Y2Nlc3MsIC50YWJsZS1zdWNjZXNzID4gdGgsIC50YWJsZS1zdWNjZXNzID4gdGQge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MzZTZjYjsgfVxcbi50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFkZmJiOyB9XFxuLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyID4gdGQsIC50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciA+IHRoIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IxZGZiYjsgfVxcbi50YWJsZS1pbmZvLCAudGFibGUtaW5mbyA+IHRoLCAudGFibGUtaW5mbyA+IHRkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNiZWU1ZWI7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FiZGRlNTsgfVxcbi50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciA+IHRkLCAudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0aCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYmRkZTU7IH1cXG4udGFibGUtd2FybmluZywgLnRhYmxlLXdhcm5pbmcgPiB0aCwgLnRhYmxlLXdhcm5pbmcgPiB0ZCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZWJhOyB9XFxuLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmU4YTE7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0ZCwgLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyID4gdGgge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGExOyB9XFxuLnRhYmxlLWRhbmdlciwgLnRhYmxlLWRhbmdlciA+IHRoLCAudGFibGUtZGFuZ2VyID4gdGQge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1YzZjYjsgfVxcbi50YWJsZS1ob3ZlciAudGFibGUtZGFuZ2VyOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWIwYjc7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciA+IHRkLCAudGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciA+IHRoIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxYjBiNzsgfVxcbi50YWJsZS1saWdodCwgLnRhYmxlLWxpZ2h0ID4gdGgsIC50YWJsZS1saWdodCA+IHRkIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmU7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyID4gdGQsIC50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXIgPiB0aCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7IH1cXG4udGFibGUtZGFyaywgLnRhYmxlLWRhcmsgPiB0aCwgLnRhYmxlLWRhcmsgPiB0ZCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjOGNhOyB9XFxuLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNiOWJiYmU7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXIgPiB0ZCwgLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyID4gdGgge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliYmJlOyB9XFxuLnRhYmxlLWFjdGl2ZSwgLnRhYmxlLWFjdGl2ZSA+IHRoLCAudGFibGUtYWN0aXZlID4gdGQge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cXG4udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxcbi50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGQsIC50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyID4gdGgge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxcbi50YWJsZSAudGhlYWQtZGFyayB0aCB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTI1Mjk7XFxuICBib3JkZXItY29sb3I6ICMzMjM4M2U7IH1cXG4udGFibGUgLnRoZWFkLWxpZ2h0IHRoIHtcXG4gIGNvbG9yOiAjNDk1MDU3O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcXG4gIGJvcmRlci1jb2xvcjogI2RlZTJlNjsgfVxcbi50YWJsZS1kYXJrIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOTsgfVxcbi50YWJsZS1kYXJrIHRoLCAudGFibGUtZGFyayB0ZCwgLnRhYmxlLWRhcmsgdGhlYWQgdGgge1xcbiAgICBib3JkZXItY29sb3I6ICMzMjM4M2U7IH1cXG4udGFibGUtZGFyay50YWJsZS1ib3JkZXJlZCB7XFxuICAgIGJvcmRlcjogMDsgfVxcbi50YWJsZS1kYXJrLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7IH1cXG4udGFibGUtZGFyay50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNzUpOyB9XFxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XFxuICAudGFibGUtcmVzcG9uc2l2ZS1zbSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgb3ZlcmZsb3cteDogYXV0bztcXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxcbiAgICAudGFibGUtcmVzcG9uc2l2ZS1zbSA+IC50YWJsZS1ib3JkZXJlZCB7XFxuICAgICAgYm9yZGVyOiAwOyB9IH1cXG5AbWVkaWEgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcXG4gIC50YWJsZS1yZXNwb25zaXZlLW1kIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XFxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XFxuICAgIC50YWJsZS1yZXNwb25zaXZlLW1kID4gLnRhYmxlLWJvcmRlcmVkIHtcXG4gICAgICBib3JkZXI6IDA7IH0gfVxcbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xcbiAgLnRhYmxlLXJlc3BvbnNpdmUtbGcge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG92ZXJmbG93LXg6IGF1dG87XFxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cXG4gICAgLnRhYmxlLXJlc3BvbnNpdmUtbGcgPiAudGFibGUtYm9yZGVyZWQge1xcbiAgICAgIGJvcmRlcjogMDsgfSB9XFxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xcbiAgLnRhYmxlLXJlc3BvbnNpdmUteGwge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG92ZXJmbG93LXg6IGF1dG87XFxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cXG4gICAgLnRhYmxlLXJlc3BvbnNpdmUteGwgPiAudGFibGUtYm9yZGVyZWQge1xcbiAgICAgIGJvcmRlcjogMDsgfSB9XFxuLnRhYmxlLXJlc3BvbnNpdmUge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG4gIG92ZXJmbG93LXg6IGF1dG87XFxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XFxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxcbi50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcXG4gICAgYm9yZGVyOiAwOyB9XFxuLmZvcm0tY29udHJvbCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcXG4gIGZvbnQtc2l6ZTogMXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICBjb2xvcjogIzQ5NTA1NztcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XFxuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgLXdlYmtpdC1ib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XFxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XFxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDsgfVxcbi5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYm9yZGVyOiAwOyB9XFxuLmZvcm0tY29udHJvbDpmb2N1cyB7XFxuICAgIGNvbG9yOiAjNDk1MDU3O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXItY29sb3I6ICM4MGJkZmY7XFxuICAgIG91dGxpbmU6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTsgfVxcbi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzZjNzU3ZDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbi5mb3JtLWNvbnRyb2w6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM2Yzc1N2Q7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4uZm9ybS1jb250cm9sOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzZjNzU3ZDtcXG4gICAgb3BhY2l0eTogMTsgfVxcbi5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM2Yzc1N2Q7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4uZm9ybS1jb250cm9sOmRpc2FibGVkLCAuZm9ybS1jb250cm9sW3JlYWRvbmx5XSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG5zZWxlY3QuZm9ybS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XFxuICBoZWlnaHQ6IGNhbGMoMi4yNXJlbSArIDJweCk7IH1cXG5zZWxlY3QuZm9ybS1jb250cm9sOmZvY3VzOjotbXMtdmFsdWUge1xcbiAgY29sb3I6ICM0OTUwNTc7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XFxuLmZvcm0tY29udHJvbC1maWxlLCAuZm9ybS1jb250cm9sLXJhbmdlIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG4uY29sLWZvcm0tbGFiZWwge1xcbiAgcGFkZGluZy10b3A6IGNhbGMoMC4zNzVyZW0gKyAxcHgpO1xcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC4zNzVyZW0gKyAxcHgpO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4uY29sLWZvcm0tbGFiZWwtbGcge1xcbiAgcGFkZGluZy10b3A6IGNhbGMoMC41cmVtICsgMXB4KTtcXG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDAuNXJlbSArIDFweCk7XFxuICBmb250LXNpemU6IDEuMjVyZW07XFxuICBsaW5lLWhlaWdodDogMS41OyB9XFxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcXG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMjVyZW0gKyAxcHgpO1xcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC4yNXJlbSArIDFweCk7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwYWRkaW5nLXRvcDogMC4zNzVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci13aWR0aDogMXB4IDA7IH1cXG4uZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtc20sIC5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbCwgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQuaW5wdXQtZ3JvdXAtdGV4dCwgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1sZywgLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmlucHV0LWdyb3VwLXRleHQsIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmJ0biwgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmJ0biB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIHBhZGRpbmctbGVmdDogMDsgfVxcbi5mb3JtLWNvbnRyb2wtc20sIC5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCwgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuYnRuLCAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XFxuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtOyB9XFxuc2VsZWN0LmZvcm0tY29udHJvbC1zbTpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1zbSA+IHNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLCAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IHNlbGVjdC5pbnB1dC1ncm91cC10ZXh0Om5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IHNlbGVjdC5pbnB1dC1ncm91cC10ZXh0Om5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiBzZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IHNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pIHtcXG4gIGhlaWdodDogY2FsYygxLjgxMjVyZW0gKyAycHgpOyB9XFxuLmZvcm0tY29udHJvbC1sZywgLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCwgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCwgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcXG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTsgfVxcbnNlbGVjdC5mb3JtLWNvbnRyb2wtbGc6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLCAuaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3QuZm9ybS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gc2VsZWN0LmJ0bjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiBzZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XFxuICBoZWlnaHQ6IGNhbGMoMi44NzVyZW0gKyAycHgpOyB9XFxuLmZvcm0tZ3JvdXAge1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxcbi5mb3JtLXRleHQge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXJnaW4tdG9wOiAwLjI1cmVtOyB9XFxuLmZvcm0tcm93IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XFxuICBtYXJnaW4tcmlnaHQ6IC01cHg7XFxuICBtYXJnaW4tbGVmdDogLTVweDsgfVxcbi5mb3JtLXJvdyA+IC5jb2wsIC5mb3JtLXJvdyA+IFtjbGFzcyo9XFxcImNvbC1cXFwiXSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cXG4uZm9ybS1jaGVjayB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxcbi5mb3JtLWNoZWNrLWlucHV0IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIG1hcmdpbi10b3A6IDAuM3JlbTtcXG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTsgfVxcbi5mb3JtLWNoZWNrLWlucHV0OmRpc2FibGVkIH4gLmZvcm0tY2hlY2stbGFiZWwge1xcbiAgICBjb2xvcjogIzZjNzU3ZDsgfVxcbi5mb3JtLWNoZWNrLWxhYmVsIHtcXG4gIG1hcmdpbi1ib3R0b206IDA7IH1cXG4uZm9ybS1jaGVjay1pbmxpbmUge1xcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cXG4uZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xcbiAgICBwb3NpdGlvbjogc3RhdGljO1xcbiAgICBtYXJnaW4tdG9wOiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4udmFsaWQtZmVlZGJhY2sge1xcbiAgZGlzcGxheTogbm9uZTtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcXG4gIGZvbnQtc2l6ZTogODAlO1xcbiAgY29sb3I6ICMyOGE3NDU7IH1cXG4udmFsaWQtdG9vbHRpcCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDEwMCU7XFxuICB6LWluZGV4OiA1O1xcbiAgZGlzcGxheTogbm9uZTtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IC41cmVtO1xcbiAgbWFyZ2luLXRvcDogLjFyZW07XFxuICBmb250LXNpemU6IC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMTtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MCwgMTY3LCA2OSwgMC44KTtcXG4gIGJvcmRlci1yYWRpdXM6IC4ycmVtOyB9XFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCwgLmZvcm0tY29udHJvbC5pcy12YWxpZCwgLndhcy12YWxpZGF0ZWRcXG4uY3VzdG9tLXNlbGVjdDp2YWxpZCwgLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQge1xcbiAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1OyB9XFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZDpmb2N1cywgLmZvcm0tY29udHJvbC5pcy12YWxpZDpmb2N1cywgLndhcy12YWxpZGF0ZWRcXG4gIC5jdXN0b20tc2VsZWN0OnZhbGlkOmZvY3VzLCAuY3VzdG9tLXNlbGVjdC5pcy12YWxpZDpmb2N1cyB7XFxuICAgIGJvcmRlci1jb2xvcjogIzI4YTc0NTtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuMjUpOyB9XFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCB+IC52YWxpZC1mZWVkYmFjaywgLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLCAuZm9ybS1jb250cm9sLmlzLXZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC53YXMtdmFsaWRhdGVkXFxuICAuY3VzdG9tLXNlbGVjdDp2YWxpZCB+IC52YWxpZC1mZWVkYmFjaywgLndhcy12YWxpZGF0ZWRcXG4gIC5jdXN0b20tc2VsZWN0OnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tc2VsZWN0LmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLCAuY3VzdG9tLXNlbGVjdC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcXG4gICAgZGlzcGxheTogYmxvY2s7IH1cXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsLCAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcXG4gIGNvbG9yOiAjMjhhNzQ1OyB9XFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssIC53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkIH4gLnZhbGlkLXRvb2x0aXAsIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLCAuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcXG4gIGRpc3BsYXk6IGJsb2NrOyB9XFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xcbiAgY29sb3I6ICMyOGE3NDU7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzFkZDhhOyB9XFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLCAud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQgfiAudmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkIH4gLnZhbGlkLWZlZWRiYWNrLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQgfiAudmFsaWQtdG9vbHRpcCB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0Y2U1NzsgfVxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7XFxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XFxuICBib3JkZXItY29sb3I6ICMyOGE3NDU7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZSwgLmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUge1xcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssIC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZCB+IC52YWxpZC10b29sdGlwLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWQgfiAudmFsaWQtZmVlZGJhY2ssIC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZCB+IC52YWxpZC10b29sdGlwIHtcXG4gIGRpc3BsYXk6IGJsb2NrOyB9XFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC4yNSk7XFxuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjI1KTsgfVxcbi5pbnZhbGlkLWZlZWRiYWNrIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxuICB3aWR0aDogMTAwJTtcXG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XFxuICBmb250LXNpemU6IDgwJTtcXG4gIGNvbG9yOiAjZGMzNTQ1OyB9XFxuLmludmFsaWQtdG9vbHRpcCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDEwMCU7XFxuICB6LWluZGV4OiA1O1xcbiAgZGlzcGxheTogbm9uZTtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IC41cmVtO1xcbiAgbWFyZ2luLXRvcDogLjFyZW07XFxuICBmb250LXNpemU6IC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMTtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjAsIDUzLCA2OSwgMC44KTtcXG4gIGJvcmRlci1yYWRpdXM6IC4ycmVtOyB9XFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQsIC53YXMtdmFsaWRhdGVkXFxuLmN1c3RvbS1zZWxlY3Q6aW52YWxpZCwgLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZCB7XFxuICBib3JkZXItY29sb3I6ICNkYzM1NDU7IH1cXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQ6Zm9jdXMsIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZDpmb2N1cywgLndhcy12YWxpZGF0ZWRcXG4gIC5jdXN0b20tc2VsZWN0OmludmFsaWQ6Zm9jdXMsIC5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQ6Zm9jdXMge1xcbiAgICBib3JkZXItY29sb3I6ICNkYzM1NDU7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjI1KTsgfVxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLCAud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLndhcy12YWxpZGF0ZWRcXG4gIC5jdXN0b20tc2VsZWN0OmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywgLndhcy12YWxpZGF0ZWRcXG4gIC5jdXN0b20tc2VsZWN0OmludmFsaWQgfiAuaW52YWxpZC10b29sdGlwLCAuY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssIC5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHtcXG4gICAgZGlzcGxheTogYmxvY2s7IH1cXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkIH4gLmZvcm0tY2hlY2stbGFiZWwsIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuZm9ybS1jaGVjay1sYWJlbCB7XFxuICBjb2xvcjogI2RjMzU0NTsgfVxcbi53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywgLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAsIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xcbiAgY29sb3I6ICNkYzM1NDU7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmYTJhOTsgfVxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssIC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCwgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC1mZWVkYmFjaywgLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQgfiAuaW52YWxpZC10b29sdGlwIHtcXG4gIGRpc3BsYXk6IGJsb2NrOyB9XFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0NjA2ZDsgfVxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDppbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpO1xcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpOyB9XFxuLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQgfiAuY3VzdG9tLWZpbGUtbGFiZWwsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcXG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTsgfVxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUge1xcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cXG4ud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLWZlZWRiYWNrLCAud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZCB+IC5pbnZhbGlkLXRvb2x0aXAsIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtZmVlZGJhY2ssIC5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkIH4gLmludmFsaWQtdG9vbHRpcCB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcbi53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsLCAuY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZDpmb2N1cyB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XFxuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjI1KTtcXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuMjUpOyB9XFxuLmZvcm0taW5saW5lIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XFxuICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4uZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xcbiAgICB3aWR0aDogMTAwJTsgfVxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgICAuZm9ybS1pbmxpbmUgbGFiZWwge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAgIC5mb3JtLWlubGluZSAuZm9ybS1ncm91cCB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgICAtbXMtZmxleDogMCAwIGF1dG87XFxuICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcXG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xcbiAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAgIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sIHtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgICAgd2lkdGg6IGF1dG87XFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxcbiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxcbiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIHtcXG4gICAgICB3aWR0aDogYXV0bzsgfVxcbiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgICB3aWR0aDogYXV0bztcXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cXG4gICAgLmZvcm0taW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgbWFyZ2luLXRvcDogMDtcXG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4gICAgLmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbCB7XFxuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xcbiAgICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbiAgICAuZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cXG4uYnRuIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XFxuICBmb250LXNpemU6IDFyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgLXdlYmtpdC1ib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgLXdlYmtpdC1ib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcXG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDsgfVxcbi5idG46aG92ZXIsIC5idG46Zm9jdXMge1xcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cXG4uYnRuOmZvY3VzLCAuYnRuLmZvY3VzIHtcXG4gICAgb3V0bGluZTogMDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpOyB9XFxuLmJ0bi5kaXNhYmxlZCwgLmJ0bjpkaXNhYmxlZCB7XFxuICAgIG9wYWNpdHk6IDAuNjU7IH1cXG4uYnRuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlIHtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxcbmEuYnRuLmRpc2FibGVkLCBmaWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbi5idG4tcHJpbWFyeSB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XFxuICBib3JkZXItY29sb3I6ICMwMDdiZmY7IH1cXG4uYnRuLXByaW1hcnk6aG92ZXIge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjlkOTtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDA2MmNjOyB9XFxuLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXByaW1hcnkuZm9jdXMge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpOyB9XFxuLmJ0bi1wcmltYXJ5LmRpc2FibGVkLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmOyB9XFxuLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDYyY2M7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwNWNiZjsgfVxcbi5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpOyB9XFxuLmJ0bi1zZWNvbmRhcnkge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xcbiAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkOyB9XFxuLmJ0bi1zZWNvbmRhcnk6aG92ZXIge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVhNjI2ODtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNTQ1YjYyOyB9XFxuLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmZvY3VzIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEwOCwgMTE3LCAxMjUsIDAuNSk7IH1cXG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZCwgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkOyB9XFxuLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDViNjI7XFxuICAgIGJvcmRlci1jb2xvcjogIzRlNTU1YjsgfVxcbi5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTsgfVxcbi5idG4tc3VjY2VzcyB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XFxuICBib3JkZXItY29sb3I6ICMyOGE3NDU7IH1cXG4uYnRuLXN1Y2Nlc3M6aG92ZXIge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIxODgzODtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMWU3ZTM0OyB9XFxuLmJ0bi1zdWNjZXNzOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuZm9jdXMge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjUpOyB9XFxuLmJ0bi1zdWNjZXNzLmRpc2FibGVkLCAuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1OyB9XFxuLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTdlMzQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzFjNzQzMDsgfVxcbi5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg0MCwgMTY3LCA2OSwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjUpOyB9XFxuLmJ0bi1pbmZvIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3YTJiODtcXG4gIGJvcmRlci1jb2xvcjogIzE3YTJiODsgfVxcbi5idG4taW5mbzpob3ZlciB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTM4NDk2O1xcbiAgICBib3JkZXItY29sb3I6ICMxMTdhOGI7IH1cXG4uYnRuLWluZm86Zm9jdXMsIC5idG4taW5mby5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIzLCAxNjIsIDE4NCwgMC41KTsgfVxcbi5idG4taW5mby5kaXNhYmxlZCwgLmJ0bi1pbmZvOmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7XFxuICAgIGJvcmRlci1jb2xvcjogIzE3YTJiODsgfVxcbi5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE3YThiO1xcbiAgICBib3JkZXItY29sb3I6ICMxMDcwN2Y7IH1cXG4uYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpOyB9XFxuLmJ0bi13YXJuaW5nIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNztcXG4gIGJvcmRlci1jb2xvcjogI2ZmYzEwNzsgfVxcbi5idG4td2FybmluZzpob3ZlciB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBhODAwO1xcbiAgICBib3JkZXItY29sb3I6ICNkMzllMDA7IH1cXG4uYnRuLXdhcm5pbmc6Zm9jdXMsIC5idG4td2FybmluZy5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7IH1cXG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQsIC5idG4td2FybmluZzpkaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xcbiAgICBib3JkZXItY29sb3I6ICNmZmMxMDc7IH1cXG4uYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUge1xcbiAgICBjb2xvcjogIzIxMjUyOTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzOWUwMDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjYzY5NTAwOyB9XFxuLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjU1LCAxOTMsIDcsIDAuNSk7IH1cXG4uYnRuLWRhbmdlciB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XFxuICBib3JkZXItY29sb3I6ICNkYzM1NDU7IH1cXG4uYnRuLWRhbmdlcjpob3ZlciB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzgyMzMzO1xcbiAgICBib3JkZXItY29sb3I6ICNiZDIxMzA7IH1cXG4uYnRuLWRhbmdlcjpmb2N1cywgLmJ0bi1kYW5nZXIuZm9jdXMge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpOyB9XFxuLmJ0bi1kYW5nZXIuZGlzYWJsZWQsIC5idG4tZGFuZ2VyOmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XFxuICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTsgfVxcbi5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwO1xcbiAgICBib3JkZXItY29sb3I6ICNiMjFmMmQ7IH1cXG4uYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuNSk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC41KTsgfVxcbi5idG4tbGlnaHQge1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhOyB9XFxuLmJ0bi1saWdodDpob3ZlciB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlNmVhO1xcbiAgICBib3JkZXItY29sb3I6ICNkYWUwZTU7IH1cXG4uYnRuLWxpZ2h0OmZvY3VzLCAuYnRuLWxpZ2h0LmZvY3VzIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7IH1cXG4uYnRuLWxpZ2h0LmRpc2FibGVkLCAuYnRuLWxpZ2h0OmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICMyMTI1Mjk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XFxuICAgIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsgfVxcbi5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZSB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFlMGU1O1xcbiAgICBib3JkZXItY29sb3I6ICNkM2Q5ZGY7IH1cXG4uYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjQ4LCAyNDksIDI1MCwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7IH1cXG4uYnRuLWRhcmsge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xcbiAgYm9yZGVyLWNvbG9yOiAjMzQzYTQwOyB9XFxuLmJ0bi1kYXJrOmhvdmVyIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzI3MmI7XFxuICAgIGJvcmRlci1jb2xvcjogIzFkMjEyNDsgfVxcbi5idG4tZGFyazpmb2N1cywgLmJ0bi1kYXJrLmZvY3VzIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7IH1cXG4uYnRuLWRhcmsuZGlzYWJsZWQsIC5idG4tZGFyazpkaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwO1xcbiAgICBib3JkZXItY29sb3I6ICMzNDNhNDA7IH1cXG4uYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tZGFyay5kcm9wZG93bi10b2dnbGUge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFkMjEyNDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMTcxYTFkOyB9XFxuLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7XFxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xcbiAgY29sb3I6ICMwMDdiZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICBib3JkZXItY29sb3I6ICMwMDdiZmY7IH1cXG4uYnRuLW91dGxpbmUtcHJpbWFyeTpob3ZlciB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xcbiAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7IH1cXG4uYnRuLW91dGxpbmUtcHJpbWFyeTpmb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZm9jdXMge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICMwMDdiZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwN2JmZjsgfVxcbi5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XFxuICBjb2xvcjogIzZjNzU3ZDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gIGJvcmRlci1jb2xvcjogIzZjNzU3ZDsgfVxcbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZjNzU3ZDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjNmM3NTdkOyB9XFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgxMDgsIDExNywgMTI1LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpkaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjNmM3NTdkO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkO1xcbiAgICBib3JkZXItY29sb3I6ICM2Yzc1N2Q7IH1cXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMTA4LCAxMTcsIDEyNSwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEwOCwgMTE3LCAxMjUsIDAuNSk7IH1cXG4uYnRuLW91dGxpbmUtc3VjY2VzcyB7XFxuICBjb2xvcjogIzI4YTc0NTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NTsgfVxcbi5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7XFxuICAgIGJvcmRlci1jb2xvcjogIzI4YTc0NTsgfVxcbi5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7IH1cXG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZCwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWQge1xcbiAgICBjb2xvcjogIzI4YTc0NTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4uYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwgLnNob3cgPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMjhhNzQ1OyB9XFxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDQwLCAxNjcsIDY5LCAwLjUpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNDAsIDE2NywgNjksIDAuNSk7IH1cXG4uYnRuLW91dGxpbmUtaW5mbyB7XFxuICBjb2xvcjogIzE3YTJiODtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gIGJvcmRlci1jb2xvcjogIzE3YTJiODsgfVxcbi5idG4tb3V0bGluZS1pbmZvOmhvdmVyIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjg7XFxuICAgIGJvcmRlci1jb2xvcjogIzE3YTJiODsgfVxcbi5idG4tb3V0bGluZS1pbmZvOmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mby5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIzLCAxNjIsIDE4NCwgMC41KTsgfVxcbi5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtaW5mbzpkaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjMTdhMmI4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbi5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4O1xcbiAgICBib3JkZXItY29sb3I6ICMxN2EyYjg7IH1cXG4uYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjMsIDE2MiwgMTg0LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmcge1xcbiAgY29sb3I6ICNmZmMxMDc7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XFxuICBib3JkZXItY29sb3I6ICNmZmMxMDc7IH1cXG4uYnRuLW91dGxpbmUtd2FybmluZzpob3ZlciB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xcbiAgICBib3JkZXItY29sb3I6ICNmZmMxMDc7IH1cXG4uYnRuLW91dGxpbmUtd2FybmluZzpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZm9jdXMge1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQsIC5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICNmZmMxMDc7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICMyMTI1Mjk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmMxMDc7XFxuICAgIGJvcmRlci1jb2xvcjogI2ZmYzEwNzsgfVxcbi5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNTUsIDE5MywgNywgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI1NSwgMTkzLCA3LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLWRhbmdlciB7XFxuICBjb2xvcjogI2RjMzU0NTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gIGJvcmRlci1jb2xvcjogI2RjMzU0NTsgfVxcbi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1OyB9XFxuLmJ0bi1vdXRsaW5lLWRhbmdlcjpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuNSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjIwLCA1MywgNjksIDAuNSk7IH1cXG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRpc2FibGVkLCAuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICNkYzM1NDU7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLCAuc2hvdyA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XFxuICAgIGJvcmRlci1jb2xvcjogI2RjMzU0NTsgfVxcbi5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywgLnNob3cgPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyMjAsIDUzLCA2OSwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDIyMCwgNTMsIDY5LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLWxpZ2h0IHtcXG4gIGNvbG9yOiAjZjhmOWZhO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xcbiAgYm9yZGVyLWNvbG9yOiAjZjhmOWZhOyB9XFxuLmJ0bi1vdXRsaW5lLWxpZ2h0OmhvdmVyIHtcXG4gICAgY29sb3I6ICMyMTI1Mjk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XFxuICAgIGJvcmRlci1jb2xvcjogI2Y4ZjlmYTsgfVxcbi5idG4tb3V0bGluZS1saWdodDpmb2N1cywgLmJ0bi1vdXRsaW5lLWxpZ2h0LmZvY3VzIHtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgyNDgsIDI0OSwgMjUwLCAwLjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7IH1cXG4uYnRuLW91dGxpbmUtbGlnaHQuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1saWdodDpkaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjZjhmOWZhO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbi5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsIC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZSB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xcbiAgICBib3JkZXItY29sb3I6ICNmOGY5ZmE7IH1cXG4uYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tb3V0bGluZS1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMjQ4LCAyNDksIDI1MCwgMC41KTtcXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDI0OCwgMjQ5LCAyNTAsIDAuNSk7IH1cXG4uYnRuLW91dGxpbmUtZGFyayB7XFxuICBjb2xvcjogIzM0M2E0MDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcXG4gIGJvcmRlci1jb2xvcjogIzM0M2E0MDsgfVxcbi5idG4tb3V0bGluZS1kYXJrOmhvdmVyIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XFxuICAgIGJvcmRlci1jb2xvcjogIzM0M2E0MDsgfVxcbi5idG4tb3V0bGluZS1kYXJrOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFyay5mb2N1cyB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTIsIDU4LCA2NCwgMC41KTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpOyB9XFxuLmJ0bi1vdXRsaW5lLWRhcmsuZGlzYWJsZWQsIC5idG4tb3V0bGluZS1kYXJrOmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICMzNDNhNDA7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XFxuLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsIC5zaG93ID4gLmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDNhNDA7XFxuICAgIGJvcmRlci1jb2xvcjogIzM0M2E0MDsgfVxcbi5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLCAuc2hvdyA+IC5idG4tb3V0bGluZS1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XFxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSg1MiwgNTgsIDY0LCAwLjUpO1xcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNTIsIDU4LCA2NCwgMC41KTsgfVxcbi5idG4tbGluayB7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgY29sb3I6ICMwMDdiZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbi5idG4tbGluazpob3ZlciB7XFxuICAgIGNvbG9yOiAjMDA1NmIzO1xcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4uYnRuLWxpbms6Zm9jdXMsIC5idG4tbGluay5mb2N1cyB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxcbi5idG4tbGluazpkaXNhYmxlZCwgLmJ0bi1saW5rLmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICM2Yzc1N2Q7IH1cXG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biB7XFxuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cXG4uYnRuLXNtLCAuYnRuLWdyb3VwLXNtID4gLmJ0biB7XFxuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtOyB9XFxuLmJ0bi1ibG9jayB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHdpZHRoOiAxMDAlOyB9XFxuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cXG5pbnB1dFt0eXBlPVxcXCJzdWJtaXRcXFwiXS5idG4tYmxvY2ssIGlucHV0W3R5cGU9XFxcInJlc2V0XFxcIl0uYnRuLWJsb2NrLCBpbnB1dFt0eXBlPVxcXCJidXR0b25cXFwiXS5idG4tYmxvY2sge1xcbiAgd2lkdGg6IDEwMCU7IH1cXG4uZmFkZSB7XFxuICBvcGFjaXR5OiAwO1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyOyB9XFxuLmZhZGUuc2hvdyB7XFxuICAgIG9wYWNpdHk6IDE7IH1cXG4uY29sbGFwc2Uge1xcbiAgZGlzcGxheTogbm9uZTsgfVxcbi5jb2xsYXBzZS5zaG93IHtcXG4gICAgZGlzcGxheTogYmxvY2s7IH1cXG50ci5jb2xsYXBzZS5zaG93IHtcXG4gIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxcbnRib2R5LmNvbGxhcHNlLnNob3cge1xcbiAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9XFxuLmNvbGxhcHNpbmcge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgaGVpZ2h0OiAwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDAuMzVzIGVhc2U7XFxuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgZWFzZTsgfVxcbi5kcm9wdXAsIC5kcm9wZG93biB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4uZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMDtcXG4gIGhlaWdodDogMDtcXG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkO1xcbiAgYm9yZGVyLXJpZ2h0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1ib3R0b206IDA7XFxuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4uZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XFxuICBtYXJnaW4tbGVmdDogMDsgfVxcbi5kcm9wZG93bi1tZW51IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMTAwJTtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxMDAwO1xcbiAgZGlzcGxheTogbm9uZTtcXG4gIGZsb2F0OiBsZWZ0O1xcbiAgbWluLXdpZHRoOiAxMHJlbTtcXG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xcbiAgbWFyZ2luOiAwLjEyNXJlbSAwIDA7XFxuICBmb250LXNpemU6IDFyZW07XFxuICBjb2xvcjogIzIxMjUyOTtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxuICBsaXN0LXN0eWxlOiBub25lO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XFxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxcbi5kcm9wdXAgLmRyb3Bkb3duLW1lbnUge1xcbiAgbWFyZ2luLXRvcDogMDtcXG4gIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtOyB9XFxuLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMDtcXG4gIGhlaWdodDogMDtcXG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIGJvcmRlci10b3A6IDA7XFxuICBib3JkZXItcmlnaHQ6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQ7XFxuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7IH1cXG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XFxuLmRyb3ByaWdodCAuZHJvcGRvd24tbWVudSB7XFxuICBtYXJnaW4tdG9wOiAwO1xcbiAgbWFyZ2luLWxlZnQ6IDAuMTI1cmVtOyB9XFxuLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMDtcXG4gIGhlaWdodDogMDtcXG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIGJvcmRlci10b3A6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItbGVmdDogMC4zZW0gc29saWQ7IH1cXG4uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVyIHtcXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XFxuLmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogMDsgfVxcbi5kcm9wbGVmdCAuZHJvcGRvd24tbWVudSB7XFxuICBtYXJnaW4tdG9wOiAwO1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTsgfVxcbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMDtcXG4gIGhlaWdodDogMDtcXG4gIG1hcmdpbi1sZWZ0OiAwLjI1NWVtO1xcbiAgdmVydGljYWwtYWxpZ246IDAuMjU1ZW07XFxuICBjb250ZW50OiBcXFwiXFxcIjsgfVxcbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XFxuICBkaXNwbGF5OiBub25lOyB9XFxuLmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMDtcXG4gIGhlaWdodDogMDtcXG4gIG1hcmdpbi1yaWdodDogMC4yNTVlbTtcXG4gIHZlcnRpY2FsLWFsaWduOiAwLjI1NWVtO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBib3JkZXItdG9wOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQ7XFxuICBib3JkZXItYm90dG9tOiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDsgfVxcbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlciB7XFxuICBtYXJnaW4tbGVmdDogMDsgfVxcbi5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmUge1xcbiAgdmVydGljYWwtYWxpZ246IDA7IH1cXG4uZHJvcGRvd24tZGl2aWRlciB7XFxuICBoZWlnaHQ6IDA7XFxuICBtYXJnaW46IDAuNXJlbSAwO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTllY2VmOyB9XFxuLmRyb3Bkb3duLWl0ZW0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMS41cmVtO1xcbiAgY2xlYXI6IGJvdGg7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgY29sb3I6ICMyMTI1Mjk7XFxuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyOiAwOyB9XFxuLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC5kcm9wZG93bi1pdGVtOmZvY3VzIHtcXG4gICAgY29sb3I6ICMxNjE4MWI7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTsgfVxcbi5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsgfVxcbi5kcm9wZG93bi1pdGVtLmRpc2FibGVkLCAuZHJvcGRvd24taXRlbTpkaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjNmM3NTdkO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxcbi5kcm9wZG93bi1tZW51LnNob3cge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG4uZHJvcGRvd24taGVhZGVyIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcGFkZGluZzogMC41cmVtIDEuNXJlbTtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgY29sb3I6ICM2Yzc1N2Q7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuLmJ0bi1ncm91cCwgLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cXG4uYnRuLWdyb3VwID4gLmJ0biwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XFxuICAgICAgICAtbXMtZmxleDogMCAxIGF1dG87XFxuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87IH1cXG4uYnRuLWdyb3VwID4gLmJ0bjpob3ZlciwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIge1xcbiAgICAgIHotaW5kZXg6IDE7IH1cXG4uYnRuLWdyb3VwID4gLmJ0bjpmb2N1cywgLmJ0bi1ncm91cCA+IC5idG46YWN0aXZlLCAuYnRuLWdyb3VwID4gLmJ0bi5hY3RpdmUsIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmZvY3VzLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjphY3RpdmUsIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLmFjdGl2ZSB7XFxuICAgICAgei1pbmRleDogMTsgfVxcbi5idG4tZ3JvdXAgLmJ0biArIC5idG4sIC5idG4tZ3JvdXAgLmJ0biArIC5idG4tZ3JvdXAsIC5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4sIC5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAsIC5idG4tZ3JvdXAtdmVydGljYWwgLmJ0biArIC5idG4sIC5idG4tZ3JvdXAtdmVydGljYWwgLmJ0biArIC5idG4tZ3JvdXAsIC5idG4tZ3JvdXAtdmVydGljYWwgLmJ0bi1ncm91cCArIC5idG4sIC5idG4tZ3JvdXAtdmVydGljYWwgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xcbiAgICBtYXJnaW4tbGVmdDogLTFweDsgfVxcbi5idG4tdG9vbGJhciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICAgICAgZmxleC13cmFwOiB3cmFwO1xcbiAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbi5idG4tdG9vbGJhciAuaW5wdXQtZ3JvdXAge1xcbiAgICB3aWR0aDogYXV0bzsgfVxcbi5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcXG4gIG1hcmdpbi1sZWZ0OiAwOyB9XFxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSwgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XFxuLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjU2MjVyZW07XFxuICBwYWRkaW5nLWxlZnQ6IDAuNTYyNXJlbTsgfVxcbi5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwgLmJ0bi1ncm91cC1zbSA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMzc1cmVtO1xcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTsgfVxcbi5idG4tbGcgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLWxnID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcXG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTsgfVxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxcbi5idG4tZ3JvdXAtdmVydGljYWwgLmJ0biwgLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwIHtcXG4gICAgd2lkdGg6IDEwMCU7IH1cXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biArIC5idG4sIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuICsgLmJ0bi1ncm91cCwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgKyAuYnRuLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XFxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XFxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XFxuLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLCAuYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcXG4gIG1hcmdpbi1ib3R0b206IDA7IH1cXG4uYnRuLWdyb3VwLXRvZ2dsZSA+IC5idG4gaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSwgLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuIGlucHV0W3R5cGU9XFxcImNoZWNrYm94XFxcIl0sIC5idG4tZ3JvdXAtdG9nZ2xlID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSwgLmJ0bi1ncm91cC10b2dnbGUgPiAuYnRuLWdyb3VwID4gLmJ0biBpbnB1dFt0eXBlPVxcXCJjaGVja2JveFxcXCJdIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxcbi5pbnB1dC1ncm91cCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XFxuICAgICAgZmxleC13cmFwOiB3cmFwO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2g7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xcbiAgd2lkdGg6IDEwMCU7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCwgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgICB3aWR0aDogMSU7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOmZvY3VzLCAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdDpmb2N1cywgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlOmZvY3VzIHtcXG4gICAgICB6LWluZGV4OiAzOyB9XFxuLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wsIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgKyAuY3VzdG9tLXNlbGVjdCwgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCArIC5jdXN0b20tZmlsZSwgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1zZWxlY3QgKyAuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5jdXN0b20tc2VsZWN0LCAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdCArIC5jdXN0b20tZmlsZSwgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmZvcm0tY29udHJvbCwgLmlucHV0LWdyb3VwID4gLmN1c3RvbS1maWxlICsgLmN1c3RvbS1zZWxlY3QsIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZSArIC5jdXN0b20tZmlsZSB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCksIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCkge1xcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLCAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSB7XFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XFxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlIHtcXG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcXG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxcbi5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsIC5pbnB1dC1ncm91cCA+IC5jdXN0b20tZmlsZTpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZSB7XFxuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcXG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XFxuLmlucHV0LWdyb3VwLXByZXBlbmQsIC5pbnB1dC1ncm91cC1hcHBlbmQge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7IH1cXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuLCAuaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIHotaW5kZXg6IDI7IH1cXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuICsgLmJ0biwgLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCArIC5idG4sIC5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biArIC5idG4sIC5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0biArIC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsIC5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcXG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cXG4uaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XFxuICBtYXJnaW4tcmlnaHQ6IC0xcHg7IH1cXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcXG4gIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XFxuLmlucHV0LWdyb3VwLXRleHQge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGZvbnQtc2l6ZTogMXJlbTtcXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgY29sb3I6ICM0OTUwNTc7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZWQ0ZGE7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT1cXFwicmFkaW9cXFwiXSwgLmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT1cXFwiY2hlY2tib3hcXFwiXSB7XFxuICAgIG1hcmdpbi10b3A6IDA7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLCAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biwgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LCAuaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4sIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsIC5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSwgLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQgPiAuaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxcbi5jdXN0b20tY29udHJvbCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcXG4gIHBhZGRpbmctbGVmdDogMS41cmVtOyB9XFxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XFxuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxcbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB6LWluZGV4OiAtMTtcXG4gIG9wYWNpdHk6IDA7IH1cXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7IH1cXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmYsIDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmZiwgMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpOyB9XFxuLmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2Q3ZmY7IH1cXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xcbiAgICBjb2xvcjogIzZjNzU3ZDsgfVxcbi5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmOyB9XFxuLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcXG4gIG1hcmdpbi1ib3R0b206IDA7IH1cXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAwLjI1cmVtO1xcbiAgICBsZWZ0OiAwO1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2lkdGg6IDFyZW07XFxuICAgIGhlaWdodDogMXJlbTtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICAgIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlMmU2OyB9XFxuLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAwLjI1cmVtO1xcbiAgICBsZWZ0OiAwO1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2lkdGg6IDFyZW07XFxuICAgIGhlaWdodDogMXJlbTtcXG4gICAgY29udGVudDogXFxcIlxcXCI7XFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XFxuICAgIGJhY2tncm91bmQtc2l6ZTogNTAlIDUwJTsgfVxcbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxcbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOyB9XFxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXIge1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmZmYnIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM0UlM0Mvc3ZnJTNFXFxcIik7IH1cXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsgfVxcbi5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVyIHtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcXFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNmZmYnIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVxcXCIpOyB9XFxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTIzLCAyNTUsIDAuNSk7IH1cXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjMsIDI1NSwgMC41KTsgfVxcbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XFxuLmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7IH1cXG4uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlciB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcXFwiKTsgfVxcbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEyMywgMjU1LCAwLjUpOyB9XFxuLmN1c3RvbS1zZWxlY3Qge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGNhbGMoMi4yNXJlbSArIDJweCk7XFxuICBwYWRkaW5nOiAwLjM3NXJlbSAxLjc1cmVtIDAuMzc1cmVtIDAuNzVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgY29sb3I6ICM0OTUwNTc7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM0UlM0NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNFJTNDL3N2ZyUzRVxcXCIpIG5vLXJlcGVhdCByaWdodCAwLjc1cmVtIGNlbnRlcjtcXG4gIGJhY2tncm91bmQtc2l6ZTogOHB4IDEwcHg7XFxuICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNGRhO1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTsgfVxcbi5jdXN0b20tc2VsZWN0OmZvY3VzIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAjODBiZGZmO1xcbiAgICBvdXRsaW5lOiAwO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDVweCByZ2JhKDEyOCwgMTg5LCAyNTUsIDAuNSk7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNXB4IHJnYmEoMTI4LCAxODksIDI1NSwgMC41KTsgfVxcbi5jdXN0b20tc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xcbiAgICAgIGNvbG9yOiAjNDk1MDU3O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cXG4uY3VzdG9tLXNlbGVjdFttdWx0aXBsZV0sIC5jdXN0b20tc2VsZWN0W3NpemVdOm5vdChbc2l6ZT1cXFwiMVxcXCJdKSB7XFxuICAgIGhlaWdodDogYXV0bztcXG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxcbi5jdXN0b20tc2VsZWN0OmRpc2FibGVkIHtcXG4gICAgY29sb3I6ICM2Yzc1N2Q7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7IH1cXG4uY3VzdG9tLXNlbGVjdDo6LW1zLWV4cGFuZCB7XFxuICAgIG9wYWNpdHk6IDA7IH1cXG4uY3VzdG9tLXNlbGVjdC1zbSB7XFxuICBoZWlnaHQ6IGNhbGMoMS44MTI1cmVtICsgMnB4KTtcXG4gIHBhZGRpbmctdG9wOiAwLjM3NXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbTtcXG4gIGZvbnQtc2l6ZTogNzUlOyB9XFxuLmN1c3RvbS1zZWxlY3QtbGcge1xcbiAgaGVpZ2h0OiBjYWxjKDIuODc1cmVtICsgMnB4KTtcXG4gIHBhZGRpbmctdG9wOiAwLjM3NXJlbTtcXG4gIHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbTtcXG4gIGZvbnQtc2l6ZTogMTI1JTsgfVxcbi5jdXN0b20tZmlsZSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG4gIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KTtcXG4gIG1hcmdpbi1ib3R0b206IDA7IH1cXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgei1pbmRleDogMjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiBjYWxjKDIuMjVyZW0gKyAycHgpO1xcbiAgbWFyZ2luOiAwO1xcbiAgb3BhY2l0eTogMDsgfVxcbi5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB+IC5jdXN0b20tZmlsZS1jb250cm9sIHtcXG4gICAgYm9yZGVyLWNvbG9yOiAjODBiZGZmO1xcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTtcXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiYSgwLCAxMjMsIDI1NSwgMC4yNSk7IH1cXG4uY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcXG4gICAgICBib3JkZXItY29sb3I6ICM4MGJkZmY7IH1cXG4uY3VzdG9tLWZpbGUtaW5wdXQ6bGFuZyhlbikgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcXG4gICAgY29udGVudDogXFxcIkJyb3dzZVxcXCI7IH1cXG4uY3VzdG9tLWZpbGUtbGFiZWwge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBsZWZ0OiAwO1xcbiAgei1pbmRleDogMTtcXG4gIGhlaWdodDogY2FsYygyLjI1cmVtICsgMnB4KTtcXG4gIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XFxuICBsaW5lLWhlaWdodDogMS41O1xcbiAgY29sb3I6ICM0OTUwNTc7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYm9yZGVyOiAxcHggc29saWQgI2NlZDRkYTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cXG4uY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBib3R0b206IDA7XFxuICAgIHotaW5kZXg6IDM7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICBoZWlnaHQ6IGNhbGMoY2FsYygyLjI1cmVtICsgMnB4KSAtIDFweCAqIDIpO1xcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtO1xcbiAgICBsaW5lLWhlaWdodDogMS41O1xcbiAgICBjb2xvcjogIzQ5NTA1NztcXG4gICAgY29udGVudDogXFxcIkJyb3dzZVxcXCI7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XFxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NlZDRkYTtcXG4gICAgYm9yZGVyLXJhZGl1czogMCAwLjI1cmVtIDAuMjVyZW0gMDsgfVxcbi5uYXYge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtbXMtZmxleC13cmFwOiB3cmFwO1xcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcXG4gIHBhZGRpbmctbGVmdDogMDtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxuICBsaXN0LXN0eWxlOiBub25lOyB9XFxuLm5hdi1saW5rIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcGFkZGluZzogMC41cmVtIDFyZW07IH1cXG4ubmF2LWxpbms6aG92ZXIsIC5uYXYtbGluazpmb2N1cyB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxcbi5uYXYtbGluay5kaXNhYmxlZCB7XFxuICAgIGNvbG9yOiAjNmM3NTdkOyB9XFxuLm5hdi10YWJzIHtcXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2OyB9XFxuLm5hdi10YWJzIC5uYXYtaXRlbSB7XFxuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7IH1cXG4ubmF2LXRhYnMgLm5hdi1saW5rIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XFxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtOyB9XFxuLm5hdi10YWJzIC5uYXYtbGluazpob3ZlciwgLm5hdi10YWJzIC5uYXYtbGluazpmb2N1cyB7XFxuICAgICAgYm9yZGVyLWNvbG9yOiAjZTllY2VmICNlOWVjZWYgI2RlZTJlNjsgfVxcbi5uYXYtdGFicyAubmF2LWxpbmsuZGlzYWJsZWQge1xcbiAgICAgIGNvbG9yOiAjNmM3NTdkO1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cXG4ubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSwgLm5hdi10YWJzIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluayB7XFxuICAgIGNvbG9yOiAjNDk1MDU3O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICBib3JkZXItY29sb3I6ICNkZWUyZTYgI2RlZTJlNiAjZmZmOyB9XFxuLm5hdi10YWJzIC5kcm9wZG93bi1tZW51IHtcXG4gICAgbWFyZ2luLXRvcDogLTFweDtcXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cXG4ubmF2LXBpbGxzIC5uYXYtbGluayB7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XFxuLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLCAubmF2LXBpbGxzIC5zaG93ID4gLm5hdi1saW5rIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjsgfVxcbi5uYXYtZmlsbCAubmF2LWl0ZW0ge1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleDogMSAxIGF1dG87XFxuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuLm5hdi1qdXN0aWZpZWQgLm5hdi1pdGVtIHtcXG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAwO1xcbiAgICAgIGZsZXgtYmFzaXM6IDA7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cXG4udGFiLWNvbnRlbnQgPiAudGFiLXBhbmUge1xcbiAgZGlzcGxheTogbm9uZTsgfVxcbi50YWItY29udGVudCA+IC5hY3RpdmUge1xcbiAgZGlzcGxheTogYmxvY2s7IH1cXG4ubmF2YmFyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtOyB9XFxuLm5hdmJhciA+IC5jb250YWluZXIsIC5uYXZiYXIgPiAuY29udGFpbmVyLWZsdWlkIHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cXG4ubmF2YmFyLWJyYW5kIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtO1xcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XFxuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XFxuLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1icmFuZDpmb2N1cyB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxcbi5uYXZiYXItbmF2IHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cXG4ubmF2YmFyLW5hdiAubmF2LWxpbmsge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cXG4ubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XFxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XFxuICAgIGZsb2F0OiBub25lOyB9XFxuLm5hdmJhci10ZXh0IHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XFxuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9XFxuLm5hdmJhci1jb2xsYXBzZSB7XFxuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcXG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcXG4gICAgICAgICAgZmxleC1ncm93OiAxO1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XFxuLm5hdmJhci10b2dnbGVyIHtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTtcXG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cXG4ubmF2YmFyLXRvZ2dsZXI6aG92ZXIsIC5uYXZiYXItdG9nZ2xlcjpmb2N1cyB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxcbi5uYXZiYXItdG9nZ2xlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxcbi5uYXZiYXItdG9nZ2xlci1pY29uIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIHdpZHRoOiAxLjVlbTtcXG4gIGhlaWdodDogMS41ZW07XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcXG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOyB9XFxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XFxuICAubmF2YmFyLWV4cGFuZC1zbSA+IC5jb250YWluZXIsIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lci1mbHVpZCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAubmF2YmFyLWV4cGFuZC1zbSB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAtbXMtZmxleC1mbG93OiByb3cgbm93cmFwO1xcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cXG4gICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYge1xcbiAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XFxuICAgICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUge1xcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XFxuICAgICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xcbiAgICAgICAgcmlnaHQ6IDA7XFxuICAgICAgICBsZWZ0OiBhdXRvOyB9XFxuICAgICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcXG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XFxuICAgIC5uYXZiYXItZXhwYW5kLXNtID4gLmNvbnRhaW5lciwgLm5hdmJhci1leHBhbmQtc20gPiAuY29udGFpbmVyLWZsdWlkIHtcXG4gICAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XFxuICAgIC5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItY29sbGFwc2Uge1xcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7XFxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IGF1dG87XFxuICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cXG4gICAgLm5hdmJhci1leHBhbmQtc20gLm5hdmJhci10b2dnbGVyIHtcXG4gICAgICBkaXNwbGF5OiBub25lOyB9XFxuICAgIC5uYXZiYXItZXhwYW5kLXNtIC5kcm9wdXAgLmRyb3Bkb3duLW1lbnUge1xcbiAgICAgIHRvcDogYXV0bztcXG4gICAgICBib3R0b206IDEwMCU7IH0gfVxcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xcbiAgLm5hdmJhci1leHBhbmQtbWQgPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgLm5hdmJhci1leHBhbmQtbWQge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IG5vd3JhcDtcXG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XFxuICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IHtcXG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxcbiAgICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxcbiAgICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51LXJpZ2h0IHtcXG4gICAgICAgIHJpZ2h0OiAwO1xcbiAgICAgICAgbGVmdDogYXV0bzsgfVxcbiAgICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XFxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC1tZCA+IC5jb250YWluZXIsIC5uYXZiYXItZXhwYW5kLW1kID4gLmNvbnRhaW5lci1mbHVpZCB7XFxuICAgICAgLW1zLWZsZXgtd3JhcDogbm93cmFwO1xcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLWNvbGxhcHNlIHtcXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50O1xcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xcbiAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBhdXRvO1xcbiAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XFxuICAgIC5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItdG9nZ2xlciB7XFxuICAgICAgZGlzcGxheTogbm9uZTsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC1tZCAuZHJvcHVwIC5kcm9wZG93bi1tZW51IHtcXG4gICAgICB0b3A6IGF1dG87XFxuICAgICAgYm90dG9tOiAxMDAlOyB9IH1cXG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcXG4gIC5uYXZiYXItZXhwYW5kLWxnID4gLmNvbnRhaW5lciwgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLWZsdWlkIHtcXG4gICAgcGFkZGluZy1yaWdodDogMDtcXG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcXG4gIC5uYXZiYXItZXhwYW5kLWxnIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiB7XFxuICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cXG4gICAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG4gICAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodCB7XFxuICAgICAgICByaWdodDogMDtcXG4gICAgICAgIGxlZnQ6IGF1dG87IH1cXG4gICAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cXG4gICAgLm5hdmJhci1leHBhbmQtbGcgPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZC1sZyA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cXG4gICAgLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1jb2xsYXBzZSB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcXG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogYXV0bztcXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bzsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLXRvZ2dsZXIge1xcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gICAgLm5hdmJhci1leHBhbmQtbGcgLmRyb3B1cCAuZHJvcGRvd24tbWVudSB7XFxuICAgICAgdG9wOiBhdXRvO1xcbiAgICAgIGJvdHRvbTogMTAwJTsgfSB9XFxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xcbiAgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcXG4gIC5uYXZiYXItZXhwYW5kLXhsIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyBub3dyYXA7XFxuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiB7XFxuICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cXG4gICAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudSB7XFxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG4gICAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodCB7XFxuICAgICAgICByaWdodDogMDtcXG4gICAgICAgIGxlZnQ6IGF1dG87IH1cXG4gICAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cXG4gICAgLm5hdmJhci1leHBhbmQteGwgPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZC14bCA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDtcXG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cXG4gICAgLm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1jb2xsYXBzZSB7XFxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcXG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcXG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogYXV0bztcXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bzsgfVxcbiAgICAubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLXRvZ2dsZXIge1xcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4gICAgLm5hdmJhci1leHBhbmQteGwgLmRyb3B1cCAuZHJvcGRvd24tbWVudSB7XFxuICAgICAgdG9wOiBhdXRvO1xcbiAgICAgIGJvdHRvbTogMTAwJTsgfSB9XFxuLm5hdmJhci1leHBhbmQge1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgLW1zLWZsZXgtZmxvdzogcm93IG5vd3JhcDtcXG4gICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xcbiAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XFxuICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxcbi5uYXZiYXItZXhwYW5kID4gLmNvbnRhaW5lciwgLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLWZsdWlkIHtcXG4gICAgcGFkZGluZy1yaWdodDogMDtcXG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XFxuLm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxcbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51IHtcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cXG4ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodCB7XFxuICAgICAgcmlnaHQ6IDA7XFxuICAgICAgbGVmdDogYXV0bzsgfVxcbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XFxuICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XFxuLm5hdmJhci1leHBhbmQgPiAuY29udGFpbmVyLCAubmF2YmFyLWV4cGFuZCA+IC5jb250YWluZXItZmx1aWQge1xcbiAgICAtbXMtZmxleC13cmFwOiBub3dyYXA7XFxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxcbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItY29sbGFwc2Uge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XFxuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiBhdXRvO1xcbiAgICAgICAgZmxleC1iYXNpczogYXV0bzsgfVxcbi5uYXZiYXItZXhwYW5kIC5uYXZiYXItdG9nZ2xlciB7XFxuICAgIGRpc3BsYXk6IG5vbmU7IH1cXG4ubmF2YmFyLWV4cGFuZCAuZHJvcHVwIC5kcm9wZG93bi1tZW51IHtcXG4gICAgdG9wOiBhdXRvO1xcbiAgICBib3R0b206IDEwMCU7IH1cXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQge1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmZvY3VzIHtcXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpOyB9XFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuZGlzYWJsZWQge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuc2hvdyA+IC5uYXYtbGluaywgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLCAubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LCAubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUge1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyIHtcXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XFxuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyLWljb24ge1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0ncmdiYSgwLCAwLCAwLCAwLjUpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVxcXCIpOyB9XFxuLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQge1xcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGEge1xcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpOyB9XFxuLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpob3ZlciwgLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpmb2N1cyB7XFxuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxcbi5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kIHtcXG4gIGNvbG9yOiAjZmZmOyB9XFxuLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6aG92ZXIsIC5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmZvY3VzIHtcXG4gICAgY29sb3I6ICNmZmY7IH1cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcXG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyLCAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzIHtcXG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7IH1cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVkIHtcXG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLnNob3cgPiAubmF2LWxpbmssIC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLCAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csIC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlIHtcXG4gIGNvbG9yOiAjZmZmOyB9XFxuLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlciB7XFxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyLWljb24ge1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0ncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRVxcXCIpOyB9XFxuLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCB7XFxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XFxuLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhIHtcXG4gICAgY29sb3I6ICNmZmY7IH1cXG4ubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGE6aG92ZXIsIC5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpmb2N1cyB7XFxuICAgICAgY29sb3I6ICNmZmY7IH1cXG4uY2FyZCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIG1pbi13aWR0aDogMDtcXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XFxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cXG4uY2FyZCA+IGhyIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxcbi5jYXJkID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XFxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmNhcmQgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmNhcmQtYm9keSB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICBwYWRkaW5nOiAxLjI1cmVtOyB9XFxuLmNhcmQtdGl0bGUge1xcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxcbi5jYXJkLXN1YnRpdGxlIHtcXG4gIG1hcmdpbi10b3A6IC0wLjM3NXJlbTtcXG4gIG1hcmdpbi1ib3R0b206IDA7IH1cXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxcbi5jYXJkLWxpbms6aG92ZXIge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XFxuLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cXG4uY2FyZC1oZWFkZXIge1xcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7IH1cXG4uY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpIGNhbGMoMC4yNXJlbSAtIDFweCkgMCAwOyB9XFxuLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XFxuICAgIGJvcmRlci10b3A6IDA7IH1cXG4uY2FyZC1mb290ZXIge1xcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzKTtcXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsgfVxcbi5jYXJkLWZvb3RlcjpsYXN0LWNoaWxkIHtcXG4gICAgYm9yZGVyLXJhZGl1czogMCAwIGNhbGMoMC4yNXJlbSAtIDFweCkgY2FsYygwLjI1cmVtIC0gMXB4KTsgfVxcbi5jYXJkLWhlYWRlci10YWJzIHtcXG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogLTAuNzVyZW07XFxuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbi5jYXJkLWhlYWRlci1waWxscyB7XFxuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcXG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cXG4uY2FyZC1pbWctb3ZlcmxheSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICByaWdodDogMDtcXG4gIGJvdHRvbTogMDtcXG4gIGxlZnQ6IDA7XFxuICBwYWRkaW5nOiAxLjI1cmVtOyB9XFxuLmNhcmQtaW1nIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgYm9yZGVyLXJhZGl1czogY2FsYygwLjI1cmVtIC0gMXB4KTsgfVxcbi5jYXJkLWltZy10b3Age1xcbiAgd2lkdGg6IDEwMCU7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpO1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7IH1cXG4uY2FyZC1pbWctYm90dG9tIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCk7XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpOyB9XFxuLmNhcmQtZGVjayB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxcbi5jYXJkLWRlY2sgLmNhcmQge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAgIC5jYXJkLWRlY2sge1xcbiAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcXG4gICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAgICAgLW1zLWZsZXgtZmxvdzogcm93IHdyYXA7XFxuICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xcbiAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XFxuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4OyB9XFxuICAgICAgLmNhcmQtZGVjayAuY2FyZCB7XFxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XFxuICAgICAgICAgICAgLW1zLWZsZXg6IDEgMCAwJTtcXG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDAlO1xcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9IH1cXG4uY2FyZC1ncm91cCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxcbi5jYXJkLWdyb3VwID4gLmNhcmQge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAgIC5jYXJkLWdyb3VwIHtcXG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XFxuICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xcbiAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxcbiAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQge1xcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcXG4gICAgICAgICAgICAtbXMtZmxleDogMSAwIDAlO1xcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgMCU7XFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuICAgICAgICAuY2FyZC1ncm91cCA+IC5jYXJkICsgLmNhcmQge1xcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cXG4gICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQ6Zmlyc3QtY2hpbGQge1xcbiAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cXG4gICAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpmaXJzdC1jaGlsZCAuY2FyZC1pbWctdG9wLCAuY2FyZC1ncm91cCA+IC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWhlYWRlciB7XFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cXG4gICAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpmaXJzdC1jaGlsZCAuY2FyZC1pbWctYm90dG9tLCAuY2FyZC1ncm91cCA+IC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWZvb3RlciB7XFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cXG4gICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQ6bGFzdC1jaGlsZCB7XFxuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XFxuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cXG4gICAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWltZy10b3AsIC5jYXJkLWdyb3VwID4gLmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1oZWFkZXIge1xcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cXG4gICAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWltZy1ib3R0b20sIC5jYXJkLWdyb3VwID4gLmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1mb290ZXIge1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cXG4gICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQ6b25seS1jaGlsZCB7XFxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cXG4gICAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWltZy10b3AsIC5jYXJkLWdyb3VwID4gLmNhcmQ6b25seS1jaGlsZCAuY2FyZC1oZWFkZXIge1xcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjVyZW07XFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07IH1cXG4gICAgICAgICAgLmNhcmQtZ3JvdXAgPiAuY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWltZy1ib3R0b20sIC5jYXJkLWdyb3VwID4gLmNhcmQ6b25seS1jaGlsZCAuY2FyZC1mb290ZXIge1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW07IH1cXG4gICAgICAgIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIHtcXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxcbiAgICAgICAgICAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1pbWctdG9wLCAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tLCAuY2FyZC1ncm91cCA+IC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1oZWFkZXIsIC5jYXJkLWdyb3VwID4gLmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIC5jYXJkLWZvb3RlciB7XFxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XFxuLmNhcmQtY29sdW1ucyAuY2FyZCB7XFxuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAuY2FyZC1jb2x1bW5zIHtcXG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XFxuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAzO1xcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDEuMjVyZW07XFxuICAgICAgICAgICAgY29sdW1uLWdhcDogMS4yNXJlbTsgfVxcbiAgICAuY2FyZC1jb2x1bW5zIC5jYXJkIHtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxcbi5icmVhZGNydW1iIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XFxuICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XFxuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcXG4gIGNvbG9yOiAjNmM3NTdkO1xcbiAgY29udGVudDogXFxcIi9cXFwiOyB9XFxuLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxcbi5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XFxuLmJyZWFkY3J1bWItaXRlbS5hY3RpdmUge1xcbiAgY29sb3I6ICM2Yzc1N2Q7IH1cXG4ucGFnaW5hdGlvbiB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHBhZGRpbmctbGVmdDogMDtcXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XFxuLnBhZ2UtbGluayB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XFxuICBsaW5lLWhlaWdodDogMS4yNTtcXG4gIGNvbG9yOiAjMDA3YmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7IH1cXG4ucGFnZS1saW5rOmhvdmVyIHtcXG4gICAgY29sb3I6ICMwMDU2YjM7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcXG4gICAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2OyB9XFxuLnBhZ2UtbGluazpmb2N1cyB7XFxuICAgIHotaW5kZXg6IDI7XFxuICAgIG91dGxpbmU6IDA7XFxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTIzLCAyNTUsIDAuMjUpO1xcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDAsIDEyMywgMjU1LCAwLjI1KTsgfVxcbi5wYWdlLWxpbms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cXG4ucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xcbiAgbWFyZ2luLWxlZnQ6IDA7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbTsgfVxcbi5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07IH1cXG4ucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rIHtcXG4gIHotaW5kZXg6IDE7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XFxuICBib3JkZXItY29sb3I6ICMwMDdiZmY7IH1cXG4ucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbmsge1xcbiAgY29sb3I6ICM2Yzc1N2Q7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gIGN1cnNvcjogYXV0bztcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBib3JkZXItY29sb3I6ICNkZWUyZTY7IH1cXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcXG4gIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbi5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjNyZW07XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjNyZW07IH1cXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zcmVtO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuM3JlbTsgfVxcbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsge1xcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XFxuICBmb250LXNpemU6IDAuODc1cmVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxcbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjJyZW07XFxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjJyZW07IH1cXG4ucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGluayB7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4ycmVtO1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMnJlbTsgfVxcbi5iYWRnZSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwYWRkaW5nOiAwLjI1ZW0gMC40ZW07XFxuICBmb250LXNpemU6IDc1JTtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBsaW5lLWhlaWdodDogMTtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmJhZGdlOmVtcHR5IHtcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbi5idG4gLmJhZGdlIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHRvcDogLTFweDsgfVxcbi5iYWRnZS1waWxsIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuNmVtO1xcbiAgcGFkZGluZy1sZWZ0OiAwLjZlbTtcXG4gIGJvcmRlci1yYWRpdXM6IDEwcmVtOyB9XFxuLmJhZGdlLXByaW1hcnkge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmOyB9XFxuLmJhZGdlLXByaW1hcnlbaHJlZl06aG92ZXIsIC5iYWRnZS1wcmltYXJ5W2hyZWZdOmZvY3VzIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjJjYzsgfVxcbi5iYWRnZS1zZWNvbmRhcnkge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM3NTdkOyB9XFxuLmJhZGdlLXNlY29uZGFyeVtocmVmXTpob3ZlciwgLmJhZGdlLXNlY29uZGFyeVtocmVmXTpmb2N1cyB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDViNjI7IH1cXG4uYmFkZ2Utc3VjY2VzcyB7XFxuICBjb2xvcjogI2ZmZjtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMyOGE3NDU7IH1cXG4uYmFkZ2Utc3VjY2Vzc1tocmVmXTpob3ZlciwgLmJhZGdlLXN1Y2Nlc3NbaHJlZl06Zm9jdXMge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU3ZTM0OyB9XFxuLmJhZGdlLWluZm8ge1xcbiAgY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTdhMmI4OyB9XFxuLmJhZGdlLWluZm9baHJlZl06aG92ZXIsIC5iYWRnZS1pbmZvW2hyZWZdOmZvY3VzIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzExN2E4YjsgfVxcbi5iYWRnZS13YXJuaW5nIHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNzsgfVxcbi5iYWRnZS13YXJuaW5nW2hyZWZdOmhvdmVyLCAuYmFkZ2Utd2FybmluZ1tocmVmXTpmb2N1cyB7XFxuICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMzllMDA7IH1cXG4uYmFkZ2UtZGFuZ2VyIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjMzU0NTsgfVxcbi5iYWRnZS1kYW5nZXJbaHJlZl06aG92ZXIsIC5iYWRnZS1kYW5nZXJbaHJlZl06Zm9jdXMge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwOyB9XFxuLmJhZGdlLWxpZ2h0IHtcXG4gIGNvbG9yOiAjMjEyNTI5O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTsgfVxcbi5iYWRnZS1saWdodFtocmVmXTpob3ZlciwgLmJhZGdlLWxpZ2h0W2hyZWZdOmZvY3VzIHtcXG4gICAgY29sb3I6ICMyMTI1Mjk7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNTsgfVxcbi5iYWRnZS1kYXJrIHtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MDsgfVxcbi5iYWRnZS1kYXJrW2hyZWZdOmhvdmVyLCAuYmFkZ2UtZGFya1tocmVmXTpmb2N1cyB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDIxMjQ7IH1cXG4uanVtYm90cm9uIHtcXG4gIHBhZGRpbmc6IDJyZW0gMXJlbTtcXG4gIG1hcmdpbi1ib3R0b206IDJyZW07XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOyB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAgIC5qdW1ib3Ryb24ge1xcbiAgICAgIHBhZGRpbmc6IDRyZW0gMnJlbTsgfSB9XFxuLmp1bWJvdHJvbi1mbHVpZCB7XFxuICBwYWRkaW5nLXJpZ2h0OiAwO1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxcbi5hbGVydCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XFxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmFsZXJ0LWhlYWRpbmcge1xcbiAgY29sb3I6IGluaGVyaXQ7IH1cXG4uYWxlcnQtbGluayB7XFxuICBmb250LXdlaWdodDogNzAwOyB9XFxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDRyZW07IH1cXG4uYWxlcnQtZGlzbWlzc2libGUgLmNsb3NlIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XFxuICAgIGNvbG9yOiBpbmhlcml0OyB9XFxuLmFsZXJ0LXByaW1hcnkge1xcbiAgY29sb3I6ICMwMDQwODU7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NlNWZmO1xcbiAgYm9yZGVyLWNvbG9yOiAjYjhkYWZmOyB9XFxuLmFsZXJ0LXByaW1hcnkgaHIge1xcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjOWZjZGZmOyB9XFxuLmFsZXJ0LXByaW1hcnkgLmFsZXJ0LWxpbmsge1xcbiAgICBjb2xvcjogIzAwMjc1MjsgfVxcbi5hbGVydC1zZWNvbmRhcnkge1xcbiAgY29sb3I6ICMzODNkNDE7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlM2U1O1xcbiAgYm9yZGVyLWNvbG9yOiAjZDZkOGRiOyB9XFxuLmFsZXJ0LXNlY29uZGFyeSBociB7XFxuICAgIGJvcmRlci10b3AtY29sb3I6ICNjOGNiY2Y7IH1cXG4uYWxlcnQtc2Vjb25kYXJ5IC5hbGVydC1saW5rIHtcXG4gICAgY29sb3I6ICMyMDIzMjY7IH1cXG4uYWxlcnQtc3VjY2VzcyB7XFxuICBjb2xvcjogIzE1NTcyNDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNGVkZGE7XFxuICBib3JkZXItY29sb3I6ICNjM2U2Y2I7IH1cXG4uYWxlcnQtc3VjY2VzcyBociB7XFxuICAgIGJvcmRlci10b3AtY29sb3I6ICNiMWRmYmI7IH1cXG4uYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGluayB7XFxuICAgIGNvbG9yOiAjMGIyZTEzOyB9XFxuLmFsZXJ0LWluZm8ge1xcbiAgY29sb3I6ICMwYzU0NjA7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFlY2YxO1xcbiAgYm9yZGVyLWNvbG9yOiAjYmVlNWViOyB9XFxuLmFsZXJ0LWluZm8gaHIge1xcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjYWJkZGU1OyB9XFxuLmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmsge1xcbiAgICBjb2xvcjogIzA2MmMzMzsgfVxcbi5hbGVydC13YXJuaW5nIHtcXG4gIGNvbG9yOiAjODU2NDA0O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNjZDtcXG4gIGJvcmRlci1jb2xvcjogI2ZmZWViYTsgfVxcbi5hbGVydC13YXJuaW5nIGhyIHtcXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZThhMTsgfVxcbi5hbGVydC13YXJuaW5nIC5hbGVydC1saW5rIHtcXG4gICAgY29sb3I6ICM1MzNmMDM7IH1cXG4uYWxlcnQtZGFuZ2VyIHtcXG4gIGNvbG9yOiAjNzIxYzI0O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYTtcXG4gIGJvcmRlci1jb2xvcjogI2Y1YzZjYjsgfVxcbi5hbGVydC1kYW5nZXIgaHIge1xcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZjFiMGI3OyB9XFxuLmFsZXJ0LWRhbmdlciAuYWxlcnQtbGluayB7XFxuICAgIGNvbG9yOiAjNDkxMjE3OyB9XFxuLmFsZXJ0LWxpZ2h0IHtcXG4gIGNvbG9yOiAjODE4MTgyO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcXG4gIGJvcmRlci1jb2xvcjogI2ZkZmRmZTsgfVxcbi5hbGVydC1saWdodCBociB7XFxuICAgIGJvcmRlci10b3AtY29sb3I6ICNlY2VjZjY7IH1cXG4uYWxlcnQtbGlnaHQgLmFsZXJ0LWxpbmsge1xcbiAgICBjb2xvcjogIzY4Njg2ODsgfVxcbi5hbGVydC1kYXJrIHtcXG4gIGNvbG9yOiAjMWIxZTIxO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDhkOTtcXG4gIGJvcmRlci1jb2xvcjogI2M2YzhjYTsgfVxcbi5hbGVydC1kYXJrIGhyIHtcXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2I5YmJiZTsgfVxcbi5hbGVydC1kYXJrIC5hbGVydC1saW5rIHtcXG4gICAgY29sb3I6ICMwNDA1MDU7IH1cXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xcbiAgZnJvbSB7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFyZW0gMDsgfVxcbiAgdG8ge1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0gfVxcbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xcbiAgZnJvbSB7XFxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFyZW0gMDsgfVxcbiAgdG8ge1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0gfVxcbi5wcm9ncmVzcyB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGhlaWdodDogMXJlbTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBmb250LXNpemU6IDAuNzVyZW07XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxcbi5wcm9ncmVzcy1iYXIge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xcbiAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlOyB9XFxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07IH1cXG4ucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAxcyBsaW5lYXIgaW5maW5pdGU7XFxuICAgICAgICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMXMgbGluZWFyIGluZmluaXRlOyB9XFxuLm1lZGlhIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cXG4ubWVkaWEtYm9keSB7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxO1xcbiAgICAgICAgICBmbGV4OiAxOyB9XFxuLmxpc3QtZ3JvdXAge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XFxuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBwYWRkaW5nLWxlZnQ6IDA7XFxuICBtYXJnaW4tYm90dG9tOiAwOyB9XFxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBjb2xvcjogIzQ5NTA1NztcXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xcbiAgICBjb2xvcjogIzQ5NTA1NztcXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhOyB9XFxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246YWN0aXZlIHtcXG4gICAgY29sb3I6ICMyMTI1Mjk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7IH1cXG4ubGlzdC1ncm91cC1pdGVtIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsgfVxcbi5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTsgfVxcbi5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtO1xcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtOyB9XFxuLmxpc3QtZ3JvdXAtaXRlbTpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbTpmb2N1cyB7XFxuICAgIHotaW5kZXg6IDE7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxcbi5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQsIC5saXN0LWdyb3VwLWl0ZW06ZGlzYWJsZWQge1xcbiAgICBjb2xvcjogIzZjNzU3ZDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxcbi5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIHtcXG4gICAgei1pbmRleDogMjtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XFxuICAgIGJvcmRlci1jb2xvcjogIzAwN2JmZjsgfVxcbi5saXN0LWdyb3VwLWZsdXNoIC5saXN0LWdyb3VwLWl0ZW0ge1xcbiAgYm9yZGVyLXJpZ2h0OiAwO1xcbiAgYm9yZGVyLWxlZnQ6IDA7XFxuICBib3JkZXItcmFkaXVzOiAwOyB9XFxuLmxpc3QtZ3JvdXAtZmx1c2g6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XFxuICBib3JkZXItdG9wOiAwOyB9XFxuLmxpc3QtZ3JvdXAtZmx1c2g6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxcbi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeSB7XFxuICBjb2xvcjogIzAwNDA4NTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGRhZmY7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xcbiAgICBjb2xvcjogIzAwNDA4NTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzlmY2RmZjsgfVxcbi5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0MDg1O1xcbiAgICBib3JkZXItY29sb3I6ICMwMDQwODU7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeSB7XFxuICBjb2xvcjogIzM4M2Q0MTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmQ4ZGI7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcXG4gICAgY29sb3I6ICMzODNkNDE7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOGNiY2Y7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzZDQxO1xcbiAgICBib3JkZXItY29sb3I6ICMzODNkNDE7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3Mge1xcbiAgY29sb3I6ICMxNTU3MjQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzNlNmNiOyB9XFxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIsIC5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcXG4gICAgY29sb3I6ICMxNTU3MjQ7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMWRmYmI7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmUge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1NTcyNDtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMTU1NzI0OyB9XFxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIHtcXG4gIGNvbG9yOiAjMGM1NDYwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JlZTVlYjsgfVxcbi5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cyB7XFxuICAgIGNvbG9yOiAjMGM1NDYwO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJkZGU1OyB9XFxuLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYzU0NjA7XFxuICAgIGJvcmRlci1jb2xvcjogIzBjNTQ2MDsgfVxcbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZyB7XFxuICBjb2xvcjogIzg1NjQwNDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVlYmE7IH1cXG4ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xcbiAgICBjb2xvcjogIzg1NjQwNDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTsgfVxcbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU2NDA0O1xcbiAgICBib3JkZXItY29sb3I6ICM4NTY0MDQ7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWRhbmdlciB7XFxuICBjb2xvcjogIzcyMWMyNDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWM2Y2I7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcXG4gICAgY29sb3I6ICM3MjFjMjQ7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWIwYjc7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzIxYzI0O1xcbiAgICBib3JkZXItY29sb3I6ICM3MjFjMjQ7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWxpZ2h0IHtcXG4gIGNvbG9yOiAjODE4MTgyO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZTsgfVxcbi5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzIHtcXG4gICAgY29sb3I6ICM4MTgxODI7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZjY7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZlIHtcXG4gICAgY29sb3I6ICNmZmY7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MTgxODI7XFxuICAgIGJvcmRlci1jb2xvcjogIzgxODE4MjsgfVxcbi5saXN0LWdyb3VwLWl0ZW0tZGFyayB7XFxuICBjb2xvcjogIzFiMWUyMTtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNjNmM4Y2E7IH1cXG4ubGlzdC1ncm91cC1pdGVtLWRhcmsubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3ZlciwgLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMge1xcbiAgICBjb2xvcjogIzFiMWUyMTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I5YmJiZTsgfVxcbi5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZSB7XFxuICAgIGNvbG9yOiAjZmZmO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWIxZTIxO1xcbiAgICBib3JkZXItY29sb3I6ICMxYjFlMjE7IH1cXG4uY2xvc2Uge1xcbiAgZmxvYXQ6IHJpZ2h0O1xcbiAgZm9udC1zaXplOiAxLjVyZW07XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgbGluZS1oZWlnaHQ6IDE7XFxuICBjb2xvcjogIzAwMDtcXG4gIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7XFxuICBvcGFjaXR5OiAuNTsgfVxcbi5jbG9zZTpob3ZlciwgLmNsb3NlOmZvY3VzIHtcXG4gICAgY29sb3I6ICMwMDA7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgb3BhY2l0eTogLjc1OyB9XFxuLmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XFxuYnV0dG9uLmNsb3NlIHtcXG4gIHBhZGRpbmc6IDA7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJvcmRlcjogMDtcXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxcbi5tb2RhbC1vcGVuIHtcXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cXG4ubW9kYWwge1xcbiAgcG9zaXRpb246IGZpeGVkO1xcbiAgdG9wOiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBib3R0b206IDA7XFxuICBsZWZ0OiAwO1xcbiAgei1pbmRleDogMTA1MDtcXG4gIGRpc3BsYXk6IG5vbmU7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgb3V0bGluZTogMDsgfVxcbi5tb2RhbC1vcGVuIC5tb2RhbCB7XFxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcXG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxcbi5tb2RhbC1kaWFsb2cge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgd2lkdGg6IGF1dG87XFxuICBtYXJnaW46IDAuNXJlbTtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XFxuLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XFxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcXG4gICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XFxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0LCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpOyB9XFxuLm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZyB7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cXG4ubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gKDAuNXJlbSAqIDIpKTsgfVxcbi5tb2RhbC1jb250ZW50IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xcbiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwb2ludGVyLWV2ZW50czogYXV0bztcXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xcbiAgb3V0bGluZTogMDsgfVxcbi5tb2RhbC1iYWNrZHJvcCB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICByaWdodDogMDtcXG4gIGJvdHRvbTogMDtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxMDQwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxcbi5tb2RhbC1iYWNrZHJvcC5mYWRlIHtcXG4gICAgb3BhY2l0eTogMDsgfVxcbi5tb2RhbC1iYWNrZHJvcC5zaG93IHtcXG4gICAgb3BhY2l0eTogMC41OyB9XFxuLm1vZGFsLWhlYWRlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcXG4gICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICBwYWRkaW5nOiAxcmVtO1xcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOWVjZWY7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjNyZW07XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zcmVtOyB9XFxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xcbiAgICBwYWRkaW5nOiAxcmVtO1xcbiAgICBtYXJnaW46IC0xcmVtIC0xcmVtIC0xcmVtIGF1dG87IH1cXG4ubW9kYWwtdGl0bGUge1xcbiAgbWFyZ2luLWJvdHRvbTogMDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cXG4ubW9kYWwtYm9keSB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAtd2Via2l0LWJveC1mbGV4OiAxO1xcbiAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bztcXG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XFxuICBwYWRkaW5nOiAxcmVtOyB9XFxuLm1vZGFsLWZvb3RlciB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XFxuICBwYWRkaW5nOiAxcmVtO1xcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOWVjZWY7IH1cXG4ubW9kYWwtZm9vdGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHtcXG4gICAgbWFyZ2luLWxlZnQ6IC4yNXJlbTsgfVxcbi5tb2RhbC1mb290ZXIgPiA6bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgIG1hcmdpbi1yaWdodDogLjI1cmVtOyB9XFxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogLTk5OTlweDtcXG4gIHdpZHRoOiA1MHB4O1xcbiAgaGVpZ2h0OiA1MHB4O1xcbiAgb3ZlcmZsb3c6IHNjcm9sbDsgfVxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLm1vZGFsLWRpYWxvZyB7XFxuICAgIG1heC13aWR0aDogNTAwcHg7XFxuICAgIG1hcmdpbjogMS43NXJlbSBhdXRvOyB9XFxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcXG4gICAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gKDEuNzVyZW0gKiAyKSk7IH1cXG4gIC5tb2RhbC1zbSB7XFxuICAgIG1heC13aWR0aDogMzAwcHg7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xcbiAgLm1vZGFsLWxnIHtcXG4gICAgbWF4LXdpZHRoOiA4MDBweDsgfSB9XFxuLnRvb2x0aXAge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgei1pbmRleDogMTA3MDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCI7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxuICB0ZXh0LWFsaWduOiBzdGFydDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gIHRleHQtc2hhZG93OiBub25lO1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xcbiAgd29yZC1icmVhazogbm9ybWFsO1xcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XFxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xcbiAgbGluZS1icmVhazogYXV0bztcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XFxuICBvcGFjaXR5OiAwOyB9XFxuLnRvb2x0aXAuc2hvdyB7XFxuICAgIG9wYWNpdHk6IDAuOTsgfVxcbi50b29sdGlwIC5hcnJvdyB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIHdpZHRoOiAwLjhyZW07XFxuICAgIGhlaWdodDogMC40cmVtOyB9XFxuLnRvb2x0aXAgLmFycm93OjpiZWZvcmUge1xcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcIjtcXG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cXG4uYnMtdG9vbHRpcC10b3AsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSB7XFxuICBwYWRkaW5nOiAwLjRyZW0gMDsgfVxcbi5icy10b29sdGlwLXRvcCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSAuYXJyb3cge1xcbiAgICBib3R0b206IDA7IH1cXG4uYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSAuYXJyb3c6OmJlZm9yZSB7XFxuICAgICAgdG9wOiAwO1xcbiAgICAgIGJvcmRlci13aWR0aDogMC40cmVtIDAuNHJlbSAwO1xcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDA7IH1cXG4uYnMtdG9vbHRpcC1yaWdodCwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0ge1xcbiAgcGFkZGluZzogMCAwLjRyZW07IH1cXG4uYnMtdG9vbHRpcC1yaWdodCAuYXJyb3csIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdIC5hcnJvdyB7XFxuICAgIGxlZnQ6IDA7XFxuICAgIHdpZHRoOiAwLjRyZW07XFxuICAgIGhlaWdodDogMC44cmVtOyB9XFxuLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gICAgICByaWdodDogMDtcXG4gICAgICBib3JkZXItd2lkdGg6IDAuNHJlbSAwLjRyZW0gMC40cmVtIDA7XFxuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMDAwOyB9XFxuLmJzLXRvb2x0aXAtYm90dG9tLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0ge1xcbiAgcGFkZGluZzogMC40cmVtIDA7IH1cXG4uYnMtdG9vbHRpcC1ib3R0b20gLmFycm93LCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93IHtcXG4gICAgdG9wOiAwOyB9XFxuLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3JlLCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgICAgIGJvdHRvbTogMDtcXG4gICAgICBib3JkZXItd2lkdGg6IDAgMC40cmVtIDAuNHJlbTtcXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwOyB9XFxuLmJzLXRvb2x0aXAtbGVmdCwgLmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSB7XFxuICBwYWRkaW5nOiAwIDAuNHJlbTsgfVxcbi5icy10b29sdGlwLWxlZnQgLmFycm93LCAuYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdIC5hcnJvdyB7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICB3aWR0aDogMC40cmVtO1xcbiAgICBoZWlnaHQ6IDAuOHJlbTsgfVxcbi5icy10b29sdGlwLWxlZnQgLmFycm93OjpiZWZvcmUsIC5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gLmFycm93OjpiZWZvcmUge1xcbiAgICAgIGxlZnQ6IDA7XFxuICAgICAgYm9yZGVyLXdpZHRoOiAwLjRyZW0gMCAwLjRyZW0gMC40cmVtO1xcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMDAwOyB9XFxuLnRvb2x0aXAtaW5uZXIge1xcbiAgbWF4LXdpZHRoOiAyMDBweDtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xcbiAgY29sb3I6ICNmZmY7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgfVxcbi5wb3BvdmVyIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxMDYwO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXgtd2lkdGg6IDI3NnB4O1xcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXFxcIlNlZ29lIFVJXFxcIiwgUm9ib3RvLCBcXFwiSGVsdmV0aWNhIE5ldWVcXFwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXFxcIkFwcGxlIENvbG9yIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIEVtb2ppXFxcIiwgXFxcIlNlZ29lIFVJIFN5bWJvbFxcXCI7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxuICBmb250LXdlaWdodDogNDAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxuICB0ZXh0LWFsaWduOiBzdGFydDtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gIHRleHQtc2hhZG93OiBub25lO1xcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xcbiAgd29yZC1icmVhazogbm9ybWFsO1xcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XFxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xcbiAgbGluZS1icmVhazogYXV0bztcXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XFxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcXG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTsgfVxcbi5wb3BvdmVyIC5hcnJvdyB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIHdpZHRoOiAxcmVtO1xcbiAgICBoZWlnaHQ6IDAuNXJlbTtcXG4gICAgbWFyZ2luOiAwIDAuM3JlbTsgfVxcbi5wb3BvdmVyIC5hcnJvdzo6YmVmb3JlLCAucG9wb3ZlciAuYXJyb3c6OmFmdGVyIHtcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgICAgY29udGVudDogXFxcIlxcXCI7XFxuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XFxuLmJzLXBvcG92ZXItdG9wLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwidG9wXFxcIl0ge1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XFxuLmJzLXBvcG92ZXItdG9wIC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdyB7XFxuICAgIGJvdHRvbTogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTsgfVxcbi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci10b3AgLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdzo6YWZ0ZXIge1xcbiAgICBib3JkZXItd2lkdGg6IDAuNXJlbSAwLjVyZW0gMDsgfVxcbi5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInRvcFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XFxuLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YWZ0ZXIsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJ0b3BcXFwiXSAuYXJyb3c6OmFmdGVyIHtcXG4gICAgYm90dG9tOiAxcHg7XFxuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7IH1cXG4uYnMtcG9wb3Zlci1yaWdodCwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0ge1xcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxcbi5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gLmFycm93IHtcXG4gICAgbGVmdDogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTtcXG4gICAgd2lkdGg6IDAuNXJlbTtcXG4gICAgaGVpZ2h0OiAxcmVtO1xcbiAgICBtYXJnaW46IDAuM3JlbSAwOyB9XFxuLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdIC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1yaWdodCAuYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwicmlnaHRcXFwiXSAuYXJyb3c6OmFmdGVyIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAwOyB9XFxuLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJyaWdodFxcXCJdIC5hcnJvdzo6YmVmb3JlIHtcXG4gICAgbGVmdDogMDtcXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XFxuLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcInJpZ2h0XFxcIl0gLmFycm93OjphZnRlciB7XFxuICAgIGxlZnQ6IDFweDtcXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmOyB9XFxuLmJzLXBvcG92ZXItYm90dG9tLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0ge1xcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XFxuLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdywgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdIC5hcnJvdyB7XFxuICAgIHRvcDogY2FsYygoMC41cmVtICsgMXB4KSAqIC0xKTsgfVxcbi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdIC5hcnJvdzo6YmVmb3JlLCAuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImJvdHRvbVxcXCJdIC5hcnJvdzo6YWZ0ZXIge1xcbiAgICBib3JkZXItd2lkdGg6IDAgMC41cmVtIDAuNXJlbSAwLjVyZW07IH1cXG4uYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJib3R0b21cXFwiXSAuYXJyb3c6OmJlZm9yZSB7XFxuICAgIHRvcDogMDtcXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxcbi5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmFmdGVyLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLmFycm93OjphZnRlciB7XFxuICAgIHRvcDogMXB4O1xcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmOyB9XFxuLmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwiYm90dG9tXFxcIl0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRvcDogMDtcXG4gICAgbGVmdDogNTAlO1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgd2lkdGg6IDFyZW07XFxuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xcbiAgICBjb250ZW50OiBcXFwiXFxcIjtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmN2Y3Zjc7IH1cXG4uYnMtcG9wb3Zlci1sZWZ0LCAuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1cXFwibGVmdFxcXCJdIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XFxuLmJzLXBvcG92ZXItbGVmdCAuYXJyb3csIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gLmFycm93IHtcXG4gICAgcmlnaHQ6IGNhbGMoKDAuNXJlbSArIDFweCkgKiAtMSk7XFxuICAgIHdpZHRoOiAwLjVyZW07XFxuICAgIGhlaWdodDogMXJlbTtcXG4gICAgbWFyZ2luOiAwLjNyZW0gMDsgfVxcbi5icy1wb3BvdmVyLWxlZnQgLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePVxcXCJsZWZ0XFxcIl0gLmFycm93OjpiZWZvcmUsIC5icy1wb3BvdmVyLWxlZnQgLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSAuYXJyb3c6OmFmdGVyIHtcXG4gICAgYm9yZGVyLXdpZHRoOiAwLjVyZW0gMCAwLjVyZW0gMC41cmVtOyB9XFxuLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmJlZm9yZSwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSAuYXJyb3c6OmJlZm9yZSB7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxcbi5icy1wb3BvdmVyLWxlZnQgLmFycm93OjphZnRlciwgLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49XFxcImxlZnRcXFwiXSAuYXJyb3c6OmFmdGVyIHtcXG4gICAgcmlnaHQ6IDFweDtcXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7IH1cXG4ucG9wb3Zlci1oZWFkZXIge1xcbiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgZm9udC1zaXplOiAxcmVtO1xcbiAgY29sb3I6IGluaGVyaXQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKDAuM3JlbSAtIDFweCk7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYygwLjNyZW0gLSAxcHgpOyB9XFxuLnBvcG92ZXItaGVhZGVyOmVtcHR5IHtcXG4gICAgZGlzcGxheTogbm9uZTsgfVxcbi5wb3BvdmVyLWJvZHkge1xcbiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XFxuICBjb2xvcjogIzIxMjUyOTsgfVxcbi5jYXJvdXNlbCB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4uY2Fyb3VzZWwtaW5uZXIge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuLmNhcm91c2VsLWl0ZW0ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogbm9uZTtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjZzIGVhc2U7XFxuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjZzIGVhc2U7XFxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlO1xcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC42cyBlYXNlO1xcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XFxuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcXG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDBweDtcXG4gICAgICAgICAgcGVyc3BlY3RpdmU6IDEwMDBweDsgfVxcbi5jYXJvdXNlbC1pdGVtLmFjdGl2ZSwgLmNhcm91c2VsLWl0ZW0tbmV4dCwgLmNhcm91c2VsLWl0ZW0tcHJldiB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcbi5jYXJvdXNlbC1pdGVtLW5leHQsIC5jYXJvdXNlbC1pdGVtLXByZXYge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwOyB9XFxuLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XFxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XFxuQHN1cHBvcnRzICgoLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSBvciAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkpIHtcXG4gICAgLmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XFxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XFxuLmNhcm91c2VsLWl0ZW0tbmV4dCwgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cXG5Ac3VwcG9ydHMgKCgtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIG9yICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSkge1xcbiAgICAuY2Fyb3VzZWwtaXRlbS1uZXh0LCAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxcbi5jYXJvdXNlbC1pdGVtLXByZXYsIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxcbkBzdXBwb3J0cyAoKC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkgb3IgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpKSB7XFxuICAgIC5jYXJvdXNlbC1pdGVtLXByZXYsIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH0gfVxcbi5jYXJvdXNlbC1jb250cm9sLXByZXYsIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XFxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XFxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XFxuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIHdpZHRoOiAxNSU7XFxuICBjb2xvcjogI2ZmZjtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIG9wYWNpdHk6IDAuNTsgfVxcbi5jYXJvdXNlbC1jb250cm9sLXByZXY6aG92ZXIsIC5jYXJvdXNlbC1jb250cm9sLXByZXY6Zm9jdXMsIC5jYXJvdXNlbC1jb250cm9sLW5leHQ6aG92ZXIsIC5jYXJvdXNlbC1jb250cm9sLW5leHQ6Zm9jdXMge1xcbiAgICBjb2xvcjogI2ZmZjtcXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICBvdXRsaW5lOiAwO1xcbiAgICBvcGFjaXR5OiAuOTsgfVxcbi5jYXJvdXNlbC1jb250cm9sLXByZXYge1xcbiAgbGVmdDogMDsgfVxcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xcbiAgcmlnaHQ6IDA7IH1cXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24sIC5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB3aWR0aDogMjBweDtcXG4gIGhlaWdodDogMjBweDtcXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7IH1cXG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFxcXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzRSUzQy9zdmclM0VcXFwiKTsgfVxcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXFxcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZmZmJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNFJTNDL3N2ZyUzRVxcXCIpOyB9XFxuLmNhcm91c2VsLWluZGljYXRvcnMge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgcmlnaHQ6IDA7XFxuICBib3R0b206IDEwcHg7XFxuICBsZWZ0OiAwO1xcbiAgei1pbmRleDogMTU7XFxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xcbiAgZGlzcGxheTogZmxleDtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XFxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgcGFkZGluZy1sZWZ0OiAwO1xcbiAgbWFyZ2luLXJpZ2h0OiAxNSU7XFxuICBtYXJnaW4tbGVmdDogMTUlO1xcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxcbi5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xcbiAgICAgICAgLW1zLWZsZXg6IDAgMSBhdXRvO1xcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xcbiAgICB3aWR0aDogMzBweDtcXG4gICAgaGVpZ2h0OiAzcHg7XFxuICAgIG1hcmdpbi1yaWdodDogM3B4O1xcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaTo6YmVmb3JlIHtcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgdG9wOiAtMTBweDtcXG4gICAgICBsZWZ0OiAwO1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgICB3aWR0aDogMTAwJTtcXG4gICAgICBoZWlnaHQ6IDEwcHg7XFxuICAgICAgY29udGVudDogXFxcIlxcXCI7IH1cXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaTo6YWZ0ZXIge1xcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICBib3R0b206IC0xMHB4O1xcbiAgICAgIGxlZnQ6IDA7XFxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIGhlaWdodDogMTBweDtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcIjsgfVxcbi5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XFxuLmNhcm91c2VsLWNhcHRpb24ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgcmlnaHQ6IDE1JTtcXG4gIGJvdHRvbTogMjBweDtcXG4gIGxlZnQ6IDE1JTtcXG4gIHotaW5kZXg6IDEwO1xcbiAgcGFkZGluZy10b3A6IDIwcHg7XFxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcXG4gIGNvbG9yOiAjZmZmO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XFxuLmFsaWduLWJhc2VsaW5lIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XFxuLmFsaWduLXRvcCB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cXG4uYWxpZ24tbWlkZGxlIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1ib3R0b20ge1xcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XFxuLmFsaWduLXRleHQtYm90dG9tIHtcXG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbSAhaW1wb3J0YW50OyB9XFxuLmFsaWduLXRleHQtdG9wIHtcXG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XFxuLmJnLXByaW1hcnkge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZiAhaW1wb3J0YW50OyB9XFxuYS5iZy1wcmltYXJ5OmhvdmVyLCBhLmJnLXByaW1hcnk6Zm9jdXMsIGJ1dHRvbi5iZy1wcmltYXJ5OmhvdmVyLCBidXR0b24uYmctcHJpbWFyeTpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MmNjICFpbXBvcnRhbnQ7IH1cXG4uYmctc2Vjb25kYXJ5IHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDsgfVxcbmEuYmctc2Vjb25kYXJ5OmhvdmVyLCBhLmJnLXNlY29uZGFyeTpmb2N1cywgYnV0dG9uLmJnLXNlY29uZGFyeTpob3ZlciwgYnV0dG9uLmJnLXNlY29uZGFyeTpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1YjYyICFpbXBvcnRhbnQ7IH1cXG4uYmctc3VjY2VzcyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjhhNzQ1ICFpbXBvcnRhbnQ7IH1cXG5hLmJnLXN1Y2Nlc3M6aG92ZXIsIGEuYmctc3VjY2Vzczpmb2N1cywgYnV0dG9uLmJnLXN1Y2Nlc3M6aG92ZXIsIGJ1dHRvbi5iZy1zdWNjZXNzOmZvY3VzIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTdlMzQgIWltcG9ydGFudDsgfVxcbi5iZy1pbmZvIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICMxN2EyYjggIWltcG9ydGFudDsgfVxcbmEuYmctaW5mbzpob3ZlciwgYS5iZy1pbmZvOmZvY3VzLCBidXR0b24uYmctaW5mbzpob3ZlciwgYnV0dG9uLmJnLWluZm86Zm9jdXMge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExN2E4YiAhaW1wb3J0YW50OyB9XFxuLmJnLXdhcm5pbmcge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50OyB9XFxuYS5iZy13YXJuaW5nOmhvdmVyLCBhLmJnLXdhcm5pbmc6Zm9jdXMsIGJ1dHRvbi5iZy13YXJuaW5nOmhvdmVyLCBidXR0b24uYmctd2FybmluZzpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDM5ZTAwICFpbXBvcnRhbnQ7IH1cXG4uYmctZGFuZ2VyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDsgfVxcbmEuYmctZGFuZ2VyOmhvdmVyLCBhLmJnLWRhbmdlcjpmb2N1cywgYnV0dG9uLmJnLWRhbmdlcjpob3ZlciwgYnV0dG9uLmJnLWRhbmdlcjpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyMTMwICFpbXBvcnRhbnQ7IH1cXG4uYmctbGlnaHQge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50OyB9XFxuYS5iZy1saWdodDpob3ZlciwgYS5iZy1saWdodDpmb2N1cywgYnV0dG9uLmJnLWxpZ2h0OmhvdmVyLCBidXR0b24uYmctbGlnaHQ6Zm9jdXMge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZTBlNSAhaW1wb3J0YW50OyB9XFxuLmJnLWRhcmsge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50OyB9XFxuYS5iZy1kYXJrOmhvdmVyLCBhLmJnLWRhcms6Zm9jdXMsIGJ1dHRvbi5iZy1kYXJrOmhvdmVyLCBidXR0b24uYmctZGFyazpmb2N1cyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMTI0ICFpbXBvcnRhbnQ7IH1cXG4uYmctd2hpdGUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XFxuLmJnLXRyYW5zcGFyZW50IHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cXG4uYm9yZGVyIHtcXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDsgfVxcbi5ib3JkZXItdG9wIHtcXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7IH1cXG4uYm9yZGVyLXJpZ2h0IHtcXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZWUyZTYgIWltcG9ydGFudDsgfVxcbi5ib3JkZXItYm90dG9tIHtcXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7IH1cXG4uYm9yZGVyLWxlZnQge1xcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVlMmU2ICFpbXBvcnRhbnQ7IH1cXG4uYm9yZGVyLTAge1xcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cXG4uYm9yZGVyLXRvcC0wIHtcXG4gIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDsgfVxcbi5ib3JkZXItcmlnaHQtMCB7XFxuICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxcbi5ib3JkZXItYm90dG9tLTAge1xcbiAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci1sZWZ0LTAge1xcbiAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxcbi5ib3JkZXItcHJpbWFyeSB7XFxuICBib3JkZXItY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDsgfVxcbi5ib3JkZXItc2Vjb25kYXJ5IHtcXG4gIGJvcmRlci1jb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci1zdWNjZXNzIHtcXG4gIGJvcmRlci1jb2xvcjogIzI4YTc0NSAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci1pbmZvIHtcXG4gIGJvcmRlci1jb2xvcjogIzE3YTJiOCAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci13YXJuaW5nIHtcXG4gIGJvcmRlci1jb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci1kYW5nZXIge1xcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7IH1cXG4uYm9yZGVyLWxpZ2h0IHtcXG4gIGJvcmRlci1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci1kYXJrIHtcXG4gIGJvcmRlci1jb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50OyB9XFxuLmJvcmRlci13aGl0ZSB7XFxuICBib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxcbi5yb3VuZGVkIHtcXG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbi5yb3VuZGVkLXRvcCB7XFxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7XFxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLnJvdW5kZWQtcmlnaHQge1xcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4ucm91bmRlZC1ib3R0b20ge1xcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDtcXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbi5yb3VuZGVkLWxlZnQge1xcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50O1xcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLnJvdW5kZWQtY2lyY2xlIHtcXG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50OyB9XFxuLnJvdW5kZWQtMCB7XFxuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7IH1cXG4uY2xlYXJmaXg6OmFmdGVyIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgY2xlYXI6IGJvdGg7XFxuICBjb250ZW50OiBcXFwiXFxcIjsgfVxcbi5kLW5vbmUge1xcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XFxuLmQtaW5saW5lIHtcXG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XFxuLmQtaW5saW5lLWJsb2NrIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XFxuLmQtYmxvY2sge1xcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxcbi5kLXRhYmxlIHtcXG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cXG4uZC10YWJsZS1yb3cge1xcbiAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cXG4uZC10YWJsZS1jZWxsIHtcXG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxcbi5kLWZsZXgge1xcbiAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cXG4uZC1pbmxpbmUtZmxleCB7XFxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3ggIWltcG9ydGFudDtcXG4gIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfVxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLmQtc20tbm9uZSB7XFxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxcbiAgLmQtc20taW5saW5lIHtcXG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXNtLWlubGluZS1ibG9jayB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XFxuICAuZC1zbS1ibG9jayB7XFxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXNtLXRhYmxlIHtcXG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxcbiAgLmQtc20tdGFibGUtcm93IHtcXG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXNtLXRhYmxlLWNlbGwge1xcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXNtLWZsZXgge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXNtLWlubGluZS1mbGV4IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcXG4gIC5kLW1kLW5vbmUge1xcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cXG4gIC5kLW1kLWlubGluZSB7XFxuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XFxuICAuZC1tZC1pbmxpbmUtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxcbiAgLmQtbWQtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XFxuICAuZC1tZC10YWJsZSB7XFxuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cXG4gIC5kLW1kLXRhYmxlLXJvdyB7XFxuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XFxuICAuZC1tZC10YWJsZS1jZWxsIHtcXG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XFxuICAuZC1tZC1mbGV4IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XFxuICAuZC1tZC1pbmxpbmUtZmxleCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAuZC1sZy1ub25lIHtcXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XFxuICAuZC1sZy1pbmxpbmUge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxcbiAgLmQtbGctaW5saW5lLWJsb2NrIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cXG4gIC5kLWxnLWJsb2NrIHtcXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxcbiAgLmQtbGctdGFibGUge1xcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XFxuICAuZC1sZy10YWJsZS1yb3cge1xcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxcbiAgLmQtbGctdGFibGUtY2VsbCB7XFxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxcbiAgLmQtbGctZmxleCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxcbiAgLmQtbGctaW5saW5lLWZsZXgge1xcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94ICFpbXBvcnRhbnQ7XFxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcXG4gIC5kLXhsLW5vbmUge1xcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXhsLWlubGluZSB7XFxuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XFxuICAuZC14bC1pbmxpbmUtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxcbiAgLmQteGwtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XFxuICAuZC14bC10YWJsZSB7XFxuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXhsLXRhYmxlLXJvdyB7XFxuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XFxuICAuZC14bC10YWJsZS1jZWxsIHtcXG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XFxuICAuZC14bC1mbGV4IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XFxuICAuZC14bC1pbmxpbmUtZmxleCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XFxuQG1lZGlhIHByaW50IHtcXG4gIC5kLXByaW50LW5vbmUge1xcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXByaW50LWlubGluZSB7XFxuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XFxuICAuZC1wcmludC1pbmxpbmUtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxcbiAgLmQtcHJpbnQtYmxvY2sge1xcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XFxuICAuZC1wcmludC10YWJsZSB7XFxuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cXG4gIC5kLXByaW50LXRhYmxlLXJvdyB7XFxuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XFxuICAuZC1wcmludC10YWJsZS1jZWxsIHtcXG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XFxuICAuZC1wcmludC1mbGV4IHtcXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XFxuICAuZC1wcmludC1pbmxpbmUtZmxleCB7XFxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveCAhaW1wb3J0YW50O1xcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3ggIWltcG9ydGFudDtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XFxuLmVtYmVkLXJlc3BvbnNpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuOyB9XFxuLmVtYmVkLXJlc3BvbnNpdmU6OmJlZm9yZSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICBjb250ZW50OiBcXFwiXFxcIjsgfVxcbi5lbWJlZC1yZXNwb25zaXZlIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sIC5lbWJlZC1yZXNwb25zaXZlIGlmcmFtZSwgLmVtYmVkLXJlc3BvbnNpdmUgZW1iZWQsIC5lbWJlZC1yZXNwb25zaXZlIG9iamVjdCwgLmVtYmVkLXJlc3BvbnNpdmUgdmlkZW8ge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRvcDogMDtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBsZWZ0OiAwO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICBib3JkZXI6IDA7IH1cXG4uZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OTo6YmVmb3JlIHtcXG4gIHBhZGRpbmctdG9wOiA0Mi44NTcxNCU7IH1cXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OTo6YmVmb3JlIHtcXG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzOjpiZWZvcmUge1xcbiAgcGFkZGluZy10b3A6IDc1JTsgfVxcbi5lbWJlZC1yZXNwb25zaXZlLTFieTE6OmJlZm9yZSB7XFxuICBwYWRkaW5nLXRvcDogMTAwJTsgfVxcbi5mbGV4LXJvdyB7XFxuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWwgIWltcG9ydGFudDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XFxuLmZsZXgtY29sdW1uIHtcXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDtcXG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XFxuLmZsZXgtcm93LXJldmVyc2Uge1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XFxuLmZsZXgtY29sdW1uLXJldmVyc2Uge1xcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50O1xcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxcbi5mbGV4LXdyYXAge1xcbiAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xcbiAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XFxuLmZsZXgtbm93cmFwIHtcXG4gIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cXG4uZmxleC13cmFwLXJldmVyc2Uge1xcbiAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxcbi5qdXN0aWZ5LWNvbnRlbnQtc3RhcnQge1xcbiAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxcbi5qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcXG4gIC13ZWJraXQtYm94LXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4uanVzdGlmeS1jb250ZW50LWNlbnRlciB7XFxuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxcbi5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7XFxuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeSAhaW1wb3J0YW50O1xcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxcbi5qdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIHtcXG4gIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDtcXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XFxuLmFsaWduLWl0ZW1zLXN0YXJ0IHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuLmFsaWduLWl0ZW1zLWVuZCB7XFxuICAtd2Via2l0LWJveC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1pdGVtcy1jZW50ZXIge1xcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuLmFsaWduLWl0ZW1zLWJhc2VsaW5lIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1pdGVtcy1zdHJldGNoIHtcXG4gIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxcbi5hbGlnbi1jb250ZW50LXN0YXJ0IHtcXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cXG4uYWxpZ24tY29udGVudC1lbmQge1xcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XFxuLmFsaWduLWNvbnRlbnQtY2VudGVyIHtcXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4uYWxpZ24tY29udGVudC1iZXR3ZWVuIHtcXG4gIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50O1xcbiAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxcbi5hbGlnbi1jb250ZW50LWFyb3VuZCB7XFxuICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDtcXG4gICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1jb250ZW50LXN0cmV0Y2gge1xcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XFxuLmFsaWduLXNlbGYtYXV0byB7XFxuICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7XFxuICAgICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XFxuLmFsaWduLXNlbGYtc3RhcnQge1xcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cXG4uYWxpZ24tc2VsZi1lbmQge1xcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1zZWxmLWNlbnRlciB7XFxuICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1zZWxmLWJhc2VsaW5lIHtcXG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxuICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxcbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLmZsZXgtc20tcm93IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgtc20tY29sdW1uIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50O1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LXNtLXJvdy1yZXZlcnNlIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XFxuICAuZmxleC1zbS1jb2x1bW4tcmV2ZXJzZSB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LXNtLXdyYXAge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgtc20tbm93cmFwIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XFxuICAuZmxleC1zbS13cmFwLXJldmVyc2Uge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tc3RhcnQge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1zbS1lbmQge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1zbS1jZW50ZXIge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tYmV0d2VlbiB7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1zbS1hcm91bmQge1xcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7XFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtc20tc3RhcnQge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1pdGVtcy1zbS1lbmQge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1pdGVtcy1zbS1jZW50ZXIge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtc20tYmFzZWxpbmUge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtc20tc3RyZXRjaCB7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LXNtLXN0YXJ0IHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC1zbS1lbmQge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWNvbnRlbnQtc20tY2VudGVyIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC1zbS1iZXR3ZWVuIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LXNtLWFyb3VuZCB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LXNtLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYtc20tYXV0byB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGF1dG8gIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYtc20tc3RhcnQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tc2VsZi1zbS1lbmQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLXNtLWNlbnRlciB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLXNtLWJhc2VsaW5lIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLXNtLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgLmZsZXgtbWQtcm93IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgtbWQtY29sdW1uIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50O1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LW1kLXJvdy1yZXZlcnNlIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XFxuICAuZmxleC1tZC1jb2x1bW4tcmV2ZXJzZSB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LW1kLXdyYXAge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgtbWQtbm93cmFwIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XFxuICAuZmxleC1tZC13cmFwLXJldmVyc2Uge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtc3RhcnQge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1tZC1lbmQge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1tZC1jZW50ZXIge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYmV0d2VlbiB7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1tZC1hcm91bmQge1xcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7XFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtbWQtc3RhcnQge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1pdGVtcy1tZC1lbmQge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1pdGVtcy1tZC1jZW50ZXIge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtbWQtYmFzZWxpbmUge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtbWQtc3RyZXRjaCB7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LW1kLXN0YXJ0IHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC1tZC1lbmQge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWNvbnRlbnQtbWQtY2VudGVyIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC1tZC1iZXR3ZWVuIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LW1kLWFyb3VuZCB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LW1kLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYtbWQtYXV0byB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGF1dG8gIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYtbWQtc3RhcnQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tc2VsZi1tZC1lbmQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLW1kLWNlbnRlciB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLW1kLWJhc2VsaW5lIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLW1kLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xcbiAgLmZsZXgtbGctcm93IHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgtbGctY29sdW1uIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbCAhaW1wb3J0YW50O1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LWxnLXJvdy1yZXZlcnNlIHtcXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XFxuICAuZmxleC1sZy1jb2x1bW4tcmV2ZXJzZSB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LWxnLXdyYXAge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgtbGctbm93cmFwIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XFxuICAuZmxleC1sZy13cmFwLXJldmVyc2Uge1xcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnQge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1sZy1lbmQge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1sZy1jZW50ZXIge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbiB7XFxuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnkgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxcbiAgLmp1c3RpZnktY29udGVudC1sZy1hcm91bmQge1xcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlICFpbXBvcnRhbnQ7XFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtbGctc3RhcnQge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1pdGVtcy1sZy1lbmQge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1pdGVtcy1sZy1jZW50ZXIge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtbGctYmFzZWxpbmUge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMtbGctc3RyZXRjaCB7XFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LWxnLXN0YXJ0IHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC1sZy1lbmQge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWNvbnRlbnQtbGctY2VudGVyIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC1sZy1iZXR3ZWVuIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LWxnLWFyb3VuZCB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LWxnLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYtbGctYXV0byB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGF1dG8gIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYtbGctc3RhcnQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tc2VsZi1sZy1lbmQge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLWxnLWNlbnRlciB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLWxnLWJhc2VsaW5lIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLWxnLXN0cmV0Y2gge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcXG4gIC5mbGV4LXhsLXJvdyB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbCAhaW1wb3J0YW50O1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LXhsLWNvbHVtbiB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWwgIWltcG9ydGFudDtcXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWwgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XFxuICAuZmxleC14bC1yb3ctcmV2ZXJzZSB7XFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbCAhaW1wb3J0YW50O1xcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgteGwtY29sdW1uLXJldmVyc2Uge1xcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsICFpbXBvcnRhbnQ7XFxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XFxuICAuZmxleC14bC13cmFwIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xcbiAgICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cXG4gIC5mbGV4LXhsLW5vd3JhcCB7XFxuICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxcbiAgLmZsZXgteGwtd3JhcC1yZXZlcnNlIHtcXG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7XFxuICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XFxuICAuanVzdGlmeS1jb250ZW50LXhsLXN0YXJ0IHtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0ICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtZW5kIHtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtY2VudGVyIHtcXG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuanVzdGlmeS1jb250ZW50LXhsLWJldHdlZW4ge1xcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cXG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtYXJvdW5kIHtcXG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZSAhaW1wb3J0YW50O1xcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWl0ZW1zLXhsLXN0YXJ0IHtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0ICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMteGwtZW5kIHtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZCAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24taXRlbXMteGwtY2VudGVyIHtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWl0ZW1zLXhsLWJhc2VsaW5lIHtcXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxuICAgICAgICAtbXMtZmxleC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWl0ZW1zLXhsLXN0cmV0Y2gge1xcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2ggIWltcG9ydGFudDtcXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC14bC1zdGFydCB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWNvbnRlbnQteGwtZW5kIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1jb250ZW50LXhsLWNlbnRlciB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLWNvbnRlbnQteGwtYmV0d2VlbiB7XFxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeSAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC14bC1hcm91bmQge1xcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGUgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tY29udGVudC14bC1zdHJldGNoIHtcXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdHJldGNoICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLXhsLWF1dG8ge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBhdXRvICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5hbGlnbi1zZWxmLXhsLXN0YXJ0IHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxcbiAgLmFsaWduLXNlbGYteGwtZW5kIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tc2VsZi14bC1jZW50ZXIge1xcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcXG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tc2VsZi14bC1iYXNlbGluZSB7XFxuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XFxuICAgICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XFxuICAuYWxpZ24tc2VsZi14bC1zdHJldGNoIHtcXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RyZXRjaCAhaW1wb3J0YW50O1xcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9IH1cXG4uZmxvYXQtbGVmdCB7XFxuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XFxuLmZsb2F0LXJpZ2h0IHtcXG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XFxuLmZsb2F0LW5vbmUge1xcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxcbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xcbiAgLmZsb2F0LXNtLWxlZnQge1xcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XFxuICAuZmxvYXQtc20tcmlnaHQge1xcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxcbiAgLmZsb2F0LXNtLW5vbmUge1xcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcXG4gIC5mbG9hdC1tZC1sZWZ0IHtcXG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxcbiAgLmZsb2F0LW1kLXJpZ2h0IHtcXG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cXG4gIC5mbG9hdC1tZC1ub25lIHtcXG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAuZmxvYXQtbGctbGVmdCB7XFxuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cXG4gIC5mbG9hdC1sZy1yaWdodCB7XFxuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XFxuICAuZmxvYXQtbGctbm9uZSB7XFxuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcXG4gIC5mbG9hdC14bC1sZWZ0IHtcXG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxcbiAgLmZsb2F0LXhsLXJpZ2h0IHtcXG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cXG4gIC5mbG9hdC14bC1ub25lIHtcXG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XFxuLnBvc2l0aW9uLXN0YXRpYyB7XFxuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IH1cXG4ucG9zaXRpb24tcmVsYXRpdmUge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IH1cXG4ucG9zaXRpb24tYWJzb2x1dGUge1xcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cXG4ucG9zaXRpb24tZml4ZWQge1xcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cXG4ucG9zaXRpb24tc3RpY2t5IHtcXG4gIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreSAhaW1wb3J0YW50O1xcbiAgcG9zaXRpb246IHN0aWNreSAhaW1wb3J0YW50OyB9XFxuLmZpeGVkLXRvcCB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICB0b3A6IDA7XFxuICByaWdodDogMDtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxMDMwOyB9XFxuLmZpeGVkLWJvdHRvbSB7XFxuICBwb3NpdGlvbjogZml4ZWQ7XFxuICByaWdodDogMDtcXG4gIGJvdHRvbTogMDtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxMDMwOyB9XFxuQHN1cHBvcnRzICgocG9zaXRpb246IC13ZWJraXQtc3RpY2t5KSBvciAocG9zaXRpb246IHN0aWNreSkpIHtcXG4gIC5zdGlja3ktdG9wIHtcXG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xcbiAgICB0b3A6IDA7XFxuICAgIHotaW5kZXg6IDEwMjA7IH0gfVxcbi5zci1vbmx5IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHdpZHRoOiAxcHg7XFxuICBoZWlnaHQ6IDFweDtcXG4gIHBhZGRpbmc6IDA7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcXG4gICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xcbiAgYm9yZGVyOiAwOyB9XFxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwgLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHtcXG4gIHBvc2l0aW9uOiBzdGF0aWM7XFxuICB3aWR0aDogYXV0bztcXG4gIGhlaWdodDogYXV0bztcXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xcbiAgY2xpcDogYXV0bztcXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XFxuICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZTtcXG4gICAgICAgICAgY2xpcC1wYXRoOiBub25lOyB9XFxuLnctMjUge1xcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9XFxuLnctNTAge1xcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XFxuLnctNzUge1xcbiAgd2lkdGg6IDc1JSAhaW1wb3J0YW50OyB9XFxuLnctMTAwIHtcXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cXG4uaC0yNSB7XFxuICBoZWlnaHQ6IDI1JSAhaW1wb3J0YW50OyB9XFxuLmgtNTAge1xcbiAgaGVpZ2h0OiA1MCUgIWltcG9ydGFudDsgfVxcbi5oLTc1IHtcXG4gIGhlaWdodDogNzUlICFpbXBvcnRhbnQ7IH1cXG4uaC0xMDAge1xcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cXG4ubXctMTAwIHtcXG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XFxuLm1oLTEwMCB7XFxuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cXG4ubS0wIHtcXG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XFxuLm10LTAsIC5teS0wIHtcXG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxcbi5tci0wLCAubXgtMCB7XFxuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxcbi5tYi0wLCAubXktMCB7XFxuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cXG4ubWwtMCwgLm14LTAge1xcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxcbi5tLTEge1xcbiAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4ubXQtMSwgLm15LTEge1xcbiAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLm1yLTEsIC5teC0xIHtcXG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLm1iLTEsIC5teS0xIHtcXG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbi5tbC0xLCAubXgtMSB7XFxuICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLm0tMiB7XFxuICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuLm10LTIsIC5teS0yIHtcXG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuLm1yLTIsIC5teC0yIHtcXG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4ubWItMiwgLm15LTIge1xcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4ubWwtMiwgLm14LTIge1xcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuLm0tMyB7XFxuICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxcbi5tdC0zLCAubXktMyB7XFxuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4ubXItMywgLm14LTMge1xcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4ubWItMywgLm15LTMge1xcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XFxuLm1sLTMsIC5teC0zIHtcXG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4ubS00IHtcXG4gIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4ubXQtNCwgLm15LTQge1xcbiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4ubXItNCwgLm14LTQge1xcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbi5tYi00LCAubXktNCB7XFxuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbi5tbC00LCAubXgtNCB7XFxuICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4ubS01IHtcXG4gIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XFxuLm10LTUsIC5teS01IHtcXG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxcbi5tci01LCAubXgtNSB7XFxuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbi5tYi01LCAubXktNSB7XFxuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4ubWwtNSwgLm14LTUge1xcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbi5wLTAge1xcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XFxuLnB0LTAsIC5weS0wIHtcXG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cXG4ucHItMCwgLnB4LTAge1xcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XFxuLnBiLTAsIC5weS0wIHtcXG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cXG4ucGwtMCwgLnB4LTAge1xcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cXG4ucC0xIHtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbi5wdC0xLCAucHktMSB7XFxuICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLnByLTEsIC5weC0xIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbi5wYi0xLCAucHktMSB7XFxuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLnBsLTEsIC5weC0xIHtcXG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuLnAtMiB7XFxuICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbi5wdC0yLCAucHktMiB7XFxuICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4ucHItMiwgLnB4LTIge1xcbiAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4ucGItMiwgLnB5LTIge1xcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuLnBsLTIsIC5weC0yIHtcXG4gIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4ucC0zIHtcXG4gIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxcbi5wdC0zLCAucHktMyB7XFxuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XFxuLnByLTMsIC5weC0zIHtcXG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxcbi5wYi0zLCAucHktMyB7XFxuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XFxuLnBsLTMsIC5weC0zIHtcXG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XFxuLnAtNCB7XFxuICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbi5wdC00LCAucHktNCB7XFxuICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4ucHItNCwgLnB4LTQge1xcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4ucGItNCwgLnB5LTQge1xcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuLnBsLTQsIC5weC00IHtcXG4gIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4ucC01IHtcXG4gIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxcbi5wdC01LCAucHktNSB7XFxuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XFxuLnByLTUsIC5weC01IHtcXG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbi5wYi01LCAucHktNSB7XFxuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XFxuLnBsLTUsIC5weC01IHtcXG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XFxuLm0tYXV0byB7XFxuICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxcbi5tdC1hdXRvLCAubXktYXV0byB7XFxuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4ubXItYXV0bywgLm14LWF1dG8ge1xcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4ubWItYXV0bywgLm15LWF1dG8ge1xcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XFxuLm1sLWF1dG8sIC5teC1hdXRvIHtcXG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcXG4gIC5tLXNtLTAge1xcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxcbiAgLm10LXNtLTAsIC5teS1zbS0wIHtcXG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XFxuICAubXItc20tMCwgLm14LXNtLTAge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxcbiAgLm1iLXNtLTAsIC5teS1zbS0wIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XFxuICAubWwtc20tMCwgLm14LXNtLTAge1xcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XFxuICAubS1zbS0xIHtcXG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1zbS0xLCAubXktc20tMSB7XFxuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLXNtLTEsIC5teC1zbS0xIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1zbS0xLCAubXktc20tMSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1sLXNtLTEsIC5teC1zbS0xIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0tc20tMiB7XFxuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1zbS0yLCAubXktc20tMiB7XFxuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXItc20tMiwgLm14LXNtLTIge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWItc20tMiwgLm15LXNtLTIge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1sLXNtLTIsIC5teC1zbS0yIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubS1zbS0zIHtcXG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1zbS0zLCAubXktc20tMyB7XFxuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLXNtLTMsIC5teC1zbS0zIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1zbS0zLCAubXktc20tMyB7XFxuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1sLXNtLTMsIC5teC1zbS0zIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0tc20tNCB7XFxuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1zbS00LCAubXktc20tNCB7XFxuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXItc20tNCwgLm14LXNtLTQge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWItc20tNCwgLm15LXNtLTQge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1sLXNtLTQsIC5teC1zbS00IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubS1zbS01IHtcXG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1zbS01LCAubXktc20tNSB7XFxuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLXNtLTUsIC5teC1zbS01IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1zbS01LCAubXktc20tNSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1sLXNtLTUsIC5teC1zbS01IHtcXG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnAtc20tMCB7XFxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxcbiAgLnB0LXNtLTAsIC5weS1zbS0wIHtcXG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxcbiAgLnByLXNtLTAsIC5weC1zbS0wIHtcXG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XFxuICAucGItc20tMCwgLnB5LXNtLTAge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XFxuICAucGwtc20tMCwgLnB4LXNtLTAge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxcbiAgLnAtc20tMSB7XFxuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LXNtLTEsIC5weS1zbS0xIHtcXG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLXNtLTEsIC5weC1zbS0xIHtcXG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGItc20tMSwgLnB5LXNtLTEge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGwtc20tMSwgLnB4LXNtLTEge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnAtc20tMiB7XFxuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHQtc20tMiwgLnB5LXNtLTIge1xcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wci1zbS0yLCAucHgtc20tMiB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGItc20tMiwgLnB5LXNtLTIge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC1zbS0yLCAucHgtc20tMiB7XFxuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLXNtLTMge1xcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC1zbS0zLCAucHktc20tMyB7XFxuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wci1zbS0zLCAucHgtc20tMyB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLXNtLTMsIC5weS1zbS0zIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLXNtLTMsIC5weC1zbS0zIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLXNtLTQge1xcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LXNtLTQsIC5weS1zbS00IHtcXG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHItc20tNCwgLnB4LXNtLTQge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLXNtLTQsIC5weS1zbS00IHtcXG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGwtc20tNCwgLnB4LXNtLTQge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucC1zbS01IHtcXG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucHQtc20tNSwgLnB5LXNtLTUge1xcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucHItc20tNSwgLnB4LXNtLTUge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi1zbS01LCAucHktc20tNSB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC1zbS01LCAucHgtc20tNSB7XFxuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubS1zbS1hdXRvIHtcXG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1zbS1hdXRvLCAubXktc20tYXV0byB7XFxuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLm1yLXNtLWF1dG8sIC5teC1zbS1hdXRvIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1zbS1hdXRvLCAubXktc20tYXV0byB7XFxuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLm1sLXNtLWF1dG8sIC5teC1zbS1hdXRvIHtcXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICAubS1tZC0wIHtcXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC1tZC0wLCAubXktbWQtMCB7XFxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxcbiAgLm1yLW1kLTAsIC5teC1tZC0wIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1tZC0wLCAubXktbWQtMCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxcbiAgLm1sLW1kLTAsIC5teC1tZC0wIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxcbiAgLm0tbWQtMSB7XFxuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQtbWQtMSwgLm15LW1kLTEge1xcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1tZC0xLCAubXgtbWQtMSB7XFxuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWItbWQtMSwgLm15LW1kLTEge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1tZC0xLCAubXgtbWQtMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLW1kLTIge1xcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQtbWQtMiwgLm15LW1kLTIge1xcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLW1kLTIsIC5teC1tZC0yIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLW1kLTIsIC5teS1tZC0yIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1tZC0yLCAubXgtbWQtMiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0tbWQtMyB7XFxuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQtbWQtMywgLm15LW1kLTMge1xcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1tZC0zLCAubXgtbWQtMyB7XFxuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWItbWQtMywgLm15LW1kLTMge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1tZC0zLCAubXgtbWQtMyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLW1kLTQge1xcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQtbWQtNCwgLm15LW1kLTQge1xcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLW1kLTQsIC5teC1tZC00IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLW1kLTQsIC5teS1tZC00IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1tZC00LCAubXgtbWQtNCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0tbWQtNSB7XFxuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubXQtbWQtNSwgLm15LW1kLTUge1xcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1tZC01LCAubXgtbWQtNSB7XFxuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubWItbWQtNSwgLm15LW1kLTUge1xcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1tZC01LCAubXgtbWQtNSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLW1kLTAge1xcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC1tZC0wLCAucHktbWQtMCB7XFxuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wci1tZC0wLCAucHgtbWQtMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxcbiAgLnBiLW1kLTAsIC5weS1tZC0wIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxcbiAgLnBsLW1kLTAsIC5weC1tZC0wIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wLW1kLTEge1xcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC1tZC0xLCAucHktbWQtMSB7XFxuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wci1tZC0xLCAucHgtbWQtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLW1kLTEsIC5weS1tZC0xIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLW1kLTEsIC5weC1tZC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLW1kLTIge1xcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LW1kLTIsIC5weS1tZC0yIHtcXG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHItbWQtMiwgLnB4LW1kLTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLW1kLTIsIC5weS1tZC0yIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGwtbWQtMiwgLnB4LW1kLTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucC1tZC0zIHtcXG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHQtbWQtMywgLnB5LW1kLTMge1xcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHItbWQtMywgLnB4LW1kLTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi1tZC0zLCAucHktbWQtMyB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC1tZC0zLCAucHgtbWQtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucC1tZC00IHtcXG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC1tZC00LCAucHktbWQtNCB7XFxuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLW1kLTQsIC5weC1tZC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi1tZC00LCAucHktbWQtNCB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLW1kLTQsIC5weC1tZC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnAtbWQtNSB7XFxuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LW1kLTUsIC5weS1tZC01IHtcXG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLW1kLTUsIC5weC1tZC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucGItbWQtNSwgLnB5LW1kLTUge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucGwtbWQtNSwgLnB4LW1kLTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0tbWQtYXV0byB7XFxuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XFxuICAubXQtbWQtYXV0bywgLm15LW1kLWF1dG8ge1xcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1tZC1hdXRvLCAubXgtbWQtYXV0byB7XFxuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XFxuICAubWItbWQtYXV0bywgLm15LW1kLWF1dG8ge1xcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1tZC1hdXRvLCAubXgtbWQtYXV0byB7XFxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xcbiAgLm0tbGctMCB7XFxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XFxuICAubXQtbGctMCwgLm15LWxnLTAge1xcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1sZy0wLCAubXgtbGctMCB7XFxuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XFxuICAubWItbGctMCwgLm15LWxnLTAge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC1sZy0wLCAubXgtbGctMCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tLWxnLTEge1xcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm10LWxnLTEsIC5teS1sZy0xIHtcXG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXItbGctMSwgLm14LWxnLTEge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLWxnLTEsIC5teS1sZy0xIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWwtbGctMSwgLm14LWxnLTEge1xcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubS1sZy0yIHtcXG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm10LWxnLTIsIC5teS1sZy0yIHtcXG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1sZy0yLCAubXgtbGctMiB7XFxuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1sZy0yLCAubXktbGctMiB7XFxuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWwtbGctMiwgLm14LWxnLTIge1xcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLWxnLTMge1xcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLm10LWxnLTMsIC5teS1sZy0zIHtcXG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXItbGctMywgLm14LWxnLTMge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLWxnLTMsIC5teS1sZy0zIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWwtbGctMywgLm14LWxnLTMge1xcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubS1sZy00IHtcXG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm10LWxnLTQsIC5teS1sZy00IHtcXG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci1sZy00LCAubXgtbGctNCB7XFxuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi1sZy00LCAubXktbGctNCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWwtbGctNCwgLm14LWxnLTQge1xcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLWxnLTUge1xcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLm10LWxnLTUsIC5teS1sZy01IHtcXG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubXItbGctNSwgLm14LWxnLTUge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLWxnLTUsIC5teS1sZy01IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubWwtbGctNSwgLm14LWxnLTUge1xcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucC1sZy0wIHtcXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XFxuICAucHQtbGctMCwgLnB5LWxnLTAge1xcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XFxuICAucHItbGctMCwgLnB4LWxnLTAge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi1sZy0wLCAucHktbGctMCB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC1sZy0wLCAucHgtbGctMCB7XFxuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XFxuICAucC1sZy0xIHtcXG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHQtbGctMSwgLnB5LWxnLTEge1xcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHItbGctMSwgLnB4LWxnLTEge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi1sZy0xLCAucHktbGctMSB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC1sZy0xLCAucHgtbGctMSB7XFxuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucC1sZy0yIHtcXG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC1sZy0yLCAucHktbGctMiB7XFxuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLWxnLTIsIC5weC1sZy0yIHtcXG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi1sZy0yLCAucHktbGctMiB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLWxnLTIsIC5weC1sZy0yIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnAtbGctMyB7XFxuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LWxnLTMsIC5weS1sZy0zIHtcXG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLWxnLTMsIC5weC1sZy0zIHtcXG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGItbGctMywgLnB5LWxnLTMge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGwtbGctMywgLnB4LWxnLTMge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxcbiAgLnAtbGctNCB7XFxuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHQtbGctNCwgLnB5LWxnLTQge1xcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wci1sZy00LCAucHgtbGctNCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGItbGctNCwgLnB5LWxnLTQge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC1sZy00LCAucHgtbGctNCB7XFxuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLWxnLTUge1xcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC1sZy01LCAucHktbGctNSB7XFxuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wci1sZy01LCAucHgtbGctNSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLWxnLTUsIC5weS1sZy01IHtcXG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLWxnLTUsIC5weC1sZy01IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLWxnLWF1dG8ge1xcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLm10LWxnLWF1dG8sIC5teS1sZy1hdXRvIHtcXG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XFxuICAubXItbGctYXV0bywgLm14LWxnLWF1dG8ge1xcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxcbiAgLm1iLWxnLWF1dG8sIC5teS1sZy1hdXRvIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XFxuICAubWwtbGctYXV0bywgLm14LWxnLWF1dG8ge1xcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XFxuICAubS14bC0wIHtcXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tdC14bC0wLCAubXkteGwtMCB7XFxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxcbiAgLm1yLXhsLTAsIC5teC14bC0wIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5tYi14bC0wLCAubXkteGwtMCB7XFxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxcbiAgLm1sLXhsLTAsIC5teC14bC0wIHtcXG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxcbiAgLm0teGwtMSB7XFxuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQteGwtMSwgLm15LXhsLTEge1xcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci14bC0xLCAubXgteGwtMSB7XFxuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWIteGwtMSwgLm15LXhsLTEge1xcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC14bC0xLCAubXgteGwtMSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLXhsLTIge1xcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQteGwtMiwgLm15LXhsLTIge1xcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLXhsLTIsIC5teC14bC0yIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLXhsLTIsIC5teS14bC0yIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC14bC0yLCAubXgteGwtMiB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0teGwtMyB7XFxuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQteGwtMywgLm15LXhsLTMge1xcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci14bC0zLCAubXgteGwtMyB7XFxuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAubWIteGwtMywgLm15LXhsLTMge1xcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC14bC0zLCAubXgteGwtMyB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tLXhsLTQge1xcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAubXQteGwtNCwgLm15LXhsLTQge1xcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1yLXhsLTQsIC5teC14bC00IHtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm1iLXhsLTQsIC5teS14bC00IHtcXG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC14bC00LCAubXgteGwtNCB7XFxuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0teGwtNSB7XFxuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubXQteGwtNSwgLm15LXhsLTUge1xcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tci14bC01LCAubXgteGwtNSB7XFxuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAubWIteGwtNSwgLm15LXhsLTUge1xcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC14bC01LCAubXgteGwtNSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLXhsLTAge1xcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC14bC0wLCAucHkteGwtMCB7XFxuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wci14bC0wLCAucHgteGwtMCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxcbiAgLnBiLXhsLTAsIC5weS14bC0wIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxcbiAgLnBsLXhsLTAsIC5weC14bC0wIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cXG4gIC5wLXhsLTEge1xcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC14bC0xLCAucHkteGwtMSB7XFxuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wci14bC0xLCAucHgteGwtMSB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLXhsLTEsIC5weS14bC0xIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLXhsLTEsIC5weC14bC0xIHtcXG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wLXhsLTIge1xcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LXhsLTIsIC5weS14bC0yIHtcXG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHIteGwtMiwgLnB4LXhsLTIge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBiLXhsLTIsIC5weS14bC0yIHtcXG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucGwteGwtMiwgLnB4LXhsLTIge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XFxuICAucC14bC0zIHtcXG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHQteGwtMywgLnB5LXhsLTMge1xcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucHIteGwtMywgLnB4LXhsLTMge1xcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi14bC0zLCAucHkteGwtMyB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wbC14bC0zLCAucHgteGwtMyB7XFxuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XFxuICAucC14bC00IHtcXG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wdC14bC00LCAucHkteGwtNCB7XFxuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLXhsLTQsIC5weC14bC00IHtcXG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cXG4gIC5wYi14bC00LCAucHkteGwtNCB7XFxuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnBsLXhsLTQsIC5weC14bC00IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxcbiAgLnAteGwtNSB7XFxuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnB0LXhsLTUsIC5weS14bC01IHtcXG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLnByLXhsLTUsIC5weC14bC01IHtcXG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucGIteGwtNSwgLnB5LXhsLTUge1xcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XFxuICAucGwteGwtNSwgLnB4LXhsLTUge1xcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxcbiAgLm0teGwtYXV0byB7XFxuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XFxuICAubXQteGwtYXV0bywgLm15LXhsLWF1dG8ge1xcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5tci14bC1hdXRvLCAubXgteGwtYXV0byB7XFxuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XFxuICAubWIteGwtYXV0bywgLm15LXhsLWF1dG8ge1xcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cXG4gIC5tbC14bC1hdXRvLCAubXgteGwtYXV0byB7XFxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxcbi50ZXh0LWp1c3RpZnkge1xcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XFxuLnRleHQtbm93cmFwIHtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxcbi50ZXh0LXRydW5jYXRlIHtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cXG4udGV4dC1sZWZ0IHtcXG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxcbi50ZXh0LXJpZ2h0IHtcXG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cXG4udGV4dC1jZW50ZXIge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcXG4gIC50ZXh0LXNtLWxlZnQge1xcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cXG4gIC50ZXh0LXNtLXJpZ2h0IHtcXG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxcbiAgLnRleHQtc20tY2VudGVyIHtcXG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgLnRleHQtbWQtbGVmdCB7XFxuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxcbiAgLnRleHQtbWQtcmlnaHQge1xcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XFxuICAudGV4dC1tZC1jZW50ZXIge1xcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XFxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAudGV4dC1sZy1sZWZ0IHtcXG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XFxuICAudGV4dC1sZy1yaWdodCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cXG4gIC50ZXh0LWxnLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XFxuICAudGV4dC14bC1sZWZ0IHtcXG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XFxuICAudGV4dC14bC1yaWdodCB7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cXG4gIC50ZXh0LXhsLWNlbnRlciB7XFxuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cXG4udGV4dC1sb3dlcmNhc2Uge1xcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XFxuLnRleHQtdXBwZXJjYXNlIHtcXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxcbi50ZXh0LWNhcGl0YWxpemUge1xcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxcbi5mb250LXdlaWdodC1saWdodCB7XFxuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7IH1cXG4uZm9udC13ZWlnaHQtbm9ybWFsIHtcXG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDsgfVxcbi5mb250LXdlaWdodC1ib2xkIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsgfVxcbi5mb250LWl0YWxpYyB7XFxuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxcbi50ZXh0LXdoaXRlIHtcXG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cXG4udGV4dC1wcmltYXJ5IHtcXG4gIGNvbG9yOiAjMDA3YmZmICFpbXBvcnRhbnQ7IH1cXG5hLnRleHQtcHJpbWFyeTpob3ZlciwgYS50ZXh0LXByaW1hcnk6Zm9jdXMge1xcbiAgY29sb3I6ICMwMDYyY2MgIWltcG9ydGFudDsgfVxcbi50ZXh0LXNlY29uZGFyeSB7XFxuICBjb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50OyB9XFxuYS50ZXh0LXNlY29uZGFyeTpob3ZlciwgYS50ZXh0LXNlY29uZGFyeTpmb2N1cyB7XFxuICBjb2xvcjogIzU0NWI2MiAhaW1wb3J0YW50OyB9XFxuLnRleHQtc3VjY2VzcyB7XFxuICBjb2xvcjogIzI4YTc0NSAhaW1wb3J0YW50OyB9XFxuYS50ZXh0LXN1Y2Nlc3M6aG92ZXIsIGEudGV4dC1zdWNjZXNzOmZvY3VzIHtcXG4gIGNvbG9yOiAjMWU3ZTM0ICFpbXBvcnRhbnQ7IH1cXG4udGV4dC1pbmZvIHtcXG4gIGNvbG9yOiAjMTdhMmI4ICFpbXBvcnRhbnQ7IH1cXG5hLnRleHQtaW5mbzpob3ZlciwgYS50ZXh0LWluZm86Zm9jdXMge1xcbiAgY29sb3I6ICMxMTdhOGIgIWltcG9ydGFudDsgfVxcbi50ZXh0LXdhcm5pbmcge1xcbiAgY29sb3I6ICNmZmMxMDcgIWltcG9ydGFudDsgfVxcbmEudGV4dC13YXJuaW5nOmhvdmVyLCBhLnRleHQtd2FybmluZzpmb2N1cyB7XFxuICBjb2xvcjogI2QzOWUwMCAhaW1wb3J0YW50OyB9XFxuLnRleHQtZGFuZ2VyIHtcXG4gIGNvbG9yOiAjZGMzNTQ1ICFpbXBvcnRhbnQ7IH1cXG5hLnRleHQtZGFuZ2VyOmhvdmVyLCBhLnRleHQtZGFuZ2VyOmZvY3VzIHtcXG4gIGNvbG9yOiAjYmQyMTMwICFpbXBvcnRhbnQ7IH1cXG4udGV4dC1saWdodCB7XFxuICBjb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50OyB9XFxuYS50ZXh0LWxpZ2h0OmhvdmVyLCBhLnRleHQtbGlnaHQ6Zm9jdXMge1xcbiAgY29sb3I6ICNkYWUwZTUgIWltcG9ydGFudDsgfVxcbi50ZXh0LWRhcmsge1xcbiAgY29sb3I6ICMzNDNhNDAgIWltcG9ydGFudDsgfVxcbmEudGV4dC1kYXJrOmhvdmVyLCBhLnRleHQtZGFyazpmb2N1cyB7XFxuICBjb2xvcjogIzFkMjEyNCAhaW1wb3J0YW50OyB9XFxuLnRleHQtbXV0ZWQge1xcbiAgY29sb3I6ICM2Yzc1N2QgIWltcG9ydGFudDsgfVxcbi50ZXh0LWhpZGUge1xcbiAgZm9udDogMC8wIGE7XFxuICBjb2xvcjogdHJhbnNwYXJlbnQ7XFxuICB0ZXh0LXNoYWRvdzogbm9uZTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyOiAwOyB9XFxuLnZpc2libGUge1xcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OyB9XFxuLmludmlzaWJsZSB7XFxuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxcbkBtZWRpYSBwcmludCB7XFxuICAqLCAqOjpiZWZvcmUsICo6OmFmdGVyIHtcXG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XFxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XFxuICBhOm5vdCguYnRuKSB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XFxuICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xcbiAgICBjb250ZW50OiBcXFwiIChcXFwiIGF0dHIodGl0bGUpIFxcXCIpXFxcIjsgfVxcbiAgcHJlIHtcXG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7IH1cXG4gIHByZSwgYmxvY2txdW90ZSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XFxuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxcbiAgdGhlYWQge1xcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cXG4gIHRyLCBpbWcge1xcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cXG4gIHAsIGgyLCBoMyB7XFxuICAgIG9ycGhhbnM6IDM7XFxuICAgIHdpZG93czogMzsgfVxcbiAgaDIsIGgzIHtcXG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cXG4gIEBwYWdlIHtcXG4gICAgc2l6ZTogYTM7IH1cXG4gIGJvZHkge1xcbiAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQ7IH1cXG4gIC5jb250YWluZXIge1xcbiAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQ7IH1cXG4gIC5uYXZiYXIge1xcbiAgICBkaXNwbGF5OiBub25lOyB9XFxuICAuYmFkZ2Uge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XFxuICAudGFibGUge1xcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7IH1cXG4gICAgLnRhYmxlIHRkLCAudGFibGUgdGgge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxcbiAgLnRhYmxlLWJvcmRlcmVkIHRoLCAudGFibGUtYm9yZGVyZWQgdGQge1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7IH0gfVxcbi5hd2Vzb21wbGV0ZSBbaGlkZGVuXSB7XFxuICBkaXNwbGF5OiBub25lOyB9XFxuLmF3ZXNvbXBsZXRlIC52aXN1YWxseS1oaWRkZW4ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgfVxcbi5hd2Vzb21wbGV0ZSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cXG4uYXdlc29tcGxldGUgPiBpbnB1dCB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGxlZnQ6IDA7XFxuICB6LWluZGV4OiAxO1xcbiAgbWluLXdpZHRoOiAxMDAlO1xcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XFxuLmF3ZXNvbXBsZXRlID4gdWw6ZW1wdHkge1xcbiAgZGlzcGxheTogbm9uZTsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsIHtcXG4gIGJvcmRlci1yYWRpdXM6IC4zZW07XFxuICBtYXJnaW46IC4yZW0gMCAwO1xcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCBib3R0b20sIGZyb20od2hpdGUpLCB0byhyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkpKTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsIHdoaXRlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkpO1xcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwLjA1ZW0gMC4yZW0gMC42ZW0gcmdiYSgwLCAwLCAwLCAwLjIpO1xcbiAgICAgICAgICBib3gtc2hhZG93OiAwLjA1ZW0gMC4yZW0gMC42ZW0gcmdiYSgwLCAwLCAwLCAwLjIpO1xcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cXG5Ac3VwcG9ydHMgKCgtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCkpIG9yICh0cmFuc2Zvcm06IHNjYWxlKDApKSkge1xcbiAgLmF3ZXNvbXBsZXRlID4gdWwge1xcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMC4yLCAwLjUsIDEuNCk7XFxuICAgIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMC4yLCAwLjUsIDEuNCk7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMS40M2VtIC0uNDNlbTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxLjQzZW0gLS40M2VtOyB9XFxuICAuYXdlc29tcGxldGUgPiB1bFtoaWRkZW5dLCAuYXdlc29tcGxldGUgPiB1bDplbXB0eSB7XFxuICAgIG9wYWNpdHk6IDA7XFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcXG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsgfSB9XFxuLyogUG9pbnRlciAqL1xcbi5hd2Vzb21wbGV0ZSA+IHVsOmJlZm9yZSB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogLS40M2VtO1xcbiAgbGVmdDogMWVtO1xcbiAgd2lkdGg6IDA7XFxuICBoZWlnaHQ6IDA7XFxuICBwYWRkaW5nOiAuNGVtO1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICBib3JkZXI6IGluaGVyaXQ7XFxuICBib3JkZXItcmlnaHQ6IDA7XFxuICBib3JkZXItYm90dG9tOiAwO1xcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cXG4uYXdlc29tcGxldGUgPiB1bCA+IGxpIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHBhZGRpbmc6IC4yZW0gLjVlbTtcXG4gIGN1cnNvcjogcG9pbnRlcjsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsID4gbGk6aG92ZXIge1xcbiAgYmFja2dyb3VuZDogI2I4ZDNlMDtcXG4gIGNvbG9yOiBibGFjazsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsID4gbGlbYXJpYS1zZWxlY3RlZD1cXFwidHJ1ZVxcXCJdIHtcXG4gIGJhY2tncm91bmQ6ICMzZDZkOGY7XFxuICBjb2xvcjogd2hpdGU7IH1cXG4uYXdlc29tcGxldGUgbWFyayB7XFxuICBiYWNrZ3JvdW5kOiAjZWFmZjAwOyB9XFxuLmF3ZXNvbXBsZXRlIGxpOmhvdmVyIG1hcmsge1xcbiAgYmFja2dyb3VuZDogI2I1ZDEwMDsgfVxcbi5hd2Vzb21wbGV0ZSBsaVthcmlhLXNlbGVjdGVkPVxcXCJ0cnVlXFxcIl0gbWFyayB7XFxuICBiYWNrZ3JvdW5kOiAjM2Q2YjAwO1xcbiAgY29sb3I6IGluaGVyaXQ7IH1cXG5odG1sIHtcXG4gIGZvbnQtc2l6ZTogMTRweDsgfVxcbi5oaWRlIHtcXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxcbi5wYWdlLWVycm9yIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIHBhZGRpbmc6IDIwMHB4IDBweDsgfVxcbi5mb3JtLWJvZHkge1xcbiAgbWF4LXdpZHRoOiA2MDBweDsgfVxcbi5mb3JtLWJvZHkgLmZvcm0tdG9vbGJhciB7XFxuICAgIGhlaWdodDogMnJlbTtcXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxcbi5mb3JtLWJvZHkgLmFsZXJ0IHtcXG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxcbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcXG4gIHJpZ2h0OiAwO1xcbiAgbGVmdDogYXV0bzsgfVxcbi5hd2Vzb21wbGV0ZSB7XFxuICBkaXNwbGF5OiBibG9jazsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsID4gbGkge1xcbiAgcGFkZGluZzogLjc1cmVtIC4zNzVyZW07IH1cXG4uYXdlc29tcGxldGUgPiB1bCA+IGxpOmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6ICNkZWUyZTY7XFxuICBjb2xvcjogIzIxMjUyOTsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsID4gbGlbYXJpYS1zZWxlY3RlZD1cXFwidHJ1ZVxcXCJdIHtcXG4gIGJhY2tncm91bmQ6ICNkZWUyZTY7XFxuICBjb2xvcjogIzIxMjUyOTsgfVxcbi5hd2Vzb21wbGV0ZSA+IHVsID4gbGlbYXJpYS1zZWxlY3RlZD1cXFwidHJ1ZVxcXCJdOmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6ICNkZWUyZTY7XFxuICBjb2xvcjogIzIxMjUyOTsgfVxcbm1hcmsge1xcbiAgcGFkZGluZzogbm9uZTtcXG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7IH1cXG4uYXdlc29tcGxldGUgbGlbYXJpYS1zZWxlY3RlZD1cXFwidHJ1ZVxcXCJdIG1hcmssIC5hd2Vzb21wbGV0ZSBsaVthcmlhLXNlbGVjdGVkPVxcXCJmYWxzZVxcXCJdIG1hcmsge1xcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbiAgcGFkZGluZzogMHB4OyB9XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlciEuL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9saWI/e30hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvbGliL2xvYWRlci5qcyEuL3Njc3MvbWFpbi5zY3NzXG4vLyBtb2R1bGUgaWQgPSA2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qXG5cdE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG5cdEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG4vLyBjc3MgYmFzZSBjb2RlLCBpbmplY3RlZCBieSB0aGUgY3NzLWxvYWRlclxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbih1c2VTb3VyY2VNYXApIHtcblx0dmFyIGxpc3QgPSBbXTtcblxuXHQvLyByZXR1cm4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhcyBjc3Mgc3RyaW5nXG5cdGxpc3QudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcblx0XHRyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcblx0XHRcdHZhciBjb250ZW50ID0gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtLCB1c2VTb3VyY2VNYXApO1xuXHRcdFx0aWYoaXRlbVsyXSkge1xuXHRcdFx0XHRyZXR1cm4gXCJAbWVkaWEgXCIgKyBpdGVtWzJdICsgXCJ7XCIgKyBjb250ZW50ICsgXCJ9XCI7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gY29udGVudDtcblx0XHRcdH1cblx0XHR9KS5qb2luKFwiXCIpO1xuXHR9O1xuXG5cdC8vIGltcG9ydCBhIGxpc3Qgb2YgbW9kdWxlcyBpbnRvIHRoZSBsaXN0XG5cdGxpc3QuaSA9IGZ1bmN0aW9uKG1vZHVsZXMsIG1lZGlhUXVlcnkpIHtcblx0XHRpZih0eXBlb2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIilcblx0XHRcdG1vZHVsZXMgPSBbW251bGwsIG1vZHVsZXMsIFwiXCJdXTtcblx0XHR2YXIgYWxyZWFkeUltcG9ydGVkTW9kdWxlcyA9IHt9O1xuXHRcdGZvcih2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgaWQgPSB0aGlzW2ldWzBdO1xuXHRcdFx0aWYodHlwZW9mIGlkID09PSBcIm51bWJlclwiKVxuXHRcdFx0XHRhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2lkXSA9IHRydWU7XG5cdFx0fVxuXHRcdGZvcihpID0gMDsgaSA8IG1vZHVsZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdHZhciBpdGVtID0gbW9kdWxlc1tpXTtcblx0XHRcdC8vIHNraXAgYWxyZWFkeSBpbXBvcnRlZCBtb2R1bGVcblx0XHRcdC8vIHRoaXMgaW1wbGVtZW50YXRpb24gaXMgbm90IDEwMCUgcGVyZmVjdCBmb3Igd2VpcmQgbWVkaWEgcXVlcnkgY29tYmluYXRpb25zXG5cdFx0XHQvLyAgd2hlbiBhIG1vZHVsZSBpcyBpbXBvcnRlZCBtdWx0aXBsZSB0aW1lcyB3aXRoIGRpZmZlcmVudCBtZWRpYSBxdWVyaWVzLlxuXHRcdFx0Ly8gIEkgaG9wZSB0aGlzIHdpbGwgbmV2ZXIgb2NjdXIgKEhleSB0aGlzIHdheSB3ZSBoYXZlIHNtYWxsZXIgYnVuZGxlcylcblx0XHRcdGlmKHR5cGVvZiBpdGVtWzBdICE9PSBcIm51bWJlclwiIHx8ICFhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2l0ZW1bMF1dKSB7XG5cdFx0XHRcdGlmKG1lZGlhUXVlcnkgJiYgIWl0ZW1bMl0pIHtcblx0XHRcdFx0XHRpdGVtWzJdID0gbWVkaWFRdWVyeTtcblx0XHRcdFx0fSBlbHNlIGlmKG1lZGlhUXVlcnkpIHtcblx0XHRcdFx0XHRpdGVtWzJdID0gXCIoXCIgKyBpdGVtWzJdICsgXCIpIGFuZCAoXCIgKyBtZWRpYVF1ZXJ5ICsgXCIpXCI7XG5cdFx0XHRcdH1cblx0XHRcdFx0bGlzdC5wdXNoKGl0ZW0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcblx0cmV0dXJuIGxpc3Q7XG59O1xuXG5mdW5jdGlvbiBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1hcCkge1xuXHR2YXIgY29udGVudCA9IGl0ZW1bMV0gfHwgJyc7XG5cdHZhciBjc3NNYXBwaW5nID0gaXRlbVszXTtcblx0aWYgKCFjc3NNYXBwaW5nKSB7XG5cdFx0cmV0dXJuIGNvbnRlbnQ7XG5cdH1cblxuXHRpZiAodXNlU291cmNlTWFwICYmIHR5cGVvZiBidG9hID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0dmFyIHNvdXJjZU1hcHBpbmcgPSB0b0NvbW1lbnQoY3NzTWFwcGluZyk7XG5cdFx0dmFyIHNvdXJjZVVSTHMgPSBjc3NNYXBwaW5nLnNvdXJjZXMubWFwKGZ1bmN0aW9uIChzb3VyY2UpIHtcblx0XHRcdHJldHVybiAnLyojIHNvdXJjZVVSTD0nICsgY3NzTWFwcGluZy5zb3VyY2VSb290ICsgc291cmNlICsgJyAqLydcblx0XHR9KTtcblxuXHRcdHJldHVybiBbY29udGVudF0uY29uY2F0KHNvdXJjZVVSTHMpLmNvbmNhdChbc291cmNlTWFwcGluZ10pLmpvaW4oJ1xcbicpO1xuXHR9XG5cblx0cmV0dXJuIFtjb250ZW50XS5qb2luKCdcXG4nKTtcbn1cblxuLy8gQWRhcHRlZCBmcm9tIGNvbnZlcnQtc291cmNlLW1hcCAoTUlUKVxuZnVuY3Rpb24gdG9Db21tZW50KHNvdXJjZU1hcCkge1xuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcblx0dmFyIGJhc2U2NCA9IGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSk7XG5cdHZhciBkYXRhID0gJ3NvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCcgKyBiYXNlNjQ7XG5cblx0cmV0dXJuICcvKiMgJyArIGRhdGEgKyAnICovJztcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXG4vLyBtb2R1bGUgaWQgPSA3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qXG5cdE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG5cdEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG5cbnZhciBzdHlsZXNJbkRvbSA9IHt9O1xuXG52YXJcdG1lbW9pemUgPSBmdW5jdGlvbiAoZm4pIHtcblx0dmFyIG1lbW87XG5cblx0cmV0dXJuIGZ1bmN0aW9uICgpIHtcblx0XHRpZiAodHlwZW9mIG1lbW8gPT09IFwidW5kZWZpbmVkXCIpIG1lbW8gPSBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuXHRcdHJldHVybiBtZW1vO1xuXHR9O1xufTtcblxudmFyIGlzT2xkSUUgPSBtZW1vaXplKGZ1bmN0aW9uICgpIHtcblx0Ly8gVGVzdCBmb3IgSUUgPD0gOSBhcyBwcm9wb3NlZCBieSBCcm93c2VyaGFja3Ncblx0Ly8gQHNlZSBodHRwOi8vYnJvd3NlcmhhY2tzLmNvbS8jaGFjay1lNzFkODY5MmY2NTMzNDE3M2ZlZTcxNWMyMjJjYjgwNVxuXHQvLyBUZXN0cyBmb3IgZXhpc3RlbmNlIG9mIHN0YW5kYXJkIGdsb2JhbHMgaXMgdG8gYWxsb3cgc3R5bGUtbG9hZGVyXG5cdC8vIHRvIG9wZXJhdGUgY29ycmVjdGx5IGludG8gbm9uLXN0YW5kYXJkIGVudmlyb25tZW50c1xuXHQvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvc3R5bGUtbG9hZGVyL2lzc3Vlcy8xNzdcblx0cmV0dXJuIHdpbmRvdyAmJiBkb2N1bWVudCAmJiBkb2N1bWVudC5hbGwgJiYgIXdpbmRvdy5hdG9iO1xufSk7XG5cbnZhciBnZXRFbGVtZW50ID0gKGZ1bmN0aW9uIChmbikge1xuXHR2YXIgbWVtbyA9IHt9O1xuXG5cdHJldHVybiBmdW5jdGlvbihzZWxlY3Rvcikge1xuXHRcdGlmICh0eXBlb2YgbWVtb1tzZWxlY3Rvcl0gPT09IFwidW5kZWZpbmVkXCIpIHtcblx0XHRcdHZhciBzdHlsZVRhcmdldCA9IGZuLmNhbGwodGhpcywgc2VsZWN0b3IpO1xuXHRcdFx0Ly8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcblx0XHRcdGlmIChzdHlsZVRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5IVE1MSUZyYW1lRWxlbWVudCkge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdC8vIFRoaXMgd2lsbCB0aHJvdyBhbiBleGNlcHRpb24gaWYgYWNjZXNzIHRvIGlmcmFtZSBpcyBibG9ja2VkXG5cdFx0XHRcdFx0Ly8gZHVlIHRvIGNyb3NzLW9yaWdpbiByZXN0cmljdGlvbnNcblx0XHRcdFx0XHRzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xuXHRcdFx0XHR9IGNhdGNoKGUpIHtcblx0XHRcdFx0XHRzdHlsZVRhcmdldCA9IG51bGw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdG1lbW9bc2VsZWN0b3JdID0gc3R5bGVUYXJnZXQ7XG5cdFx0fVxuXHRcdHJldHVybiBtZW1vW3NlbGVjdG9yXVxuXHR9O1xufSkoZnVuY3Rpb24gKHRhcmdldCkge1xuXHRyZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQpXG59KTtcblxudmFyIHNpbmdsZXRvbiA9IG51bGw7XG52YXJcdHNpbmdsZXRvbkNvdW50ZXIgPSAwO1xudmFyXHRzdHlsZXNJbnNlcnRlZEF0VG9wID0gW107XG5cbnZhclx0Zml4VXJscyA9IHJlcXVpcmUoXCIuL3VybHNcIik7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obGlzdCwgb3B0aW9ucykge1xuXHRpZiAodHlwZW9mIERFQlVHICE9PSBcInVuZGVmaW5lZFwiICYmIERFQlVHKSB7XG5cdFx0aWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gXCJvYmplY3RcIikgdGhyb3cgbmV3IEVycm9yKFwiVGhlIHN0eWxlLWxvYWRlciBjYW5ub3QgYmUgdXNlZCBpbiBhIG5vbi1icm93c2VyIGVudmlyb25tZW50XCIpO1xuXHR9XG5cblx0b3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cblx0b3B0aW9ucy5hdHRycyA9IHR5cGVvZiBvcHRpb25zLmF0dHJzID09PSBcIm9iamVjdFwiID8gb3B0aW9ucy5hdHRycyA6IHt9O1xuXG5cdC8vIEZvcmNlIHNpbmdsZS10YWcgc29sdXRpb24gb24gSUU2LTksIHdoaWNoIGhhcyBhIGhhcmQgbGltaXQgb24gdGhlICMgb2YgPHN0eWxlPlxuXHQvLyB0YWdzIGl0IHdpbGwgYWxsb3cgb24gYSBwYWdlXG5cdGlmICghb3B0aW9ucy5zaW5nbGV0b24gJiYgdHlwZW9mIG9wdGlvbnMuc2luZ2xldG9uICE9PSBcImJvb2xlYW5cIikgb3B0aW9ucy5zaW5nbGV0b24gPSBpc09sZElFKCk7XG5cblx0Ly8gQnkgZGVmYXVsdCwgYWRkIDxzdHlsZT4gdGFncyB0byB0aGUgPGhlYWQ+IGVsZW1lbnRcblx0aWYgKCFvcHRpb25zLmluc2VydEludG8pIG9wdGlvbnMuaW5zZXJ0SW50byA9IFwiaGVhZFwiO1xuXG5cdC8vIEJ5IGRlZmF1bHQsIGFkZCA8c3R5bGU+IHRhZ3MgdG8gdGhlIGJvdHRvbSBvZiB0aGUgdGFyZ2V0XG5cdGlmICghb3B0aW9ucy5pbnNlcnRBdCkgb3B0aW9ucy5pbnNlcnRBdCA9IFwiYm90dG9tXCI7XG5cblx0dmFyIHN0eWxlcyA9IGxpc3RUb1N0eWxlcyhsaXN0LCBvcHRpb25zKTtcblxuXHRhZGRTdHlsZXNUb0RvbShzdHlsZXMsIG9wdGlvbnMpO1xuXG5cdHJldHVybiBmdW5jdGlvbiB1cGRhdGUgKG5ld0xpc3QpIHtcblx0XHR2YXIgbWF5UmVtb3ZlID0gW107XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGl0ZW0gPSBzdHlsZXNbaV07XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdFx0ZG9tU3R5bGUucmVmcy0tO1xuXHRcdFx0bWF5UmVtb3ZlLnB1c2goZG9tU3R5bGUpO1xuXHRcdH1cblxuXHRcdGlmKG5ld0xpc3QpIHtcblx0XHRcdHZhciBuZXdTdHlsZXMgPSBsaXN0VG9TdHlsZXMobmV3TGlzdCwgb3B0aW9ucyk7XG5cdFx0XHRhZGRTdHlsZXNUb0RvbShuZXdTdHlsZXMsIG9wdGlvbnMpO1xuXHRcdH1cblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgbWF5UmVtb3ZlLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgZG9tU3R5bGUgPSBtYXlSZW1vdmVbaV07XG5cblx0XHRcdGlmKGRvbVN0eWxlLnJlZnMgPT09IDApIHtcblx0XHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykgZG9tU3R5bGUucGFydHNbal0oKTtcblxuXHRcdFx0XHRkZWxldGUgc3R5bGVzSW5Eb21bZG9tU3R5bGUuaWRdO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcbn07XG5cbmZ1bmN0aW9uIGFkZFN0eWxlc1RvRG9tIChzdHlsZXMsIG9wdGlvbnMpIHtcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IHN0eWxlc1tpXTtcblx0XHR2YXIgZG9tU3R5bGUgPSBzdHlsZXNJbkRvbVtpdGVtLmlkXTtcblxuXHRcdGlmKGRvbVN0eWxlKSB7XG5cdFx0XHRkb21TdHlsZS5yZWZzKys7XG5cblx0XHRcdGZvcih2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRkb21TdHlsZS5wYXJ0c1tqXShpdGVtLnBhcnRzW2pdKTtcblx0XHRcdH1cblxuXHRcdFx0Zm9yKDsgaiA8IGl0ZW0ucGFydHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ZG9tU3R5bGUucGFydHMucHVzaChhZGRTdHlsZShpdGVtLnBhcnRzW2pdLCBvcHRpb25zKSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHZhciBwYXJ0cyA9IFtdO1xuXG5cdFx0XHRmb3IodmFyIGogPSAwOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRwYXJ0cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0sIG9wdGlvbnMpKTtcblx0XHRcdH1cblxuXHRcdFx0c3R5bGVzSW5Eb21baXRlbS5pZF0gPSB7aWQ6IGl0ZW0uaWQsIHJlZnM6IDEsIHBhcnRzOiBwYXJ0c307XG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGxpc3RUb1N0eWxlcyAobGlzdCwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGVzID0gW107XG5cdHZhciBuZXdTdHlsZXMgPSB7fTtcblxuXHRmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgaXRlbSA9IGxpc3RbaV07XG5cdFx0dmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG5cdFx0dmFyIGNzcyA9IGl0ZW1bMV07XG5cdFx0dmFyIG1lZGlhID0gaXRlbVsyXTtcblx0XHR2YXIgc291cmNlTWFwID0gaXRlbVszXTtcblx0XHR2YXIgcGFydCA9IHtjc3M6IGNzcywgbWVkaWE6IG1lZGlhLCBzb3VyY2VNYXA6IHNvdXJjZU1hcH07XG5cblx0XHRpZighbmV3U3R5bGVzW2lkXSkgc3R5bGVzLnB1c2gobmV3U3R5bGVzW2lkXSA9IHtpZDogaWQsIHBhcnRzOiBbcGFydF19KTtcblx0XHRlbHNlIG5ld1N0eWxlc1tpZF0ucGFydHMucHVzaChwYXJ0KTtcblx0fVxuXG5cdHJldHVybiBzdHlsZXM7XG59XG5cbmZ1bmN0aW9uIGluc2VydFN0eWxlRWxlbWVudCAob3B0aW9ucywgc3R5bGUpIHtcblx0dmFyIHRhcmdldCA9IGdldEVsZW1lbnQob3B0aW9ucy5pbnNlcnRJbnRvKVxuXG5cdGlmICghdGFyZ2V0KSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmluZCBhIHN0eWxlIHRhcmdldC4gVGhpcyBwcm9iYWJseSBtZWFucyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlICdpbnNlcnRJbnRvJyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cIik7XG5cdH1cblxuXHR2YXIgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AgPSBzdHlsZXNJbnNlcnRlZEF0VG9wW3N0eWxlc0luc2VydGVkQXRUb3AubGVuZ3RoIC0gMV07XG5cblx0aWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwidG9wXCIpIHtcblx0XHRpZiAoIWxhc3RTdHlsZUVsZW1lbnRJbnNlcnRlZEF0VG9wKSB7XG5cdFx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCB0YXJnZXQuZmlyc3RDaGlsZCk7XG5cdFx0fSBlbHNlIGlmIChsYXN0U3R5bGVFbGVtZW50SW5zZXJ0ZWRBdFRvcC5uZXh0U2libGluZykge1xuXHRcdFx0dGFyZ2V0Lmluc2VydEJlZm9yZShzdHlsZSwgbGFzdFN0eWxlRWxlbWVudEluc2VydGVkQXRUb3AubmV4dFNpYmxpbmcpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHRcdH1cblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnB1c2goc3R5bGUpO1xuXHR9IGVsc2UgaWYgKG9wdGlvbnMuaW5zZXJ0QXQgPT09IFwiYm90dG9tXCIpIHtcblx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb25zLmluc2VydEF0ID09PSBcIm9iamVjdFwiICYmIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKSB7XG5cdFx0dmFyIG5leHRTaWJsaW5nID0gZ2V0RWxlbWVudChvcHRpb25zLmluc2VydEludG8gKyBcIiBcIiArIG9wdGlvbnMuaW5zZXJ0QXQuYmVmb3JlKTtcblx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBuZXh0U2libGluZyk7XG5cdH0gZWxzZSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiW1N0eWxlIExvYWRlcl1cXG5cXG4gSW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICdpbnNlcnRBdCcgKCdvcHRpb25zLmluc2VydEF0JykgZm91bmQuXFxuIE11c3QgYmUgJ3RvcCcsICdib3R0b20nLCBvciBPYmplY3QuXFxuIChodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlciNpbnNlcnRhdClcXG5cIik7XG5cdH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50IChzdHlsZSkge1xuXHRpZiAoc3R5bGUucGFyZW50Tm9kZSA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXHRzdHlsZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlKTtcblxuXHR2YXIgaWR4ID0gc3R5bGVzSW5zZXJ0ZWRBdFRvcC5pbmRleE9mKHN0eWxlKTtcblx0aWYoaWR4ID49IDApIHtcblx0XHRzdHlsZXNJbnNlcnRlZEF0VG9wLnNwbGljZShpZHgsIDEpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0eWxlRWxlbWVudCAob3B0aW9ucykge1xuXHR2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXG5cdGFkZEF0dHJzKHN0eWxlLCBvcHRpb25zLmF0dHJzKTtcblx0aW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMsIHN0eWxlKTtcblxuXHRyZXR1cm4gc3R5bGU7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxpbmtFbGVtZW50IChvcHRpb25zKSB7XG5cdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpbmtcIik7XG5cblx0b3B0aW9ucy5hdHRycy50eXBlID0gXCJ0ZXh0L2Nzc1wiO1xuXHRvcHRpb25zLmF0dHJzLnJlbCA9IFwic3R5bGVzaGVldFwiO1xuXG5cdGFkZEF0dHJzKGxpbmssIG9wdGlvbnMuYXR0cnMpO1xuXHRpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucywgbGluayk7XG5cblx0cmV0dXJuIGxpbms7XG59XG5cbmZ1bmN0aW9uIGFkZEF0dHJzIChlbCwgYXR0cnMpIHtcblx0T2JqZWN0LmtleXMoYXR0cnMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuXHRcdGVsLnNldEF0dHJpYnV0ZShrZXksIGF0dHJzW2tleV0pO1xuXHR9KTtcbn1cblxuZnVuY3Rpb24gYWRkU3R5bGUgKG9iaiwgb3B0aW9ucykge1xuXHR2YXIgc3R5bGUsIHVwZGF0ZSwgcmVtb3ZlLCByZXN1bHQ7XG5cblx0Ly8gSWYgYSB0cmFuc2Zvcm0gZnVuY3Rpb24gd2FzIGRlZmluZWQsIHJ1biBpdCBvbiB0aGUgY3NzXG5cdGlmIChvcHRpb25zLnRyYW5zZm9ybSAmJiBvYmouY3NzKSB7XG5cdCAgICByZXN1bHQgPSBvcHRpb25zLnRyYW5zZm9ybShvYmouY3NzKTtcblxuXHQgICAgaWYgKHJlc3VsdCkge1xuXHQgICAgXHQvLyBJZiB0cmFuc2Zvcm0gcmV0dXJucyBhIHZhbHVlLCB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIHJ1bm5pbmcgcnVudGltZSB0cmFuc2Zvcm1hdGlvbnMgb24gdGhlIGNzcy5cblx0ICAgIFx0b2JqLmNzcyA9IHJlc3VsdDtcblx0ICAgIH0gZWxzZSB7XG5cdCAgICBcdC8vIElmIHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb24gcmV0dXJucyBhIGZhbHN5IHZhbHVlLCBkb24ndCBhZGQgdGhpcyBjc3MuXG5cdCAgICBcdC8vIFRoaXMgYWxsb3dzIGNvbmRpdGlvbmFsIGxvYWRpbmcgb2YgY3NzXG5cdCAgICBcdHJldHVybiBmdW5jdGlvbigpIHtcblx0ICAgIFx0XHQvLyBub29wXG5cdCAgICBcdH07XG5cdCAgICB9XG5cdH1cblxuXHRpZiAob3B0aW9ucy5zaW5nbGV0b24pIHtcblx0XHR2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrKztcblxuXHRcdHN0eWxlID0gc2luZ2xldG9uIHx8IChzaW5nbGV0b24gPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucykpO1xuXG5cdFx0dXBkYXRlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCBmYWxzZSk7XG5cdFx0cmVtb3ZlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCB0cnVlKTtcblxuXHR9IGVsc2UgaWYgKFxuXHRcdG9iai5zb3VyY2VNYXAgJiZcblx0XHR0eXBlb2YgVVJMID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgVVJMLmNyZWF0ZU9iamVjdFVSTCA9PT0gXCJmdW5jdGlvblwiICYmXG5cdFx0dHlwZW9mIFVSTC5yZXZva2VPYmplY3RVUkwgPT09IFwiZnVuY3Rpb25cIiAmJlxuXHRcdHR5cGVvZiBCbG9iID09PSBcImZ1bmN0aW9uXCIgJiZcblx0XHR0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiXG5cdCkge1xuXHRcdHN0eWxlID0gY3JlYXRlTGlua0VsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gdXBkYXRlTGluay5iaW5kKG51bGwsIHN0eWxlLCBvcHRpb25zKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXG5cdFx0XHRpZihzdHlsZS5ocmVmKSBVUkwucmV2b2tlT2JqZWN0VVJMKHN0eWxlLmhyZWYpO1xuXHRcdH07XG5cdH0gZWxzZSB7XG5cdFx0c3R5bGUgPSBjcmVhdGVTdHlsZUVsZW1lbnQob3B0aW9ucyk7XG5cdFx0dXBkYXRlID0gYXBwbHlUb1RhZy5iaW5kKG51bGwsIHN0eWxlKTtcblx0XHRyZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xuXHRcdH07XG5cdH1cblxuXHR1cGRhdGUob2JqKTtcblxuXHRyZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUgKG5ld09iaikge1xuXHRcdGlmIChuZXdPYmopIHtcblx0XHRcdGlmIChcblx0XHRcdFx0bmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJlxuXHRcdFx0XHRuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJlxuXHRcdFx0XHRuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwXG5cdFx0XHQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHR1cGRhdGUob2JqID0gbmV3T2JqKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVtb3ZlKCk7XG5cdFx0fVxuXHR9O1xufVxuXG52YXIgcmVwbGFjZVRleHQgPSAoZnVuY3Rpb24gKCkge1xuXHR2YXIgdGV4dFN0b3JlID0gW107XG5cblx0cmV0dXJuIGZ1bmN0aW9uIChpbmRleCwgcmVwbGFjZW1lbnQpIHtcblx0XHR0ZXh0U3RvcmVbaW5kZXhdID0gcmVwbGFjZW1lbnQ7XG5cblx0XHRyZXR1cm4gdGV4dFN0b3JlLmZpbHRlcihCb29sZWFuKS5qb2luKCdcXG4nKTtcblx0fTtcbn0pKCk7XG5cbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcgKHN0eWxlLCBpbmRleCwgcmVtb3ZlLCBvYmopIHtcblx0dmFyIGNzcyA9IHJlbW92ZSA/IFwiXCIgOiBvYmouY3NzO1xuXG5cdGlmIChzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XG5cdH0gZWxzZSB7XG5cdFx0dmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpO1xuXHRcdHZhciBjaGlsZE5vZGVzID0gc3R5bGUuY2hpbGROb2RlcztcblxuXHRcdGlmIChjaGlsZE5vZGVzW2luZGV4XSkgc3R5bGUucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pO1xuXG5cdFx0aWYgKGNoaWxkTm9kZXMubGVuZ3RoKSB7XG5cdFx0XHRzdHlsZS5pbnNlcnRCZWZvcmUoY3NzTm9kZSwgY2hpbGROb2Rlc1tpbmRleF0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzdHlsZS5hcHBlbmRDaGlsZChjc3NOb2RlKTtcblx0XHR9XG5cdH1cbn1cblxuZnVuY3Rpb24gYXBwbHlUb1RhZyAoc3R5bGUsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIG1lZGlhID0gb2JqLm1lZGlhO1xuXG5cdGlmKG1lZGlhKSB7XG5cdFx0c3R5bGUuc2V0QXR0cmlidXRlKFwibWVkaWFcIiwgbWVkaWEpXG5cdH1cblxuXHRpZihzdHlsZS5zdHlsZVNoZWV0KSB7XG5cdFx0c3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuXHR9IGVsc2Uge1xuXHRcdHdoaWxlKHN0eWxlLmZpcnN0Q2hpbGQpIHtcblx0XHRcdHN0eWxlLnJlbW92ZUNoaWxkKHN0eWxlLmZpcnN0Q2hpbGQpO1xuXHRcdH1cblxuXHRcdHN0eWxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUxpbmsgKGxpbmssIG9wdGlvbnMsIG9iaikge1xuXHR2YXIgY3NzID0gb2JqLmNzcztcblx0dmFyIHNvdXJjZU1hcCA9IG9iai5zb3VyY2VNYXA7XG5cblx0Lypcblx0XHRJZiBjb252ZXJ0VG9BYnNvbHV0ZVVybHMgaXNuJ3QgZGVmaW5lZCwgYnV0IHNvdXJjZW1hcHMgYXJlIGVuYWJsZWRcblx0XHRhbmQgdGhlcmUgaXMgbm8gcHVibGljUGF0aCBkZWZpbmVkIHRoZW4gbGV0cyB0dXJuIGNvbnZlcnRUb0Fic29sdXRlVXJsc1xuXHRcdG9uIGJ5IGRlZmF1bHQuICBPdGhlcndpc2UgZGVmYXVsdCB0byB0aGUgY29udmVydFRvQWJzb2x1dGVVcmxzIG9wdGlvblxuXHRcdGRpcmVjdGx5XG5cdCovXG5cdHZhciBhdXRvRml4VXJscyA9IG9wdGlvbnMuY29udmVydFRvQWJzb2x1dGVVcmxzID09PSB1bmRlZmluZWQgJiYgc291cmNlTWFwO1xuXG5cdGlmIChvcHRpb25zLmNvbnZlcnRUb0Fic29sdXRlVXJscyB8fCBhdXRvRml4VXJscykge1xuXHRcdGNzcyA9IGZpeFVybHMoY3NzKTtcblx0fVxuXG5cdGlmIChzb3VyY2VNYXApIHtcblx0XHQvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yNjYwMzg3NVxuXHRcdGNzcyArPSBcIlxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXCIgKyBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpICsgXCIgKi9cIjtcblx0fVxuXG5cdHZhciBibG9iID0gbmV3IEJsb2IoW2Nzc10sIHsgdHlwZTogXCJ0ZXh0L2Nzc1wiIH0pO1xuXG5cdHZhciBvbGRTcmMgPSBsaW5rLmhyZWY7XG5cblx0bGluay5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcblxuXHRpZihvbGRTcmMpIFVSTC5yZXZva2VPYmplY3RVUkwob2xkU3JjKTtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXG4vLyBtb2R1bGUgaWQgPSA4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIlxuLyoqXG4gKiBXaGVuIHNvdXJjZSBtYXBzIGFyZSBlbmFibGVkLCBgc3R5bGUtbG9hZGVyYCB1c2VzIGEgbGluayBlbGVtZW50IHdpdGggYSBkYXRhLXVyaSB0b1xuICogZW1iZWQgdGhlIGNzcyBvbiB0aGUgcGFnZS4gVGhpcyBicmVha3MgYWxsIHJlbGF0aXZlIHVybHMgYmVjYXVzZSBub3cgdGhleSBhcmUgcmVsYXRpdmUgdG8gYVxuICogYnVuZGxlIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgcGFnZS5cbiAqXG4gKiBPbmUgc29sdXRpb24gaXMgdG8gb25seSB1c2UgZnVsbCB1cmxzLCBidXQgdGhhdCBtYXkgYmUgaW1wb3NzaWJsZS5cbiAqXG4gKiBJbnN0ZWFkLCB0aGlzIGZ1bmN0aW9uIFwiZml4ZXNcIiB0aGUgcmVsYXRpdmUgdXJscyB0byBiZSBhYnNvbHV0ZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgcGFnZSBsb2NhdGlvbi5cbiAqXG4gKiBBIHJ1ZGltZW50YXJ5IHRlc3Qgc3VpdGUgaXMgbG9jYXRlZCBhdCBgdGVzdC9maXhVcmxzLmpzYCBhbmQgY2FuIGJlIHJ1biB2aWEgdGhlIGBucG0gdGVzdGAgY29tbWFuZC5cbiAqXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY3NzKSB7XG4gIC8vIGdldCBjdXJyZW50IGxvY2F0aW9uXG4gIHZhciBsb2NhdGlvbiA9IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgd2luZG93LmxvY2F0aW9uO1xuXG4gIGlmICghbG9jYXRpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJmaXhVcmxzIHJlcXVpcmVzIHdpbmRvdy5sb2NhdGlvblwiKTtcbiAgfVxuXG5cdC8vIGJsYW5rIG9yIG51bGw/XG5cdGlmICghY3NzIHx8IHR5cGVvZiBjc3MgIT09IFwic3RyaW5nXCIpIHtcblx0ICByZXR1cm4gY3NzO1xuICB9XG5cbiAgdmFyIGJhc2VVcmwgPSBsb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiArIGxvY2F0aW9uLmhvc3Q7XG4gIHZhciBjdXJyZW50RGlyID0gYmFzZVVybCArIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL1xcL1teXFwvXSokLywgXCIvXCIpO1xuXG5cdC8vIGNvbnZlcnQgZWFjaCB1cmwoLi4uKVxuXHQvKlxuXHRUaGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBqdXN0IGEgd2F5IHRvIHJlY3Vyc2l2ZWx5IG1hdGNoIGJyYWNrZXRzIHdpdGhpblxuXHRhIHN0cmluZy5cblxuXHQgL3VybFxccypcXCggID0gTWF0Y2ggb24gdGhlIHdvcmQgXCJ1cmxcIiB3aXRoIGFueSB3aGl0ZXNwYWNlIGFmdGVyIGl0IGFuZCB0aGVuIGEgcGFyZW5zXG5cdCAgICggID0gU3RhcnQgYSBjYXB0dXJpbmcgZ3JvdXBcblx0ICAgICAoPzogID0gU3RhcnQgYSBub24tY2FwdHVyaW5nIGdyb3VwXG5cdCAgICAgICAgIFteKShdICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgIFxcKCAgPSBNYXRjaCBhIHN0YXJ0IHBhcmVudGhlc2VzXG5cdCAgICAgICAgICAgICAoPzogID0gU3RhcnQgYW5vdGhlciBub24tY2FwdHVyaW5nIGdyb3Vwc1xuXHQgICAgICAgICAgICAgICAgIFteKShdKyAgPSBNYXRjaCBhbnl0aGluZyB0aGF0IGlzbid0IGEgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICB8ICA9IE9SXG5cdCAgICAgICAgICAgICAgICAgXFwoICA9IE1hdGNoIGEgc3RhcnQgcGFyZW50aGVzZXNcblx0ICAgICAgICAgICAgICAgICAgICAgW14pKF0qICA9IE1hdGNoIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgICAgIFxcKSAgPSBNYXRjaCBhIGVuZCBwYXJlbnRoZXNlc1xuXHQgICAgICAgICAgICAgKSAgPSBFbmQgR3JvdXBcbiAgICAgICAgICAgICAgKlxcKSA9IE1hdGNoIGFueXRoaW5nIGFuZCB0aGVuIGEgY2xvc2UgcGFyZW5zXG4gICAgICAgICAgKSAgPSBDbG9zZSBub24tY2FwdHVyaW5nIGdyb3VwXG4gICAgICAgICAgKiAgPSBNYXRjaCBhbnl0aGluZ1xuICAgICAgICkgID0gQ2xvc2UgY2FwdHVyaW5nIGdyb3VwXG5cdCBcXCkgID0gTWF0Y2ggYSBjbG9zZSBwYXJlbnNcblxuXHQgL2dpICA9IEdldCBhbGwgbWF0Y2hlcywgbm90IHRoZSBmaXJzdC4gIEJlIGNhc2UgaW5zZW5zaXRpdmUuXG5cdCAqL1xuXHR2YXIgZml4ZWRDc3MgPSBjc3MucmVwbGFjZSgvdXJsXFxzKlxcKCgoPzpbXikoXXxcXCgoPzpbXikoXSt8XFwoW14pKF0qXFwpKSpcXCkpKilcXCkvZ2ksIGZ1bmN0aW9uKGZ1bGxNYXRjaCwgb3JpZ1VybCkge1xuXHRcdC8vIHN0cmlwIHF1b3RlcyAoaWYgdGhleSBleGlzdClcblx0XHR2YXIgdW5xdW90ZWRPcmlnVXJsID0gb3JpZ1VybFxuXHRcdFx0LnRyaW0oKVxuXHRcdFx0LnJlcGxhY2UoL15cIiguKilcIiQvLCBmdW5jdGlvbihvLCAkMSl7IHJldHVybiAkMTsgfSlcblx0XHRcdC5yZXBsYWNlKC9eJyguKiknJC8sIGZ1bmN0aW9uKG8sICQxKXsgcmV0dXJuICQxOyB9KTtcblxuXHRcdC8vIGFscmVhZHkgYSBmdWxsIHVybD8gbm8gY2hhbmdlXG5cdFx0aWYgKC9eKCN8ZGF0YTp8aHR0cDpcXC9cXC98aHR0cHM6XFwvXFwvfGZpbGU6XFwvXFwvXFwvKS9pLnRlc3QodW5xdW90ZWRPcmlnVXJsKSkge1xuXHRcdCAgcmV0dXJuIGZ1bGxNYXRjaDtcblx0XHR9XG5cblx0XHQvLyBjb252ZXJ0IHRoZSB1cmwgdG8gYSBmdWxsIHVybFxuXHRcdHZhciBuZXdVcmw7XG5cblx0XHRpZiAodW5xdW90ZWRPcmlnVXJsLmluZGV4T2YoXCIvL1wiKSA9PT0gMCkge1xuXHRcdCAgXHQvL1RPRE86IHNob3VsZCB3ZSBhZGQgcHJvdG9jb2w/XG5cdFx0XHRuZXdVcmwgPSB1bnF1b3RlZE9yaWdVcmw7XG5cdFx0fSBlbHNlIGlmICh1bnF1b3RlZE9yaWdVcmwuaW5kZXhPZihcIi9cIikgPT09IDApIHtcblx0XHRcdC8vIHBhdGggc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBiYXNlIHVybFxuXHRcdFx0bmV3VXJsID0gYmFzZVVybCArIHVucXVvdGVkT3JpZ1VybDsgLy8gYWxyZWFkeSBzdGFydHMgd2l0aCAnLydcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gcGF0aCBzaG91bGQgYmUgcmVsYXRpdmUgdG8gY3VycmVudCBkaXJlY3Rvcnlcblx0XHRcdG5ld1VybCA9IGN1cnJlbnREaXIgKyB1bnF1b3RlZE9yaWdVcmwucmVwbGFjZSgvXlxcLlxcLy8sIFwiXCIpOyAvLyBTdHJpcCBsZWFkaW5nICcuLydcblx0XHR9XG5cblx0XHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIHVybCguLi4pXG5cdFx0cmV0dXJuIFwidXJsKFwiICsgSlNPTi5zdHJpbmdpZnkobmV3VXJsKSArIFwiKVwiO1xuXHR9KTtcblxuXHQvLyBzZW5kIGJhY2sgdGhlIGZpeGVkIGNzc1xuXHRyZXR1cm4gZml4ZWRDc3M7XG59O1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi91cmxzLmpzXG4vLyBtb2R1bGUgaWQgPSA5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGNvbW1vbiA9IHJlcXVpcmUoJ2ZyYXBwZWpzL2NvbW1vbicpO1xuY29uc3QgUkVTVENsaWVudCA9IHJlcXVpcmUoJ2ZyYXBwZWpzL2JhY2tlbmRzL3Jlc3RfY2xpZW50Jyk7XG5jb25zdCBmcmFwcGUgPSByZXF1aXJlKCdmcmFwcGVqcycpO1xuZnJhcHBlLnVpID0gcmVxdWlyZSgnLi91aScpO1xuY29uc3QgRGVzayA9IHJlcXVpcmUoJy4vZGVzaycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBhc3luYyBzdGFydCh7c2VydmVyfSkge1xuICAgICAgICB3aW5kb3cuZnJhcHBlID0gZnJhcHBlO1xuICAgICAgICBmcmFwcGUuaW5pdCgpO1xuICAgICAgICBjb21tb24uaW5pdF9saWJzKGZyYXBwZSk7XG5cbiAgICAgICAgZnJhcHBlLmZldGNoID0gd2luZG93LmZldGNoLmJpbmQoKTtcbiAgICAgICAgZnJhcHBlLmRiID0gYXdhaXQgbmV3IFJFU1RDbGllbnQoe3NlcnZlcjogc2VydmVyfSk7XG5cbiAgICAgICAgZnJhcHBlLmZsYWdzLmNhY2hlX2RvY3MgPSB0cnVlO1xuXG4gICAgICAgIGZyYXBwZS5kZXNrID0gbmV3IERlc2soKTtcbiAgICAgICAgYXdhaXQgZnJhcHBlLmxvZ2luKCk7XG4gICAgfVxufTtcblxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY2xpZW50L2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJjb25zdCB1dGlscyA9IHJlcXVpcmUoJy4uL3V0aWxzJyk7XG5jb25zdCBtb2RlbHMgPSByZXF1aXJlKCcuLi9tb2RlbC9tb2RlbHMnKTtcbmNvbnN0IG1vZGVsID0gcmVxdWlyZSgnLi4vbW9kZWwnKTtcbmNvbnN0IF9kb2N1bWVudCA9IHJlcXVpcmUoJy4uL21vZGVsL2RvY3VtZW50Jyk7XG5jb25zdCBtZXRhID0gcmVxdWlyZSgnLi4vbW9kZWwvbWV0YScpO1xuY29uc3QgX3Nlc3Npb24gPSByZXF1aXJlKCcuLi9zZXNzaW9uJyk7XG5jb25zdCBlcnJvcnMgPSByZXF1aXJlKCcuL2Vycm9ycycpO1xuXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICAgIGluaXRfbGlicyhmcmFwcGUpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihmcmFwcGUsIHV0aWxzKTtcbiAgICAgICAgZnJhcHBlLm1vZGVsID0gbW9kZWw7XG4gICAgICAgIGZyYXBwZS5tb2RlbHMgPSBuZXcgbW9kZWxzLk1vZGVscygpO1xuICAgICAgICBmcmFwcGUuZG9jdW1lbnQgPSBfZG9jdW1lbnQ7XG4gICAgICAgIGZyYXBwZS5tZXRhID0gbWV0YTtcbiAgICAgICAgZnJhcHBlLl9zZXNzaW9uID0gX3Nlc3Npb247XG4gICAgICAgIGZyYXBwZS5lcnJvcnMgPSBlcnJvcnM7XG4gICAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NvbW1vbi9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwibW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgc2x1Zyh0ZXh0KSB7XG4gICAgICAgIHJldHVybiB0ZXh0LnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvIC9nLCAnXycpO1xuICAgIH0sXG5cbiAgICBhc3luY19oYW5kbGVyKGZuKSB7XG4gICAgICAgIHJldHVybiAocmVxLCByZXMsIG5leHQpID0+IFByb21pc2UucmVzb2x2ZShmbihyZXEsIHJlcywgbmV4dCkpXG4gICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIGVycm9yXG4gICAgICAgICAgICAgICAgcmVzLnN0YXR1cyhlcnIuc3RhdHVzX2NvZGUgfHwgNTAwKS5zZW5kKHtlcnJvcjogZXJyLm1lc3NhZ2V9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH0sXG5cbiAgICBhc3luYyBzbGVlcChzZWNvbmRzKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgc2Vjb25kcyAqIDEwMDApO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9mcmFwcGVqcy91dGlscy9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgcHJvY2VzcyA9IHJlcXVpcmUoJ3Byb2Nlc3MnKTtcbmNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5cbmNsYXNzIE1vZGVscyB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IHtkb2N0eXBlOiB7fX07XG4gICAgICAgIHRoaXMuY29udHJvbGxlcnMgPSB7fTtcbiAgICAgICAgdGhpcy5tZXRhX2NsYXNzZXMgPSB7fTtcbiAgICB9XG5cbiAgICBnZXQoZG9jdHlwZSwgbmFtZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhW2ZyYXBwZS5zbHVnKGRvY3R5cGUpXVtmcmFwcGUuc2x1ZyhuYW1lKV07XG4gICAgfVxuXG4gICAgZ2V0X2NvbnRyb2xsZXIoZG9jdHlwZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyc1tmcmFwcGUuc2x1Zyhkb2N0eXBlKV07XG4gICAgfVxuXG4gICAgZ2V0X21ldGFfY2xhc3MoZG9jdHlwZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXRhX2NsYXNzZXNbZnJhcHBlLnNsdWcoZG9jdHlwZSldIHx8IGZyYXBwZS5tZXRhLk1ldGE7XG4gICAgfVxuXG59XG5cbm1vZHVsZS5leHBvcnRzID0geyBNb2RlbHM6IE1vZGVscyB9XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvbW9kZWwvbW9kZWxzLmpzXG4vLyBtb2R1bGUgaWQgPSAxM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBzdGFuZGFyZF9maWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZmllbGRuYW1lOiAnbmFtZScsIGZpZWxkdHlwZTogJ0RhdGEnLCByZXFkOiAxXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkbmFtZTogJ293bmVyJywgZmllbGR0eXBlOiAnTGluaycsIHJlcWQ6IDEsIG9wdGlvbnM6ICdVc2VyJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZG5hbWU6ICdtb2RpZmllZF9ieScsIGZpZWxkdHlwZTogJ0xpbmsnLCByZXFkOiAxLCBvcHRpb25zOiAnVXNlcidcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmllbGRuYW1lOiAnY3JlYXRpb24nLCBmaWVsZHR5cGU6ICdEYXRldGltZScsIHJlcWQ6IDFcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmllbGRuYW1lOiAnbW9kaWZpZWQnLCBmaWVsZHR5cGU6ICdEYXRldGltZScsIHJlcWQ6IDFcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgZmllbGRuYW1lOiAna2V5d29yZHMnLCBmaWVsZHR5cGU6ICdUZXh0J1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZG5hbWU6ICdkb2NzdGF0dXMnLCBmaWVsZHR5cGU6ICdJbnQnLCByZXFkOiAxLCBkZWZhdWx0OiAwXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGNoaWxkX2ZpZWxkczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBmaWVsZG5hbWU6ICdpZHgnLCBmaWVsZHR5cGU6ICdJbnQnLCByZXFkOiAxXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkbmFtZTogJ3BhcmVudCcsIGZpZWxkdHlwZTogJ0RhdGEnLCByZXFkOiAxXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkbmFtZTogJ3BhcmVudHR5cGUnLCBmaWVsZHR5cGU6ICdMaW5rJywgcmVxZDogMSwgb3B0aW9uczogJ0RvY1R5cGUnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkbmFtZTogJ3BhcmVudGZpZWxkJywgZmllbGR0eXBlOiAnRGF0YScsIHJlcWQ6IDFcbiAgICAgICAgfVxuICAgIF1cbn07XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvbW9kZWwvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDE0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IERvY3VtZW50ID0gcmVxdWlyZSgnLi9kb2N1bWVudCcpLkRvY3VtZW50O1xuY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcblxuY2xhc3MgTWV0YSBleHRlbmRzIERvY3VtZW50IHtcbiAgICBjb25zdHJ1Y3RvcihkYXRhKSB7XG4gICAgICAgIHN1cGVyKGRhdGEpO1xuICAgICAgICB0aGlzLmV2ZW50X2hhbmRsZXJzID0ge307XG4gICAgICAgIHRoaXMubGlzdF9vcHRpb25zID0ge1xuICAgICAgICAgICAgZmllbGRzOiBbJ25hbWUnLCAnbW9kaWZpZWQnXVxuICAgICAgICB9O1xuICAgICAgICBpZiAodGhpcy5zZXR1cF9tZXRhKSAge1xuICAgICAgICAgICAgdGhpcy5zZXR1cF9tZXRhKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRfZmllbGQoZmllbGRuYW1lKSB7XG4gICAgICAgIGlmICghdGhpcy5maWVsZF9tYXApIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGRfbWFwID0ge307XG4gICAgICAgICAgICBmb3IgKGxldCBkZiBvZiB0aGlzLmZpZWxkcykge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGRfbWFwW2RmLmZpZWxkbmFtZV0gPSBkZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5maWVsZF9tYXBbZmllbGRuYW1lXTtcbiAgICB9XG5cbiAgICBvbihrZXksIGZuKSB7XG4gICAgICAgIGlmICghdGhpcy5ldmVudF9oYW5kbGVyc1trZXldKSB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50X2hhbmRsZXJzW2tleV0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV2ZW50X2hhbmRsZXJzW2tleV0ucHVzaChmbik7XG4gICAgfVxuXG4gICAgYXN5bmMgc2V0KGZpZWxkbmFtZSwgdmFsdWUpIHtcbiAgICAgICAgdGhpc1tmaWVsZG5hbWVdID0gdmFsdWU7XG4gICAgICAgIGF3YWl0IHRoaXMudHJpZ2dlcihmaWVsZG5hbWUpO1xuICAgIH1cblxuICAgIGdldChmaWVsZG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbZmllbGRuYW1lXTtcbiAgICB9XG5cbiAgICBnZXRfdmFsaWRfZmllbGRzKCkge1xuICAgICAgICBpZiAoIXRoaXMuX3ZhbGlkX2ZpZWxkcykge1xuICAgICAgICAgICAgdGhpcy5fdmFsaWRfZmllbGRzID0gW107XG5cbiAgICAgICAgICAgIGNvbnN0IGRvY3R5cGVfZmllbGRzID0gdGhpcy5maWVsZHMubWFwKChkZikgPT4gZGYuZmllbGRuYW1lKTtcblxuICAgICAgICAgICAgLy8gc3RhbmRhcmQgZmllbGRzXG4gICAgICAgICAgICBmb3IgKGxldCBkZiBvZiBmcmFwcGUubW9kZWwuc3RhbmRhcmRfZmllbGRzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZyYXBwZS5kYi50eXBlX21hcFtkZi5maWVsZHR5cGVdICYmICFkb2N0eXBlX2ZpZWxkcy5pbmNsdWRlcyhkZi5maWVsZG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZhbGlkX2ZpZWxkcy5wdXNoKGRmKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHBhcmVudCBmaWVsZHNcbiAgICAgICAgICAgIGlmICh0aGlzLmlzdGFibGUpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBkZiBvZiBmcmFwcGUubW9kZWwuY2hpbGRfZmllbGRzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmcmFwcGUuZGIudHlwZV9tYXBbZGYuZmllbGR0eXBlXSAmJiAhZG9jdHlwZV9maWVsZHMuaW5jbHVkZXMoZGYuZmllbGRuYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmFsaWRfZmllbGRzLnB1c2goZGYpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBkb2N0eXBlIGZpZWxkc1xuICAgICAgICAgICAgZm9yIChsZXQgZGYgb2YgdGhpcy5maWVsZHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoZnJhcHBlLmRiLnR5cGVfbWFwW2RmLmZpZWxkdHlwZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmFsaWRfZmllbGRzLnB1c2goZGYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl92YWxpZF9maWVsZHM7XG4gICAgfVxuXG4gICAgZ2V0X2tleXdvcmRfZmllbGRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5rZXl3b3JkX2ZpZWxkcyB8fCB0aGlzLm1ldGEuZmllbGRzLmZpbHRlcihkZiA9PiBkZi5yZXFkKS5tYXAoZGYgPT4gZGYuZmllbGRuYW1lKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZV9zZWxlY3QoZGYsIHZhbHVlKSB7XG4gICAgICAgIGxldCBvcHRpb25zID0gZGYub3B0aW9ucztcbiAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgLy8gdmFsdWVzIGdpdmVuIGFzIHN0cmluZ1xuICAgICAgICAgICAgb3B0aW9ucyA9IGRmLm9wdGlvbnMuc3BsaXQoJ1xcbicpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghb3B0aW9ucy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBmcmFwcGUuZXJyb3JzLlZhbHVlRXJyb3IoYCR7dmFsdWV9IG11c3QgYmUgb25lIG9mICR7b3B0aW9ucy5qb2luKFwiLCBcIil9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyB0cmlnZ2VyKGtleSwgZXZlbnQgPSB7fSkge1xuXG4gICAgICAgIE9iamVjdC5hc3NpZ24oZXZlbnQsIHtcbiAgICAgICAgICAgIGRvYzogdGhpcyxcbiAgICAgICAgICAgIG5hbWU6IGtleVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5ldmVudF9oYW5kbGVyc1trZXldKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBoYW5kbGVyIG9mIHRoaXMuZXZlbnRfaGFuZGxlcnNba2V5XSkge1xuICAgICAgICAgICAgICAgIGF3YWl0IGhhbmRsZXIoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gY29sbGVjdGlvbnNcbiAgICBhc3luYyBnZXRfbGlzdCh7c3RhcnQsIGxpbWl0PTIwLCBmaWx0ZXJzfSkge1xuICAgICAgICByZXR1cm4gYXdhaXQgZnJhcHBlLmRiLmdldF9hbGwoe1xuICAgICAgICAgICAgZG9jdHlwZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgZmllbGRzOiB0aGlzLmxpc3Rfb3B0aW9ucy5maWVsZHMsXG4gICAgICAgICAgICBmaWx0ZXJzOiBmaWx0ZXJzLFxuICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICAgICAgbGltaXQ6IGxpbWl0XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldF9yb3dfaHRtbChkYXRhKSB7XG4gICAgICAgIHJldHVybiBgPGEgaHJlZj1cIi92aWV3LyR7dGhpcy5uYW1lfS8ke2RhdGEubmFtZX1cIj4ke2RhdGEubmFtZX08L2E+YDtcbiAgICB9XG5cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7IE1ldGE6IE1ldGEgfVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL21vZGVsL21ldGEuanNcbi8vIG1vZHVsZSBpZCA9IDE1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5cbmNsYXNzIFNlc3Npb24ge1xuICAgIGNvbnN0cnVjdG9yKHVzZXIsIHVzZXJfa2V5KSB7XG4gICAgICAgIHRoaXMudXNlciA9IHVzZXIgfHwgJ2d1ZXN0JztcbiAgICAgICAgaWYgKHRoaXMudXNlciAhPT0gJ2d1ZXN0Jykge1xuICAgICAgICAgICAgdGhpcy5sb2dpbih1c2VyX2tleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2dpbih1c2VyX2tleSkge1xuICAgICAgICAvLyBjb3VsZCBiZSBwYXNzd29yZCwgc2Vzc2lvbmlkLCBvdHBcbiAgICB9XG5cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7IFNlc3Npb246IFNlc3Npb24gfTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9mcmFwcGVqcy9zZXNzaW9uLmpzXG4vLyBtb2R1bGUgaWQgPSAxNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJjbGFzcyBCYXNlRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG5cdGNvbnN0cnVjdG9yKHN0YXR1c19jb2RlLCAuLi5wYXJhbXMpIHtcblx0XHRzdXBlciguLi5wYXJhbXMpO1xuXHRcdHRoaXMuc3RhdHVzX2NvZGUgPSBzdGF0dXNfY29kZTtcblx0fVxufVxuXG5jbGFzcyBWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBCYXNlRXJyb3Ige1xuXHRjb25zdHJ1Y3RvciguLi5wYXJhbXMpIHsgc3VwZXIoNDE3LCAuLi5wYXJhbXMpOyB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuXHRWYWxpZGF0aW9uRXJyb3I6IFZhbGlkYXRpb25FcnJvcixcblx0VmFsdWVFcnJvcjogY2xhc3MgVmFsdWVFcnJvciBleHRlbmRzIFZhbGlkYXRpb25FcnJvciB7IH0sXG5cdE5vdEZvdW5kOiBjbGFzcyBOb3RGb3VuZCBleHRlbmRzIEJhc2VFcnJvciB7XG5cdFx0Y29uc3RydWN0b3IoLi4ucGFyYW1zKSB7IHN1cGVyKDQwNCwgLi4ucGFyYW1zKTsgfVxuXHR9LFxuXHRGb3JiaWRkZW46IGNsYXNzIEZvcmJpZGRlbiBleHRlbmRzIEJhc2VFcnJvciB7XG5cdFx0Y29uc3RydWN0b3IoLi4ucGFyYW1zKSB7IHN1cGVyKDQwMywgLi4ucGFyYW1zKTsgfVxuXHR9LFxufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY29tbW9uL2Vycm9ycy5qc1xuLy8gbW9kdWxlIGlkID0gMTdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcbmNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gY2xhc3MgUkVTVENsaWVudCB7XG4gICAgY29uc3RydWN0b3Ioe3NlcnZlciwgcHJvdG9jb2w9J2h0dHAnfSkge1xuICAgICAgICB0aGlzLnNlcnZlciA9IHNlcnZlcjtcbiAgICAgICAgdGhpcy5wcm90b2NvbCA9IHByb3RvY29sO1xuXG4gICAgICAgIHRoaXMuaW5pdF90eXBlX21hcCgpO1xuXG4gICAgICAgIHRoaXMuanNvbl9oZWFkZXJzID0ge1xuICAgICAgICAgICAgJ0FjY2VwdCc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbm5lY3QoKSB7XG5cbiAgICB9XG5cbiAgICBhc3luYyBpbnNlcnQoZG9jdHlwZSwgZG9jKSB7XG4gICAgICAgIGRvYy5kb2N0eXBlID0gZG9jdHlwZTtcbiAgICAgICAgbGV0IHVybCA9IHRoaXMucHJvdG9jb2wgKyAnOi8vJyArIHBhdGguam9pbih0aGlzLnNlcnZlciwgYC9hcGkvcmVzb3VyY2UvJHtmcmFwcGUuc2x1Zyhkb2N0eXBlKX1gKTtcbiAgICAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgZnJhcHBlLmZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLmpzb25faGVhZGVycyxcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRvYylcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXQoZG9jdHlwZSwgbmFtZSkge1xuICAgICAgICBsZXQgdXJsID0gdGhpcy5wcm90b2NvbCArICc6Ly8nICsgcGF0aC5qb2luKHRoaXMuc2VydmVyLCBgL2FwaS9yZXNvdXJjZS8ke2ZyYXBwZS5zbHVnKGRvY3R5cGUpfS8ke25hbWV9YCk7XG4gICAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IGZyYXBwZS5mZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLmpzb25faGVhZGVyc1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXRfYWxsKHtkb2N0eXBlLCBmaWVsZHMsIGZpbHRlcnMsIHN0YXJ0LCBsaW1pdCwgc29ydF9ieSwgb3JkZXJ9KSB7XG4gICAgICAgIGxldCB1cmwgPSB0aGlzLnByb3RvY29sICsgJzovLycgKyBwYXRoLmpvaW4odGhpcy5zZXJ2ZXIsIGAvYXBpL3Jlc291cmNlLyR7ZnJhcHBlLnNsdWcoZG9jdHlwZSl9YCk7XG5cbiAgICAgICAgdXJsID0gdXJsICsgXCI/XCIgKyB0aGlzLmdldF9xdWVyeV9zdHJpbmcoe1xuICAgICAgICAgICAgZmllbGRzOiBKU09OLnN0cmluZ2lmeShmaWVsZHMpLFxuICAgICAgICAgICAgZmlsdGVyczogSlNPTi5zdHJpbmdpZnkoZmlsdGVycyksXG4gICAgICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgICAgICBsaW1pdDogbGltaXQsXG4gICAgICAgICAgICBzb3J0X2J5OiBzb3J0X2J5LFxuICAgICAgICAgICAgb3JkZXI6IG9yZGVyXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IGZyYXBwZS5mZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLmpzb25faGVhZGVyc1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcblxuICAgIH1cblxuICAgIGFzeW5jIHVwZGF0ZShkb2N0eXBlLCBkb2MpIHtcbiAgICAgICAgZG9jLmRvY3R5cGUgPSBkb2N0eXBlO1xuICAgICAgICBsZXQgdXJsID0gdGhpcy5wcm90b2NvbCArICc6Ly8nICsgcGF0aC5qb2luKHRoaXMuc2VydmVyLCBgL2FwaS9yZXNvdXJjZS8ke2ZyYXBwZS5zbHVnKGRvY3R5cGUpfS8ke2RvYy5uYW1lfWApO1xuICAgICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCBmcmFwcGUuZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgICAgICAgaGVhZGVyczogdGhpcy5qc29uX2hlYWRlcnMsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkb2MpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgZGVsZXRlKGRvY3R5cGUsIG5hbWUpIHtcbiAgICAgICAgbGV0IHVybCA9IHRoaXMucHJvdG9jb2wgKyAnOi8vJyArIHBhdGguam9pbih0aGlzLnNlcnZlciwgYC9hcGkvcmVzb3VyY2UvJHtmcmFwcGUuc2x1Zyhkb2N0eXBlKX0vJHtuYW1lfWApO1xuXG4gICAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IGZyYXBwZS5mZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICAgICAgICBoZWFkZXJzOiB0aGlzLmpzb25faGVhZGVyc1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgIH1cblxuICAgIGdldF9xdWVyeV9zdHJpbmcocGFyYW1zKSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhwYXJhbXMpXG4gICAgICAgICAgICAubWFwKGsgPT4gcGFyYW1zW2tdICE9IG51bGwgPyBlbmNvZGVVUklDb21wb25lbnQoaykgKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQocGFyYW1zW2tdKSA6IG51bGwpXG4gICAgICAgICAgICAuZmlsdGVyKHYgPT4gdilcbiAgICAgICAgICAgIC5qb2luKCcmJyk7XG4gICAgfVxuXG4gICAgaW5pdF90eXBlX21hcCgpIHtcbiAgICAgICAgdGhpcy50eXBlX21hcCA9IHtcbiAgICAgICAgICAgICdDdXJyZW5jeSc6ICAgICAgICB0cnVlXG4gICAgICAgICAgICAsJ0ludCc6ICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgLCdGbG9hdCc6ICAgICAgICB0cnVlXG4gICAgICAgICAgICAsJ1BlcmNlbnQnOiAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgLCdDaGVjayc6ICAgICAgICB0cnVlXG4gICAgICAgICAgICAsJ1NtYWxsIFRleHQnOiAgICB0cnVlXG4gICAgICAgICAgICAsJ0xvbmcgVGV4dCc6ICAgIHRydWVcbiAgICAgICAgICAgICwnQ29kZSc6ICAgICAgICB0cnVlXG4gICAgICAgICAgICAsJ1RleHQgRWRpdG9yJzogICAgdHJ1ZVxuICAgICAgICAgICAgLCdEYXRlJzogICAgICAgIHRydWVcbiAgICAgICAgICAgICwnRGF0ZXRpbWUnOiAgICB0cnVlXG4gICAgICAgICAgICAsJ1RpbWUnOiAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgLCdUZXh0JzogICAgICAgIHRydWVcbiAgICAgICAgICAgICwnRGF0YSc6ICAgICAgICB0cnVlXG4gICAgICAgICAgICAsJ0xpbmsnOiAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgLCdEeW5hbWljIExpbmsnOnRydWVcbiAgICAgICAgICAgICwnUGFzc3dvcmQnOiAgICB0cnVlXG4gICAgICAgICAgICAsJ1NlbGVjdCc6ICAgICAgICB0cnVlXG4gICAgICAgICAgICAsJ1JlYWQgT25seSc6ICAgIHRydWVcbiAgICAgICAgICAgICwnQXR0YWNoJzogICAgICAgIHRydWVcbiAgICAgICAgICAgICwnQXR0YWNoIEltYWdlJzp0cnVlXG4gICAgICAgICAgICAsJ1NpZ25hdHVyZSc6ICAgIHRydWVcbiAgICAgICAgICAgICwnQ29sb3InOiAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgLCdCYXJjb2RlJzogICAgICAgIHRydWVcbiAgICAgICAgICAgICwnR2VvbG9jYXRpb24nOiAgICB0cnVlXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcblxuICAgIH1cblxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2JhY2tlbmRzL3Jlc3RfY2xpZW50LmpzXG4vLyBtb2R1bGUgaWQgPSAxOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuLy8gcmVzb2x2ZXMgLiBhbmQgLi4gZWxlbWVudHMgaW4gYSBwYXRoIGFycmF5IHdpdGggZGlyZWN0b3J5IG5hbWVzIHRoZXJlXG4vLyBtdXN0IGJlIG5vIHNsYXNoZXMsIGVtcHR5IGVsZW1lbnRzLCBvciBkZXZpY2UgbmFtZXMgKGM6XFwpIGluIHRoZSBhcnJheVxuLy8gKHNvIGFsc28gbm8gbGVhZGluZyBhbmQgdHJhaWxpbmcgc2xhc2hlcyAtIGl0IGRvZXMgbm90IGRpc3Rpbmd1aXNoXG4vLyByZWxhdGl2ZSBhbmQgYWJzb2x1dGUgcGF0aHMpXG5mdW5jdGlvbiBub3JtYWxpemVBcnJheShwYXJ0cywgYWxsb3dBYm92ZVJvb3QpIHtcbiAgLy8gaWYgdGhlIHBhdGggdHJpZXMgdG8gZ28gYWJvdmUgdGhlIHJvb3QsIGB1cGAgZW5kcyB1cCA+IDBcbiAgdmFyIHVwID0gMDtcbiAgZm9yICh2YXIgaSA9IHBhcnRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgdmFyIGxhc3QgPSBwYXJ0c1tpXTtcbiAgICBpZiAobGFzdCA9PT0gJy4nKSB7XG4gICAgICBwYXJ0cy5zcGxpY2UoaSwgMSk7XG4gICAgfSBlbHNlIGlmIChsYXN0ID09PSAnLi4nKSB7XG4gICAgICBwYXJ0cy5zcGxpY2UoaSwgMSk7XG4gICAgICB1cCsrO1xuICAgIH0gZWxzZSBpZiAodXApIHtcbiAgICAgIHBhcnRzLnNwbGljZShpLCAxKTtcbiAgICAgIHVwLS07XG4gICAgfVxuICB9XG5cbiAgLy8gaWYgdGhlIHBhdGggaXMgYWxsb3dlZCB0byBnbyBhYm92ZSB0aGUgcm9vdCwgcmVzdG9yZSBsZWFkaW5nIC4uc1xuICBpZiAoYWxsb3dBYm92ZVJvb3QpIHtcbiAgICBmb3IgKDsgdXAtLTsgdXApIHtcbiAgICAgIHBhcnRzLnVuc2hpZnQoJy4uJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHBhcnRzO1xufVxuXG4vLyBTcGxpdCBhIGZpbGVuYW1lIGludG8gW3Jvb3QsIGRpciwgYmFzZW5hbWUsIGV4dF0sIHVuaXggdmVyc2lvblxuLy8gJ3Jvb3QnIGlzIGp1c3QgYSBzbGFzaCwgb3Igbm90aGluZy5cbnZhciBzcGxpdFBhdGhSZSA9XG4gICAgL14oXFwvP3wpKFtcXHNcXFNdKj8pKCg/OlxcLnsxLDJ9fFteXFwvXSs/fCkoXFwuW14uXFwvXSp8KSkoPzpbXFwvXSopJC87XG52YXIgc3BsaXRQYXRoID0gZnVuY3Rpb24oZmlsZW5hbWUpIHtcbiAgcmV0dXJuIHNwbGl0UGF0aFJlLmV4ZWMoZmlsZW5hbWUpLnNsaWNlKDEpO1xufTtcblxuLy8gcGF0aC5yZXNvbHZlKFtmcm9tIC4uLl0sIHRvKVxuLy8gcG9zaXggdmVyc2lvblxuZXhwb3J0cy5yZXNvbHZlID0gZnVuY3Rpb24oKSB7XG4gIHZhciByZXNvbHZlZFBhdGggPSAnJyxcbiAgICAgIHJlc29sdmVkQWJzb2x1dGUgPSBmYWxzZTtcblxuICBmb3IgKHZhciBpID0gYXJndW1lbnRzLmxlbmd0aCAtIDE7IGkgPj0gLTEgJiYgIXJlc29sdmVkQWJzb2x1dGU7IGktLSkge1xuICAgIHZhciBwYXRoID0gKGkgPj0gMCkgPyBhcmd1bWVudHNbaV0gOiBwcm9jZXNzLmN3ZCgpO1xuXG4gICAgLy8gU2tpcCBlbXB0eSBhbmQgaW52YWxpZCBlbnRyaWVzXG4gICAgaWYgKHR5cGVvZiBwYXRoICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQXJndW1lbnRzIHRvIHBhdGgucmVzb2x2ZSBtdXN0IGJlIHN0cmluZ3MnKTtcbiAgICB9IGVsc2UgaWYgKCFwYXRoKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICByZXNvbHZlZFBhdGggPSBwYXRoICsgJy8nICsgcmVzb2x2ZWRQYXRoO1xuICAgIHJlc29sdmVkQWJzb2x1dGUgPSBwYXRoLmNoYXJBdCgwKSA9PT0gJy8nO1xuICB9XG5cbiAgLy8gQXQgdGhpcyBwb2ludCB0aGUgcGF0aCBzaG91bGQgYmUgcmVzb2x2ZWQgdG8gYSBmdWxsIGFic29sdXRlIHBhdGgsIGJ1dFxuICAvLyBoYW5kbGUgcmVsYXRpdmUgcGF0aHMgdG8gYmUgc2FmZSAobWlnaHQgaGFwcGVuIHdoZW4gcHJvY2Vzcy5jd2QoKSBmYWlscylcblxuICAvLyBOb3JtYWxpemUgdGhlIHBhdGhcbiAgcmVzb2x2ZWRQYXRoID0gbm9ybWFsaXplQXJyYXkoZmlsdGVyKHJlc29sdmVkUGF0aC5zcGxpdCgnLycpLCBmdW5jdGlvbihwKSB7XG4gICAgcmV0dXJuICEhcDtcbiAgfSksICFyZXNvbHZlZEFic29sdXRlKS5qb2luKCcvJyk7XG5cbiAgcmV0dXJuICgocmVzb2x2ZWRBYnNvbHV0ZSA/ICcvJyA6ICcnKSArIHJlc29sdmVkUGF0aCkgfHwgJy4nO1xufTtcblxuLy8gcGF0aC5ub3JtYWxpemUocGF0aClcbi8vIHBvc2l4IHZlcnNpb25cbmV4cG9ydHMubm9ybWFsaXplID0gZnVuY3Rpb24ocGF0aCkge1xuICB2YXIgaXNBYnNvbHV0ZSA9IGV4cG9ydHMuaXNBYnNvbHV0ZShwYXRoKSxcbiAgICAgIHRyYWlsaW5nU2xhc2ggPSBzdWJzdHIocGF0aCwgLTEpID09PSAnLyc7XG5cbiAgLy8gTm9ybWFsaXplIHRoZSBwYXRoXG4gIHBhdGggPSBub3JtYWxpemVBcnJheShmaWx0ZXIocGF0aC5zcGxpdCgnLycpLCBmdW5jdGlvbihwKSB7XG4gICAgcmV0dXJuICEhcDtcbiAgfSksICFpc0Fic29sdXRlKS5qb2luKCcvJyk7XG5cbiAgaWYgKCFwYXRoICYmICFpc0Fic29sdXRlKSB7XG4gICAgcGF0aCA9ICcuJztcbiAgfVxuICBpZiAocGF0aCAmJiB0cmFpbGluZ1NsYXNoKSB7XG4gICAgcGF0aCArPSAnLyc7XG4gIH1cblxuICByZXR1cm4gKGlzQWJzb2x1dGUgPyAnLycgOiAnJykgKyBwYXRoO1xufTtcblxuLy8gcG9zaXggdmVyc2lvblxuZXhwb3J0cy5pc0Fic29sdXRlID0gZnVuY3Rpb24ocGF0aCkge1xuICByZXR1cm4gcGF0aC5jaGFyQXQoMCkgPT09ICcvJztcbn07XG5cbi8vIHBvc2l4IHZlcnNpb25cbmV4cG9ydHMuam9pbiA9IGZ1bmN0aW9uKCkge1xuICB2YXIgcGF0aHMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDApO1xuICByZXR1cm4gZXhwb3J0cy5ub3JtYWxpemUoZmlsdGVyKHBhdGhzLCBmdW5jdGlvbihwLCBpbmRleCkge1xuICAgIGlmICh0eXBlb2YgcCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50cyB0byBwYXRoLmpvaW4gbXVzdCBiZSBzdHJpbmdzJyk7XG4gICAgfVxuICAgIHJldHVybiBwO1xuICB9KS5qb2luKCcvJykpO1xufTtcblxuXG4vLyBwYXRoLnJlbGF0aXZlKGZyb20sIHRvKVxuLy8gcG9zaXggdmVyc2lvblxuZXhwb3J0cy5yZWxhdGl2ZSA9IGZ1bmN0aW9uKGZyb20sIHRvKSB7XG4gIGZyb20gPSBleHBvcnRzLnJlc29sdmUoZnJvbSkuc3Vic3RyKDEpO1xuICB0byA9IGV4cG9ydHMucmVzb2x2ZSh0bykuc3Vic3RyKDEpO1xuXG4gIGZ1bmN0aW9uIHRyaW0oYXJyKSB7XG4gICAgdmFyIHN0YXJ0ID0gMDtcbiAgICBmb3IgKDsgc3RhcnQgPCBhcnIubGVuZ3RoOyBzdGFydCsrKSB7XG4gICAgICBpZiAoYXJyW3N0YXJ0XSAhPT0gJycpIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBlbmQgPSBhcnIubGVuZ3RoIC0gMTtcbiAgICBmb3IgKDsgZW5kID49IDA7IGVuZC0tKSB7XG4gICAgICBpZiAoYXJyW2VuZF0gIT09ICcnKSBicmVhaztcbiAgICB9XG5cbiAgICBpZiAoc3RhcnQgPiBlbmQpIHJldHVybiBbXTtcbiAgICByZXR1cm4gYXJyLnNsaWNlKHN0YXJ0LCBlbmQgLSBzdGFydCArIDEpO1xuICB9XG5cbiAgdmFyIGZyb21QYXJ0cyA9IHRyaW0oZnJvbS5zcGxpdCgnLycpKTtcbiAgdmFyIHRvUGFydHMgPSB0cmltKHRvLnNwbGl0KCcvJykpO1xuXG4gIHZhciBsZW5ndGggPSBNYXRoLm1pbihmcm9tUGFydHMubGVuZ3RoLCB0b1BhcnRzLmxlbmd0aCk7XG4gIHZhciBzYW1lUGFydHNMZW5ndGggPSBsZW5ndGg7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoZnJvbVBhcnRzW2ldICE9PSB0b1BhcnRzW2ldKSB7XG4gICAgICBzYW1lUGFydHNMZW5ndGggPSBpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgdmFyIG91dHB1dFBhcnRzID0gW107XG4gIGZvciAodmFyIGkgPSBzYW1lUGFydHNMZW5ndGg7IGkgPCBmcm9tUGFydHMubGVuZ3RoOyBpKyspIHtcbiAgICBvdXRwdXRQYXJ0cy5wdXNoKCcuLicpO1xuICB9XG5cbiAgb3V0cHV0UGFydHMgPSBvdXRwdXRQYXJ0cy5jb25jYXQodG9QYXJ0cy5zbGljZShzYW1lUGFydHNMZW5ndGgpKTtcblxuICByZXR1cm4gb3V0cHV0UGFydHMuam9pbignLycpO1xufTtcblxuZXhwb3J0cy5zZXAgPSAnLyc7XG5leHBvcnRzLmRlbGltaXRlciA9ICc6JztcblxuZXhwb3J0cy5kaXJuYW1lID0gZnVuY3Rpb24ocGF0aCkge1xuICB2YXIgcmVzdWx0ID0gc3BsaXRQYXRoKHBhdGgpLFxuICAgICAgcm9vdCA9IHJlc3VsdFswXSxcbiAgICAgIGRpciA9IHJlc3VsdFsxXTtcblxuICBpZiAoIXJvb3QgJiYgIWRpcikge1xuICAgIC8vIE5vIGRpcm5hbWUgd2hhdHNvZXZlclxuICAgIHJldHVybiAnLic7XG4gIH1cblxuICBpZiAoZGlyKSB7XG4gICAgLy8gSXQgaGFzIGEgZGlybmFtZSwgc3RyaXAgdHJhaWxpbmcgc2xhc2hcbiAgICBkaXIgPSBkaXIuc3Vic3RyKDAsIGRpci5sZW5ndGggLSAxKTtcbiAgfVxuXG4gIHJldHVybiByb290ICsgZGlyO1xufTtcblxuXG5leHBvcnRzLmJhc2VuYW1lID0gZnVuY3Rpb24ocGF0aCwgZXh0KSB7XG4gIHZhciBmID0gc3BsaXRQYXRoKHBhdGgpWzJdO1xuICAvLyBUT0RPOiBtYWtlIHRoaXMgY29tcGFyaXNvbiBjYXNlLWluc2Vuc2l0aXZlIG9uIHdpbmRvd3M/XG4gIGlmIChleHQgJiYgZi5zdWJzdHIoLTEgKiBleHQubGVuZ3RoKSA9PT0gZXh0KSB7XG4gICAgZiA9IGYuc3Vic3RyKDAsIGYubGVuZ3RoIC0gZXh0Lmxlbmd0aCk7XG4gIH1cbiAgcmV0dXJuIGY7XG59O1xuXG5cbmV4cG9ydHMuZXh0bmFtZSA9IGZ1bmN0aW9uKHBhdGgpIHtcbiAgcmV0dXJuIHNwbGl0UGF0aChwYXRoKVszXTtcbn07XG5cbmZ1bmN0aW9uIGZpbHRlciAoeHMsIGYpIHtcbiAgICBpZiAoeHMuZmlsdGVyKSByZXR1cm4geHMuZmlsdGVyKGYpO1xuICAgIHZhciByZXMgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHhzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChmKHhzW2ldLCBpLCB4cykpIHJlcy5wdXNoKHhzW2ldKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cblxuLy8gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHIgLSBuZWdhdGl2ZSBpbmRleCBkb24ndCB3b3JrIGluIElFOFxudmFyIHN1YnN0ciA9ICdhYicuc3Vic3RyKC0xKSA9PT0gJ2InXG4gICAgPyBmdW5jdGlvbiAoc3RyLCBzdGFydCwgbGVuKSB7IHJldHVybiBzdHIuc3Vic3RyKHN0YXJ0LCBsZW4pIH1cbiAgICA6IGZ1bmN0aW9uIChzdHIsIHN0YXJ0LCBsZW4pIHtcbiAgICAgICAgaWYgKHN0YXJ0IDwgMCkgc3RhcnQgPSBzdHIubGVuZ3RoICsgc3RhcnQ7XG4gICAgICAgIHJldHVybiBzdHIuc3Vic3RyKHN0YXJ0LCBsZW4pO1xuICAgIH1cbjtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3BhdGgtYnJvd3NlcmlmeS9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcbmNvbnN0IERyb3Bkb3duID0gcmVxdWlyZSgnLi9kcm9wZG93bicpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBhZGQodGFnLCBjbGFzc05hbWUsIHBhcmVudCkge1xuICAgICAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnKTtcbiAgICAgICAgaWYgKGNsYXNzTmFtZSkge1xuICAgICAgICAgICAgZm9yIChsZXQgYyBvZiBjbGFzc05hbWUuc3BsaXQoJyAnKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkX2NsYXNzKGVsZW1lbnQsIGMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9LFxuXG4gICAgcmVtb3ZlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xuICAgIH0sXG5cbiAgICBhZGRfY2xhc3MoZWxlbWVudCwgY2xhc3NOYW1lKSB7XG4gICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdCkge1xuICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTmFtZSArPSBcIiBcIiArIGNsYXNzTmFtZTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICByZW1vdmVfY2xhc3MoZWxlbWVudCwgY2xhc3NOYW1lKSB7XG4gICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdCkge1xuICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTmFtZSA9IGVsZW1lbnQuY2xhc3NOYW1lLnJlcGxhY2UobmV3IFJlZ0V4cCgnKF58XFxcXGIpJyArIGNsYXNzTmFtZS5zcGxpdCgnICcpLmpvaW4oJ3wnKSArICcoXFxcXGJ8JCknLCAnZ2knKSwgJyAnKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICB0b2dnbGUoZWxlbWVudCwgZGVmYXVsdF9kaXNwbGF5ID0gJycpIHtcbiAgICAgICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gZWxlbWVudC5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScgPyBkZWZhdWx0X2Rpc3BsYXkgOiAnbm9uZSc7XG4gICAgfSxcblxuICAgIG1ha2VfZHJvcGRvd24obGFiZWwsIHBhcmVudCwgYnRuX2NsYXNzID0gJ2J0bi1zZWNvbmRhcnknKSB7XG4gICAgICAgIHJldHVybiBuZXcgRHJvcGRvd24oe3BhcmVudDogcGFyZW50LCBsYWJlbDpsYWJlbCwgYnRuX2NsYXNzOmJ0bl9jbGFzc30pO1xuICAgIH1cblxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NsaWVudC91aS9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMjBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcblxuY2xhc3MgRHJvcGRvd24ge1xuICAgIGNvbnN0cnVjdG9yKHtwYXJlbnQsIGxhYmVsLCBidG5fY2xhc3MgPSAnYnRuLXNlY29uZGFyeScsIGl0ZW1zID0gW119KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgYXJndW1lbnRzWzBdKTtcblxuICAgICAgICB0aGlzLmRyb3Bkb3duX2l0ZW1zID0gW107XG4gICAgICAgIHRoaXMuc2V0dXBfYmFja2dyb3VuZF9jbGljaygpO1xuICAgICAgICB0aGlzLm1ha2UoKTtcblxuICAgICAgICAvLyBpbml0IGl0ZW1zXG4gICAgICAgIGlmICh0aGlzLml0ZW1zKSB7XG4gICAgICAgICAgICBmb3IgKGl0ZW0gb2YgdGhpcy5pdGVtcykge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkX2l0ZW0oaXRlbS5sYWJlbCwgaXRlbS5hY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0dXBfYmFja2dyb3VuZF9jbGljaygpIHtcbiAgICAgICAgaWYgKCFkb2N1bWVudC5kcm9wZG93bl9zZXR1cCkge1xuICAgICAgICAgICAgZnJhcHBlLmRyb3Bkb3ducyA9IFtdO1xuICAgICAgICAgICAgLy8gc2V0dXAgaGlkaW5nIGFsbCBkcm9wZG93bnMgb24gY2xpY2tcbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZCBvZiBmcmFwcGUuZHJvcGRvd25zKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkLmJ1dHRvbiAhPT0gZXZlbnQudGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkLmNvbGxhcHNlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGRvY3VtZW50LmRyb3Bkb3duX3NldHVwID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBmcmFwcGUuZHJvcGRvd25zLnB1c2godGhpcyk7XG4gICAgfVxuXG4gICAgbWFrZSgpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93biA9IGZyYXBwZS51aS5hZGQoJ2RpdicsICdkcm9wZG93bicsIHRoaXMucGFyZW50KTtcbiAgICAgICAgdGhpcy5tYWtlX2J1dHRvbigpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duX21lbnUgPSBmcmFwcGUudWkuYWRkKCdkaXYnLCAnZHJvcGRvd24tbWVudScsIHRoaXMuZHJvcGRvd24pO1xuICAgIH1cblxuICAgIG1ha2VfYnV0dG9uKCkge1xuICAgICAgICB0aGlzLmJ1dHRvbiA9IGZyYXBwZS51aS5hZGQoJ2J1dHRvbicsICdidG4gJyArIHRoaXMuYnRuX2NsYXNzLFxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bik7XG4gICAgICAgIGZyYXBwZS51aS5hZGRfY2xhc3ModGhpcy5idXR0b24sICdkcm9wZG93bi10b2dnbGUnKTtcbiAgICAgICAgdGhpcy5idXR0b24udGV4dENvbnRlbnQgPSB0aGlzLmxhYmVsO1xuICAgICAgICB0aGlzLmJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGV4cGFuZCgpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XG4gICAgICAgIHRoaXMuZHJvcGRvd25fbWVudS5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XG4gICAgfVxuXG4gICAgY29sbGFwc2UoKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd24uY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duX21lbnUuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xuICAgIH1cblxuICAgIHRvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5jbGFzc0xpc3QudG9nZ2xlKCdzaG93Jyk7XG4gICAgICAgIHRoaXMuZHJvcGRvd25fbWVudS5jbGFzc0xpc3QudG9nZ2xlKCdzaG93Jyk7XG4gICAgfVxuXG4gICAgYWRkX2l0ZW0obGFiZWwsIGFjdGlvbikge1xuICAgICAgICBsZXQgaXRlbSA9IGZyYXBwZS51aS5hZGQoJ2J1dHRvbicsICdkcm9wZG93bi1pdGVtJywgdGhpcy5kcm9wZG93bl9tZW51KTtcbiAgICAgICAgaXRlbS50ZXh0Q29udGVudCA9IGxhYmVsO1xuICAgICAgICBpdGVtLnNldEF0dHJpYnV0ZSgndHlwZScsICdidXR0b24nKTtcbiAgICAgICAgaWYgKHR5cGVvZiBhY3Rpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpdGVtLnNyYyA9IGFjdGlvbjtcbiAgICAgICAgICAgIGl0ZW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgZnJhcHBlLnJvdXRlci5zZXRfcm91dGUoYWN0aW9uKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpdGVtLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGF3YWl0IGFjdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRyb3Bkb3duX2l0ZW1zLnB1c2goaXRlbSk7XG4gICAgfVxuXG4gICAgZmxvYXRfcmlnaHQoKSB7XG4gICAgICAgIGZyYXBwZS51aS5hZGRfY2xhc3ModGhpcy5kcm9wZG93biwgJ2Zsb2F0LXJpZ2h0Jyk7XG4gICAgICAgIGZyYXBwZS51aS5hZGRfY2xhc3ModGhpcy5kcm9wZG93bl9tZW51LCAnZHJvcGRvd24tbWVudS1yaWdodCcpO1xuICAgIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBEcm9wZG93bjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9mcmFwcGVqcy9jbGllbnQvdWkvZHJvcGRvd24uanNcbi8vIG1vZHVsZSBpZCA9IDIxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5jb25zdCBTZWFyY2ggPSByZXF1aXJlKCcuL3NlYXJjaCcpO1xuY29uc3QgUm91dGVyID0gcmVxdWlyZSgnZnJhcHBlanMvY29tbW9uL3JvdXRlcicpO1xuY29uc3QgUGFnZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzL2NsaWVudC92aWV3L3BhZ2UnKTtcbmNvbnN0IExpc3QgPSByZXF1aXJlKCdmcmFwcGVqcy9jbGllbnQvdmlldy9saXN0Jyk7XG5jb25zdCBGb3JtID0gcmVxdWlyZSgnZnJhcHBlanMvY2xpZW50L3ZpZXcvZm9ybScpO1xuY29uc3QgTmF2YmFyID0gcmVxdWlyZSgnLi9uYXZiYXInKTtcblxubW9kdWxlLmV4cG9ydHMgPSBjbGFzcyBEZXNrIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZnJhcHBlLnJvdXRlciA9IG5ldyBSb3V0ZXIoKTtcbiAgICAgICAgZnJhcHBlLnJvdXRlci5saXN0ZW4oKTtcblxuICAgICAgICBsZXQgYm9keSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKTtcbiAgICAgICAgdGhpcy5uYXZiYXIgPSBuZXcgTmF2YmFyKCk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ2NvbnRhaW5lci1mbHVpZCcsIGJvZHkpO1xuXG4gICAgICAgIHRoaXMuY29udGFpbmVyX3JvdyA9IGZyYXBwZS51aS5hZGQoJ2RpdicsICdyb3cnLCB0aGlzLmNvbnRhaW5lcilcbiAgICAgICAgdGhpcy5zaWRlYmFyID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ2NvbC1tZC0yIHAtMyBzaWRlYmFyJywgdGhpcy5jb250YWluZXJfcm93KTtcbiAgICAgICAgdGhpcy5ib2R5ID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ2NvbC1tZC0xMCBwLTMgbWFpbicsIHRoaXMuY29udGFpbmVyX3Jvdyk7XG5cbiAgICAgICAgdGhpcy5zaWRlYmFyX2l0ZW1zID0gW107XG4gICAgICAgIHRoaXMucGFnZXMgPSB7XG4gICAgICAgICAgICBsaXN0czoge30sXG4gICAgICAgICAgICBmb3Jtczoge31cbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmluaXRfcm91dGVzKCk7XG5cbiAgICAgICAgLy8gdGhpcy5zZWFyY2ggPSBuZXcgU2VhcmNoKHRoaXMubmF2KTtcbiAgICB9XG5cbiAgICBpbml0X3JvdXRlcygpIHtcbiAgICAgICAgZnJhcHBlLnJvdXRlci5hZGQoJ25vdC1mb3VuZCcsIGFzeW5jIChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5ub3RfZm91bmRfcGFnZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubm90X2ZvdW5kX3BhZ2UgPSBuZXcgUGFnZSgnTm90IEZvdW5kJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCB0aGlzLm5vdF9mb3VuZF9wYWdlLnNob3coKTtcbiAgICAgICAgICAgIHRoaXMubm90X2ZvdW5kX3BhZ2UucmVuZGVyX2Vycm9yKCdOb3QgRm91bmQnLCBwYXJhbXMgPyBwYXJhbXMucm91dGUgOiAnJyk7XG4gICAgICAgIH0pXG5cbiAgICAgICAgZnJhcHBlLnJvdXRlci5hZGQoJ2xpc3QvOmRvY3R5cGUnLCBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBsZXQgcGFnZSA9IHRoaXMuZ2V0X2xpc3RfcGFnZShwYXJhbXMuZG9jdHlwZSk7XG4gICAgICAgICAgICBhd2FpdCBwYWdlLnNob3cocGFyYW1zKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZnJhcHBlLnJvdXRlci5hZGQoJ2VkaXQvOmRvY3R5cGUvOm5hbWUnLCBhc3luYyAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICBsZXQgcGFnZSA9IHRoaXMuZ2V0X2Zvcm1fcGFnZShwYXJhbXMuZG9jdHlwZSk7XG4gICAgICAgICAgICBhd2FpdCBwYWdlLnNob3cocGFyYW1zKTtcbiAgICAgICAgfSlcblxuICAgICAgICBmcmFwcGUucm91dGVyLmFkZCgnbmV3Lzpkb2N0eXBlJywgYXN5bmMgKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgbGV0IGRvYyA9IGF3YWl0IGZyYXBwZS5nZXRfbmV3X2RvYyhwYXJhbXMuZG9jdHlwZSk7XG4gICAgICAgICAgICBmcmFwcGUucm91dGVyLnNldF9yb3V0ZSgnZWRpdCcsIGRvYy5kb2N0eXBlLCBkb2MubmFtZSk7XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgZ2V0X2xpc3RfcGFnZShkb2N0eXBlKSB7XG4gICAgICAgIGlmICghdGhpcy5wYWdlcy5saXN0c1tkb2N0eXBlXSkge1xuICAgICAgICAgICAgbGV0IHBhZ2UgPSBuZXcgUGFnZSgnTGlzdCAnICsgZG9jdHlwZSk7XG4gICAgICAgICAgICBwYWdlLmxpc3QgPSBuZXcgTGlzdCh7XG4gICAgICAgICAgICAgICAgZG9jdHlwZTogZG9jdHlwZSxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IHBhZ2UuYm9keVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBwYWdlLm9uKCdzaG93JywgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGF3YWl0IHBhZ2UubGlzdC5ydW4oKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5wYWdlcy5saXN0c1tkb2N0eXBlXSA9IHBhZ2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucGFnZXMubGlzdHNbZG9jdHlwZV07XG4gICAgfVxuXG4gICAgZ2V0X2Zvcm1fcGFnZShkb2N0eXBlKSB7XG4gICAgICAgIGlmICghdGhpcy5wYWdlcy5mb3Jtc1tkb2N0eXBlXSkge1xuICAgICAgICAgICAgbGV0IHBhZ2UgPSBuZXcgUGFnZSgnRWRpdCAnICsgZG9jdHlwZSk7XG4gICAgICAgICAgICBwYWdlLmZvcm0gPSBuZXcgRm9ybSh7XG4gICAgICAgICAgICAgICAgZG9jdHlwZTogZG9jdHlwZSxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IHBhZ2UuYm9keVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBwYWdlLm9uKCdzaG93JywgYXN5bmMgKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2UuZG9jID0gYXdhaXQgZnJhcHBlLmdldF9kb2MocGFyYW1zLmRvY3R5cGUsIHBhcmFtcy5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcGFnZS5mb3JtLnVzZShwYWdlLmRvYyk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICBwYWdlLnJlbmRlcl9lcnJvcihlLnN0YXR1c19jb2RlLCBlLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5wYWdlcy5mb3Jtc1tkb2N0eXBlXSA9IHBhZ2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucGFnZXMuZm9ybXNbZG9jdHlwZV07XG4gICAgfVxuXG4gICAgYWRkX3NpZGViYXJfaXRlbShsYWJlbCwgYWN0aW9uKSB7XG4gICAgICAgIGxldCBpdGVtID0gZnJhcHBlLnVpLmFkZCgnYScsICcnLCBmcmFwcGUudWkuYWRkKCdwJywgbnVsbCwgZnJhcHBlLmRlc2suc2lkZWJhcikpO1xuICAgICAgICBpdGVtLnRleHRDb250ZW50ID0gbGFiZWw7XG4gICAgICAgIGlmICh0eXBlb2YgYWN0aW9uID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgaXRlbS5ocmVmID0gYWN0aW9uO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaXRlbS5hZGRFdmVudEhhbmRsZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvbigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9mcmFwcGVqcy9jbGllbnQvZGVzay9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMjJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBjbGFzcyBTZWFyY2gge1xuICAgIGNvbnN0cnVjdG9yKHBhcmVudCkge1xuICAgICAgICB0aGlzLmlucHV0ID0gZnJhcHBlLnVpLmFkZCgnaW5wdXQnLCAnZm9ybS1jb250cm9sIG5hdi1zZWFyY2gnLCBwYXJlbnQpO1xuICAgICAgICB0aGlzLmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXByZXNzJywgZnVuY3Rpb24oZXZlbnQpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5rZXlDb2RlPT09MTMpIHtcbiAgICAgICAgICAgICAgICBsZXQgbGlzdCA9IGZyYXBwZS5yb3V0ZXIuY3VycmVudF9wYWdlLmxpc3Q7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC5zZWFyY2hfdGV4dCA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGxpc3QucnVuKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9mcmFwcGVqcy9jbGllbnQvZGVzay9zZWFyY2guanNcbi8vIG1vZHVsZSBpZCA9IDIzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gY2xhc3MgUm91dGVyIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50X3BhZ2UgPSBudWxsO1xuICAgICAgICB0aGlzLnN0YXRpY19yb3V0ZXMgPSBbXTtcbiAgICAgICAgdGhpcy5keW5hbWljX3JvdXRlcyA9IFtdO1xuICAgIH1cblxuICAgIGFkZChyb3V0ZSwgaGFuZGxlcikge1xuICAgICAgICBsZXQgcGFnZSA9IHtoYW5kbGVyOiBoYW5kbGVyLCByb3V0ZTogcm91dGV9O1xuXG4gICAgICAgIC8vICcvdG9kby86bmFtZS86cGxhY2UnLm1hdGNoKC86KFteL10rKS9nKTtcbiAgICAgICAgcGFnZS5wYXJhbV9rZXlzID0gcm91dGUubWF0Y2goLzooW14vXSspL2cpO1xuXG4gICAgICAgIGlmIChwYWdlLnBhcmFtX2tleXMpIHtcbiAgICAgICAgICAgIC8vIG1ha2UgZXhwcmVzc2lvblxuICAgICAgICAgICAgLy8gJy90b2RvLzpuYW1lLzpwbGFjZScucmVwbGFjZSgvXFwvOihbXi9dKykvZywgXCJcXC8oW14vXSspXCIpO1xuICAgICAgICAgICAgcGFnZS5kZXB0aCA9IHJvdXRlLnNwbGl0KCcvJykubGVuZ3RoO1xuICAgICAgICAgICAgcGFnZS5leHByZXNzaW9uID0gcm91dGUucmVwbGFjZSgvXFwvOihbXi9dKykvZywgXCJcXC8oW14vXSspXCIpO1xuICAgICAgICAgICAgdGhpcy5keW5hbWljX3JvdXRlcy5wdXNoKHBhZ2UpO1xuICAgICAgICAgICAgdGhpcy5zb3J0X2R5bmFtaWNfcm91dGVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRpY19yb3V0ZXMucHVzaChwYWdlKTtcbiAgICAgICAgICAgIHRoaXMuc29ydF9zdGF0aWNfcm91dGVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzb3J0X2R5bmFtaWNfcm91dGVzKCkge1xuICAgICAgICAvLyByb3V0ZXMgd2l0aCBtb3JlIHBhcnRzIGZpcnN0XG4gICAgICAgIHRoaXMuZHluYW1pY19yb3V0ZXMgPSB0aGlzLmR5bmFtaWNfcm91dGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGlmIChhLmRlcHRoIDwgYi5kZXB0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChhLmRlcHRoID4gYi5kZXB0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGEucGFyYW1fa2V5cy5sZW5ndGggIT09IGIucGFyYW1fa2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEucGFyYW1fa2V5cy5sZW5ndGggPiBiLnBhcmFtX2tleXMubGVuZ3RoID8gMSA6IC0xO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhLnJvdXRlLmxlbmd0aCA+IGIucm91dGUubGVuZ3RoID8gMSA6IC0xO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBzb3J0X3N0YXRpY19yb3V0ZXMoKSB7XG4gICAgICAgIC8vIGxvbmdlciByb3V0ZXMgb24gZmlyc3RcbiAgICAgICAgdGhpcy5zdGF0aWNfcm91dGVzID0gdGhpcy5zdGF0aWNfcm91dGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBhLnJvdXRlLmxlbmd0aCA+IGIucm91dGUubGVuZ3RoID8gMSA6IC0xO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBsaXN0ZW4oKSB7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdoYXNoY2hhbmdlJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3cod2luZG93LmxvY2F0aW9uLmhhc2gpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXRfcm91dGUoLi4ucGFydHMpIHtcbiAgICAgICAgY29uc3Qgcm91dGUgPSBwYXJ0cy5qb2luKCcvJyk7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gcm91dGU7XG4gICAgfVxuXG4gICAgYXN5bmMgc2hvdyhyb3V0ZSkge1xuICAgICAgICBpZiAocm91dGUgJiYgcm91dGVbMF09PT0nIycpIHtcbiAgICAgICAgICAgIHJvdXRlID0gcm91dGUuc3Vic3RyKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFyb3V0ZSkge1xuICAgICAgICAgICAgcm91dGUgPSB0aGlzLmRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHBhZ2UgPSB0aGlzLm1hdGNoKHJvdXRlKTtcblxuICAgICAgICBpZiAocGFnZSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBwYWdlLmhhbmRsZXI9PT0nZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgcGFnZS5oYW5kbGVyKHBhZ2UucGFyYW1zKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgcGFnZS5oYW5kbGVyLnNob3cocGFnZS5wYXJhbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5tYXRjaCgnbm90LWZvdW5kJykuaGFuZGxlcih7cm91dGU6IHJvdXRlfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYXRjaChyb3V0ZSkge1xuICAgICAgICAvLyBtYXRjaCBzdGF0aWNcbiAgICAgICAgZm9yKGxldCBwYWdlIG9mIHRoaXMuc3RhdGljX3JvdXRlcykge1xuICAgICAgICAgICAgaWYgKHBhZ2Uucm91dGUgPT09IHJvdXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtoYW5kbGVyOiBwYWdlLmhhbmRsZXJ9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gbWF0Y2ggZHluYW1pY1xuICAgICAgICBmb3IobGV0IHBhZ2Ugb2YgdGhpcy5keW5hbWljX3JvdXRlcykge1xuICAgICAgICAgICAgbGV0IG1hdGNoZXMgPSByb3V0ZS5tYXRjaChuZXcgUmVnRXhwKHBhZ2UuZXhwcmVzc2lvbikpO1xuXG4gICAgICAgICAgICBpZiAobWF0Y2hlcyAmJiBtYXRjaGVzLmxlbmd0aCA9PSBwYWdlLnBhcmFtX2tleXMubGVuZ3RoICsgMSkge1xuICAgICAgICAgICAgICAgIGxldCBwYXJhbXMgPSB7fVxuICAgICAgICAgICAgICAgIGZvciAobGV0IGk9MDsgaSA8IHBhZ2UucGFyYW1fa2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXNbcGFnZS5wYXJhbV9rZXlzW2ldLnN1YnN0cigxKV0gPSBtYXRjaGVzW2kgKyAxXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtoYW5kbGVyOnBhZ2UuaGFuZGxlciwgcGFyYW1zOiBwYXJhbXN9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NvbW1vbi9yb3V0ZXIuanNcbi8vIG1vZHVsZSBpZCA9IDI0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gY2xhc3MgUGFnZSB7XG4gICAgY29uc3RydWN0b3IodGl0bGUpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVycyA9IHt9O1xuICAgICAgICB0aGlzLnRpdGxlID0gdGl0bGU7XG4gICAgICAgIHRoaXMubWFrZSgpO1xuICAgIH1cblxuICAgIG1ha2UoKSB7XG4gICAgICAgIHRoaXMud3JhcHBlciA9IGZyYXBwZS51aS5hZGQoJ2RpdicsICdwYWdlIGhpZGUnLCBmcmFwcGUuZGVzay5ib2R5KTtcbiAgICAgICAgdGhpcy5ib2R5ID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ3BhZ2UtYm9keScsIHRoaXMud3JhcHBlcik7XG4gICAgfVxuXG4gICAgaGlkZSgpIHtcbiAgICAgICAgdGhpcy53cmFwcGVyLmNsYXNzTGlzdC5hZGQoJ2hpZGUnKTtcbiAgICAgICAgdGhpcy50cmlnZ2VyKCdoaWRlJyk7XG4gICAgfVxuXG4gICAgYXN5bmMgc2hvdyhwYXJhbXMpIHtcbiAgICAgICAgaWYgKGZyYXBwZS5yb3V0ZXIuY3VycmVudF9wYWdlKSB7XG4gICAgICAgICAgICBmcmFwcGUucm91dGVyLmN1cnJlbnRfcGFnZS5oaWRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53cmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGUnKTtcbiAgICAgICAgdGhpcy5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGUnKTtcblxuICAgICAgICBpZiAodGhpcy5wYWdlX2Vycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VfZXJyb3IuY2xhc3NMaXN0LmFkZCgnaGlkZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgZnJhcHBlLnJvdXRlci5jdXJyZW50X3BhZ2UgPSB0aGlzO1xuICAgICAgICBkb2N1bWVudC50aXRsZSA9IHRoaXMudGl0bGU7XG5cbiAgICAgICAgYXdhaXQgdGhpcy50cmlnZ2VyKCdzaG93JywgcGFyYW1zKTtcbiAgICB9XG5cbiAgICByZW5kZXJfZXJyb3IodGl0bGUsIG1lc3NhZ2UpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhZ2VfZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFnZV9lcnJvciA9IGZyYXBwZS51aS5hZGQoJ2RpdicsICdwYWdlLWVycm9yJywgdGhpcy53cmFwcGVyKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJvZHkuY2xhc3NMaXN0LmFkZCgnaGlkZScpO1xuICAgICAgICB0aGlzLnBhZ2VfZXJyb3IuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZScpO1xuICAgICAgICB0aGlzLnBhZ2VfZXJyb3IuaW5uZXJIVE1MID0gYDxoMyBjbGFzcz1cInRleHQtZXh0cmEtbXV0ZWRcIj4ke3RpdGxlID8gdGl0bGUgOiBcIlwifTwvaDM+PHAgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+JHttZXNzYWdlID8gbWVzc2FnZSA6IFwiXCJ9PC9wPmA7XG4gICAgfVxuXG4gICAgb24oZXZlbnQsIGZuKSB7XG4gICAgICAgIGlmICghdGhpcy5oYW5kbGVyc1tldmVudF0pIHRoaXMuaGFuZGxlcnNbZXZlbnRdID0gW107XG4gICAgICAgIHRoaXMuaGFuZGxlcnNbZXZlbnRdLnB1c2goZm4pO1xuICAgIH1cblxuICAgIGFzeW5jIHRyaWdnZXIoZXZlbnQsIHBhcmFtcykge1xuICAgICAgICBpZiAodGhpcy5oYW5kbGVyc1tldmVudF0pIHtcbiAgICAgICAgICAgIGZvciAobGV0IGhhbmRsZXIgb2YgdGhpcy5oYW5kbGVyc1tldmVudF0pIHtcbiAgICAgICAgICAgICAgICBhd2FpdCBoYW5kbGVyKHBhcmFtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvcGFnZS5qc1xuLy8gbW9kdWxlIGlkID0gMjVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBjbGFzcyBMaXN0IHtcbiAgICBjb25zdHJ1Y3Rvcih7ZG9jdHlwZSwgcGFyZW50LCBmaWVsZHN9KSB7XG4gICAgICAgIHRoaXMuZG9jdHlwZSA9IGRvY3R5cGU7XG4gICAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgICAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcblxuICAgICAgICB0aGlzLm1ldGEgPSBmcmFwcGUuZ2V0X21ldGEodGhpcy5kb2N0eXBlKTtcblxuICAgICAgICB0aGlzLnN0YXJ0ID0gMDtcbiAgICAgICAgdGhpcy5wYWdlX2xlbmd0aCA9IDIwO1xuXG4gICAgICAgIHRoaXMuYm9keSA9IG51bGw7XG4gICAgICAgIHRoaXMucm93cyA9IFtdO1xuICAgICAgICB0aGlzLmRhdGEgPSBbXTtcbiAgICB9XG5cbiAgICBhc3luYyBydW4oKSB7XG4gICAgICAgIHRoaXMubWFrZV9ib2R5KCk7XG4gICAgICAgIHRoaXMuc2V0X2ZpbHRlcnMoKTtcblxuICAgICAgICBsZXQgZGF0YSA9IGF3YWl0IHRoaXMubWV0YS5nZXRfbGlzdCh7XG4gICAgICAgICAgICBmaWx0ZXJzOiB0aGlzLmZpbHRlcnMsXG4gICAgICAgICAgICBzdGFydDp0aGlzLnN0YXJ0LFxuICAgICAgICAgICAgbGltaXQ6dGhpcy5wYWdlX2xlbmd0aCArIDFcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm9yIChsZXQgaT0wOyBpPCBNYXRoLm1pbih0aGlzLnBhZ2VfbGVuZ3RoLCBkYXRhLmxlbmd0aCk7IGkrKykge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJfcm93KHRoaXMuc3RhcnQgKyBpLCBkYXRhW2ldKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnN0YXJ0ID4gMCkge1xuICAgICAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhLmNvbmNhdChkYXRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNsZWFyX2VtcHR5X3Jvd3MoKTtcbiAgICAgICAgdGhpcy51cGRhdGVfbW9yZShkYXRhLmxlbmd0aCA+IHRoaXMucGFnZV9sZW5ndGgpO1xuICAgIH1cblxuICAgIGFzeW5jIGFwcGVuZCgpIHtcbiAgICAgICAgdGhpcy5zdGFydCArPSB0aGlzLnBhZ2VfbGVuZ3RoO1xuICAgICAgICBhd2FpdCB0aGlzLnJ1bigpO1xuICAgIH1cblxuICAgIHNldF9maWx0ZXJzKCkge1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSB7fTtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoX2lucHV0LnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcnMua2V5d29yZHMgPSBbJ2xpa2UnLCAnJScgKyB0aGlzLnNlYXJjaF9pbnB1dC52YWx1ZSArICclJ107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYWtlX2JvZHkoKSB7XG4gICAgICAgIGlmICghdGhpcy5ib2R5KSB7XG4gICAgICAgICAgICB0aGlzLm1ha2VfdG9vbGJhcigpO1xuICAgICAgICAgICAgLy90aGlzLm1ha2VfbmV3KCk7XG4gICAgICAgICAgICB0aGlzLmJvZHkgPSBmcmFwcGUudWkuYWRkKCdkaXYnLCAnbGlzdC1ib2R5JywgdGhpcy5wYXJlbnQpO1xuICAgICAgICAgICAgdGhpcy5tYWtlX21vcmVfYnRuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYWtlX3Rvb2xiYXIoKSB7XG4gICAgICAgIHRoaXMudG9vbGJhciA9IGZyYXBwZS51aS5hZGQoJ2RpdicsICdsaXN0LXRvb2xiYXInLCB0aGlzLnBhcmVudCk7XG4gICAgICAgIHRoaXMudG9vbGJhci5pbm5lckhUTUwgPSBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGNvbC05XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBsaXN0LXNlYXJjaCBtYi0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoLi4uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLXNlYXJjaFwiPlNlYXJjaDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBjb2wtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI25ldy8ke2ZyYXBwZS5zbHVnKHRoaXMuZG9jdHlwZSl9XCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgTmV3XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICBgO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoX2lucHV0ID0gdGhpcy50b29sYmFyLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XG4gICAgICAgIHRoaXMuc2VhcmNoX2lucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXByZXNzJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQua2V5Q29kZT09PTEzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ydW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hfYnV0dG9uID0gdGhpcy50b29sYmFyLnF1ZXJ5U2VsZWN0b3IoJy5idG4tc2VhcmNoJyk7XG4gICAgICAgIHRoaXMuc2VhcmNoX2J1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ydW4oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbWFrZV9tb3JlX2J0bigpIHtcbiAgICAgICAgdGhpcy5tb3JlX2J0biA9IGZyYXBwZS51aS5hZGQoJ2J1dHRvbicsICdidG4gYnRuLXNlY29uZGFyeSBoaWRlJywgdGhpcy5wYXJlbnQpO1xuICAgICAgICB0aGlzLm1vcmVfYnRuLnRleHRDb250ZW50ID0gJ01vcmUnO1xuICAgICAgICB0aGlzLm1vcmVfYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHBlbmQoKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICByZW5kZXJfcm93KGksIGRhdGEpIHtcbiAgICAgICAgbGV0IHJvdyA9IHRoaXMuZ2V0X3JvdyhpKTtcbiAgICAgICAgcm93LmlubmVySFRNTCA9IHRoaXMubWV0YS5nZXRfcm93X2h0bWwoZGF0YSk7XG4gICAgICAgIHJvdy5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICB9XG5cbiAgICBnZXRfcm93KGkpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJvd3NbaV0pIHtcbiAgICAgICAgICAgIHRoaXMucm93c1tpXSA9IGZyYXBwZS51aS5hZGQoJ2RpdicsICdsaXN0LXJvdyBweS0yJywgdGhpcy5ib2R5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5yb3dzW2ldO1xuICAgIH1cblxuICAgIGNsZWFyX2VtcHR5X3Jvd3MoKSB7XG4gICAgICAgIGlmICh0aGlzLnJvd3MubGVuZ3RoID4gdGhpcy5kYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaT10aGlzLmRhdGEubGVuZ3RoOyBpIDwgdGhpcy5yb3dzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IHJvdyA9IHRoaXMuZ2V0X3JvdyhpKTtcbiAgICAgICAgICAgICAgICByb3cuaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgcm93LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVfbW9yZShzaG93KSB7XG4gICAgICAgIGlmIChzaG93KSB7XG4gICAgICAgICAgICB0aGlzLm1vcmVfYnRuLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGUnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubW9yZV9idG4uY2xhc3NMaXN0LmFkZCgnaGlkZScpO1xuICAgICAgICB9XG4gICAgfVxuXG59O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NsaWVudC92aWV3L2xpc3QuanNcbi8vIG1vZHVsZSBpZCA9IDI2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5jb25zdCBjb250cm9scyA9IHJlcXVpcmUoJy4vY29udHJvbHMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBjbGFzcyBGb3JtIHtcbiAgICBjb25zdHJ1Y3Rvcih7ZG9jdHlwZSwgcGFyZW50LCBzdWJtaXRfbGFiZWw9J1N1Ym1pdCd9KSB7XG4gICAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgICAgICB0aGlzLmRvY3R5cGUgPSBkb2N0eXBlO1xuICAgICAgICB0aGlzLnN1Ym1pdF9sYWJlbCA9IHN1Ym1pdF9sYWJlbDtcblxuICAgICAgICB0aGlzLmNvbnRyb2xzID0ge307XG4gICAgICAgIHRoaXMuY29udHJvbHNfbGlzdCA9IFtdO1xuXG4gICAgICAgIHRoaXMubWV0YSA9IGZyYXBwZS5nZXRfbWV0YSh0aGlzLmRvY3R5cGUpO1xuICAgICAgICB0aGlzLm1ha2UoKTtcbiAgICB9XG5cbiAgICBtYWtlKCkge1xuICAgICAgICBpZiAodGhpcy5ib2R5IHx8ICF0aGlzLnBhcmVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ib2R5ID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ2Zvcm0tYm9keScsIHRoaXMucGFyZW50KTtcbiAgICAgICAgdGhpcy5tYWtlX3Rvb2xiYXIoKTtcblxuICAgICAgICB0aGlzLmZvcm0gPSBmcmFwcGUudWkuYWRkKCdmb3JtJywgbnVsbCwgdGhpcy5ib2R5KTtcbiAgICAgICAgZm9yKGxldCBkZiBvZiB0aGlzLm1ldGEuZmllbGRzKSB7XG4gICAgICAgICAgICBpZiAoY29udHJvbHMuZ2V0X2NvbnRyb2xfY2xhc3MoZGYuZmllbGR0eXBlKSkge1xuICAgICAgICAgICAgICAgIGxldCBjb250cm9sID0gY29udHJvbHMubWFrZV9jb250cm9sKGRmLCB0aGlzKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xzX2xpc3QucHVzaChjb250cm9sKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xzW2RmLmZpZWxkbmFtZV0gPSBjb250cm9sO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbWFrZV90b29sYmFyKCkge1xuICAgICAgICB0aGlzLnRvb2xiYXIgPSBmcmFwcGUudWkuYWRkKCdkaXYnLCAnZm9ybS10b29sYmFyIHRleHQtcmlnaHQnLCB0aGlzLmJvZHkpO1xuICAgICAgICB0aGlzLnRvb2xiYXIuaW5uZXJIVE1MID0gYFxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLWRlbGV0ZVwiPkRlbGV0ZTwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc3VibWl0XCI+U2F2ZTwvYnV0dG9uPlxuICAgICAgICBgXG5cbiAgICAgICAgdGhpcy5idG5fc3VibWl0ID0gdGhpcy50b29sYmFyLnF1ZXJ5U2VsZWN0b3IoJy5idG4tc3VibWl0Jyk7O1xuICAgICAgICB0aGlzLmJ0bl9zdWJtaXQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBhc3luYyAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3VibWl0KCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9KVxuXG4gICAgICAgIHRoaXMuYnRuX2RlbGV0ZSA9IHRoaXMudG9vbGJhci5xdWVyeVNlbGVjdG9yKCcuYnRuLWRlbGV0ZScpO1xuICAgICAgICB0aGlzLmJ0bl9kZWxldGUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRvYy5kZWxldGUoKTtcbiAgICAgICAgICAgIHRoaXMuc2hvd19hbGVydCgnRGVsZXRlZCcsICdzdWNjZXNzJyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuXG4gICAgc2hvd19hbGVydChtZXNzYWdlLCB0eXBlKSB7XG4gICAgICAgIHRoaXMuY2xlYXJfYWxlcnQoKTtcbiAgICAgICAgdGhpcy5hbGVydCA9IGZyYXBwZS51aS5hZGQoJ2RpdicsIGBhbGVydCBhbGVydC0ke3R5cGV9YCwgdGhpcy5ib2R5KTtcbiAgICAgICAgdGhpcy5hbGVydC50ZXh0Q29udGVudCA9IG1lc3NhZ2U7XG4gICAgfVxuXG4gICAgY2xlYXJfYWxlcnQoKSB7XG4gICAgICAgIGlmICh0aGlzLmFsZXJ0KSB7XG4gICAgICAgICAgICBmcmFwcGUudWkucmVtb3ZlKHRoaXMuYWxlcnQpO1xuICAgICAgICAgICAgdGhpcy5hbGVydCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyB1c2UoZG9jLCBpc19uZXcgPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5kb2MpIHtcbiAgICAgICAgICAgIC8vIGNsZWFyIGhhbmRsZXJzIG9mIG91dGdvaW5nIGRvY1xuICAgICAgICAgICAgdGhpcy5kb2MuY2xlYXJfaGFuZGxlcnMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsZWFyX2FsZXJ0KCk7XG4gICAgICAgIHRoaXMuZG9jID0gZG9jO1xuICAgICAgICB0aGlzLmlzX25ldyA9IGlzX25ldztcbiAgICAgICAgZm9yIChsZXQgY29udHJvbCBvZiB0aGlzLmNvbnRyb2xzX2xpc3QpIHtcbiAgICAgICAgICAgIGNvbnRyb2wuYmluZCh0aGlzLmRvYyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBzdWJtaXQoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc19uZXcgfHwgdGhpcy5kb2MuX19ub3RfaW5zZXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmRvYy5pbnNlcnQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5kb2MudXBkYXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJlZnJlc2goKTtcbiAgICAgICAgICAgIHRoaXMuc2hvd19hbGVydCgnU2F2ZWQnLCAnc3VjY2VzcycpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dfYWxlcnQoJ0ZhaWxlZCcsICdkYW5nZXInKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZnJlc2goKSB7XG4gICAgICAgIGZvcihsZXQgY29udHJvbCBvZiB0aGlzLmNvbnRyb2xzX2xpc3QpIHtcbiAgICAgICAgICAgIGNvbnRyb2wucmVmcmVzaCgpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY2xpZW50L3ZpZXcvZm9ybS5qc1xuLy8gbW9kdWxlIGlkID0gMjdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgY29udHJvbF9jbGFzc2VzID0ge1xuICAgIERhdGE6IHJlcXVpcmUoJy4vZGF0YScpLFxuICAgIFRleHQ6IHJlcXVpcmUoJy4vdGV4dCcpLFxuICAgIFNlbGVjdDogcmVxdWlyZSgnLi9zZWxlY3QnKSxcbiAgICBMaW5rOiByZXF1aXJlKCcuL2xpbmsnKVxufVxuXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICAgIGdldF9jb250cm9sX2NsYXNzKGZpZWxkdHlwZSkge1xuICAgICAgICByZXR1cm4gY29udHJvbF9jbGFzc2VzW2ZpZWxkdHlwZV07XG4gICAgfSxcbiAgICBtYWtlX2NvbnRyb2woZmllbGQsIHBhcmVudCkge1xuICAgICAgICBjb25zdCBjb250cm9sX2NsYXNzID0gdGhpcy5nZXRfY29udHJvbF9jbGFzcyhmaWVsZC5maWVsZHR5cGUpO1xuICAgICAgICBsZXQgY29udHJvbCA9IG5ldyBjb250cm9sX2NsYXNzKGZpZWxkLCBwYXJlbnQpO1xuICAgICAgICBjb250cm9sLm1ha2UoKTtcbiAgICAgICAgcmV0dXJuIGNvbnRyb2w7XG4gICAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NsaWVudC92aWV3L2NvbnRyb2xzL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAyOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJjb25zdCBCYXNlQ29udHJvbCA9IHJlcXVpcmUoJy4vYmFzZScpO1xuXG5jbGFzcyBEYXRhQ29udHJvbCBleHRlbmRzIEJhc2VDb250cm9sIHtcbiAgICBtYWtlKCkge1xuICAgICAgICBzdXBlci5tYWtlKCk7XG4gICAgICAgIHRoaXMuaW5wdXQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQnKTtcbiAgICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IERhdGFDb250cm9sO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NsaWVudC92aWV3L2NvbnRyb2xzL2RhdGEuanNcbi8vIG1vZHVsZSBpZCA9IDI5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IEJhc2VDb250cm9sID0gcmVxdWlyZSgnLi9iYXNlJyk7XG5cbmNsYXNzIFRleHRDb250cm9sIGV4dGVuZHMgQmFzZUNvbnRyb2wge1xuICAgIG1ha2VfaW5wdXQoKSB7XG4gICAgICAgIHRoaXMuaW5wdXQgPSBmcmFwcGUudWkuYWRkKCd0ZXh0YXJlYScsICdmb3JtLWNvbnRyb2wnLCB0aGlzLmZvcm1fZ3JvdXApO1xuICAgIH1cbiAgICBtYWtlKCkge1xuICAgICAgICBzdXBlci5tYWtlKCk7XG4gICAgICAgIHRoaXMuaW5wdXQuc2V0QXR0cmlidXRlKCdyb3dzJywgJzgnKTtcbiAgICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IFRleHRDb250cm9sO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NsaWVudC92aWV3L2NvbnRyb2xzL3RleHQuanNcbi8vIG1vZHVsZSBpZCA9IDMwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IEJhc2VDb250cm9sID0gcmVxdWlyZSgnLi9iYXNlJyk7XG5cbmNsYXNzIFNlbGVjdENvbnRyb2wgZXh0ZW5kcyBCYXNlQ29udHJvbCB7XG4gICAgbWFrZV9pbnB1dCgpIHtcbiAgICAgICAgdGhpcy5pbnB1dCA9IGZyYXBwZS51aS5hZGQoJ3NlbGVjdCcsICdmb3JtLWNvbnRyb2wnLCB0aGlzLmZvcm1fZ3JvdXApO1xuXG4gICAgICAgIGxldCBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnM9PT0nc3RyaW5nJykge1xuICAgICAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMuc3BsaXQoJ1xcbicpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgdmFsdWUgb2Ygb3B0aW9ucykge1xuICAgICAgICAgICAgbGV0IG9wdGlvbiA9IGZyYXBwZS51aS5hZGQoJ29wdGlvbicsIG51bGwsIHRoaXMuaW5wdXQpO1xuICAgICAgICAgICAgb3B0aW9uLnRleHRDb250ZW50ID0gdmFsdWU7XG4gICAgICAgICAgICBvcHRpb24uc2V0QXR0cmlidXRlKCd2YWx1ZScsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBtYWtlKCkge1xuICAgICAgICBzdXBlci5tYWtlKCk7XG4gICAgICAgIHRoaXMuaW5wdXQuc2V0QXR0cmlidXRlKCdyb3cnLCAnMycpO1xuICAgIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gU2VsZWN0Q29udHJvbDtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuLi9mcmFwcGVqcy9jbGllbnQvdmlldy9jb250cm9scy9zZWxlY3QuanNcbi8vIG1vZHVsZSBpZCA9IDMxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsImNvbnN0IGZyYXBwZSA9IHJlcXVpcmUoJ2ZyYXBwZWpzJyk7XG5jb25zdCBCYXNlQ29udHJvbCA9IHJlcXVpcmUoJy4vYmFzZScpO1xuY29uc3QgQXdlc29tcGxldGUgPSByZXF1aXJlKCdhd2Vzb21wbGV0ZScpO1xuXG5jbGFzcyBMaW5rQ29udHJvbCBleHRlbmRzIEJhc2VDb250cm9sIHtcbiAgICBtYWtlKCkge1xuICAgICAgICBzdXBlci5tYWtlKCk7XG4gICAgICAgIHRoaXMuaW5wdXQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQnKTtcbiAgICAgICAgdGhpcy5hd2Vzb21wbGV0ZSA9IG5ldyBBd2Vzb21wbGV0ZSh0aGlzLmlucHV0LCB7XG4gICAgICAgICAgICBhdXRvRmlyc3Q6IHRydWUsXG4gICAgICAgICAgICBtaW5DaGFyczogMCxcbiAgICAgICAgICAgIG1heEl0ZW1zOiA5OVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyByZWJ1aWxkIHRoZSBsaXN0IG9uIGlucHV0XG4gICAgICAgIHRoaXMuaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBhc3luYyAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXdlc29tcGxldGUubGlzdCA9IGF3YWl0IHRoaXMuZ2V0X2xpc3QodGhpcy5pbnB1dC52YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFzeW5jIGdldF9saXN0KHF1ZXJ5KSB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgZnJhcHBlLmRiLmdldF9hbGwoe1xuICAgICAgICAgICAgZG9jdHlwZTogdGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgZmlsdGVyczogdGhpcy5nZXRfZmlsdGVycyhxdWVyeSksXG4gICAgICAgICAgICBsaW1pdDogNTBcbiAgICAgICAgfSkpLm1hcChkID0+IGQubmFtZSk7XG4gICAgfVxuXG4gICAgZ2V0X2ZpbHRlcnMocXVlcnkpIHtcbiAgICAgICAgcmV0dXJuIHsga2V5d29yZHM6IFtcImxpa2VcIiwgcXVlcnldIH1cbiAgICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IExpbmtDb250cm9sO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL2NsaWVudC92aWV3L2NvbnRyb2xzL2xpbmsuanNcbi8vIG1vZHVsZSBpZCA9IDMyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8qKlxuICogU2ltcGxlLCBsaWdodHdlaWdodCwgdXNhYmxlIGxvY2FsIGF1dG9jb21wbGV0ZSBsaWJyYXJ5IGZvciBtb2Rlcm4gYnJvd3NlcnNcbiAqIEJlY2F1c2UgdGhlcmUgd2VyZW7igJl0IGVub3VnaCBhdXRvY29tcGxldGUgc2NyaXB0cyBpbiB0aGUgd29ybGQ/IEJlY2F1c2UgSeKAmW0gY29tcGxldGVseSBpbnNhbmUgYW5kIGhhdmUgTklIIHN5bmRyb21lPyBQcm9iYWJseSBib3RoLiA6UFxuICogQGF1dGhvciBMZWEgVmVyb3UgaHR0cDovL2xlYXZlcm91LmdpdGh1Yi5pby9hd2Vzb21wbGV0ZVxuICogTUlUIGxpY2Vuc2VcbiAqL1xuXG4oZnVuY3Rpb24gKCkge1xuXG52YXIgXyA9IGZ1bmN0aW9uIChpbnB1dCwgbykge1xuXHR2YXIgbWUgPSB0aGlzO1xuXG5cdC8vIFNldHVwXG5cblx0dGhpcy5pc09wZW5lZCA9IGZhbHNlO1xuXG5cdHRoaXMuaW5wdXQgPSAkKGlucHV0KTtcblx0dGhpcy5pbnB1dC5zZXRBdHRyaWJ1dGUoXCJhdXRvY29tcGxldGVcIiwgXCJvZmZcIik7XG5cdHRoaXMuaW5wdXQuc2V0QXR0cmlidXRlKFwiYXJpYS1hdXRvY29tcGxldGVcIiwgXCJsaXN0XCIpO1xuXG5cdG8gPSBvIHx8IHt9O1xuXG5cdGNvbmZpZ3VyZSh0aGlzLCB7XG5cdFx0bWluQ2hhcnM6IDIsXG5cdFx0bWF4SXRlbXM6IDEwLFxuXHRcdGF1dG9GaXJzdDogZmFsc2UsXG5cdFx0ZGF0YTogXy5EQVRBLFxuXHRcdGZpbHRlcjogXy5GSUxURVJfQ09OVEFJTlMsXG5cdFx0c29ydDogby5zb3J0ID09PSBmYWxzZSA/IGZhbHNlIDogXy5TT1JUX0JZTEVOR1RILFxuXHRcdGl0ZW06IF8uSVRFTSxcblx0XHRyZXBsYWNlOiBfLlJFUExBQ0Vcblx0fSwgbyk7XG5cblx0dGhpcy5pbmRleCA9IC0xO1xuXG5cdC8vIENyZWF0ZSBuZWNlc3NhcnkgZWxlbWVudHNcblxuXHR0aGlzLmNvbnRhaW5lciA9ICQuY3JlYXRlKFwiZGl2XCIsIHtcblx0XHRjbGFzc05hbWU6IFwiYXdlc29tcGxldGVcIixcblx0XHRhcm91bmQ6IGlucHV0XG5cdH0pO1xuXG5cdHRoaXMudWwgPSAkLmNyZWF0ZShcInVsXCIsIHtcblx0XHRoaWRkZW46IFwiaGlkZGVuXCIsXG5cdFx0aW5zaWRlOiB0aGlzLmNvbnRhaW5lclxuXHR9KTtcblxuXHR0aGlzLnN0YXR1cyA9ICQuY3JlYXRlKFwic3BhblwiLCB7XG5cdFx0Y2xhc3NOYW1lOiBcInZpc3VhbGx5LWhpZGRlblwiLFxuXHRcdHJvbGU6IFwic3RhdHVzXCIsXG5cdFx0XCJhcmlhLWxpdmVcIjogXCJhc3NlcnRpdmVcIixcblx0XHRcImFyaWEtcmVsZXZhbnRcIjogXCJhZGRpdGlvbnNcIixcblx0XHRpbnNpZGU6IHRoaXMuY29udGFpbmVyXG5cdH0pO1xuXG5cdC8vIEJpbmQgZXZlbnRzXG5cblx0dGhpcy5fZXZlbnRzID0ge1xuXHRcdGlucHV0OiB7XG5cdFx0XHRcImlucHV0XCI6IHRoaXMuZXZhbHVhdGUuYmluZCh0aGlzKSxcblx0XHRcdFwiYmx1clwiOiB0aGlzLmNsb3NlLmJpbmQodGhpcywgeyByZWFzb246IFwiYmx1clwiIH0pLFxuXHRcdFx0XCJrZXlkb3duXCI6IGZ1bmN0aW9uKGV2dCkge1xuXHRcdFx0XHR2YXIgYyA9IGV2dC5rZXlDb2RlO1xuXG5cdFx0XHRcdC8vIElmIHRoZSBkcm9wZG93biBgdWxgIGlzIGluIHZpZXcsIHRoZW4gYWN0IG9uIGtleWRvd24gZm9yIHRoZSBmb2xsb3dpbmcga2V5czpcblx0XHRcdFx0Ly8gRW50ZXIgLyBFc2MgLyBVcCAvIERvd25cblx0XHRcdFx0aWYobWUub3BlbmVkKSB7XG5cdFx0XHRcdFx0aWYgKGMgPT09IDEzICYmIG1lLnNlbGVjdGVkKSB7IC8vIEVudGVyXG5cdFx0XHRcdFx0XHRldnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdFx0XHRcdG1lLnNlbGVjdCgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRlbHNlIGlmIChjID09PSAyNykgeyAvLyBFc2Ncblx0XHRcdFx0XHRcdG1lLmNsb3NlKHsgcmVhc29uOiBcImVzY1wiIH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRlbHNlIGlmIChjID09PSAzOCB8fCBjID09PSA0MCkgeyAvLyBEb3duL1VwIGFycm93XG5cdFx0XHRcdFx0XHRldnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdFx0XHRcdG1lW2MgPT09IDM4PyBcInByZXZpb3VzXCIgOiBcIm5leHRcIl0oKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdGZvcm06IHtcblx0XHRcdFwic3VibWl0XCI6IHRoaXMuY2xvc2UuYmluZCh0aGlzLCB7IHJlYXNvbjogXCJzdWJtaXRcIiB9KVxuXHRcdH0sXG5cdFx0dWw6IHtcblx0XHRcdFwibW91c2Vkb3duXCI6IGZ1bmN0aW9uKGV2dCkge1xuXHRcdFx0XHR2YXIgbGkgPSBldnQudGFyZ2V0O1xuXG5cdFx0XHRcdGlmIChsaSAhPT0gdGhpcykge1xuXG5cdFx0XHRcdFx0d2hpbGUgKGxpICYmICEvbGkvaS50ZXN0KGxpLm5vZGVOYW1lKSkge1xuXHRcdFx0XHRcdFx0bGkgPSBsaS5wYXJlbnROb2RlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGlmIChsaSAmJiBldnQuYnV0dG9uID09PSAwKSB7ICAvLyBPbmx5IHNlbGVjdCBvbiBsZWZ0IGNsaWNrXG5cdFx0XHRcdFx0XHRldnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdFx0XHRcdG1lLnNlbGVjdChsaSwgZXZ0LnRhcmdldCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXG5cdCQuYmluZCh0aGlzLmlucHV0LCB0aGlzLl9ldmVudHMuaW5wdXQpO1xuXHQkLmJpbmQodGhpcy5pbnB1dC5mb3JtLCB0aGlzLl9ldmVudHMuZm9ybSk7XG5cdCQuYmluZCh0aGlzLnVsLCB0aGlzLl9ldmVudHMudWwpO1xuXG5cdGlmICh0aGlzLmlucHV0Lmhhc0F0dHJpYnV0ZShcImxpc3RcIikpIHtcblx0XHR0aGlzLmxpc3QgPSBcIiNcIiArIHRoaXMuaW5wdXQuZ2V0QXR0cmlidXRlKFwibGlzdFwiKTtcblx0XHR0aGlzLmlucHV0LnJlbW92ZUF0dHJpYnV0ZShcImxpc3RcIik7XG5cdH1cblx0ZWxzZSB7XG5cdFx0dGhpcy5saXN0ID0gdGhpcy5pbnB1dC5nZXRBdHRyaWJ1dGUoXCJkYXRhLWxpc3RcIikgfHwgby5saXN0IHx8IFtdO1xuXHR9XG5cblx0Xy5hbGwucHVzaCh0aGlzKTtcbn07XG5cbl8ucHJvdG90eXBlID0ge1xuXHRzZXQgbGlzdChsaXN0KSB7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkobGlzdCkpIHtcblx0XHRcdHRoaXMuX2xpc3QgPSBsaXN0O1xuXHRcdH1cblx0XHRlbHNlIGlmICh0eXBlb2YgbGlzdCA9PT0gXCJzdHJpbmdcIiAmJiBsaXN0LmluZGV4T2YoXCIsXCIpID4gLTEpIHtcblx0XHRcdFx0dGhpcy5fbGlzdCA9IGxpc3Quc3BsaXQoL1xccyosXFxzKi8pO1xuXHRcdH1cblx0XHRlbHNlIHsgLy8gRWxlbWVudCBvciBDU1Mgc2VsZWN0b3Jcblx0XHRcdGxpc3QgPSAkKGxpc3QpO1xuXG5cdFx0XHRpZiAobGlzdCAmJiBsaXN0LmNoaWxkcmVuKSB7XG5cdFx0XHRcdHZhciBpdGVtcyA9IFtdO1xuXHRcdFx0XHRzbGljZS5hcHBseShsaXN0LmNoaWxkcmVuKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkge1xuXHRcdFx0XHRcdGlmICghZWwuZGlzYWJsZWQpIHtcblx0XHRcdFx0XHRcdHZhciB0ZXh0ID0gZWwudGV4dENvbnRlbnQudHJpbSgpO1xuXHRcdFx0XHRcdFx0dmFyIHZhbHVlID0gZWwudmFsdWUgfHwgdGV4dDtcblx0XHRcdFx0XHRcdHZhciBsYWJlbCA9IGVsLmxhYmVsIHx8IHRleHQ7XG5cdFx0XHRcdFx0XHRpZiAodmFsdWUgIT09IFwiXCIpIHtcblx0XHRcdFx0XHRcdFx0aXRlbXMucHVzaCh7IGxhYmVsOiBsYWJlbCwgdmFsdWU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHRcdHRoaXMuX2xpc3QgPSBpdGVtcztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5pbnB1dCkge1xuXHRcdFx0dGhpcy5ldmFsdWF0ZSgpO1xuXHRcdH1cblx0fSxcblxuXHRnZXQgc2VsZWN0ZWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuaW5kZXggPiAtMTtcblx0fSxcblxuXHRnZXQgb3BlbmVkKCkge1xuXHRcdHJldHVybiB0aGlzLmlzT3BlbmVkO1xuXHR9LFxuXG5cdGNsb3NlOiBmdW5jdGlvbiAobykge1xuXHRcdGlmICghdGhpcy5vcGVuZWQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLnVsLnNldEF0dHJpYnV0ZShcImhpZGRlblwiLCBcIlwiKTtcblx0XHR0aGlzLmlzT3BlbmVkID0gZmFsc2U7XG5cdFx0dGhpcy5pbmRleCA9IC0xO1xuXG5cdFx0JC5maXJlKHRoaXMuaW5wdXQsIFwiYXdlc29tcGxldGUtY2xvc2VcIiwgbyB8fCB7fSk7XG5cdH0sXG5cblx0b3BlbjogZnVuY3Rpb24gKCkge1xuXHRcdHRoaXMudWwucmVtb3ZlQXR0cmlidXRlKFwiaGlkZGVuXCIpO1xuXHRcdHRoaXMuaXNPcGVuZWQgPSB0cnVlO1xuXG5cdFx0aWYgKHRoaXMuYXV0b0ZpcnN0ICYmIHRoaXMuaW5kZXggPT09IC0xKSB7XG5cdFx0XHR0aGlzLmdvdG8oMCk7XG5cdFx0fVxuXG5cdFx0JC5maXJlKHRoaXMuaW5wdXQsIFwiYXdlc29tcGxldGUtb3BlblwiKTtcblx0fSxcblxuXHRkZXN0cm95OiBmdW5jdGlvbigpIHtcblx0XHQvL3JlbW92ZSBldmVudHMgZnJvbSB0aGUgaW5wdXQgYW5kIGl0cyBmb3JtXG5cdFx0JC51bmJpbmQodGhpcy5pbnB1dCwgdGhpcy5fZXZlbnRzLmlucHV0KTtcblx0XHQkLnVuYmluZCh0aGlzLmlucHV0LmZvcm0sIHRoaXMuX2V2ZW50cy5mb3JtKTtcblxuXHRcdC8vbW92ZSB0aGUgaW5wdXQgb3V0IG9mIHRoZSBhd2Vzb21wbGV0ZSBjb250YWluZXIgYW5kIHJlbW92ZSB0aGUgY29udGFpbmVyIGFuZCBpdHMgY2hpbGRyZW5cblx0XHR2YXIgcGFyZW50Tm9kZSA9IHRoaXMuY29udGFpbmVyLnBhcmVudE5vZGU7XG5cblx0XHRwYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLmlucHV0LCB0aGlzLmNvbnRhaW5lcik7XG5cdFx0cGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lcik7XG5cblx0XHQvL3JlbW92ZSBhdXRvY29tcGxldGUgYW5kIGFyaWEtYXV0b2NvbXBsZXRlIGF0dHJpYnV0ZXNcblx0XHR0aGlzLmlucHV0LnJlbW92ZUF0dHJpYnV0ZShcImF1dG9jb21wbGV0ZVwiKTtcblx0XHR0aGlzLmlucHV0LnJlbW92ZUF0dHJpYnV0ZShcImFyaWEtYXV0b2NvbXBsZXRlXCIpO1xuXG5cdFx0Ly9yZW1vdmUgdGhpcyBhd2Vzb21lcGxldGUgaW5zdGFuY2UgZnJvbSB0aGUgZ2xvYmFsIGFycmF5IG9mIGluc3RhbmNlc1xuXHRcdHZhciBpbmRleE9mQXdlc29tcGxldGUgPSBfLmFsbC5pbmRleE9mKHRoaXMpO1xuXG5cdFx0aWYgKGluZGV4T2ZBd2Vzb21wbGV0ZSAhPT0gLTEpIHtcblx0XHRcdF8uYWxsLnNwbGljZShpbmRleE9mQXdlc29tcGxldGUsIDEpO1xuXHRcdH1cblx0fSxcblxuXHRuZXh0OiBmdW5jdGlvbiAoKSB7XG5cdFx0dmFyIGNvdW50ID0gdGhpcy51bC5jaGlsZHJlbi5sZW5ndGg7XG5cdFx0dGhpcy5nb3RvKHRoaXMuaW5kZXggPCBjb3VudCAtIDEgPyB0aGlzLmluZGV4ICsgMSA6IChjb3VudCA/IDAgOiAtMSkgKTtcblx0fSxcblxuXHRwcmV2aW91czogZnVuY3Rpb24gKCkge1xuXHRcdHZhciBjb3VudCA9IHRoaXMudWwuY2hpbGRyZW4ubGVuZ3RoO1xuXHRcdHZhciBwb3MgPSB0aGlzLmluZGV4IC0gMTtcblxuXHRcdHRoaXMuZ290byh0aGlzLnNlbGVjdGVkICYmIHBvcyAhPT0gLTEgPyBwb3MgOiBjb3VudCAtIDEpO1xuXHR9LFxuXG5cdC8vIFNob3VsZCBub3QgYmUgdXNlZCwgaGlnaGxpZ2h0cyBzcGVjaWZpYyBpdGVtIHdpdGhvdXQgYW55IGNoZWNrcyFcblx0Z290bzogZnVuY3Rpb24gKGkpIHtcblx0XHR2YXIgbGlzID0gdGhpcy51bC5jaGlsZHJlbjtcblxuXHRcdGlmICh0aGlzLnNlbGVjdGVkKSB7XG5cdFx0XHRsaXNbdGhpcy5pbmRleF0uc2V0QXR0cmlidXRlKFwiYXJpYS1zZWxlY3RlZFwiLCBcImZhbHNlXCIpO1xuXHRcdH1cblxuXHRcdHRoaXMuaW5kZXggPSBpO1xuXG5cdFx0aWYgKGkgPiAtMSAmJiBsaXMubGVuZ3RoID4gMCkge1xuXHRcdFx0bGlzW2ldLnNldEF0dHJpYnV0ZShcImFyaWEtc2VsZWN0ZWRcIiwgXCJ0cnVlXCIpO1xuXHRcdFx0dGhpcy5zdGF0dXMudGV4dENvbnRlbnQgPSBsaXNbaV0udGV4dENvbnRlbnQ7XG5cblx0XHRcdC8vIHNjcm9sbCB0byBoaWdobGlnaHRlZCBlbGVtZW50IGluIGNhc2UgcGFyZW50J3MgaGVpZ2h0IGlzIGZpeGVkXG5cdFx0XHR0aGlzLnVsLnNjcm9sbFRvcCA9IGxpc1tpXS5vZmZzZXRUb3AgLSB0aGlzLnVsLmNsaWVudEhlaWdodCArIGxpc1tpXS5jbGllbnRIZWlnaHQ7XG5cblx0XHRcdCQuZmlyZSh0aGlzLmlucHV0LCBcImF3ZXNvbXBsZXRlLWhpZ2hsaWdodFwiLCB7XG5cdFx0XHRcdHRleHQ6IHRoaXMuc3VnZ2VzdGlvbnNbdGhpcy5pbmRleF1cblx0XHRcdH0pO1xuXHRcdH1cblx0fSxcblxuXHRzZWxlY3Q6IGZ1bmN0aW9uIChzZWxlY3RlZCwgb3JpZ2luKSB7XG5cdFx0aWYgKHNlbGVjdGVkKSB7XG5cdFx0XHR0aGlzLmluZGV4ID0gJC5zaWJsaW5nSW5kZXgoc2VsZWN0ZWQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRzZWxlY3RlZCA9IHRoaXMudWwuY2hpbGRyZW5bdGhpcy5pbmRleF07XG5cdFx0fVxuXG5cdFx0aWYgKHNlbGVjdGVkKSB7XG5cdFx0XHR2YXIgc3VnZ2VzdGlvbiA9IHRoaXMuc3VnZ2VzdGlvbnNbdGhpcy5pbmRleF07XG5cblx0XHRcdHZhciBhbGxvd2VkID0gJC5maXJlKHRoaXMuaW5wdXQsIFwiYXdlc29tcGxldGUtc2VsZWN0XCIsIHtcblx0XHRcdFx0dGV4dDogc3VnZ2VzdGlvbixcblx0XHRcdFx0b3JpZ2luOiBvcmlnaW4gfHwgc2VsZWN0ZWRcblx0XHRcdH0pO1xuXG5cdFx0XHRpZiAoYWxsb3dlZCkge1xuXHRcdFx0XHR0aGlzLnJlcGxhY2Uoc3VnZ2VzdGlvbik7XG5cdFx0XHRcdHRoaXMuY2xvc2UoeyByZWFzb246IFwic2VsZWN0XCIgfSk7XG5cdFx0XHRcdCQuZmlyZSh0aGlzLmlucHV0LCBcImF3ZXNvbXBsZXRlLXNlbGVjdGNvbXBsZXRlXCIsIHtcblx0XHRcdFx0XHR0ZXh0OiBzdWdnZXN0aW9uXG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fSxcblxuXHRldmFsdWF0ZTogZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG1lID0gdGhpcztcblx0XHR2YXIgdmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlO1xuXG5cdFx0aWYgKHZhbHVlLmxlbmd0aCA+PSB0aGlzLm1pbkNoYXJzICYmIHRoaXMuX2xpc3QubGVuZ3RoID4gMCkge1xuXHRcdFx0dGhpcy5pbmRleCA9IC0xO1xuXHRcdFx0Ly8gUG9wdWxhdGUgbGlzdCB3aXRoIG9wdGlvbnMgdGhhdCBtYXRjaFxuXHRcdFx0dGhpcy51bC5pbm5lckhUTUwgPSBcIlwiO1xuXG5cdFx0XHR0aGlzLnN1Z2dlc3Rpb25zID0gdGhpcy5fbGlzdFxuXHRcdFx0XHQubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcblx0XHRcdFx0XHRyZXR1cm4gbmV3IFN1Z2dlc3Rpb24obWUuZGF0YShpdGVtLCB2YWx1ZSkpO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuZmlsdGVyKGZ1bmN0aW9uKGl0ZW0pIHtcblx0XHRcdFx0XHRyZXR1cm4gbWUuZmlsdGVyKGl0ZW0sIHZhbHVlKTtcblx0XHRcdFx0fSk7XG5cblx0XHRcdGlmICh0aGlzLnNvcnQgIT09IGZhbHNlKSB7XG5cdFx0XHRcdHRoaXMuc3VnZ2VzdGlvbnMgPSB0aGlzLnN1Z2dlc3Rpb25zLnNvcnQodGhpcy5zb3J0KTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5zdWdnZXN0aW9ucyA9IHRoaXMuc3VnZ2VzdGlvbnMuc2xpY2UoMCwgdGhpcy5tYXhJdGVtcyk7XG5cblx0XHRcdHRoaXMuc3VnZ2VzdGlvbnMuZm9yRWFjaChmdW5jdGlvbih0ZXh0KSB7XG5cdFx0XHRcdFx0bWUudWwuYXBwZW5kQ2hpbGQobWUuaXRlbSh0ZXh0LCB2YWx1ZSkpO1xuXHRcdFx0XHR9KTtcblxuXHRcdFx0aWYgKHRoaXMudWwuY2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdHRoaXMuY2xvc2UoeyByZWFzb246IFwibm9tYXRjaGVzXCIgfSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLm9wZW4oKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0ZWxzZSB7XG5cdFx0XHR0aGlzLmNsb3NlKHsgcmVhc29uOiBcIm5vbWF0Y2hlc1wiIH0pO1xuXHRcdH1cblx0fVxufTtcblxuLy8gU3RhdGljIG1ldGhvZHMvcHJvcGVydGllc1xuXG5fLmFsbCA9IFtdO1xuXG5fLkZJTFRFUl9DT05UQUlOUyA9IGZ1bmN0aW9uICh0ZXh0LCBpbnB1dCkge1xuXHRyZXR1cm4gUmVnRXhwKCQucmVnRXhwRXNjYXBlKGlucHV0LnRyaW0oKSksIFwiaVwiKS50ZXN0KHRleHQpO1xufTtcblxuXy5GSUxURVJfU1RBUlRTV0lUSCA9IGZ1bmN0aW9uICh0ZXh0LCBpbnB1dCkge1xuXHRyZXR1cm4gUmVnRXhwKFwiXlwiICsgJC5yZWdFeHBFc2NhcGUoaW5wdXQudHJpbSgpKSwgXCJpXCIpLnRlc3QodGV4dCk7XG59O1xuXG5fLlNPUlRfQllMRU5HVEggPSBmdW5jdGlvbiAoYSwgYikge1xuXHRpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSB7XG5cdFx0cmV0dXJuIGEubGVuZ3RoIC0gYi5sZW5ndGg7XG5cdH1cblxuXHRyZXR1cm4gYSA8IGI/IC0xIDogMTtcbn07XG5cbl8uSVRFTSA9IGZ1bmN0aW9uICh0ZXh0LCBpbnB1dCkge1xuXHR2YXIgaHRtbCA9IGlucHV0LnRyaW0oKSA9PT0gXCJcIiA/IHRleHQgOiB0ZXh0LnJlcGxhY2UoUmVnRXhwKCQucmVnRXhwRXNjYXBlKGlucHV0LnRyaW0oKSksIFwiZ2lcIiksIFwiPG1hcms+JCY8L21hcms+XCIpO1xuXHRyZXR1cm4gJC5jcmVhdGUoXCJsaVwiLCB7XG5cdFx0aW5uZXJIVE1MOiBodG1sLFxuXHRcdFwiYXJpYS1zZWxlY3RlZFwiOiBcImZhbHNlXCJcblx0fSk7XG59O1xuXG5fLlJFUExBQ0UgPSBmdW5jdGlvbiAodGV4dCkge1xuXHR0aGlzLmlucHV0LnZhbHVlID0gdGV4dC52YWx1ZTtcbn07XG5cbl8uREFUQSA9IGZ1bmN0aW9uIChpdGVtLyosIGlucHV0Ki8pIHsgcmV0dXJuIGl0ZW07IH07XG5cbi8vIFByaXZhdGUgZnVuY3Rpb25zXG5cbmZ1bmN0aW9uIFN1Z2dlc3Rpb24oZGF0YSkge1xuXHR2YXIgbyA9IEFycmF5LmlzQXJyYXkoZGF0YSlcblx0ICA/IHsgbGFiZWw6IGRhdGFbMF0sIHZhbHVlOiBkYXRhWzFdIH1cblx0ICA6IHR5cGVvZiBkYXRhID09PSBcIm9iamVjdFwiICYmIFwibGFiZWxcIiBpbiBkYXRhICYmIFwidmFsdWVcIiBpbiBkYXRhID8gZGF0YSA6IHsgbGFiZWw6IGRhdGEsIHZhbHVlOiBkYXRhIH07XG5cblx0dGhpcy5sYWJlbCA9IG8ubGFiZWwgfHwgby52YWx1ZTtcblx0dGhpcy52YWx1ZSA9IG8udmFsdWU7XG59XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoU3VnZ2VzdGlvbi5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFN0cmluZy5wcm90b3R5cGUpLCBcImxlbmd0aFwiLCB7XG5cdGdldDogZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLmxhYmVsLmxlbmd0aDsgfVxufSk7XG5TdWdnZXN0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9IFN1Z2dlc3Rpb24ucHJvdG90eXBlLnZhbHVlT2YgPSBmdW5jdGlvbiAoKSB7XG5cdHJldHVybiBcIlwiICsgdGhpcy5sYWJlbDtcbn07XG5cbmZ1bmN0aW9uIGNvbmZpZ3VyZShpbnN0YW5jZSwgcHJvcGVydGllcywgbykge1xuXHRmb3IgKHZhciBpIGluIHByb3BlcnRpZXMpIHtcblx0XHR2YXIgaW5pdGlhbCA9IHByb3BlcnRpZXNbaV0sXG5cdFx0ICAgIGF0dHJWYWx1ZSA9IGluc3RhbmNlLmlucHV0LmdldEF0dHJpYnV0ZShcImRhdGEtXCIgKyBpLnRvTG93ZXJDYXNlKCkpO1xuXG5cdFx0aWYgKHR5cGVvZiBpbml0aWFsID09PSBcIm51bWJlclwiKSB7XG5cdFx0XHRpbnN0YW5jZVtpXSA9IHBhcnNlSW50KGF0dHJWYWx1ZSk7XG5cdFx0fVxuXHRcdGVsc2UgaWYgKGluaXRpYWwgPT09IGZhbHNlKSB7IC8vIEJvb2xlYW4gb3B0aW9ucyBtdXN0IGJlIGZhbHNlIGJ5IGRlZmF1bHQgYW55d2F5XG5cdFx0XHRpbnN0YW5jZVtpXSA9IGF0dHJWYWx1ZSAhPT0gbnVsbDtcblx0XHR9XG5cdFx0ZWxzZSBpZiAoaW5pdGlhbCBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG5cdFx0XHRpbnN0YW5jZVtpXSA9IG51bGw7XG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0aW5zdGFuY2VbaV0gPSBhdHRyVmFsdWU7XG5cdFx0fVxuXG5cdFx0aWYgKCFpbnN0YW5jZVtpXSAmJiBpbnN0YW5jZVtpXSAhPT0gMCkge1xuXHRcdFx0aW5zdGFuY2VbaV0gPSAoaSBpbiBvKT8gb1tpXSA6IGluaXRpYWw7XG5cdFx0fVxuXHR9XG59XG5cbi8vIEhlbHBlcnNcblxudmFyIHNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlO1xuXG5mdW5jdGlvbiAkKGV4cHIsIGNvbikge1xuXHRyZXR1cm4gdHlwZW9mIGV4cHIgPT09IFwic3RyaW5nXCI/IChjb24gfHwgZG9jdW1lbnQpLnF1ZXJ5U2VsZWN0b3IoZXhwcikgOiBleHByIHx8IG51bGw7XG59XG5cbmZ1bmN0aW9uICQkKGV4cHIsIGNvbikge1xuXHRyZXR1cm4gc2xpY2UuY2FsbCgoY29uIHx8IGRvY3VtZW50KS5xdWVyeVNlbGVjdG9yQWxsKGV4cHIpKTtcbn1cblxuJC5jcmVhdGUgPSBmdW5jdGlvbih0YWcsIG8pIHtcblx0dmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7XG5cblx0Zm9yICh2YXIgaSBpbiBvKSB7XG5cdFx0dmFyIHZhbCA9IG9baV07XG5cblx0XHRpZiAoaSA9PT0gXCJpbnNpZGVcIikge1xuXHRcdFx0JCh2YWwpLmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuXHRcdH1cblx0XHRlbHNlIGlmIChpID09PSBcImFyb3VuZFwiKSB7XG5cdFx0XHR2YXIgcmVmID0gJCh2YWwpO1xuXHRcdFx0cmVmLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGVsZW1lbnQsIHJlZik7XG5cdFx0XHRlbGVtZW50LmFwcGVuZENoaWxkKHJlZik7XG5cdFx0fVxuXHRcdGVsc2UgaWYgKGkgaW4gZWxlbWVudCkge1xuXHRcdFx0ZWxlbWVudFtpXSA9IHZhbDtcblx0XHR9XG5cdFx0ZWxzZSB7XG5cdFx0XHRlbGVtZW50LnNldEF0dHJpYnV0ZShpLCB2YWwpO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBlbGVtZW50O1xufTtcblxuJC5iaW5kID0gZnVuY3Rpb24oZWxlbWVudCwgbykge1xuXHRpZiAoZWxlbWVudCkge1xuXHRcdGZvciAodmFyIGV2ZW50IGluIG8pIHtcblx0XHRcdHZhciBjYWxsYmFjayA9IG9bZXZlbnRdO1xuXG5cdFx0XHRldmVudC5zcGxpdCgvXFxzKy8pLmZvckVhY2goZnVuY3Rpb24gKGV2ZW50KSB7XG5cdFx0XHRcdGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgY2FsbGJhY2spO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG59O1xuXG4kLnVuYmluZCA9IGZ1bmN0aW9uKGVsZW1lbnQsIG8pIHtcblx0aWYgKGVsZW1lbnQpIHtcblx0XHRmb3IgKHZhciBldmVudCBpbiBvKSB7XG5cdFx0XHR2YXIgY2FsbGJhY2sgPSBvW2V2ZW50XTtcblxuXHRcdFx0ZXZlbnQuc3BsaXQoL1xccysvKS5mb3JFYWNoKGZ1bmN0aW9uKGV2ZW50KSB7XG5cdFx0XHRcdGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgY2FsbGJhY2spO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG59O1xuXG4kLmZpcmUgPSBmdW5jdGlvbih0YXJnZXQsIHR5cGUsIHByb3BlcnRpZXMpIHtcblx0dmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiSFRNTEV2ZW50c1wiKTtcblxuXHRldnQuaW5pdEV2ZW50KHR5cGUsIHRydWUsIHRydWUgKTtcblxuXHRmb3IgKHZhciBqIGluIHByb3BlcnRpZXMpIHtcblx0XHRldnRbal0gPSBwcm9wZXJ0aWVzW2pdO1xuXHR9XG5cblx0cmV0dXJuIHRhcmdldC5kaXNwYXRjaEV2ZW50KGV2dCk7XG59O1xuXG4kLnJlZ0V4cEVzY2FwZSA9IGZ1bmN0aW9uIChzKSB7XG5cdHJldHVybiBzLnJlcGxhY2UoL1stXFxcXF4kKis/LigpfFtcXF17fV0vZywgXCJcXFxcJCZcIik7XG59O1xuXG4kLnNpYmxpbmdJbmRleCA9IGZ1bmN0aW9uIChlbCkge1xuXHQvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25kLWFzc2lnbiAqL1xuXHRmb3IgKHZhciBpID0gMDsgZWwgPSBlbC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nOyBpKyspO1xuXHRyZXR1cm4gaTtcbn07XG5cbi8vIEluaXRpYWxpemF0aW9uXG5cbmZ1bmN0aW9uIGluaXQoKSB7XG5cdCQkKFwiaW5wdXQuYXdlc29tcGxldGVcIikuZm9yRWFjaChmdW5jdGlvbiAoaW5wdXQpIHtcblx0XHRuZXcgXyhpbnB1dCk7XG5cdH0pO1xufVxuXG4vLyBBcmUgd2UgaW4gYSBicm93c2VyPyBDaGVjayBmb3IgRG9jdW1lbnQgY29uc3RydWN0b3JcbmlmICh0eXBlb2YgRG9jdW1lbnQgIT09IFwidW5kZWZpbmVkXCIpIHtcblx0Ly8gRE9NIGFscmVhZHkgbG9hZGVkP1xuXHRpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gXCJsb2FkaW5nXCIpIHtcblx0XHRpbml0KCk7XG5cdH1cblx0ZWxzZSB7XG5cdFx0Ly8gV2FpdCBmb3IgaXRcblx0XHRkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLCBpbml0KTtcblx0fVxufVxuXG5fLiQgPSAkO1xuXy4kJCA9ICQkO1xuXG4vLyBNYWtlIHN1cmUgdG8gZXhwb3J0IEF3ZXNvbXBsZXRlIG9uIHNlbGYgd2hlbiBpbiBhIGJyb3dzZXJcbmlmICh0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIikge1xuXHRzZWxmLkF3ZXNvbXBsZXRlID0gXztcbn1cblxuLy8gRXhwb3NlIEF3ZXNvbXBsZXRlIGFzIGEgQ0pTIG1vZHVsZVxuaWYgKHR5cGVvZiBtb2R1bGUgPT09IFwib2JqZWN0XCIgJiYgbW9kdWxlLmV4cG9ydHMpIHtcblx0bW9kdWxlLmV4cG9ydHMgPSBfO1xufVxuXG5yZXR1cm4gXztcblxufSgpKTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL25vZGVfbW9kdWxlcy9hd2Vzb21wbGV0ZS9hd2Vzb21wbGV0ZS5qc1xuLy8gbW9kdWxlIGlkID0gMzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiY29uc3QgZnJhcHBlID0gcmVxdWlyZSgnZnJhcHBlanMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBjbGFzcyBOYXZiYXIge1xuXHRjb25zdHJ1Y3Rvcih7YnJhbmRfbGFiZWwgPSAnSG9tZSd9ID0ge30pIHtcblx0XHRPYmplY3QuYXNzaWduKHRoaXMsIGFyZ3VtZW50c1swXSk7XG5cdFx0dGhpcy5pdGVtcyA9IHt9O1xuXHRcdHRoaXMubmF2YmFyID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ25hdmJhciBuYXZiYXItZXhwYW5kLW1kIGJvcmRlci1ib3R0b20nLCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5JykpO1xuXG5cdFx0dGhpcy5icmFuZCA9IGZyYXBwZS51aS5hZGQoJ2EnLCAnbmF2YmFyLWJyYW5kJywgdGhpcy5uYXZiYXIpO1xuXHRcdHRoaXMuYnJhbmQuaHJlZiA9ICcjJztcblx0XHR0aGlzLmJyYW5kLnRleHRDb250ZW50ID0gYnJhbmRfbGFiZWw7XG5cblx0XHR0aGlzLnRvZ2dsZXIgPSBmcmFwcGUudWkuYWRkKCdidXR0b24nLCAnbmF2YmFyLXRvZ2dsZXInLCB0aGlzLm5hdmJhcik7XG5cdFx0dGhpcy50b2dnbGVyLnNldEF0dHJpYnV0ZSgndHlwZScsICdidXR0b24nKTtcblx0XHR0aGlzLnRvZ2dsZXIuc2V0QXR0cmlidXRlKCdkYXRhLXRvZ2dsZScsICdjb2xsYXBzZScpO1xuXHRcdHRoaXMudG9nZ2xlci5zZXRBdHRyaWJ1dGUoJ2RhdGEtdGFyZ2V0JywgJ2Rlc2stbmF2YmFyJyk7XG5cdFx0dGhpcy50b2dnbGVyLmlubmVySFRNTCA9IGA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+YDtcblxuXHRcdHRoaXMubmF2YmFyX2NvbGxhcHNlID0gZnJhcHBlLnVpLmFkZCgnZGl2JywgJ2NvbGxhcHNlIG5hdmJhci1jb2xsYXBzZScsIHRoaXMubmF2YmFyKTtcblx0XHR0aGlzLm5hdmJhcl9jb2xsYXBzZS5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2Rlc2stbmF2YmFyJyk7XG5cblx0XHR0aGlzLm5hdiA9IGZyYXBwZS51aS5hZGQoJ3VsJywgJ25hdmJhci1uYXYgbXItYXV0bycsIHRoaXMubmF2YmFyX2NvbGxhcHNlKTtcblx0fVxuXG5cdGFkZF9pdGVtKGxhYmVsLCByb3V0ZSkge1xuXHRcdGxldCBpdGVtID0gZnJhcHBlLnVpLmFkZCgnbGknLCAnbmF2LWl0ZW0nLCB0aGlzLm5hdik7XG5cdFx0aXRlbS5saW5rID0gZnJhcHBlLnVpLmFkZCgnYScsICduYXYtbGluaycsIGl0ZW0pO1xuXHRcdGl0ZW0ubGluay50ZXh0Q29udGVudCA9IGxhYmVsO1xuXHRcdGl0ZW0ubGluay5ocmVmID0gcm91dGU7XG5cdFx0dGhpcy5pdGVtc1tsYWJlbF0gPSBpdGVtO1xuXHRcdHJldHVybiBpdGVtO1xuXHR9XG5cblx0YWRkX2Ryb3Bkb3duKGxhYmVsKSB7XG5cblx0fVxuXG5cdGFkZF9zZWFyY2goKSB7XG5cdFx0bGV0IGZvcm0gPSBmcmFwcGUudWkuYWRkKCdmb3JtJywgJ2Zvcm0taW5saW5lIG15LTIgbXktbWQtMCcsIHRoaXMubmF2KTtcblxuXHR9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi4vZnJhcHBlanMvY2xpZW50L2Rlc2svbmF2YmFyLmpzXG4vLyBtb2R1bGUgaWQgPSAzNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJjb25zdCBmcmFwcGUgPSByZXF1aXJlKCdmcmFwcGVqcycpO1xuXG5jbGFzcyB0b2RvX21ldGEgZXh0ZW5kcyBmcmFwcGUubWV0YS5NZXRhIHtcbiAgICBzZXR1cF9tZXRhKCkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHJlcXVpcmUoJy4vdG9kby5qc29uJykpO1xuICAgICAgICB0aGlzLmxpc3Rfb3B0aW9ucy5maWVsZHMgPSBbJ25hbWUnLCAnc3ViamVjdCcsICdzdGF0dXMnXTtcbiAgICB9XG5cbiAgICBnZXRfcm93X2h0bWwoZGF0YSkge1xuICAgICAgICBjb25zdCBzaWduID0gZGF0YS5zdGF0dXMgPT09ICdPcGVuJyA/ICcnIDogJ+KclCc7XG4gICAgICAgIHJldHVybiBgPGEgaHJlZj1cIiNlZGl0L3RvZG8vJHtkYXRhLm5hbWV9XCI+JHtzaWdufSAke2RhdGEuc3ViamVjdH08L2E+YDtcbiAgICB9XG5cbn1cblxuY2xhc3MgdG9kbyBleHRlbmRzIGZyYXBwZS5kb2N1bWVudC5Eb2N1bWVudCB7XG4gICAgc2V0dXAoKSB7XG4gICAgICAgIHRoaXMuYWRkX2hhbmRsZXIoJ3ZhbGlkYXRlJyk7XG4gICAgfVxuICAgIHZhbGlkYXRlKCkge1xuICAgICAgICBpZiAoIXRoaXMuc3RhdHVzKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9ICdPcGVuJztcbiAgICAgICAgfVxuICAgIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7dG9kbzp0b2RvLCB0b2RvX21ldGE6dG9kb19tZXRhfTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL21vZGVscy9kb2N0eXBlL3RvZG8vdG9kby5qc1xuLy8gbW9kdWxlIGlkID0gMzVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwibW9kdWxlLmV4cG9ydHMgPSB7XCJhdXRvbmFtZVwiOlwiaGFzaFwiLFwibmFtZVwiOlwiVG9Eb1wiLFwiZG9jdHlwZVwiOlwiRG9jVHlwZVwiLFwiaXNzaW5nbGVcIjowLFwia2V5d29yZF9maWVsZHNcIjpbXCJzdWJqZWN0XCIsXCJkZXNjcmlwdGlvblwiXSxcImZpZWxkc1wiOlt7XCJmaWVsZG5hbWVcIjpcInN1YmplY3RcIixcImxhYmVsXCI6XCJTdWJqZWN0XCIsXCJmaWVsZHR5cGVcIjpcIkRhdGFcIixcInJlcWRcIjoxfSx7XCJmaWVsZG5hbWVcIjpcImRlc2NyaXB0aW9uXCIsXCJsYWJlbFwiOlwiRGVzY3JpcHRpb25cIixcImZpZWxkdHlwZVwiOlwiVGV4dFwifSx7XCJmaWVsZG5hbWVcIjpcInN0YXR1c1wiLFwibGFiZWxcIjpcIlN0YXR1c1wiLFwiZmllbGR0eXBlXCI6XCJTZWxlY3RcIixcIm9wdGlvbnNcIjpbXCJPcGVuXCIsXCJDbG9zZWRcIl0sXCJkZWZhdWx0XCI6XCJPcGVuXCIsXCJyZXFkXCI6MX1dfVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4uL2ZyYXBwZWpzL21vZGVscy9kb2N0eXBlL3RvZG8vdG9kby5qc29uXG4vLyBtb2R1bGUgaWQgPSAzNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiLCJjb25zdCBmcmFwcGUgPSByZXF1aXJlKCdmcmFwcGVqcycpO1xuXG5jbGFzcyBhY2NvdW50X21ldGEgZXh0ZW5kcyBmcmFwcGUubWV0YS5NZXRhIHtcbiAgICBzZXR1cF9tZXRhKCkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIHJlcXVpcmUoJy4vYWNjb3VudC5qc29uJykpO1xuICAgICAgICB0aGlzLmxpc3Rfb3B0aW9ucy5maWVsZHMgPSBbJ25hbWUnLCAnYWNjb3VudF90eXBlJ107XG4gICAgICAgIHRoaXMuc2V0dXBfbGlua3MoKTtcbiAgICB9XG5cbiAgICBzZXR1cF9saW5rcygpIHtcbiAgICAgICAgdGhpcy5nZXRfZmllbGQoJ3BhcmVudF9hY2NvdW50JykuZ2V0X2ZpbHRlcnMgPSBmdW5jdGlvbihxdWVyeSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBrZXl3b3JkczogW1wibGlrZVwiLCBxdWVyeV0sXG4gICAgICAgICAgICAgICAgbmFtZTogW1wiIT1cIiwgdGhpcy5mb3JtLmRvYy5uYW1lXVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0X3Jvd19odG1sKGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIGA8YSBocmVmPVwiI2VkaXQvYWNjb3VudC8ke2RhdGEubmFtZX1cIj4ke2RhdGEubmFtZX0gKCR7ZGF0YS5hY2NvdW50X3R5cGV9KTwvYT5gO1xuICAgIH1cbn1cblxuY2xhc3MgYWNjb3VudCBleHRlbmRzIGZyYXBwZS5kb2N1bWVudC5Eb2N1bWVudCB7XG4gICAgc2V0dXAoKSB7XG4gICAgICAgIHRoaXMuYWRkX2hhbmRsZXIoJ3ZhbGlkYXRlJyk7XG4gICAgfVxuICAgIHZhbGlkYXRlKCkge1xuICAgICAgICBpZiAoIXRoaXMuYWNjb3VudF90eXBlKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9ICdBc3NldCc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge2FjY291bnQ6YWNjb3VudCwgYWNjb3VudF9tZXRhOmFjY291bnRfbWV0YX07XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL21vZGVscy9kb2N0eXBlL2FjY291bnQvYWNjb3VudC5qc1xuLy8gbW9kdWxlIGlkID0gMzdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwibW9kdWxlLmV4cG9ydHMgPSB7XCJuYW1lXCI6XCJBY2NvdW50XCIsXCJkb2N0eXBlXCI6XCJEb2NUeXBlXCIsXCJpc3NpbmdsZVwiOjAsXCJrZXl3b3JkX2ZpZWxkc1wiOltcIm5hbWVcIixcImFjY291bnRfdHlwZVwiXSxcImZpZWxkc1wiOlt7XCJmaWVsZG5hbWVcIjpcIm5hbWVcIixcImxhYmVsXCI6XCJBY2NvdW50IE5hbWVcIixcImZpZWxkdHlwZVwiOlwiRGF0YVwiLFwicmVxZFwiOjF9LHtcImZpZWxkbmFtZVwiOlwicGFyZW50X2FjY291bnRcIixcImxhYmVsXCI6XCJQYXJlbnQgQWNjb3VudFwiLFwiZmllbGR0eXBlXCI6XCJMaW5rXCIsXCJvcHRpb25zXCI6XCJBY2NvdW50XCJ9LHtcImZpZWxkbmFtZVwiOlwiYWNjb3VudF90eXBlXCIsXCJsYWJlbFwiOlwiQWNjb3VudCBUeXBlXCIsXCJmaWVsZHR5cGVcIjpcIlNlbGVjdFwiLFwib3B0aW9uc1wiOltcIkFzc2V0XCIsXCJMaWFiaWxpdHlcIixcIkVxdWl0eVwiLFwiSW5jb21lXCIsXCJFeHBlbnNlXCJdfV19XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9tb2RlbHMvZG9jdHlwZS9hY2NvdW50L2FjY291bnQuanNvblxuLy8gbW9kdWxlIGlkID0gMzhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sInNvdXJjZVJvb3QiOiIifQ== \ No newline at end of file diff --git a/models/doctype/account/account.js b/models/doctype/account/account.js index 684a89f4..d922e6fe 100644 --- a/models/doctype/account/account.js +++ b/models/doctype/account/account.js @@ -4,12 +4,21 @@ class account_meta extends frappe.meta.Meta { setup_meta() { Object.assign(this, require('./account.json')); this.list_options.fields = ['name', 'account_type']; + this.setup_links(); + } + + setup_links() { + this.get_field('parent_account').get_filters = function(query) { + return { + keywords: ["like", query], + name: ["!=", this.form.doc.name] + } + } } get_row_html(data) { return `${data.name} (${data.account_type})`; } - } class account extends frappe.document.Document {