@tactics/lokaal-loket 0.0.9 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.cjs CHANGED
@@ -1573,6 +1573,10 @@ Object.defineProperty(exports, "StyleProviderRouter", {
1573
1573
  enumerable: true,
1574
1574
  get: function () { return tacky.StyleProviderRouter; }
1575
1575
  });
1576
+ Object.defineProperty(exports, "ThemeBuilder", {
1577
+ enumerable: true,
1578
+ get: function () { return tacky.ThemeBuilder; }
1579
+ });
1576
1580
  Object.defineProperty(exports, "ThemeCtx", {
1577
1581
  enumerable: true,
1578
1582
  get: function () { return tacky.ThemeCtx; }
@@ -1642,4 +1646,4 @@ exports.Term = Kd;
1642
1646
  exports.Terminal = Yd;
1643
1647
  exports.YesNo = ac;
1644
1648
  //# sourceMappingURL=out.js.map
1645
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9iYWRnZS9jb21wb25lbnRzL2JhZGdlLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvaW5kZXgudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5hbGVydC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzLnRzeCIsIi4uL3NyYy9iYXNlL3NyZWVuX3JlYWRlcl9vbmx5L3NjcmVlbl9yZWFkZXJfb25seS5zdHlsZXMudHN4IiwiLi4vc3JjL2Jhc2Uvc3JlZW5fcmVhZGVyX29ubHkvc2NyZWVuX3JlYWRlcl9vbmx5LnRzeCIsIi4uL3NyYy91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmUudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lLnRzIiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5iaW4uc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuY2FsZW5kYXIuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuY2hlY2suc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuY2hpbGQuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuY29pbnMuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuZmFjZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5mYW1pbHkuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuZmF2b3JpdGUuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuZm9sZGVyLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmZvbGxvd3VwLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmlkZWEuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUubGlrZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5tYXAuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUubW9uZXkuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUub2ZmZXIuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUucGFzc3BvcnQuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUucGFzc3dvcmQuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUucGluLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLnNlYXJjaC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5zZXR0aW5nLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLnN0YXIuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuYWRkLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmFwcGxpY2F0aW9uLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmJhYnkuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuYm9va21hcmsuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuY2FuY2VsLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmNvbnZlcnNhdGlvbi5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5kYWQuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuZGF0ZXRpbWUuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuaG9tZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5pbmZvcm1hdGlvbi5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5tb20uc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUubWFpbC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5uby5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5maWxlLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLnllcy5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5ub3RlLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmZlbmNlLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmJ1aWxkaW5nLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL2ZpZ3VyZS5sb2FkZXIudHN4IiwiLi4vc3JjL2F0b21zL2ZyYW1lL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9mcmFtZS9jb21wb25lbnRzL2ZyYW1lLnRzeCIsIi4uL3NyYy9hdG9tcy9mcmFtZS9ob29rcy91c2UtZnJhbWUudHMiLCIuLi9zcmMvYXRvbXMvZnJhbWUvZnJhbWUuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIudHN4IiwiLi4vc3JjL2F0b21zL2JhZGdlL2JhZGdlLmVudW1zLnRzIiwiLi4vc3JjL2F0b21zL2JhZGdlL2JhZGdlLmNvbnRleHQudHN4IiwiLi4vc3JjL2F0b21zL2JhZGdlL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9icmFuZC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvYnJhbmQvY29tcG9uZW50cy9icmFuZC50c3giLCIuLi9zcmMvYXRvbXMvYnJhbmQvYnJhbmQuc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9wbGFpbnRleHQvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL3BsYWludGV4dC9jb21wb25lbnRzL3BsYWludGV4dC50c3giLCIuLi9zcmMvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC5zdHlsZXMudHN4IiwiLi4vc3JjL2F0b21zL3BsYWludGV4dC9ob29rcy91c2UtcGxhaW50ZXh0LnRzIiwiLi4vc3JjL2F0b21zL2J1dHRvbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvYnV0dG9uL2NvbXBvbmVudHMvYnV0dG9uLmljb24udHN4IiwiLi4vc3JjL2F0b21zL2J1dHRvbi9ob29rcy91c2UtYnV0dG9uLmljb24udHMiLCIuLi9zcmMvYXRvbXMvYnV0dG9uL2J1dHRvbi5zdHlsZS50c3giLCIuLi9zcmMvYmFzZS9idXR0b24vYnV0dG9uLnN0eWxlcy50c3giLCIuLi9zcmMvYXRvbXMvYnV0dG9uL2NvbXBvbmVudHMvYnV0dG9uLmxhYmVsLnRzeCIsIi4uL3NyYy9hdG9tcy9idXR0b24vY29tcG9uZW50cy9idXR0b24udHN4IiwiLi4vc3JjL2F0b21zL2J1dHRvbi9ob29rcy91c2UtYnV0dG9uLnRzIiwiLi4vc3JjL2F0b21zL2NoZWNrYm94L2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9jaGVja2JveC9jb21wb25lbnRzL2NoZWNrYm94LnRzeCIsIi4uL3NyYy9hdG9tcy9jaGVja2JveC9jaGVja2JveC5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvY2hlY2tib3gvaG9va3MvdXNlLWNoZWNrYm94LnRzIiwiLi4vc3JjL3VpL2ljb24vaW5kZXgudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmFkZC5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vaWNvbi5zdHlsZXMudHN4IiwiLi4vc3JjL3VpL2ljb24vY29tcG9uZW50cy9pY29uLnRzeCIsIi4uL3NyYy91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lLnRzIiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmFycm93LWxlZnQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5hcnJvdy1yaWdodC5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmJhYnkuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jYW5jZWwuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jaGVjay5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmNoZXZyb24tZG93bi5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmNoZXZyb24tdXAuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5kaXN0YW5jZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmRvY3VtZW50LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uZWRpdC5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmV1cm8uc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5mYXZvcml0ZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLm1hcC5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLm1lbnUuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5waW4uc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5wcm9maWxlLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24ucmVkby5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLnNlbmQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi50cmFuc2xhdGlvbi5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmNvbW1lbnQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5pbi1wcm9jZXNzLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24ubWludXMuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jb2xsYXBzZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmNoZXZyb24tcmlnaHQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jaGV2cm9uLWxlZnQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL2ljb24ubG9hZGVyLnRzeCIsIi4uL3NyYy9hdG9tcy9jaG9pY2UvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2Nob2ljZS9jb21wb25lbnRzL2Nob2ljZS50c3giLCIuLi9zcmMvYXRvbXMvY2hvaWNlL2hvb2tzL3VzZS1jaG9pY2UudHN4IiwiLi4vc3JjL2F0b21zL2Nob2ljZS9jaG9pY2Uuc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvY29tcG9uZW50cy9mZWF0dXJlLnRzeCIsIi4uL3NyYy9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUuc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvaG9va3MvdXNlLWZlYXR1cmUudHMiLCIuLi9zcmMvYXRvbXMvZmVhdHVyZS9jb21wb25lbnRzL2ZlYXR1cmUubGFiZWwudHN4IiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvY29tcG9uZW50cy9mZWF0dXJlLmljb24udHN4IiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvaG9va3MvdXNlLWZlYXR1cmUtaWNvbi50cyIsIi4uL3NyYy9hdG9tcy9oZWFkaW5nL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9oZWFkaW5nL2NvbXBvbmVudHMvaGVhZGluZy50c3giLCIuLi9zcmMvYXRvbXMvaGVhZGluZy9oZWFkaW5nLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9pbmZvcm1hdGlvbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvaW5mb3JtYXRpb24vY29tcG9uZW50cy9pbmZvcm1hdGlvbi50c3giLCIuLi9zcmMvYXRvbXMvaW5mb3JtYXRpb24vaG9va3MvdXNlLWluZm9ybWF0aW9uLnRzIiwiLi4vc3JjL2F0b21zL2luZm9ybWF0aW9uL2luZm9ybWF0aW9uLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9pbnB1dC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvaW5wdXQvY29tcG9uZW50cy9pbnB1dC50c3giLCIuLi9zcmMvYXRvbXMvaW5wdXQvaG9va3MvdXNlLWlucHV0LnRzIiwiLi4vc3JjL2F0b21zL2lucHV0L2lucHV0LnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9pbnB1dC9jb21wb25lbnRzL2lucHV0Lmljb24udHN4IiwiLi4vc3JjL2F0b21zL2lucHV0L2hvb2tzL3VzZS1pbnB1dC5pY29uLnRzIiwiLi4vc3JjL2F0b21zL2xpbmsvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2xpbmsvY29tcG9uZW50cy9saW5rLnRzeCIsIi4uL3NyYy9hdG9tcy9saW5rL2xpbmsuc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9saW5rL2NvbXBvbmVudHMvbGluay5sYWJlbC50c3giLCIuLi9zcmMvYXRvbXMvbGluay9jb21wb25lbnRzL2xpbmsuaWNvbi50c3giLCIuLi9zcmMvYXRvbXMvbGluay9ob29rcy91c2UtbGluay1pY29uLnRzIiwiLi4vc3JjL2F0b21zL2xpbmsvaG9va3MvdXNlLWxpbmsudHMiLCIuLi9zcmMvYXRvbXMvbGlzdC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvbGlzdC9jb21wb25lbnRzL2xpc3QudHN4IiwiLi4vc3JjL2F0b21zL2xpc3QvaG9va3MvdXNlLWxpc3QudHN4IiwiLi4vc3JjL2F0b21zL2xpc3QvbGlzdC5zdHlsZS50cyIsIi4uL3NyYy9hdG9tcy9saXN0L2NvbXBvbmVudHMvbGlzdC5pdGVtLnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2NvbXBvbmVudHMvU3ZnQXNMb2dvLnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2xvZ28uc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2NvbXBvbmVudHMvSW1hZ2VBc0xvZ28udHN4IiwiLi4vc3JjL2F0b21zL2xvZ28vbG9nby5sb2FkZXIudHN4IiwiLi4vc3JjL2F0b21zL25vdGlmaWNhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zdHlsZXMudHN4IiwiLi4vc3JjL2F0b21zL25vdGlmaWNhdGlvbi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi50c3giLCIuLi9zcmMvYXRvbXMvbm90aWZpY2F0aW9uL2hvb2tzL3VzZS1ub3RpZmljYXRpb24udHMiLCIuLi9zcmMvYXRvbXMvcGljay9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcGljay9jb21wb25lbnRzL3BpY2sudHN4IiwiLi4vc3JjL2F0b21zL3BpY2svaG9va3MvdXNlLXBpY2sudHN4IiwiLi4vc3JjL2F0b21zL3BpY2svcGljay5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvcGlsbC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGwudHN4IiwiLi4vc3JjL2F0b21zL3BpbGwvaG9va3MvdXNlLXBpbGwudHMiLCIuLi9zcmMvYXRvbXMvcGlsbC9waWxsLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9waWxsL2NvbXBvbmVudHMvcGlsbC5pY29uLnRzeCIsIi4uL3NyYy9hdG9tcy9waWxsL2hvb2tzL3VzZS1waWxsLWljb24udHMiLCIuLi9zcmMvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGwubGFiZWwudHN4IiwiLi4vc3JjL2F0b21zL3Bpbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcGluL2NvbXBvbmVudHMvcGluLnRzeCIsIi4uL3NyYy9hdG9tcy9waW4vcGluLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9yYWRpby9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcmFkaW8vY29tcG9uZW50cy9yYWRpby50c3giLCIuLi9zcmMvYXRvbXMvcmFkaW8vcmFkaW8uc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL3JhZGlvL2hvb2tzL3VzZS1yYWRpby50cyIsIi4uL3NyYy9hdG9tcy9yZWNvcmQvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL3JlY29yZC9jb21wb25lbnRzL3JlY29yZC50c3giLCIuLi9zcmMvYXRvbXMvcmVjb3JkL2hvb2tzL3VzZS1yZWNvcmQudHMiLCIuLi9zcmMvYXRvbXMvcmVjb3JkL3JlY29yZC5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvcmVjb3JkL2hvb2tzL3VzZS1yZWNvcmQtbGFiZWwudHMiLCIuLi9zcmMvYXRvbXMvcmVjb3JkL2hvb2tzL3VzZS1yZWNvcmQtdmFsdWUudHMiLCIuLi9zcmMvbGF5b3V0cy9ncmlkL2luZGV4LnRzeCIsIi4uL3NyYy9sYXlvdXRzL2dyaWQvZ3JpZC5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvc3RhdHVzL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvY29tcG9uZW50cy9zdGF0dXNfY29tcGFjdC50c3giLCIuLi9zcmMvYXRvbXMvc3RhdHVzL3N0YXR1cy5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvc3RhdHVzL2hvb2tzL3VzZS1zdGF0dXMudHMiLCIuLi9zcmMvYXRvbXMvc3RhdHVzL2NvbXBvbmVudHMvc3RhdHVzLnRzeCIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvaG9va3MvdXNlLXN0YXR1cy1sYWJlbC50cyIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvaG9va3MvdXNlLXN0YXR1cy1pY29uLnRzIiwiLi4vc3JjL2F0b21zL3N0YXR1cy9ob29rcy91c2Utc3RhdHVzLXRleHQudHMiLCIuLi9zcmMvYXRvbXMvdGVybS9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvdGVybS9jb21wb25lbnRzL3Rlcm0udHN4IiwiLi4vc3JjL2F0b21zL3Rlcm0vdGVybS5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvdGVybS9ob29rcy91c2UtdGVybS50cyIsIi4uL3NyYy9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtLWZyYW1lLnRzIiwiLi4vc3JjL2F0b21zL3Rlcm0vaG9va3MvdXNlLXRlcm0tbGFiZWwudHMiLCIuLi9zcmMvYXRvbXMvdGVybS9ob29rcy91c2UtdGVybS1kZXNjcmlwdGlvbi50cyIsIi4uL3NyYy9hdG9tcy90ZXJtaW5hbC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvdGVybWluYWwvdGVybWluYWwuc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL3Rlcm1pbmFsL2NvbXBvbmVudHMvdGVybWluYWwudHN4IiwiLi4vc3JjL2F0b21zL3llc19uby9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMveWVzX25vL2NvbXBvbmVudHMveWVzX25vLnRzeCIsIi4uL3NyYy9hdG9tcy95ZXNfbm8vaG9va3MvdXNlLXllcy1uby50c3giLCIuLi9zcmMvYXRvbXMveWVzX25vL3llc19uby5zdHlsZS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2RldGFpbHMvaW5kZXgudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMuc3R5bGUudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9kZXRhaWxzL2hvb2tzL3VzZS1kZXRhaWxzLnRzIiwiLi4vc3JjL21vbGVjdWxlcy9kZXRhaWxzL2NvbXBvbmVudHMvZGV0YWlscy50c3giLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vaW5kZXgudHN4IiwiLi4vc3JjL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi5zdHlsZS50c3giLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vY29tcG9uZW50cy9hY2NvcmRlb24udHN4IiwiLi4vc3JjL2xheW91dHMvYWNjb3JkZW9uL2NvbXBvbmVudHMvYWNjb3JkZW9uLmhlYWRlci50c3giLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vY29tcG9uZW50cy9hY2NvcmRlb24uY29udGVudC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2RldGFpbHMvY29tcG9uZW50cy9kZXRhaWxzLmhlYWRlci50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2RldGFpbHMvY29tcG9uZW50cy9kZXRhaWxzLmNvbnRlbnQudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9mYXEvaW5kZXgudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9mYXEvZmFxLnN0eWxlLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZmFxL2hvb2tzL3VzZS1mYXEudHMiLCIuLi9zcmMvbW9sZWN1bGVzL2ZhcS9jb21wb25lbnRzL2ZhcS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZhcS9jb21wb25lbnRzL2ZhcS5oZWFkZXIudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9mYXEvY29tcG9uZW50cy9mYXEuY29udGVudC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZlYXR1cmVzL2luZGV4LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZmVhdHVyZXMvY29tcG9uZW50cy9mZWF0dXJlcy50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZlYXR1cmVzL2hvb2tzL3VzZS1mZWF0dXJlLnRzIiwiLi4vc3JjL21vbGVjdWxlcy9mZWF0dXJlcy9mZWF0dXJlcy5zdHlsZS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9ob29rcy91c2UtcHJvZmlsZS1uYXZpZ2F0aW9uLnRzIiwiLi4vc3JjL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnN0eWxlLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvcHJvZmlsZV9uYXZpZ2F0aW9uLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvcHJvZmlsZV9uYXZpZ2F0aW9uLmNvdW50ZXIudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vY29tcG9uZW50cy9wcm9maWxlX25hdmlnYXRpb24uaXRlbS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3JlY29yZHMvaW5kZXgudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9yZWNvcmRzL2NvbXBvbmVudHMvcmVjb3Jkcy50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3JlY29yZHMvaG9va3MvdXNlLXJlY29yZHMudHMiLCIuLi9zcmMvbW9sZWN1bGVzL3N0YXR1c19saXN0L2luZGV4LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvc3RhdHVzX2xpc3QvY29tcG9uZW50cy9zdGF0dXNfbGlzdC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3N0YXR1c19saXN0L2hvb2tzL3VzZS1zdGF0dXMtbGlzdC50cyIsIi4uL3NyYy9tb2xlY3VsZXMvc3RhdHVzX2xpc3Qvc3RhdHVzX2xpc3Quc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci5zdHlsZS50c3giLCIuLi9zcmMvbGF5b3V0cy9jb250YWluZXIvaG9va3MvdXNlLWNvbnRhaW5lci50cyIsIi4uL3NyYy9sYXlvdXRzL2NvbnRhaW5lci9jb21wb25lbnRzL2NvbnRhaW5lci50c3giLCIuLi9zcmMvbGF5b3V0cy9jb250YWluZXIvaW5kZXgudHN4IiwiLi4vc3JjL29yZ2FuaXNtcy9tYXAvaW5kZXgudHN4IiwiLi4vc3JjL29yZ2FuaXNtcy9tYXAvY29tcG9uZW50cy9tYXAubG9jYXRpb24udHN4IiwiLi4vc3JjL2F0b21zL21hcC96b29tL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9tYXAvem9vbS9jb21wb25lbnRzL3pvb20udHN4IiwiLi4vc3JjL2F0b21zL21hcC96b29tL3pvb20uc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL21hcC96b29tL2hvb2tzL3VzZS16b29tLnRzIiwiLi4vc3JjL2F0b21zL21hcC96b29tL3pvb20uZW51bXMudHMiLCIuLi9zcmMvb3JnYW5pc21zL21hcC9jb21wb25lbnRzL21hcC5yb3V0ZS50c3giLCIuLi9zcmMvbGF5b3V0cy9iYWNrZHJvcC9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9iYWNrZHJvcC9iYWNrZHJvcC5zdHlsZS50c3giLCIuLi9zcmMvbGF5b3V0cy9iYWNrZHJvcC9jb21wb25lbnRzL2JhY2tkcm9wLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2JsdXIvaW5kZXgudHN4IiwiLi4vc3JjL2xheW91dHMvYmx1ci9jb21wb25lbnRzL2JsdXIudHN4IiwiLi4vc3JjL2xheW91dHMvYmx1ci9ibHVyLnN0eWxlLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2NvbGxhcHNhYmxlL2luZGV4LnRzeCIsIi4uL3NyYy9sYXlvdXRzL2NvbGxhcHNhYmxlL2NvbGxhcHNhYmxlLnN0eWxlLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2NvbGxhcHNhYmxlL2NvbXBvbmVudHMvY29sbGFwc2FibGUudHN4IiwiLi4vc3JjL2xheW91dHMvZHJhd2VyL2luZGV4LnRzeCIsIi4uL3NyYy9sYXlvdXRzL2RyYXdlci9jb21wb25lbnRzL2RyYXdlci50c3giLCIuLi9zcmMvbGF5b3V0cy9kcmF3ZXIvZHJhd2VyLnN0eWxlLnRzeCIsIi4uL3NyYy9sYXlvdXRzL21vZGFsL2luZGV4LnRzeCIsIi4uL3NyYy9sYXlvdXRzL21vZGFsL2NvbXBvbmVudHMvbW9kYWwudHN4IiwiLi4vc3JjL2xheW91dHMvbW9kYWwvbW9kYWwuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvb3ZlcmxheS9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9vdmVybGF5L2NvbXBvbmVudHMvb3ZlcmxheS50c3giLCIuLi9zcmMvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkuc3R5bGUudHN4IiwiLi4vc3JjL3V0aWxzL2dvb2dsZV9hcGlfY29tcG9uZW50L2luZGV4LnRzeCIsIi4uL3NyYy91dGlscy9nb29nbGVfbWFwcy9kaXJlY3Rpb25zL2luZGV4LnRzeCIsIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJ1c2VDb250ZXh0IiwiQ29sb3IiLCJDb2xvclZhcmlhbnQiLCJjcmVhdGVDb250ZXh0Iiwic3R5bGVkIiwiQmFzZUZpZ3VyZVN2ZyIsInByb3BzIiwiQmFzZUZpZ3VyZVBhdGgiLCJTdHlsZWRGaWd1cmUiLCJTdHlsZWRGaWd1cmVQYXRoIiwiU3R5bGVkRmlndXJlV3JhcHBlciIsIlN0eWxlZFNjcmVlblJlYWRlck9ubHkiLCJqc3giLCJTY3JlZW5SZWFkZXJPbmx5IiwidGV4dCIsImpzeHMiLCJGaWd1cmUiLCJzY3JlZW5SZWFkZXJUZXh0Iiwic2l6ZSIsImNoaWxkcmVuIiwidXNlVGhlbWVDb2xvciIsIkxvb2t1cEFkZGl0aW9uYWxDb2xvciIsIm1hdGNoIiwidXNlRmlndXJlVGhlbWUiLCJjb250ZXh0IiwiQ29sb3JzIiwiU3Ryb2tlIiwiUHJpbWFyeSIsIlN1cHBvcnRpbmciLCJBY2NlbnQiLCJTa2VsZXRvbkJnIiwiQWxlcnQiLCJDb250ZXh0IiwiRmlndXJlQ3R4IiwiVGhlbWUiLCJCaW4iLCJDYWxlbmRhciIsIkNoZWNrIiwiQ2hpbGQiLCJDb2lucyIsIkZhY2UiLCJGYW1pbHkiLCJ0aXRsZSIsIkZhdm9yaXRlIiwiRm9sZGVyIiwiRm9sbG93VXAiLCJJZGVhIiwiTGlrZSIsIk1hcCIsIk1vbmV5IiwiT2ZmZXIiLCJQYXNzcG9ydCIsIlBhc3N3b3JkIiwiUGluIiwiU2VhcmNoIiwiU2V0dGluZyIsIlN0YXIiLCJBZGQiLCJBcHBsaWNhdGlvbiIsIkJhYnkiLCJCb29rbWFyayIsIkNhbmNlbCIsIkNvbnZlcnNhdGlvbiIsIkRhZCIsIkRhdGVUaW1lIiwiSG9tZSIsIkluZm9ybWF0aW9uIiwiTW9tIiwiTWFpbCIsIk5vIiwiRmlsZSIsIlllcyIsIk5vdGUiLCJGZW5jZSIsIkZpZ3VyZUNvbnRleHQiLCJJc1NrZWxldG9uIiwiQnVpbGRpbmciLCJGcmFnbWVudCIsIkxvYWRGaWd1cmUiLCJ0eXBlIiwiRmlndXJlU2l6ZSIsIkZpZ3VyZUN0eERlZmF1bHQiLCJ1c2VUaGVtZVJhZGl1cyIsInVzZVRoZW1lVXRpbGl0eSIsIm9yRGVmYXVsdCIsInVzZUZyYW1lIiwidGludCIsImNvbG9yIiwic3BsaXQiLCJUaGVtZVJhZGl1cyIsIlV0aWxpdHkiLCJib3JkZXJSYWRpdXMiLCJCYWNrZ3JvdW5kIiwic3BsaXRCYWNrZ3JvdW5kIiwiU3R5bGVkRnJhbWUiLCJwcm9wIiwiU3R5bGVkRnJhbWVQYWRkaW5nIiwiU3R5bGVkU2tlbGV0b25GcmFtZSIsIlN0eWxlZFBsYWNlaG9sZGVyIiwiUGxhY2Vob2xkZXIiLCJGcmFtZSIsImFyb3VuZCIsIkNvbXBvbmVudENvbnRleHQiLCJGcmFtZUN0eCIsIkRlZmF1bHQiLCJCYWRnZUNvbnRleHQiLCJCYWRnZVR5cGUiLCJCYWRnZUN0eERlZmF1bHQiLCJCYWRnZUN0eCIsIkJhZGdlIiwiUmVhY3QiLCJTdHlsZWRCcmFuZFdyYXBwZXIiLCJTdHlsZWRCcmFuZFRhZ0xpbmVXcmFwcGVyIiwiU3R5bGVkQnJhbmRMYWJlbCIsIlN0eWxlZEJyYW5kU2tlbGV0b25MYWJlbCIsIlN0eWxlZFBsYWluVGV4dCIsIlN0eWxlZFNrZWxldG9uUGxhaW5UZXh0IiwiU3R5bGVkU2tlbGV0b25QbGFpblRleHRMaW5lIiwidXNlVGhlbWVGb250cyIsInVzZVBsYWluVGV4dCIsIkZvbnRzIiwiUmFkaXVzIiwiU3RhbmRhcmQiLCJTa2VsZXRvbiIsIlBsYWluVGV4dCIsImZvbnQiLCJmb250V2VpZ2h0IiwidGV4dERlY29yYXRpb24iLCJQbGFpblR4dENvbnRleHQiLCJQbGFpblR4dEN0eCIsImNzc1RleHREZWNvcmF0aW9uIiwiY3NzRm9udCIsIlR5cG9ncmFwaHlGb250IiwiVHlwb2dyYXBoeUZvbnRzIiwiVHlwb2dyYXBoeUZvbnRXZWlnaHQiLCJQbGFpblR4dEN0eERlZmF1bHQiLCJCcmFuZCIsImxvZ28iLCJuYW1lIiwiYXJpYUxhYmVsIiwiQnJhbmRDdHgiLCJCcmFuZEN0eERlZmF1bHQiLCJCcmFuZENvbnRleHQiLCJ1c2VCdXR0b25JY29uQ29udGV4dCIsIkJ1dHRvbkljb24iLCJpY29uIiwiQnV0dG9uQ3R4IiwiSWNvbkNvbnRleHQiLCJjc3MiLCJiYXNlQnV0dG9uU3R5bGVzIiwiYmFzZUJ1dHRvbklubmVyU3R5bGVzIiwiQnV0dG9uTmF2aWdhdGlvbiIsIkJ1dHRvbiIsIkJ1dHRvbklubmVyIiwiQnV0dG9uTGFiZWwiLCJTdHlsZWRCdXR0b24iLCJTdHlsZWRCdXR0b25OYXZpZ2F0aW9uIiwiU3R5bGVkQnV0dG9uU2tlbGV0b24iLCJTdHlsZWRCdXR0b25Jbm5lciIsIlN0eWxlZEJ1dHRvbkxhYmVsIiwidXNlQnV0dG9uVGhlbWUiLCJCdG5EaXNhYmxlZEJnIiwiQnRuRGlzYWJsZWRDb2xvciIsIkJ0bkluaXRpYWxCZ1ByaW1hcnkiLCJCdG5Ib3ZlckJnUHJpbWFyeSIsIkJ0bkluaXRpYWxDb2xvclByaW1hcnkiLCJCdG5Ib3ZlckNvbG9yUHJpbWFyeSIsIkJ0bkluaXRpYWxCZ1NlY29uZGFyeSIsIkJ0bkhvdmVyQmdTZWNvbmRhcnkiLCJCdG5Jbml0aWFsQ29sb3JTZWNvbmRhcnkiLCJCdG5Ib3ZlckNvbG9yU2Vjb25kYXJ5IiwiQnRuSW5pdGlhbEJnU3VwcG9ydGluZyIsIkJ0bkhvdmVyQmdTdXBwb3J0aW5nIiwiQnRuSW5pdGlhbENvbG9yU3VwcG9ydGluZyIsIkJ0bkhvdmVyQ29sb3JTdXBwb3J0aW5nIiwiVWkiLCJOb25lIiwiTG93IiwiTWVkaXVtIiwiSGlnaCIsIkRpc2FibGVkIiwiaWQiLCJvbkNsaWNrIiwid2l0aEljb25CZWZvcmUiLCJ3aXRoSWNvbkFmdGVyIiwiQnRuQ29udGV4dCIsIklzRGlzYWJsZWQiLCJJc05hdmlnYXRpb24iLCJMYWJlbCIsIkljb25CZWZvcmUiLCJJY29uQWZ0ZXIiLCJodG1sVHlwZSIsIkJ1dHRvbkN0eERlZmF1bHQiLCJTdHlsZWRDaGVja2JveCIsIlN0eWxlZENoZWNrYm94Q29udGFpbmVyIiwiU3R5bGVkQ2hlY2tib3hDb250YWluZXJTa2VsZXRvbiIsIlN0eWxlZENoZWNrYm94VmlzdWFsIiwiU3R5bGVkQ2hlY2tib3hWaXN1YWxTa2VsZXRvbiIsIlN0eWxlZENoZWNrYm94TGFiZWwiLCJTdHlsZWRDaGVja2JveExhYmVsU2tlbGV0b24iLCJ1c2VDaGVja2JveFRoZW1lIiwicmFkaXVzIiwic2tlbGV0b25CZ0NvbG9yIiwiZXJyb3JCb3JkZXJDb2xvciIsIkVycm9yIiwiQmFzZUljb25TdmciLCJCYXNlSWNvblBhdGgiLCJTdHlsZWRJY29uIiwiU3R5bGVkSWNvblBhdGgiLCJTdHlsZWRJY29uV3JhcHBlciIsIkljb24iLCJ1c2VJY29uVGhlbWUiLCJJY29uSW5pdGlhbENvbG9yUHJpbWFyeSIsIkljb25Jbml0aWFsQ29sb3JTdXBwb3J0aW5nIiwiSWNvbkluaXRpYWxDb2xvckRhcmsiLCJJY29uSW5pdGlhbENvbG9yTGlnaHQiLCJJY29uRGlzYWJsZWRDb2xvciIsIkljb25DdHgiLCJBcnJvd0xlZnQiLCJBcnJvd1JpZ2h0IiwiQ2hldnJvbkRvd24iLCJDaGV2cm9uVXAiLCJEaXN0YW5jZSIsIkRvY3VtZW50IiwiRWRpdCIsIkV1cm8iLCJNZW51IiwiUHJvZmlsZSIsIlJlZG8iLCJTZW5kIiwiVHJhbnNsYXRpb24iLCJDb21tZW50IiwiSW5Qcm9jZXNzIiwiTWludXMiLCJDb2xsYXBzZSIsIkNoZXZyb25SaWdodCIsIkNoZXZyb25MZWZ0IiwiTG9hZEljb24iLCJJY29uU2l6ZSIsIkljb25DdHhEZWZhdWx0IiwiQ2hlY2tib3giLCJvbkNoYW5nZSIsInZhbHVlIiwibGFiZWwiLCJjaGVja2VkIiwiZGVmYXVsdENoZWNrZWQiLCJDaGVja2JveENvbnRleHQiLCJDaGVja2JveEN0eCIsImlzRGlzYWJsZWQiLCJDaGVja2JveEN0eERlZmF1bHQiLCJJbnB1dENvbnRleHQiLCJ1c2VDaG9pY2VUaGVtZSIsIlN0eWxlZENob2ljZSIsIlN0eWxlZENob2ljZUNvbnRhaW5lciIsIlN0eWxlZENob2ljZUxhYmVsIiwiU3R5bGVkVmlzdWFsQ29udGFpbmVyIiwiU3R5bGVkVmlzdWFsIiwiU3R5bGVkQ2hvaWNlQ29udGFpbmVyU2tlbGV0b24iLCJTdHlsZWRDaG9pY2VWaXN1YWxTa2VsZXRvbiIsIlN0eWxlZENob2ljZUxhYmVsU2tlbGV0b24iLCJDaG9pY2UiLCJDaG9pY2VDb250ZXh0IiwiQ2hvaWNlQ3R4IiwiQ2hvaWNlQ3R4RGVmYXVsdCIsIlN0eWxlZEZlYXR1cmUiLCJTdHlsZWRTa2VsZXRvbkZlYXR1cmUiLCJTdHlsZWRGZWF0dXJlTGFiZWwiLCJTdHlsZWRGZWF0dXJlSWNvbiIsInVzZUZlYXR1cmUiLCJGb250IiwiRmVhdHVyZUxhYmVsIiwidXNlRmVhdHVyZUljb25Db250ZXh0IiwiRmVhdHVyZUljb24iLCJDdHgiLCJNYXJnaW4iLCJGZWF0dXJlIiwiU3R5bGVkSDEiLCJTdHlsZWRIMiIsIlN0eWxlZEgzIiwiU3R5bGVkSDQiLCJTdHlsZWRINSIsIlN0eWxlZEg2IiwiSGVhZGluZyIsIkhlYWRpbmdDdHgiLCJIMSIsIkgyIiwiSDMiLCJINCIsIkg1IiwiSDYiLCJIZWFkaW5nQ3R4RGVmYXVsdCIsIkhlYWRpbmdDb250ZXh0IiwidXNlSW5mb3JtYXRpb24iLCJTdHlsZWRJbmZvcm1hdGlvbiIsIlN0eWxlZEluZm9ybWF0aW9uVmlzdWFsIiwiU3R5bGVkSW5mb3JtYXRpb25UZXh0IiwiU3R5bGVkU2tlbGV0b25JbmZvcm1hdGlvbiIsImZyYW1lIiwiVmlzdWFsIiwidXNlSW5wdXRUaGVtZSIsIlN0eWxlZElucHV0Q29udGFpbmVyIiwiU3R5bGVkSW5wdXRJY29uQ29udGFpbmVyIiwiU3R5bGVkSW5wdXRJY29uQmVmb3JlQ29udGFpbmVyIiwiU3R5bGVkSW5wdXRJY29uQWZ0ZXJDb250YWluZXIiLCJTdHlsZWRJbnB1dCIsIlN0eWxlZElucHV0U2tlbGV0b24iLCJTdHlsZWRUZXh0YXJlYSIsIlN0eWxlZFRleHRhcmVhU2tlbGV0b24iLCJ1c2VJbnB1dEljb25Db250ZXh0IiwiSW5wdXRJY29uIiwiSW5wdXRDdHgiLCJJbnB1dCIsImRlZmF1bHRWYWx1ZSIsIm9uQmx1ciIsInBsYWNlaG9sZGVyIiwibXVsdGlsaW5lIiwicm93cyIsImVycm9yIiwiZGlzYWJsZWQiLCJza2VsZXRvbiIsIklucHV0Q3R4RGVmYXVsdCIsIlN0eWxlZExpbmtJbm5lciIsIlN0eWxlZExpbmtMYWJlbCIsIlN0eWxlZExpbmtJY29uQmVmb3JlIiwiU3R5bGVkTGlua0ljb25BZnRlciIsIlN0eWxlZExpbmsiLCJTdHlsZWRMaW5rU2tlbGV0b24iLCJMaW5rTGFiZWwiLCJ1c2VMaW5rSWNvbkNvbnRleHQiLCJMaW5rSWNvbiIsInBvc2l0aW9uIiwiTGlua0N0eCIsIkJlZm9yZSIsIkFmdGVyIiwidXNlTGlua1RoZW1lIiwiTGluayIsIkxpbmtDb250ZXh0IiwiSWNvbkJlZm9yZVNrZWxldG9uIiwiSWNvbkFmdGVyU2tlbGV0b24iLCJMaW5rQ3R4RGVmYXVsdCIsInVzZUxpc3RUaGVtZSIsIlN0eWxlZFVub3JkZXJlZExpc3QiLCJTdHlsZWRPcmRlcmVkTGlzdCIsIlN0eWxlZFVub3JkZXJlZExpc3RTa2VsZXRvbiIsIlN0eWxlZE9yZGVyZWRMaXN0U2tlbGV0b24iLCJTdHlsZWRMaXN0SXRlbUNvbnRhaW5lciIsIlN0eWxlZExpc3RJdGVtIiwiTGlzdCIsIkxpc3RDb250ZXh0IiwiTGlzdEN0eCIsImlzU2tlbGV0b24iLCJJdGVtIiwiTGlzdEN0eERlZmF1bHQiLCJCYXNlTG9nb1N2ZyIsIkJhc2VMb2dvSW1hZ2UiLCJCYXNlTG9nb1BhdGgiLCJTdHlsZWRMb2dvIiwiU3R5bGVkTG9nb0ltYWdlIiwiU3R5bGVkTG9nb1NrZWxldG9uIiwiU3R5bGVkTG9nb0ltYWdlU2tlbGV0b24iLCJTdHlsZWRMb2dvUGF0aCIsIlN0eWxlZExvZ29XcmFwcGVyIiwiU3R5bGVkTG9nb0ltYWdlV3JhcHBlciIsIlN2Z0FzTG9nbyIsIkxvZ29DdHgiLCJEYXJrIiwiSW1hZ2VBc0xvZ28iLCJzcmNzZXQiLCJhbHQiLCJMb2FkTG9nbyIsIkxvZ29DdHhEZWZhdWx0IiwiTG9nbyIsIkxvZ29Db250ZXh0IiwiU3R5bGVkTm90aWZpY2F0aW9uIiwiU3R5bGVkU2tlbGV0b25Ob3RpZmljYXRpb24iLCJ1c2VOb3RpZmljYXRpb24iLCJOb3RpZmljYXRpb24iLCJudW1iZXIiLCJOb3RpZmljYXRpb25Db250ZXh0IiwiTm90aWZpY2F0aW9uQ3R4IiwiZGlzcGxheSIsIk5vdGlmaWNhdGlvbkN0eERlZmF1bHQiLCJDb250YWluZXJDb250ZXh0IiwidXNlUGlja1RoZW1lIiwiU3R5bGVkUGljayIsIlN0eWxlZFBpY2tDb250YWluZXIiLCJTdHlsZWRQaWNrTGFiZWwiLCJTdHlsZWRQaWNrQ29udGFpbmVyU2tlbGV0b24iLCJTdHlsZWRQaWNrVmlzdWFsU2tlbGV0b24iLCJTdHlsZWRQaWNrTGFiZWxTa2VsZXRvbiIsIlBpY2siLCJQaWNrQ29udGV4dCIsIlBpY2tDdHgiLCJQaWNrQ3R4RGVmYXVsdCIsInVzZVBpbGwiLCJTdHlsZWRQaWxsIiwiU3R5bGVkUGlsbEljb24iLCJTdHlsZWRQaWxsTGFiZWwiLCJTdHlsZWRTa2VsZXRvblBpbGwiLCJ1c2VQaWxsSWNvbkNvbnRleHQiLCJQaWxsSWNvbiIsIlBpbGxMYWJlbCIsIlBpbGwiLCJCYXNlUGluU3ZnIiwiQmFzZVBpblBhdGgiLCJCYXNlUGluRyIsIkJhc2VEZWZzIiwiQmFzZUNsaXBQYXRoIiwiQmFzZUNsaXBSZWN0IiwiU3R5bGVkUGluIiwiU3R5bGVkUGluUGF0aCIsIlN0eWxlZFBpbldyYXBwZXIiLCJTdHlsZWRQaW5TaGFkb3ciLCJjb2xvcnMiLCJ3aWR0aCIsIndpZHRoUHgiLCJoZWlnaHQiLCJoZWlnaHRQeCIsInZpZXdCb3giLCJQaW5DdHhEZWZhdWx0IiwiUGluQ3R4IiwiUGluQ29udGV4dCIsIlN0eWxlZFJhZGlvIiwiU3R5bGVkUmFkaW9Db250YWluZXIiLCJTdHlsZWRSYWRpb0NvbnRhaW5lclNrZWxldG9uIiwiU3R5bGVkUmFkaW9WaXN1YWwiLCJTdHlsZWRSYWRpb1Zpc3VhbFNrZWxldG9uIiwiU3R5bGVkUmFkaW9MYWJlbCIsIlN0eWxlZFJhZGlvTGFiZWxTa2VsZXRvbiIsInVzZVJhZGlvVGhlbWUiLCJSYWRpbyIsIlJhZGlvQ29udGV4dCIsIlJhZGlvQ3R4IiwiUmFkaW9DdHhEZWZhdWx0IiwidXNlUmVjb3JkIiwiU3R5bGVkUmVjb3JkIiwiU3R5bGVkUmVjb3JkSWNvbiIsIlN0eWxlZFJlY29yZExhYmVsIiwiU3R5bGVkUmVjb3JkTGFiZWxUZXh0IiwiU3R5bGVkUmVjb3JkVmFsdWUiLCJ1c2VSZWNvcmRMYWJlbCIsInVzZVJlY29yZFZhbHVlIiwiU3R5bGVkR3JpZENvbnRhaW5lciIsIlN0eWxlZEdyaWQiLCJTdHlsZWRHcmlkSXRlbSIsInVzZVRoZW1lIiwiR3JpZENvbnRleHQiLCJHcmlkIiwiZGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImp1c3RpZnkiLCJnYXAiLCJzbUJyZWFrcG9pbnQiLCJtZEJyZWFrcG9pbnQiLCJsZ0JyZWFrcG9pbnQiLCJ4bEJyZWFrcG9pbnQiLCJ4eGxCcmVha3BvaW50IiwiZ2FwT3JkZWZhdWx0IiwiZGlyZWN0aW9uT3JEZWZhdWx0IiwiYWxpZ25JdGVtc09yRGVmYXVsdCIsImp1c3RpZnlPckRlZmF1bHQiLCJzdHlsZSIsImNvdW50IiwiaW5pdGlhbCIsInNtIiwibWQiLCJsZyIsInhsIiwieHhsIiwid2lkdGhPckRlZmF1bHQiLCJzbU9yRGVmYXVsdCIsIm1kT3JEZWZhdWx0IiwibGdPckRlZmF1bHQiLCJ4bE9yRGVmYXVsdCIsInh4bE9yRGVmYXVsdCIsImdyaWQiLCJTcGFjaW5nIiwiUmVjb3JkIiwiVGhlbWVMYWJlbCIsIlRoZW1lVmFsdWUiLCJWYWx1ZSIsIlN0eWxlZFN0YXR1cyIsIlN0eWxlZFNrZWxldG9uU3RhdHVzIiwiU3R5bGVkU3RhdHVzTGFiZWwiLCJTdHlsZWRTdGF0dXNMYWJlbEljb24iLCJTdHlsZWRTdGF0dXNMYWJlbFRleHQiLCJTdHlsZWRTa2VsZXRvblN0YXR1c0xhYmVsIiwidXNlU3RhdHVzQ29tcGFjdCIsIlNlbmRTdGF0dXMiLCJQcm9jZXNzaW5nU3RhdHVzIiwiUHJvcG9zYWxTdGF0dXMiLCJBY2NlcHRlZFN0YXR1cyIsIlJlZnVzZWRTdGF0dXMiLCJTdGF0dXNDb21wYWN0IiwidXNlU3RhdHVzIiwidXNlU3RhdHVzSWNvbiIsInVzZVN0YXR1c1RleHQiLCJTdGF0dXMiLCJJY29uVGhlbWUiLCJUZXh0VGhlbWUiLCJTdHlsZWRUZXJtIiwiU3R5bGVkVGVybUZyYW1lIiwiU3R5bGVkVGVybUNvbnRlbnQiLCJTdHlsZWRUZXJtTGFiZWwiLCJTdHlsZWRUZXJtRGVzY3JpcHRpb24iLCJTdHlsZWRTa2VsZXRvblRlcm1EZXNjcmlwdGlvbiIsIlN0eWxlZFNrZWxldG9uVGVybSIsInVzZVRlcm0iLCJ1c2VUZXJtRnJhbWUiLCJ1c2VUZXJtTGFiZWwiLCJ1c2VUZXJtRGVzY3JpcHRpb24iLCJUZXJtIiwiZGVzY3JpcHRpb24iLCJUaGVtZUZyYW1lIiwiVGhlbWVEZXNjcmlwdGlvbiIsIlN0eWxlZFRlcm1pbmFsIiwiU3R5bGVkVGVybWluYWxJbm5lciIsIlN0eWxlZFRlcm1pbmFsT3V0ZXIiLCJTdHlsZWRUZXJtaW5hbFdyYXBwZXIiLCJTdHlsZWRUZXJtaW5hbExhYmVsIiwiU3R5bGVkVGVybWluYWxMYWJlbENvbnRlbnQiLCJTdHlsZWRUZXJtaW5hbExhYmVsQXJyb3ciLCJTdHlsZWRUZXJtaW5hbFNoYWRvdyIsIlRlcm1pbmFsIiwiVGVybWluYWxDdHhEZWZhdWx0IiwiVGVybWluYWxDdHgiLCJUZXJtaW5hbENvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZVllc05vVGhlbWUiLCJ1dGlsIiwiU3R5bGVkWWVzTm8iLCJTdHlsZWRZZXNOb0NvbnRhaW5lciIsIlN0eWxlZFllc05vTGFiZWwiLCJTdHlsZWRZZXNOb0NvbnRhaW5lclNrZWxldG9uIiwiU3R5bGVkWWVzTm9XcmFwcGVyIiwiU3R5bGVkWWVzTm9WaXN1YWxTa2VsZXRvbiIsIlN0eWxlZFllc05vTGFiZWxTa2VsZXRvbiIsIlllc05vIiwiYXJpYVllc0xhYmVsIiwiYXJpYU5vTGFiZWwiLCJ5ZXNMYWJlbCIsIm5vTGFiZWwiLCJZZXNOb0NvbnRleHQiLCJZZXNOb0N0eCIsInllc09yTm8iLCJzZXRZZXNPck5vIiwiWWVzTm9DdHhEZWZhdWx0IiwiU3R5bGVkRGV0YWlsc0NvbnRhaW5lciIsIlN0eWxlZERldGFpbHNIZWFkZXIiLCJTdHlsZWREZXRhaWxzSGVhZGVySWNvbiIsIlN0eWxlZERldGFpbHNBY3Rpb25zIiwiU3R5bGVkRGV0YWlsc0NvbnRlbnQiLCJTdHlsZWRTa2VsZXRvblRpdGxlIiwidXNlRGV0YWlsc1RoZW1lIiwiRGV0YWlscyIsIkRldGFpbHNDb250ZXh0IiwiRGV0YWlsc0N0eCIsIlN0eWxlZEFjY29yZGVvbkNvbnRhaW5lciIsIlN0eWxlZEFjY29yZGVvbkhlYWRlciIsIlN0eWxlZEFjY29yZGVvbkJvZHkiLCJTdHlsZWRBY2NvcmRlb25Db250ZW50IiwiJGlzT3BlbiIsIkFjY29yZGVvbiIsIkFjY29yZGVvbkN0eCIsIkhlYWRlciIsIkFjY29yZGVvbkNvbnRleHQiLCJzZXRBY2NvcmRlb25Db250ZXh0IiwiQ29udGVudCIsImlzT3BlbiIsIkFjY29yZGVvbkN0eERlZmF1bHQiLCJEZWZhdWx0QWNjb3JkZW9uQ29udGV4dCIsIkRldGFpbHNDdHhEZWZhdWx0IiwiU3R5bGVkRmFxQ29udGFpbmVyIiwiU3R5bGVkRmFxSGVhZGVyIiwiU3R5bGVkRmFxSGVhZGVySWNvbiIsIlN0eWxlZEZhcUNvbnRlbnQiLCJ1c2VGYXFUaGVtZSIsIkZhcSIsIkZhcUNvbnRleHQiLCJGYXFDdHgiLCJGYXFDdHhEZWZhdWx0IiwidXNlRmVhdHVyZXMiLCJTdHlsZWRGZWF0dXJlcyIsIlN0eWxlZEZlYXR1cmVzSXRlbSIsIlN0eWxlZEZlYXR1cmVzSXRlbVNlcGVyYXRvciIsIlN0eWxlZFNrZWxldG9uRmVhdHVyZXMiLCJGZWF0dXJlcyIsImZlYXR1cmVzIiwiY2hpbGQiLCJpbmRleCIsImRpdmlkZXIiLCJ1c2VQcm9maWxlTmF2aWdhdGlvblRoZW1lIiwiU3R5bGVkUHJvZmlsZU5hdmlnYXRpb24iLCJTdHlsZWRQcm9maWxlTmF2aWdhdGlvblNrZWxldG9uIiwiU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uIiwiU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtTGluayIsIlN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUJ1dHRvbiIsIlN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUNvdW50ZXIiLCJQcm9maWxlTmF2aWdhdGlvbiIsInRoZW1lIiwiQ291bnRlciIsImlzSGlnaGxpZ2h0ZWQiLCJ1c2VSZWNvcmRzIiwiUmVjb3JkcyIsInJlY29yZHMiLCJDaGlsZHJlbiIsInVzZVN0YXR1c0xpc3RUaGVtZSIsIlN0eWxlZFN0YXR1c0xpc3QiLCJTdHlsZWRTdGF0dXNMaXN0SXRlbXMiLCJTdHlsZWRTdGF0dXNMaXN0Q291bnQiLCJTdHlsZWRTa2VsZXRvblN0YXR1c0xpc3QiLCJTdHlsZWRDb250YWluZXIiLCJTdHlsZWRDb250YWluZXJQYWRkaW5nIiwiU3R5bGVkU2tlbGV0b25Db250YWluZXIiLCJ1c2VDb250YWluZXIiLCJsaWZ0ZWQiLCJwYWRkaW5nIiwiZnVsbFdpZHRoIiwiUmFkaXVzQmFzZSIsIlNoYWRvdyIsIkNvbnRhaW5lciIsIkNvbnRhaW5lckN0eCIsIkNvbnRhaW5lckN0eERlZmF1bHQiLCJTdGF0dXNMaXN0Iiwid2l0aENvdW50IiwiQ291bnQiLCJBZHZhbmNlZE1hcmtlciIsIkNvbnRyb2xQb3NpdGlvbiIsInV1aWR2NCIsIlN0eWxlZFpvb20iLCJTdHlsZWRab29tU2VwZXJhdG9yIiwiU3R5bGVkWm9vbVBsdXMiLCJTdHlsZWRab29tTWludXMiLCJTdHlsZWRTa2VsZXRvblpvb20iLCJ1c2Vab29tIiwiWm9vbSIsIm1hcCIsIm1heFpvb20iLCJtaW5ab29tIiwiZGVmYXVsdFpvb20iLCJjdXJyZW50Wm9vbSIsInNldEN1cnJlbnRab29tIiwicGx1c0F2YWlsYWJsZSIsInNldFBsdXNBdmFpbGFibGUiLCJtaW51c0F2YWlsYWJsZSIsInNldE1pbnVzQXZhaWxhYmxlIiwic2V0QXZhaWxhYmxlIiwidXBkYXRlIiwib25DbGlja1BsdXMiLCJvbkNsaWNrTWludXMiLCJNYXBDb250cm9sIiwidXNlTWFwIiwicG9zaXRpb25PZmZzZXQiLCJvZmZzZXQiLCJMb2NhdGlvbiIsInBvaW50cyIsIm1hcElkIiwib3JpZ2luIiwibWFwUG9pbnRzIiwiU3R5bGUiLCJvbk1hcmtlckNsaWNrZWQiLCJldmVudCIsInBvaW50IiwiT3JpZ2luTWFya2VyIiwiUG9pbnRNYXJrZXJzIiwiaSIsInVzZU1hcHNMaWJyYXJ5IiwiUm91dGUiLCJkZXN0aW5hdGlvbiIsImRpcmVjdGlvbnMiLCJSb3V0ZXMiLCJyb3V0ZXNMaWJyYXJ5IiwiRGVzdGluYXRpb25NYXJrZXIiLCJNYXBDb250ZXh0IiwiU3R5bGVkQmFja2Ryb3AiLCJCYWNrZHJvcCIsImJhY2tkcm9wcGVkIiwic2V0QmFja2Ryb3BwZWQiLCJCYWNrZHJvcE1hbmFnZXJDdHgiLCJjcmVhdGVQb3J0YWwiLCJCYWNrZHJvcE1hbmFnZXIiLCJTdHlsZWRCbHVyIiwiQmx1ciIsImJsdXJyZWQiLCJzZXRCbHVycmVkIiwiQmx1ckN0eCIsIkJsdXJNYW5hZ2VyIiwiU3R5bGVkQ29sbGFwc2FibGUiLCJTdHlsZWRDb2xsYXBzYWJsZUNvbnRlbnQiLCJTdHlsZWRDb2xsYXBzYWJsZUFkZGl0aW9uYWwiLCJTdHlsZWRDb2xsYXBzYWJsZUV4cGFuZENvbnRlbnRBY3Rpb24iLCJTdHlsZWRDb2xsYXBzYWJsZUNvbGxhcHNlQ29udGVudEFjdGlvbiIsIkNvbGxhcHNhYmxlIiwiY29udGVudCIsImFkZGl0aW9uYWwiLCJ3aXRoQ29udGVudEV4cGFuZCIsIndpdGhDb250ZW50Q29sbGFwc2UiLCJpc0NvbnRlbnRFeHBhbmRlZCIsInNldENvbnRlbnRFeHBhbmRlZCIsIkNvbGxhcHNhYmxlQ3R4IiwiU3R5bGVkRHJhd2VyIiwiU3R5bGVkRHJhd2VySGVhZGVyIiwiU3R5bGVkRHJhd2VyQ29udGVudCIsIkRyYXdlciIsInZpc2libGUiLCJzZXRWaXNpYmxlIiwiRHJhd2VyTWFuYWdlckN0eCIsIkRyYXdlck1hbmFnZXIiLCJkcmF3ZXIiLCJTdHlsZWRNb2RhbCIsIlN0eWxlZE1vZGFsSGVhZGVyIiwiU3R5bGVkTW9kYWxIZWFkZXJDbG9zZSIsIlN0eWxlZE1vZGFsQ29udGVudCIsIk1vZGFsIiwiTW9kYWxNYW5hZ2VyQ3R4IiwiTW9kYWxNYW5hZ2VyIiwibW9kYWwiLCJTdHlsZWRPdmVybGF5IiwiU3R5bGVkT3ZlcmxheUhlYWRlciIsIlN0eWxlZE92ZXJsYXlIZWFkZXJBcmVhIiwiU3R5bGVkT3ZlcmxheUhlYWRlckNsb3NlIiwiU3R5bGVkT3ZlcmxheUNvbnRlbnQiLCJPdmVybGF5IiwiaGVhZGVyIiwiY2xvc2UiLCJPdmVybGF5TWFuYWdlckN0eCIsIk92ZXJsYXlNYW5hZ2VyIiwib3ZlcmxheSIsIkFQSVByb3ZpZGVyIiwiR29vZ2xlQVBJQ29tcG9uZW50IiwiYXBpS2V5Iiwib25Mb2FkIiwiR29vZ2xlQXBpU2VydmljZUN0eCIsIkdvb2dsZUFwaVNlcnZpY2VEaXJlY3Rpb25zIiwic2VydmljZSIsInNldFNlcnZpY2UiLCJCdWlsZFByb3ZpZGVyc1RyZWUiLCJUaGVtZUN0eCIsIlRoZW1lTW9kZSIsIlN0eWxlUHJvdmlkZXJBbmltYXRpb24iLCJTdHlsZVByb3ZpZGVyRm9udEZhY2UiLCJTdHlsZVByb3ZpZGVyUHJlRmxpZ2h0IiwiU3R5bGVQcm92aWRlclJvdXRlciJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBZ0IsY0FBQUEsT0FBa0IsUUFHbEMsT0FBUyxTQUFBQyxHQUFPLGdCQUFBQyxPQUFvQiwwQkNIcEMsT0FBZ0IsaUJBQUFDLE9BQXFCLFFDQXJDLE9BQWdCLGNBQUFILE9BQWtCLFFDQWxDLE9BQU9JLE9BQVksb0JBRW5CLElBQU1DLEdBQWdCRCxHQUFPLElBQUksTUFBT0UsSUFBVyxDQUNqRCxRQUFTLE1BQ1QsTUFBTyw2QkFDUCxXQUFZLCtCQUNaLEtBQU0sTUFDTixjQUFlLE1BQ2pCLEVBQUUsSUFFV0MsR0FBaUJILEdBQU8sS0FBSyxNQUFNLENBQzlDLEtBQU0sY0FDUixDQUFDLElBRVlJLEdBQWVKLEdBQU9DLEVBQWE7QUFBQTtBQUFBLFdBS3BDQyxHQUFVQSxFQUFNLEtBQUs7QUFBQSxZQUNwQkEsR0FBVUEsRUFBTSxNQUFNO0FBQUEsRUFHdEJHLEVBQW1CTCxHQUFPRyxFQUFjLElBRXhDRyxHQUFzQk4sR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElCYWRnZUJhc2UgfSBmcm9tIFwiQC9hdG9tcy9iYWRnZS9iYWRnZS50eXBlc1wiO1xuaW1wb3J0IHsgQmFkZ2VDb250ZXh0LCBCYWRnZVR5cGUgfSBmcm9tIFwiQC9hdG9tcy9iYWRnZVwiO1xuaW1wb3J0IHsgQ29sb3IsIENvbG9yVmFyaWFudCB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyBTaXplLCBUeXBlIGFzIEZpZ3VyZVR5cGUgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEZyYW1lQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2ZyYW1lL2ZyYW1lLmVudW1zXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEZpZ3VyZUNvbnRleHQgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmVudW1zXCI7XG5pbXBvcnQgeyBGcmFtZSB9IGZyb20gXCIuLi8uLi9mcmFtZVwiO1xuaW1wb3J0IHsgQmFkZ2VDdHggfSBmcm9tIFwiQC9hdG9tcy9iYWRnZS9iYWRnZS5jb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCBCYWRnZSA9ICh7IHR5cGUsIHNjcmVlblJlYWRlclRleHQgfTogSUJhZGdlQmFzZSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChCYWRnZUN0eCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBDb21wb25lbnRDb250ZXh0ID09PSBCYWRnZUNvbnRleHQuU0tFTEVUT047XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gbWF0Y2godHlwZSwgW1xuICAgICAgW1xuICAgICAgICBCYWRnZVR5cGUuREFZQ0FSRSxcbiAgICAgICAgPEZyYW1lXG4gICAgICAgICAgdGludD17Q29sb3JWYXJpYW50LlRJTlRfMjAwfVxuICAgICAgICAgIGNvbnRleHQ9e0ZyYW1lQ29udGV4dC5TS0VMRVRPTn1cbiAgICAgICAgICBhcm91bmQ9e1xuICAgICAgICAgICAgPEZpZ3VyZVxuICAgICAgICAgICAgICBzaXplPXtTaXplLk1FRElVTX1cbiAgICAgICAgICAgICAgdHlwZT17RmlndXJlVHlwZS5GRU5DRX1cbiAgICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH1cbiAgICAgICAgICAgICAgY29udGV4dD17RmlndXJlQ29udGV4dC5TS0VMRVRPTn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICAvPixcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgIEJhZGdlVHlwZS5DSElMRE1JTkRFUixcbiAgICAgICAgPEZyYW1lXG4gICAgICAgICAgdGludD17Q29sb3JWYXJpYW50LlRJTlRfMjAwfVxuICAgICAgICAgIGNvbnRleHQ9e0ZyYW1lQ29udGV4dC5TS0VMRVRPTn1cbiAgICAgICAgICBhcm91bmQ9e1xuICAgICAgICAgICAgPEZpZ3VyZVxuICAgICAgICAgICAgICBzaXplPXtTaXplLk1FRElVTX1cbiAgICAgICAgICAgICAgdHlwZT17RmlndXJlVHlwZS5CVUlMRElOR31cbiAgICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH1cbiAgICAgICAgICAgICAgY29udGV4dD17RmlndXJlQ29udGV4dC5TS0VMRVRPTn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICAvPixcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgIEJhZGdlVHlwZS5DT09QRVJBVElWRSxcbiAgICAgICAgPEZyYW1lXG4gICAgICAgICAgdGludD17Q29sb3JWYXJpYW50LlRJTlRfMjAwfVxuICAgICAgICAgIGNvbnRleHQ9e0ZyYW1lQ29udGV4dC5TS0VMRVRPTn1cbiAgICAgICAgICBhcm91bmQ9e1xuICAgICAgICAgICAgPEZpZ3VyZVxuICAgICAgICAgICAgICBzaXplPXtTaXplLk1FRElVTX1cbiAgICAgICAgICAgICAgdHlwZT17RmlndXJlVHlwZS5CVUlMRElOR31cbiAgICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH1cbiAgICAgICAgICAgICAgY29udGV4dD17RmlndXJlQ29udGV4dC5TS0VMRVRPTn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgfVxuICAgICAgICAvPixcbiAgICAgIF0sXG4gICAgXSk7XG4gIH1cblxuICByZXR1cm4gbWF0Y2godHlwZSwgW1xuICAgIFtcbiAgICAgIEJhZGdlVHlwZS5EQVlDQVJFLFxuICAgICAgPEZyYW1lXG4gICAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH1cbiAgICAgICAgY29udGV4dD17RnJhbWVDb250ZXh0LlNUQU5EQVJEfVxuICAgICAgICBjb2xvcj17Q29sb3IuQUNDRU5UfVxuICAgICAgICBhcm91bmQ9e1xuICAgICAgICAgIDxGaWd1cmVcbiAgICAgICAgICAgIHNpemU9e1NpemUuTUVESVVNfVxuICAgICAgICAgICAgdHlwZT17RmlndXJlVHlwZS5CVUlMRElOR31cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgLz4sXG4gICAgXSxcbiAgICBbXG4gICAgICBCYWRnZVR5cGUuQ0hJTERNSU5ERVIsXG4gICAgICA8RnJhbWVcbiAgICAgICAgdGludD17Q29sb3JWYXJpYW50LlRJTlRfMjAwfVxuICAgICAgICBjb250ZXh0PXtGcmFtZUNvbnRleHQuU1RBTkRBUkR9XG4gICAgICAgIGNvbG9yPXtDb2xvci5TVVBQT1JUSU5HfVxuICAgICAgICBhcm91bmQ9e1xuICAgICAgICAgIDxGaWd1cmVcbiAgICAgICAgICAgIHNpemU9e1NpemUuTUVESVVNfVxuICAgICAgICAgICAgdHlwZT17RmlndXJlVHlwZS5GRU5DRX1cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgLz4sXG4gICAgXSxcbiAgICBbXG4gICAgICBCYWRnZVR5cGUuQ09PUEVSQVRJVkUsXG4gICAgICA8RnJhbWVcbiAgICAgICAgdGludD17Q29sb3JWYXJpYW50LlRJTlRfMjAwfVxuICAgICAgICBjb250ZXh0PXtGcmFtZUNvbnRleHQuU1RBTkRBUkR9XG4gICAgICAgIGNvbG9yPXtDb2xvci5BQ0NFTlR9XG4gICAgICAgIHNwbGl0PXtDb2xvci5TVVBQT1JUSU5HfVxuICAgICAgICBhcm91bmQ9e1xuICAgICAgICAgIDxGaWd1cmVcbiAgICAgICAgICAgIHNpemU9e1NpemUuTUVESVVNfVxuICAgICAgICAgICAgdHlwZT17RmlndXJlVHlwZS5CVUlMRElOR31cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgLz4sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IExvYWRGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmxvYWRlclwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuZW51bXNcIjtcbmltcG9ydCB7IElGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5cbmNvbnN0IEZpZ3VyZUN0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgRmlndXJlQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoRmlndXJlQ3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBGaWd1cmUgPSAoeyBzaXplLCB0eXBlLCBzY3JlZW5SZWFkZXJUZXh0LCBjb250ZXh0IH06IElGaWd1cmUpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRmlndXJlQ3R4RGVmYXVsdDtcblxuICBjb25zdCBGaWd1cmUgPSBMb2FkRmlndXJlKHtcbiAgICBzaXplOiBzaXplLFxuICAgIHR5cGU6IHR5cGUsXG4gICAgc2NyZWVuUmVhZGVyVGV4dDogc2NyZWVuUmVhZGVyVGV4dCxcbiAgfSk7XG5cbiAgcmV0dXJuIDxGaWd1cmVDdHguUHJvdmlkZXIgdmFsdWU9e0NvbnRleHR9PntGaWd1cmV9PC9GaWd1cmVDdHguUHJvdmlkZXI+O1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEFsZXJ0ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDAuMDgyMSAxLjk4MTcxQzMzLjk5ODEgMS45ODE3MSAyNC44OTE2IDIuMTU3MjEgMjcuOTE0MSAyNy44Mzg3QzMwLjkzNjYgNTMuNTIwMiAzNy4wNDAxIDUzLjY1NjcgNDAuMDgyMSA1My42NTY3QzQzLjEyNDEgNTMuNjU2NyA0OS4yMDgxIDUzLjY1NjcgNTIuMjUwMSAyNy43OTk3QzU1LjI5MjEgMS45NDI3MSA0Ni4xNjYxIDEuOTgxNzEgNDAuMDgyMSAxLjk4MTcxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzAuOTU2MSA2OC45MDU3QzMwLjk1NjEgNzAuMTA0MiAzMS4xOTIxIDcxLjI5MDkgMzEuNjUwNyA3Mi4zOTgxQzMyLjEwOTQgNzMuNTA1MyAzMi43ODE2IDc0LjUxMTMgMzMuNjI5IDc1LjM1ODhDMzQuNDc2NCA3Ni4yMDYyIDM1LjQ4MjUgNzYuODc4NCAzNi41ODk3IDc3LjMzN0MzNy42OTY5IDc3Ljc5NTcgMzguODgzNiA3OC4wMzE3IDQwLjA4MjEgNzguMDMxN0M0MS4yODA1IDc4LjAzMTcgNDIuNDY3MiA3Ny43OTU3IDQzLjU3NDQgNzcuMzM3QzQ0LjY4MTYgNzYuODc4NCA0NS42ODc3IDc2LjIwNjIgNDYuNTM1MSA3NS4zNTg4QzQ3LjM4MjUgNzQuNTExMyA0OC4wNTQ4IDczLjUwNTMgNDguNTEzNCA3Mi4zOTgxQzQ4Ljk3MiA3MS4yOTA5IDQ5LjIwODEgNzAuMTA0MiA0OS4yMDgxIDY4LjkwNTdDNDkuMjA4MSA2Ny43MDczIDQ4Ljk3MiA2Ni41MjA2IDQ4LjUxMzQgNjUuNDEzM0M0OC4wNTQ4IDY0LjMwNjEgNDcuMzgyNSA2My4zMDAxIDQ2LjUzNTEgNjIuNDUyN0M0NS42ODc3IDYxLjYwNTIgNDQuNjgxNiA2MC45MzMgNDMuNTc0NCA2MC40NzQ0QzQyLjQ2NzIgNjAuMDE1OCA0MS4yODA1IDU5Ljc3OTcgNDAuMDgyMSA1OS43Nzk3QzM4Ljg4MzYgNTkuNzc5NyAzNy42OTY5IDYwLjAxNTggMzYuNTg5NyA2MC40NzQ0QzM1LjQ4MjUgNjAuOTMzIDM0LjQ3NjQgNjEuNjA1MiAzMy42MjkgNjIuNDUyN0MzMi43ODE2IDYzLjMwMDEgMzIuMTA5NCA2NC4zMDYxIDMxLjY1MDcgNjUuNDEzM0MzMS4xOTIxIDY2LjUyMDYgMzAuOTU2MSA2Ny43MDczIDMwLjk1NjEgNjguOTA1N1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQyLjMyNDYgNy45NjgyMUM0NC4yNzQ2IDguMjgwMjEgNDYuMzQxNiAxMS4xODU3IDQ2LjQ5NzYgMTQuNjM3MlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQxLjY0MjEgNjQuNDc5MkM0Mi4yMjk2IDY0LjQzOTggNDIuODExMyA2NC42MTYyIDQzLjI3OCA2NC45NzUyQzQzLjc0NDggNjUuMzM0MyA0NC4wNjQ0IDY1Ljg1MTMgNDQuMTc3MSA2Ni40MjkyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5jb25zdCBCYXNlRmlndXJlU3ZnID0gc3R5bGVkLnN2Zy5hdHRycygocHJvcHMpID0+ICh7XG4gIHZlcnNpb246IFwiMS4xXCIsXG4gIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gIHhtbG5zWGxpbms6IFwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiLFxuICByb2xlOiBcImltZ1wiLFxuICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxufSkpYGA7XG5cbmV4cG9ydCBjb25zdCBCYXNlRmlndXJlUGF0aCA9IHN0eWxlZC5wYXRoLmF0dHJzKHtcbiAgcm9sZTogXCJwcmVzZW50YXRpb25cIixcbn0pYGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGaWd1cmUgPSBzdHlsZWQoQmFzZUZpZ3VyZVN2Zyk8e1xuICB3aWR0aDogc3RyaW5nO1xuICBoZWlnaHQ6IHN0cmluZztcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogJHsocHJvcHMpID0+IHByb3BzLndpZHRofTtcbiAgaGVpZ2h0OiAkeyhwcm9wcykgPT4gcHJvcHMuaGVpZ2h0fTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGaWd1cmVQYXRoID0gc3R5bGVkKEJhc2VGaWd1cmVQYXRoKTx7fT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpZ3VyZVdyYXBwZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbmA7XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2NyZWVuUmVhZGVyT25seSA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG5gO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU3R5bGVkU2NyZWVuUmVhZGVyT25seSB9IGZyb20gXCIuL3NjcmVlbl9yZWFkZXJfb25seS5zdHlsZXNcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlck9ubHlQcm9wcyB9IGZyb20gXCJAL2Jhc2Uvc3JlZW5fcmVhZGVyX29ubHkvc2NyZWVuX3JlYWRlcl9vbmx5LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTY3JlZW5SZWFkZXJPbmx5ID0gKHsgdGV4dCB9OiBTY3JlZW5SZWFkZXJPbmx5UHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRTY3JlZW5SZWFkZXJPbmx5Pnt0ZXh0fTwvU3R5bGVkU2NyZWVuUmVhZGVyT25seT47XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU2NyZWVuUmVhZGVyT25seSB9IGZyb20gXCJAL2Jhc2Uvc3JlZW5fcmVhZGVyX29ubHkvc2NyZWVuX3JlYWRlcl9vbmx5XCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmUsIFN0eWxlZEZpZ3VyZVdyYXBwZXIgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2VTdmcgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBGaWd1cmUgPSAoe1xuICBzY3JlZW5SZWFkZXJUZXh0LFxuICBzaXplLFxuICBjaGlsZHJlbixcbn06IElGaWd1cmVCYXNlU3ZnKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEZpZ3VyZVdyYXBwZXI+XG4gICAgICA8U3R5bGVkRmlndXJlIHdpZHRoPXtzaXplfSBoZWlnaHQ9e3NpemV9IHZpZXdCb3g9XCIwIDAgODAgODBcIj5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRGaWd1cmU+XG4gICAgICA8U2NyZWVuUmVhZGVyT25seSB0ZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSAvPlxuICAgIDwvU3R5bGVkRmlndXJlV3JhcHBlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyB1c2VUaGVtZUNvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUZpZ3VyZVRoZW1lID0gKGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0KTogSUZpZ3VyZVRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIGNvbnN0IFN0cm9rZSA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJmaWd1cmVfc3Ryb2tlXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICB9KTtcblxuICBjb25zdCBQcmltYXJ5ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImZpZ3VyZV9wcmltYXJ5XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnByaW1hcnkudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFN1cHBvcnRpbmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiZmlndXJlX3N1cHBvcnRpbmdcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgQWNjZW50ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImZpZ3VyZV9hY2NlbnRcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuYWNjZW50LnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtcbiAgICAgIENvbnRleHQuU1RBTkRBUkQsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogU3Ryb2tlLFxuICAgICAgICBwcmltYXJ5OiBQcmltYXJ5LFxuICAgICAgICBzdXBwb3J0aW5nOiBTdXBwb3J0aW5nLFxuICAgICAgICBhY2NlbnQ6IEFjY2VudCxcbiAgICAgICAgZGFuZ2VyOiBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwLFxuICAgICAgICBzdWNjZXNzOiBDb2xvcnMuc3VjY2Vzcy50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LklOVkVSVEVELFxuICAgICAge1xuICAgICAgICBzdHJva2U6IFN0cm9rZSxcbiAgICAgICAgcHJpbWFyeTogU3VwcG9ydGluZyxcbiAgICAgICAgc3VwcG9ydGluZzogQWNjZW50LFxuICAgICAgICBhY2NlbnQ6IFByaW1hcnksXG4gICAgICAgIGRhbmdlcjogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgICAgICAgc3VjY2VzczogQ29sb3JzLnN1Y2Nlc3MudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5BQ0NFTlQsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogU3Ryb2tlLFxuICAgICAgICBwcmltYXJ5OiBBY2NlbnQsXG4gICAgICAgIHN1cHBvcnRpbmc6IFByaW1hcnksXG4gICAgICAgIGFjY2VudDogU3VwcG9ydGluZyxcbiAgICAgICAgZGFuZ2VyOiBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwLFxuICAgICAgICBzdWNjZXNzOiBDb2xvcnMuc3VjY2Vzcy50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICBzdHJva2U6IFNrZWxldG9uQmcsXG4gICAgICAgIHByaW1hcnk6IFNrZWxldG9uQmcsXG4gICAgICAgIHN1cHBvcnRpbmc6IFNrZWxldG9uQmcsXG4gICAgICAgIGFjY2VudDogU2tlbGV0b25CZyxcbiAgICAgICAgZGFuZ2VyOiBTa2VsZXRvbkJnLFxuICAgICAgICBzdWNjZXNzOiBTa2VsZXRvbkJnLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBCaW4gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NC4yMDMxIDIyLjA0MDVDNzQuMjcxNiAxOS44NjMyIDczLjY1MzEgMTcuNzE5NiA3Mi40MzUgMTUuOTEzNkM3MS4yMTcgMTQuMTA3NiA2OS40NjE0IDEyLjczMDggNjcuNDE3MSAxMS45Nzg1QzYxLjE2MTggMTAuNzA0NiA1NC44MDYgOS45ODY4MiA0OC40MjQxIDkuODMzNDhDNDguMjgwMiA4LjI3NDg0IDQ3Ljk4NjMgNi43MzM3MiA0Ny41NDY2IDUuMjMxNDhDNDYuMjc5MSAxLjk1NTQ4IDQzLjQzMjEgMS45NzQ5OCA0MC4wMDAxIDEuOTc0OThDMzYuNTY4MSAxLjk3NDk4IDMzLjcyMTEgMS45NzQ5OCAzMi40NTM2IDUuMjMxNDhDMzIuMDEzOSA2LjczMzcyIDMxLjcyMDEgOC4yNzQ4NCAzMS41NzYxIDkuODMzNDhDMjUuMTk0MiA5Ljk4NjgyIDE4LjgzODQgMTAuNzA0NiAxMi41ODMxIDExLjk3ODVDMTAuNTM4OCAxMi43MzA4IDguNzgzMTkgMTQuMTA3NiA3LjU2NTE5IDE1LjkxMzZDNi4zNDcxOCAxNy43MTk2IDUuNzI4NTkgMTkuODYzMiA1Ljc5NzExIDIyLjA0MDVDNS42ODE4NCAyMy44ODI5IDYuMTY5MzkgMjUuNzEyOSA3LjE4NjA4IDI3LjI1MzdDOC4yMDI3NyAyOC43OTQ2IDkuNjkzMzYgMjkuOTYyNyAxMS40MzI2IDMwLjU4MTVDMTEuMzI2NCAzNS4wMjkxIDExLjUyMTkgMzkuNDc4OCAxMi4wMTc2IDQzLjlDMTMuMjI2NiA1NC44MiAxNi4yODgxIDcwLjA4ODUgMTguMjM4MSA3Mi45MTZDMjEuMzU4MSA3Ny4zODE1IDMwLjgzNTEgNzguMDI1IDQwLjAwMDEgNzguMDI1QzQ5LjE2NTEgNzguMDI1IDU4LjY0MjEgNzcuMzgxNSA2MS43NjIxIDcyLjgzOEM2My43MTIxIDcwLjAxMDUgNjYuNzczNiA1NC43NDIgNjcuOTgyNiA0My44MjJDNjguNDc0OCAzOS40MjY2IDY4LjY3MDMgMzUuMDAzMSA2OC41Njc2IDMwLjU4MTVDNzAuMzA2OSAyOS45NjI3IDcxLjc5NzUgMjguNzk0NiA3Mi44MTQxIDI3LjI1MzdDNzMuODMwOCAyNS43MTI5IDc0LjMxODQgMjMuODgyOSA3NC4yMDMxIDIyLjA0MDVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMC41IDMwLjgzNUMyNi45ODM4IDMxLjQwMDEgMzMuNDkyNiAzMS42Mjc5IDQwIDMxLjUxNzVDNDYuNTM5OSAzMS42MzEzIDUzLjA4MTMgMzEuNDAzNSA1OS41OTc1IDMwLjgzNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzAuNjc5MiA0My45QzMwLjQ5MTUgNDcuMDAxNSAzMC41Njk4IDUwLjExMzQgMzAuOTEzMiA1My4yMDE1QzMxLjA4NDkgNTYuMjkzNiAzMS41MTU0IDU5LjM2NTggMzIuMjAwMiA2Mi4zODZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ5LjI0MyA0My45QzQ5LjQzMDcgNDcuMDAxNSA0OS4zNTI0IDUwLjExMzQgNDkuMDA5IDUzLjIwMTVDNDguODY0MSA1Ni4yOTc5IDQ4LjQ1OTcgNTkuMzc2NyA0Ny44IDYyLjQwNTVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU4LjE5MzYgMTYuNkM2Mi42Mzk2IDE2LjYgNjQuODYyNiAxNi42IDY3LjA2NjEgMTkuNzAwNVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBDYWxlbmRhciA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTcyLjU4NDYgMTguNzIyM0M3MC4yMzI4IDE2LjU1OSA2Ny4zMjA3IDE1LjA5OTYgNjQuMTgwMSAxNC41MTAzQzY0LjEyODcgMTIuMjAzNCA2My44Njc2IDkuOTA1OTMgNjMuNDAwMSA3LjY0NjNDNjMuMDE2IDYuNDQ1NiA2Mi4yNjA0IDUuMzk3OTkgNjEuMjQyMiA0LjY1NDY4QzYwLjIyNCAzLjkxMTM3IDU4Ljk5NiAzLjUxMDgxIDU3LjczNTMgMy41MTA4MUM1Ni40NzQ3IDMuNTEwODEgNTUuMjQ2NyAzLjkxMTM3IDU0LjIyODUgNC42NTQ2OEM1My4yMTAzIDUuMzk3OTkgNTIuNDU0NyA2LjQ0NTYgNTIuMDcwNiA3LjY0NjNDNTEuNjk0IDkuMTc0MjkgNTEuNDY1NSAxMC43MzUgNTEuMzg4MSAxMi4zMDY4QzQ3LjI3MzYgMTEuODc3OCA0My4yNTY2IDExLjY2MzMgNDAuMDc4MSAxMS42NjMzQzM2Ljg5OTYgMTEuNjYzMyAzMi44ODI2IDExLjg3NzggMjguNzY4MSAxMi4zMDY4QzI4LjY5MDcgMTAuNzM1IDI4LjQ2MjIgOS4xNzQyOSAyOC4wODU2IDcuNjQ2M0MyNy43MzM0IDYuNDMyMzcgMjYuOTg5OCA1LjM2ODg3IDI1Ljk3MDcgNC42MjEyM0MyNC45NTE1IDMuODczNTkgMjMuNzEzOCAzLjQ4Mzc0IDIyLjQ1MDEgMy41MTIzQzIxLjE1NDcgMy40NTU2NSAxOS44NzczIDMuODMwOTQgMTguODE4NCA0LjU3OTIyQzE3Ljc1OTUgNS4zMjc1IDE2Ljk3OTIgNi40MDYzNiAxNi42MDAxIDcuNjQ2M0MxNi4xMzI2IDkuOTA1OTMgMTUuODcxNSAxMi4yMDM0IDE1LjgyMDEgMTQuNTEwM0MxMi42Nzk1IDE1LjA5OTYgOS43Njc0MiAxNi41NTkgNy40MTU2IDE4LjcyMjNDNS4xMTQ2IDIxLjU0OTggMS45NzUxIDMzLjc3NjMgMS45NzUxIDQ0LjI0NzhDMS45NzUxIDU0LjcxOTMgNS4xMTQ2IDY2Ljk0NTggNy40MTU2IDY5LjczNDNDMTAuODY3MSA3My45NDYzIDI5LjUwOTEgNzYuODMyMyA0MC4wMDAxIDc2LjgzMjNDNTAuNDkxMSA3Ni44MzIzIDY5LjEzMzEgNzMuOTQ2MyA3Mi41ODQ2IDY5LjczNDNDNzQuODg1NiA2Ni45NDU4IDc4LjAyNTEgNTQuNzE5MyA3OC4wMjUxIDQ0LjI0NzhDNzguMDI1MSAzMy43NzYzIDc0Ljg4NTYgMjEuNTQ5OCA3Mi41ODQ2IDE4LjcyMjNaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02MC4yNjA0IDYzLjU3MjNDNjQuMDQzNCA2MS4yMTI4IDY0LjQ1MjkgNTYuMTQyOCA2NC40NTI5IDQ2Ljk3NzhDNjQuNDUyOSAzNy44MTI4IDY0LjA0MzQgMzIuNzYyMyA2MC4yNjA0IDMwLjM4MzNDNTguMzEwNCAyOC4wMjM4IDQ4LjMyNjQgMjcuNDE5MyAzOS45OTk5IDI3LjQxOTNDMzEuNjczNCAyNy40MTkzIDIxLjYxMTQgMjguMDA0MyAxOS43Mzk0IDMwLjQyMjNDMTUuOTU2NCAzMi44MDEzIDE1LjU0NjkgMzcuODUxOCAxNS41NDY5IDQ3LjAxNjhDMTUuNTQ2OSA1Ni4xODE4IDE1Ljk1NjQgNjEuMjUxOCAxOS43Mzk0IDYzLjYxMTNDMjEuNjg5NCA2NS45OTAzIDMxLjY3MzQgNjYuNTc1MyAzOS45OTk5IDY2LjU3NTNDNDguMzI2NCA2Ni41NzUzIDU4LjM4ODQgNjUuOTMxOCA2MC4yNjA0IDYzLjU3MjNaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMyLjIwMDMgMzIuNzIzM0MzMi4yMDAzIDMyLjcyMzMgMzEuNjczOCAzOC40MTczIDMxLjY3MzggNDYuOTU4M0MzMS42NzM4IDU1LjQ5OTMgMzIuMjAwMyA2MS4yMTI4IDMyLjIwMDMgNjEuMjEyOFwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDcuODAwMyA2MS4yMTI4QzQ3LjgwMDMgNjEuMjEyOCA0OC4zMjY4IDU1LjUxODggNDguMzI2OCA0Ni45NTgzQzQ4LjMyNjggMzguMzk3OCA0Ny44MDAzIDMyLjcyMzMgNDcuODAwMyAzMi43MjMzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ny4yOTY2IDQwLjI4OTNDNTcuMjk2NiA0MC4yODkzIDUwLjM3NDEgMzkuNTI4OCA0MC4wMDAxIDM5LjUyODhDMjkuNjI2MSAzOS41Mjg4IDIyLjcwMzYgNDAuMjg5MyAyMi43MDM2IDQwLjI4OTNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIyLjcwMzYgNTMuNjI3M0MyMi43MDM2IDUzLjYyNzMgMjkuNjI2MSA1NC4zODc4IDQwLjAwMDEgNTQuMzg3OEM1MC4zNzQxIDU0LjM4NzggNTcuMjk2NiA1My42MjczIDU3LjI5NjYgNTMuNjI3M1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjIuMTcxNCAxOS40NDM4QzY5LjU2MTkgMjEuNTEwOCA2OC45OTY0IDIyLjY2MTMgNjkuOTcxNCAyNS42MDU4XCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ2hlY2sgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03My4xNTAxIDkuMjY4MDVDNjkuNDY0NiA2LjQ2MDA1IDY0LjQ3MjYgNC42MjcwNSA1OS41MDAxIDkuMjY4MDVDNTYuNTM2MSAxMS4yMTgxIDQ4LjQ0MzYgMTkuMDE4MSAzOS41NzExIDMwLjcxODFDMzcuMjUwNiAzMy43OTkxIDM1LjA0NzEgMzYuNzI0MSAzMy4wMzg2IDM5LjQ3MzZDMjUuNzQ1NiAzMy45MzU2IDE5Ljk5MzEgMzAuMDE2MSAxNy42MTQxIDI5LjcyMzZDMTMuNTc3NiAyOC4xNjM2IDkuMjA5NTcgMzIuNTUxMSA2LjQwMTU3IDM2LjIzNjZDMy41OTM1NyAzOS45MjIxIDAuMzc2MDY2IDQ1LjEyODYgMi45NTAwNyA0OC41ODAxQzMuODY2NTcgNTAuODAzMSA5LjA1MzU3IDU1LjQ2MzYgMTYuMzQ2NiA2MS4wMjExQzI1LjEwMjEgNjcuNjcwNiAzMS40MjAxIDcyLjcyMTEgMzUuMTI1MSA3My4xODkxQzQwLjc5OTYgNzUuMzkyNiA0NC44NzUxIDY4LjY4NDYgNjEuMTk2NiA0Ny4xMzcxQzcwLjA2OTEgMzUuNDM3MSA3NS43MjQxIDI1LjY4NzEgNzYuNzk2NiAyMi4zOTE2Qzc5LjgzODYgMTYuMzg1NiA3Ni43MzgxIDEyLjA3NjEgNzMuMTUwMSA5LjI2ODA1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTYuNjkyMSAxOC4zMzU1QzU5Ljg5MDEgMTQuNzQ3NSA2Mi44NTQxIDExLjM1NDUgNjUuNTY0NiAxMS4wNjJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgQ2hpbGQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OC41OTYgNDYuNTUyQzYzLjQxMjUgNDIuMTA2IDY1Ljg1IDM1LjQzNyA2NS44NSAyNy4zMjVDNjUuODUgMTIuMTE1IDU3LjQwNjUgMS45NzQ5OCA0MC41IDEuOTc0OThDMjMuNTkzNSAxLjk3NDk4IDE1LjE1IDEyLjExNSAxNS4xNSAyNy4zMjVDMTUuMTUgMzUuNDM3IDE3LjU4NzUgNDIuMTA2IDIyLjQwNCA0Ni41NTJDMTUuNzE1NSA1MS40MjcgMTIuMzQyIDU5LjUgMTIuMzQyIDY5LjU4MTVDMTIuMzQyIDc1LjIyMzUgMjEuNzI4IDc4LjAzOCA0MC41IDc4LjAyNUM1OS4yNzIgNzguMDEyIDY4LjY1OCA3NS4xOTc1IDY4LjY1OCA2OS41ODE1QzY4LjY1OCA1OS41IDY1LjI4NDUgNTEuNDI3IDU4LjU5NiA0Ni41NTJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OS44NjAxIDkuMjA5NDdDNTIuMzU0NyAxMC4wNzI2IDU0LjUzIDExLjY3IDU2LjEwMDEgMTMuNzkyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDEuNDE2NSAxLjk3NDk4QzM5LjEwOTggMi42MTU4MiAzNy4xMTk1IDQuMDgyOTUgMzUuODI0OSA2LjA5Njc5QzM0LjUzMDMgOC4xMTA2MyAzNC4wMjE5IDEwLjUzMDQgMzQuMzk2NSAxMi44OTVDMzUuNDEwNSAxOC4xMDE1IDQ0LjMwMjUgMTcuNDM4NSA0My4yMyAxMS45OThDNDIuNjY0NSA5LjIwOTQ4IDM5LjU4MzUgMTAuNjMzIDM5LjU4MzUgMTAuNjMzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNi40MDE2IDI1LjkyMUMyNi40MDE2IDI3LjA0MzIgMjYuODQ3NCAyOC4xMTk1IDI3LjY0MSAyOC45MTMxQzI4LjQzNDUgMjkuNzA2NiAyOS41MTA4IDMwLjE1MjUgMzAuNjMzMSAzMC4xNTI1QzMxLjc1NTQgMzAuMTUyNSAzMi44MzE3IDI5LjcwNjYgMzMuNjI1MiAyOC45MTMxQzM0LjQxODggMjguMTE5NSAzNC44NjQ2IDI3LjA0MzIgMzQuODY0NiAyNS45MjFDMzQuODY0NiAyNC43OTg3IDM0LjQxODggMjMuNzIyNCAzMy42MjUyIDIyLjkyODhDMzIuODMxNyAyMi4xMzUzIDMxLjc1NTQgMjEuNjg5NSAzMC42MzMxIDIxLjY4OTVDMjkuNTEwOCAyMS42ODk1IDI4LjQzNDUgMjIuMTM1MyAyNy42NDEgMjIuOTI4OEMyNi44NDc0IDIzLjcyMjQgMjYuNDAxNiAyNC43OTg3IDI2LjQwMTYgMjUuOTIxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ2LjEzNTUgMjUuOTIxQzQ2LjEzNTUgMjcuMDQzMiA0Ni41ODEzIDI4LjExOTUgNDcuMzc0OSAyOC45MTMxQzQ4LjE2ODQgMjkuNzA2NiA0OS4yNDQ3IDMwLjE1MjUgNTAuMzY3IDMwLjE1MjVDNTEuNDg5MyAzMC4xNTI1IDUyLjU2NTYgMjkuNzA2NiA1My4zNTkxIDI4LjkxMzFDNTQuMTUyNyAyOC4xMTk1IDU0LjU5ODUgMjcuMDQzMiA1NC41OTg1IDI1LjkyMUM1NC41OTg1IDI0Ljc5ODcgNTQuMTUyNyAyMy43MjI0IDUzLjM1OTEgMjIuOTI4OEM1Mi41NjU2IDIyLjEzNTMgNTEuNDg5MyAyMS42ODk1IDUwLjM2NyAyMS42ODk1QzQ5LjI0NDcgMjEuNjg5NSA0OC4xNjg0IDIyLjEzNTMgNDcuMzc0OSAyMi45Mjg4QzQ2LjU4MTMgMjMuNzIyNCA0Ni4xMzU1IDI0Ljc5ODcgNDYuMTM1NSAyNS45MjFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzIuMDU2NiAzNS43Njg0QzM0LjQxODUgMzcuNzMzNyAzNy40MzExIDM4Ljc0MjUgNDAuNTAwMSAzOC41OTU5QzQzLjU2OTIgMzguNzQyNSA0Ni41ODE4IDM3LjczMzcgNDguOTQzNiAzNS43Njg0XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MC41IDUyLjY3NUMzNi45ODEzIDUyLjY4NjEgMzMuNDgyIDUyLjE1MzQgMzAuMTI2IDUxLjA5NTVDMjkuNTM3NiA1Mi40ODM2IDI5LjIzMjYgNTMuOTc1MyAyOS4yMjkgNTUuNDgzQzI5LjIyOSA2MS43MjMgMzIuOTkyNSA2Ni43NTQgNDAuNSA2Ni43NTRDNDguMDA3NSA2Ni43NTQgNTEuNzcxIDYxLjcyMyA1MS43NzEgNTUuNDgzQzUxLjc2NzQgNTMuOTc1MyA1MS40NjI1IDUyLjQ4MzYgNTAuODc0IDUxLjA5NTVDNDcuNTE4IDUyLjE1MzQgNDQuMDE4NyA1Mi42ODYxIDQwLjUgNTIuNjc1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IENvaW5zID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjcuNTg1OSAxMS44MDYxQzY3LjI2NzUgMTEuMzc1NSA2MC4zMjI2IDEuOTQwNjEgMzkuMTg3NSAxLjk0MDYxQzE4LjA1MjcgMS45NDA2MSAxMS4xMDc2IDExLjM3NTUgMTAuNzg5MyAxMS44MDYxQzguNDExOSAxNC43MjY0IDcuNTUwNzggMjcuNDkzNCA3LjU1MDc4IDM4LjQ0NDVDNy41NTA3OCA0OS4zOTU4IDguNDExOSA2Mi4xNjI5IDEwLjc4OTMgNjUuMDgzMkMxMS4xMDc2IDY1LjUxMzYgMTguMDUyNyA3NC45NDg1IDM5LjE4NzUgNzQuOTQ4NUM2MC4zMjI2IDc0Ljk0ODUgNjcuMjY3NSA2NS41ODg1IDY3LjU4NTkgNjUuMDgzMkM2OS45NjMyIDYyLjE2MjkgNzAuODI0MyA0OS4zOTU4IDcwLjgyNDMgMzguNDQ0NUM3MC44MjQzIDI3LjQ5MzQgNjkuOTYzMiAxNC43MjY0IDY3LjU4NTkgMTEuODA2MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU0LjAxMzcgOC4zODA0OUM1Ni4yNTc2IDguOTkyMTcgNTguMzc5MiA5Ljk4NjQxIDYwLjI4NDggMTEuMzE5NVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjQuNDIyMSAyMS40MDk0QzU5LjkxMDcgMjUuOTk1OCA1MS40ODY3IDI4LjcxMDIgMzkuMTg3NSAyOC43MTAyQzI2Ljg4ODYgMjguNzEwMiAxOC40NjQ2IDI1Ljk5NTggMTMuOTM0NCAyMS40MDk0XCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02NC40MjIxIDM4LjQ0NDVDNTkuOTEwNyA0My4wMzEgNTEuNDg2NyA0NS43NDUzIDM5LjE4NzUgNDUuNzQ1M0MyNi44ODg2IDQ1Ljc0NTMgMTguNDY0NiA0My4wMzEgMTMuOTM0NCAzOC40NDQ1XCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02NC40MjIxIDUzLjA0NjFDNTkuOTEwNyA1Ny42MzI2IDUxLjQ4NjcgNjAuMzQ2OSAzOS4xODc1IDYwLjM0NjlDMjYuODg4NiA2MC4zNDY5IDE4LjQ2NDYgNTcuNjMyNiAxMy45MzQ0IDUzLjA0NjFcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI2LjMyNyAxNC43MjY2QzI2LjMyNyAxNi4wMTc1IDI3LjY4MTkgMTcuMjU1NCAzMC4wOTM4IDE4LjE2ODJDMzIuNTA1NiAxOS4wODEgMzUuNzc2NyAxOS41OTM4IDM5LjE4NzUgMTkuNTkzOEM0Mi41OTg0IDE5LjU5MzggNDUuODY5OCAxOS4wODEgNDguMjgxNiAxOC4xNjgyQzUwLjY5MzEgMTcuMjU1NCA1Mi4wNDgzIDE2LjAxNzUgNTIuMDQ4MyAxNC43MjY2QzUyLjA0ODMgMTMuNDM1NyA1MC42OTMxIDEyLjE5NzcgNDguMjgxNiAxMS4yODVDNDUuODY5OCAxMC4zNzIyIDQyLjU5ODQgOS44NTkzOCAzOS4xODc1IDkuODU5MzhDMzUuNzc2NyA5Ljg1OTM4IDMyLjUwNTYgMTAuMzcyMiAzMC4wOTM4IDExLjI4NUMyNy42ODE5IDEyLjE5NzcgMjYuMzI3IDEzLjQzNTcgMjYuMzI3IDE0LjcyNjZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEZhY2UgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGggZD1cIk04MCAwSDBWODBIODBWMFpcIiBmaWxsPVwiI0ZGRlwiIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTcyLjUgOS41QzY5LjI2IDMuODQgNTIuNTYgMSA0MCAxQzI3LjQ0IDEgMTAuNzYgMy44NCA3LjUgOS41QzQuMjQgMTIuMzQgMSAyNy40NiAxIDQwQzEgNTIuNTQgNC4yNCA2Ny42NiA3LjUgNzAuNUMxMC43NiA3Ni4xNiAyNy41IDc5IDQwIDc5QzUyLjUgNzkgNjkuMjYgNzYuMTYgNzIuNSA3MC41Qzc1Ljc2IDY3LjY2IDc5IDUyLjUgNzkgNDBDNzkgMjcuNSA3NS43NiAxMi4zNCA3Mi41IDkuNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE0IDQwQzE0IDQ2Ljg5NTYgMTYuNzM5MyA1My41MDg4IDIxLjYxNTIgNTguMzg0OEMyNi40OTEyIDYzLjI2MDggMzMuMTA0NCA2NiA0MCA2NkM0Ni44OTU2IDY2IDUzLjUwODggNjMuMjYwOCA1OC4zODQ4IDU4LjM4NDhDNjMuMjYwOCA1My41MDg4IDY2IDQ2Ljg5NTYgNjYgNDBDNjYgMzMuMTA0NCA2My4yNjA4IDI2LjQ5MTIgNTguMzg0OCAyMS42MTUyQzUzLjUwODggMTYuNzM5MyA0Ni44OTU2IDE0IDQwIDE0QzMzLjEwNDQgMTQgMjYuNDkxMiAxNi43MzkzIDIxLjYxNTIgMjEuNjE1MkMxNi43MzkzIDI2LjQ5MTIgMTQgMzMuMTA0NCAxNCA0MFpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjcgNDkuNzZDMjcgNDkuNzYgMzAuMjQgNTMgNDAgNTNDNDkuNzYgNTMgNTMgNDkuNzYgNTMgNDkuNzZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIzLjc0IDM1LjEyQzIzLjc0IDM2LjQxNDIgMjQuMjU0MiAzNy42NTU0IDI1LjE2OTQgMzguNTcwNkMyNi4wODQ0IDM5LjQ4NTggMjcuMzI1OCA0MCAyOC42MiA0MEMyOS45MTQyIDQwIDMxLjE1NTQgMzkuNDg1OCAzMi4wNzA2IDM4LjU3MDZDMzIuOTg1OCAzNy42NTU0IDMzLjUgMzYuNDE0MiAzMy41IDM1LjEyQzMzLjUgMzMuODI1OCAzMi45ODU4IDMyLjU4NDQgMzIuMDcwNiAzMS42Njk0QzMxLjE1NTQgMzAuNzU0MiAyOS45MTQyIDMwLjI0IDI4LjYyIDMwLjI0QzI3LjMyNTggMzAuMjQgMjYuMDg0NCAzMC43NTQyIDI1LjE2OTQgMzEuNjY5NEMyNC4yNTQyIDMyLjU4NDQgMjMuNzQgMzMuODI1OCAyMy43NCAzNS4xMlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Ni41IDM1LjEyQzQ2LjUgMzYuNDE0MiA0Ny4wMTQyIDM3LjY1NTQgNDcuOTI5NCAzOC41NzA2QzQ4Ljg0NDQgMzkuNDg1OCA1MC4wODU4IDQwIDUxLjM4IDQwQzUyLjY3NDIgNDAgNTMuOTE1NiAzOS40ODU4IDU0LjgzMDYgMzguNTcwNkM1NS43NDU4IDM3LjY1NTQgNTYuMjYgMzYuNDE0MiA1Ni4yNiAzNS4xMkM1Ni4yNiAzMy44MjU4IDU1Ljc0NTggMzIuNTg0NCA1NC44MzA2IDMxLjY2OTRDNTMuOTE1NiAzMC43NTQyIDUyLjY3NDIgMzAuMjQgNTEuMzggMzAuMjRDNTAuMDg1OCAzMC4yNCA0OC44NDQ0IDMwLjc1NDIgNDcuOTI5NCAzMS42Njk0QzQ3LjAxNDIgMzIuNTg0NCA0Ni41IDMzLjgyNTggNDYuNSAzNS4xMlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OS44NjAyIDkuNTYwMDZDNjcuMTgwMiAxMS41NjAxIDY3LjE4MDIgMTIuMTYwMSA2OS4yNDAyIDE3LjI2MDFcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZVByb3BzIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgRmFtaWx5ID0gKHsgdGl0bGUsIHNpemUgfTogSUZpZ3VyZVByb3BzKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHRpdGxlPXt0aXRsZX0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY1LjQxNyAyOC4xODMzQzY4LjMzOTMgMjUuNjY5IDY5Ljc3OTIgMjEuODM5IDY5LjIzNzEgMTguMDIyMkM2OC43MjEzIDEwLjkzNjEgNjQuNDQzIDYuNTYyMjkgNTYuNTU0NyA3LjA1ODc2QzQ4LjY2NjMgNy41NTUyMyA0NS4wOTQ5IDEyLjYzNiA0NS41OTE0IDE5LjcyMjFDNDUuNTYwMiAyMy41ODM0IDQ3LjUxNSAyNy4xOTAyIDUwLjc2NzUgMjkuMjcyQzQ0LjI3MzYgMzIuMTM2OSA0MS4zNzA0IDM4LjI2NzkgNDEuOTQzMyA0Ni4xNzU0QzQyLjI4NzEgNTAuODkzIDQ4LjE4OSA1Mi4wNTgxIDU5Ljc0NDUgNTEuMjE3N0M3MS4zIDUwLjM3NzIgNzYuOTM0MyA0OC4zOTEgNzYuNjI4NyA0My41Nzc4Qzc1Ljk5ODMgMzUuNzQ2OCA3Mi4yNTQ5IDMwLjA5MzMgNjUuNDE3IDI4LjE4MzNaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU5LjkxNjUgMTAuNTczMkM2MS4zMzU1IDEwLjk1MTIgNjIuNjAzIDExLjc1ODUgNjMuNTQ1NSAxMi44ODQ0XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTIuNjIwMSAyMy41MDM5QzU0LjE2ODYgMjQuNDEyNCA1NS45OTMyIDI0LjczMTIgNTcuNzU4IDI0LjQwMTVDNTkuNTQ4NSAyNC40NzMgNjEuMzA0OCAyMy44OTY2IDYyLjcwNDkgMjIuNzc4MVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTAuOTM5NSAxNy43NzM4QzUwLjkzNDggMTkuMjI5NCA1Mi41MDc1IDIwLjE0NDIgNTMuNzcwNSAxOS40MjA1QzU0LjM2MDMgMTkuMDgyNCA1NC43MjM0IDE4LjQ1MzcgNTQuNzIxMSAxNy43NzM4QzU0LjcyNTggMTYuMzE4MyA1My4xNTMxIDE1LjQwMzMgNTEuODkwMSAxNi4xMjcyQzUxLjMwMDIgMTYuNDY1MSA1MC45MzcxIDE3LjA5NCA1MC45Mzk1IDE3Ljc3MzhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTkuNzgyNyAxNy4xNDM1QzU5Ljc3OCAxOC41OTkyIDYxLjM1MDcgMTkuNTE0IDYyLjYxMzcgMTguNzkwMUM2My4yMDM2IDE4LjQ1MjIgNjMuNTY2NSAxNy44MjM1IDYzLjU2NDQgMTcuMTQzNUM2My41NjkgMTUuNjg3OSA2MS45OTY0IDE0Ljc3MzEgNjAuNzMzNCAxNS40OTdDNjAuMTQzNSAxNS44MzQ5IDU5Ljc4MDQgMTYuNDYzNiA1OS43ODI3IDE3LjE0MzVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjguNzY0MiA0NS45NDYyQzMyLjE4MzIgNDUuMDEwMiAzMy4yOTA5IDQ0LjAzNjIgMzIuMzU0OSA0My4xMDAyQzMwLjgyNjkgNDEuNjQ4NiAzMC40NDQ5IDM4LjQ5NzIgMzAuMjE1OCAzNS4zNjQ3QzI5LjQxMzYgMjYuODY1MiAyNC42OTU5IDIxLjU5MzggMTYuMzY4NSAyMi4zNzY5QzguMDQwOTkgMjMuMTYgNC4zNzM2MiAyOS4yMzM3IDUuMTk0OTYgMzcuNjU2N0M1LjUwMDUyIDQwLjgwODMgNS43ODY5OCA0My45NTk3IDQuNTQ1NjEgNDUuNjU5NUMzLjgwMDcxIDQ2LjY5MTEgNS4wODAzIDQ3LjU2OTYgOC42MTM4OSA0Ny43OTg5QzQuMDg3MTYgNTEuMTQxMiAyLjE1ODAzIDU2LjYwMzkgMi44ODM4MiA2My4zMDc4QzMuMzQyMjYgNjguMDI1NiA5LjI2MzI0IDY5LjAzNzkgMjAuNzk5NiA2Ny45NDkyQzMyLjMzNiA2Ni44NjA1IDM3Ljk4OTUgNjQuNzIxNCAzNy41MTE5IDYwLjAwMzVDMzYuNzg2MSA1My4zMzc3IDMzLjg0NDcgNDguMzcxOCAyOC43NjQyIDQ1Ljk0NjJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMC4zNzk0IDI1LjY4MTJDMjEuODAxMSAyNi4wMzQ1IDIzLjA4MDcgMjYuODE0MyAyNC4wNDY2IDI3LjkxNTlcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMy4wMDY4IDQwLjQ4MzVDMTQuNTcyMyA0MS4zNjYxIDE2LjQwNjkgNDEuNjQ0NSAxOC4xNjM4IDQxLjI2NjZDMTkuOTU2MSA0MS4yOTg0IDIxLjY5OTUgNDAuNjgxMiAyMy4wNzIzIDM5LjUyODZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTExLjE5MjQgMzQuNzUzNUMxMS4xODc3IDM2LjIwOTIgMTIuNzYwNCAzNy4xMjQgMTQuMDIzNCAzNi40MDAzQzE0LjYxMzMgMzYuMDYyMiAxNC45NzY0IDM1LjQzMzUgMTQuOTc0IDM0Ljc1MzVDMTQuOTc4NyAzMy4yOTc5IDEzLjQwNiAzMi4zODMxIDEyLjE0MyAzMy4xMDdDMTEuNTUzMSAzMy40NDQ5IDExLjE5MDEgMzQuMDczNiAxMS4xOTI0IDM0Ljc1MzVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjAuMDE2NiAzMy45MzIyQzIwLjAxMTkgMzUuMzg3OSAyMS41ODQ4IDM2LjMwMjYgMjIuODQ3NiAzNS41NzlDMjMuNDM3NSAzNS4yNDA5IDIzLjgwMDYgMzQuNjEyMiAyMy43OTgyIDMzLjkzMjJDMjMuODAyOSAzMi40NzY3IDIyLjIzMDMgMzEuNTYxOCAyMC45NjcyIDMyLjI4NTZDMjAuMzc3NCAzMi42MjM2IDIwLjAxNDUgMzMuMjUyNCAyMC4wMTY2IDMzLjkzMjJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNy43MzUzNSA0OC42MjAxQzkuMTQ3MzUgNDcuNzA4MyAxMC42OTQzIDQ3LjAyNSAxMi4zMTk0IDQ2LjU5NTZMNy43MzUzNSA0OC42MjAxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTcuNzM1MzUgNDguNjIwMUM5LjE0NzM1IDQ3LjcwODMgMTAuNjk0MyA0Ny4wMjUgMTIuMzE5NCA0Ni41OTU2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS43NzYzIDQ2LjUxOTFDMjguMzIxOCA0NS42MTYxIDI2LjYwOTMgNDUuMjE5OCAyNC45MDU4IDQ1LjM5MjJMMjkuNzc2MyA0Ni41MTkxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5Ljc3NjMgNDYuNTE5MUMyOC4zMjE4IDQ1LjYxNjEgMjYuNjA5MyA0NS4yMTk4IDI0LjkwNTggNDUuMzkyMlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTcuODkxNyA1OS42MjE2QzYwLjk4OTMgNTcuMDYxNiA2Mi44NTA4IDUzLjMwNCA2My4wMTA1IDQ5LjI4ODdDNjMuODcgNDAuNzg5MyA1OS43MDYyIDM0LjY1ODEgNTAuMjcwNyAzMy43MjIzQzQwLjgzNTMgMzIuNzg2NSAzNS41NDQ3IDM4LjA1NzkgMzQuNzA0NSA0Ni40NjE4QzM0LjA3MDEgNTAuNDI4MyAzNS4xNTM2IDU0LjQ3NzUgMzcuNjg0MSA1Ny41OTcxQzMzLjY3MzEgNTkuOTQ2NSAzMS4zNDI5IDY0LjI2MyAzMC43Njk4IDY5Ljg5NzVDMzAuNTAyNSA3My4wNDI2IDM1LjU4OTUgNzUuMTYyNiA0Ni4wMzA3IDc2LjI1NzZDNTYuNDcxOSA3Ny4zNTI2IDYxLjg3MDggNzYuMzA4NSA2Mi4yMjc0IDczLjEyNTNDNjIuODM4NSA2Ny40MTQ0IDYxLjM2NzggNjIuNzE1OSA1Ny44OTE3IDU5LjYyMTZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01NS4xOTg3IDM4LjI4N0M1Ni41MjU5IDM4LjkxMDQgNTcuNjMxNyAzOS45MjMgNTguMzY5MiA0MS4xOTAzXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTAuNzg2MyAzMy43NjA1QzQ4LjA0NDQgMzQuMjQ5MiA0Ni4xMDA1IDM2LjcwOTkgNDYuMjU5NiAzOS40OTA0QzQ2LjUyNzEgNDIuNDUwOSA1MS41MzEyIDQyLjU4NDYgNTEuMjQ0OCAzOS40OTA0QzUxLjA3MjggMzcuOTA1IDQ5LjMzNDcgMzguNTE2NCA0OS4zMzQ3IDM4LjUxNjRcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQxLjA2NDUgNDYuNTM4M0M0MS4wNTk0IDQ4LjM2MTUgNDMuMDI5NyA0OS41MDY2IDQ0LjYxMTMgNDguNTk5NkM0NS4zNDk0IDQ4LjE3NjMgNDUuODAzNyA0Ny4zODkzIDQ1LjgwMTQgNDYuNTM4M0M0NS44MDY1IDQ0LjcxNSA0My44MzYyIDQzLjU3IDQyLjI1NDUgNDQuNDc3QzQxLjUxNjUgNDQuOTAwNSA0MS4wNjIxIDQ1LjY4NzMgNDEuMDY0NSA0Ni41MzgzWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUyLjA4NTUgNDcuNjQ2MUM1Mi4wODAyIDQ5LjQ2OTMgNTQuMDUwNSA1MC42MTQ0IDU1LjYzMjEgNDkuNzA3NEM1Ni4zNzAyIDQ5LjI4NDEgNTYuODI0NSA0OC40OTcxIDU2LjgyMjIgNDcuNjQ2MUM1Ni44Mjc1IDQ1LjgyMjggNTQuODU3IDQ0LjY3NzggNTMuMjc1NSA0NS41ODQ3QzUyLjUzNzMgNDYuMDA4MyA1Mi4wODI5IDQ2Ljc5NTEgNTIuMDg1NSA0Ny42NDYxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQzLjczODggNTIuMTE1NUM0NC45NTMyIDUzLjM0MDkgNDYuNTgwOSA1NC4wNjk2IDQ4LjMwMzcgNTQuMTU5MUM1MC4wMTIzIDU0LjQxODIgNTEuNzU2IDU0LjAzIDUzLjE5MzMgNTMuMDcwNFwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDcuNDQ0MiA2Mi4wMjgzQzQ1LjQ2ODkgNjEuODQyNyA0My41MzUxIDYxLjM0NjQgNDEuNzE0NCA2MC41NTc2QzQxLjMxNiA2MS4zMTIzIDQxLjA2MzIgNjIuMTM1MiA0MC45Njk1IDYyLjk4MzJDNDAuMzQ2NCA2Ni41NTk3IDQzLjA2OTQgNjkuODQ1NyA0Ni42OTkzIDY5Ljg5NzVDNTAuMjc1OCA3MC41MjA2IDUzLjU2MTYgNjcuNzk3NiA1My42MTM0IDY0LjE2NzVDNTMuNjczMSA2My4zMzg5IDUzLjU2MjYgNjIuNTA3IDUzLjI4ODggNjEuNzIyN0M1MS4zNjc4IDYyLjEyNDIgNDkuMzk2NiA2Mi4yMjcyIDQ3LjQ0NDIgNjIuMDI4M1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzUuMzM0NyAzLjQyOTc1QzM0LjE4MTcgMy41Mjc0NCAzMy4wOTk4IDQuMDI3ODEgMzIuMjc4NyA0Ljg0MzExQzMxLjI3ODcgNC4zMDk3OCAzMC4xMjYxIDQuMTM0NDggMjkuMDEyNiA0LjM0NjY0QzI2LjI2NTUgNC40NTUwNiAyNC4zMTg0IDcuMDY5ODEgMjUuMDAxNyA5LjczMjczQzI1LjYzMTkgMTQuMDQ5NCAzMC4wNjMxIDE2LjQ3NTEgMzMuMzg2NSAxNy42Nzg0QzMzLjg5MjUgMTcuODcwNSAzNC40NjEzIDE3Ljc5MTEgMzQuODk1NCAxNy40NjgyQzM3LjcyMjMgMTUuMzQ4MSA0MS4yNzQ4IDExLjczODMgNDAuNjI1NSA3LjQ0MDlDNDAuNDkwNyA0Ljc1MDY4IDM3Ljk2MTQgMi44MzMwNSAzNS4zMzQ3IDMuNDI5NzVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NC45NjY4IDU4Ljg1NzdDNzQuMzM1OSA1OC42ODgyIDczLjY2NzcgNTguNzIxNiA3My4wNTY4IDU4Ljk1MzFDNzIuNjE5MiA1OC40MjIzIDcyLjAxMjEgNTguMDU4MiA3MS4zMzc4IDU3LjkyMTdDNjkuNzg2NiA1Ny4zNDQ5IDY4LjA5ODcgNTguMzQ2NCA2Ny44NjE4IDU5Ljk4NDRDNjcuMjEyMiA2Mi41NDM4IDY5LjEyMjIgNjQuOTMxNCA3MC42ODg1IDY2LjM4MjlDNzAuOTI0IDY2LjYwMjUgNzEuMjU3NyA2Ni42ODIzIDcxLjU2NzEgNjYuNTkzQzczLjY0OSA2Ni4wNzc0IDc2LjQ1NjYgNjQuOTEyMyA3Ny4xMDU5IDYyLjM1MjlDNzcuNjg0MSA2MC43NzA4IDc2LjYzODcgNTkuMDYyOCA3NC45NjY4IDU4Ljg1NzdaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMC44MTA1IDEyLjg4NDRDMTAuODEwNSAxNS4yODA5IDEzLjQwNDggMTYuNzc4NyAxNS40ODA0IDE1LjU4MDRDMTYuNDQzNyAxNS4wMjQzIDE3LjAzNzEgMTMuOTk2NiAxNy4wMzcxIDEyLjg4NDRDMTcuMDM3MSAxMC40ODc2IDE0LjQ0MjYgOC45ODk4MiAxMi4zNjcyIDEwLjE4ODFDMTEuNDAzOSAxMC43NDQyIDEwLjgxMDUgMTEuNzcyMSAxMC44MTA1IDEyLjg4NDRaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEZhdm9yaXRlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTMuMjAwMiA5LjAyMDE1QzQ4LjQ2MTcgOC44MDI2IDQzLjc5ODcgMTAuMzUyMiA0MC4wMDAxIDEzLjQwNjlDMzYuMjAxNiAxMC4zNTIyIDMxLjUzODYgOC44MDI2IDI2LjgwMDEgOS4wMjAxNUMxMy42IDkuMDIwMTUgNyAxNy41Mzg4IDcgMzAuMzE2NkM3IDQ5Ljk1NjcgMjMuOTIzMSA2My41NzE4IDM2LjgxODYgNzEuMTI1OUMzNy43OTQyIDcxLjY5ODggMzguODg4MyA3MiA0MC4wMDAxIDcyQzQxLjExMiA3MiA0Mi4yMDYxIDcxLjY5ODggNDMuMTgxNyA3MS4xMjU5QzU2LjE2MTggNjMuNTcxOCA3MyA0OS45NTY3IDczIDMwLjMxNjZDNzMgMTcuNTM4OCA2Ni40MDAyIDkuMDIwMTUgNTMuMjAwMiA5LjAyMDE1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTQgMTcuMDg4NUM2MS4zNjcgMTYuMzY1MiA2My45NDAzIDIwLjIzMjkgNjUgMjNcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBGb2xkZXIgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Mi4yIDcuMzM5OThDNzAuMiA0LjYxOTk4IDYyLjA2IDMuNDc5OTggNTUgMy40Nzk5OEM0Ny45NCAzLjQ3OTk4IDM5LjQgNC4zMTk5OCAzNy44IDcuMzM5OThDMzcuMTI4NCA3Ljg1ODI4IDM2LjU3NDQgOC41MTMwOCAzNi4xNzQ2IDkuMjYxMThDMzUuNzc0NiAxMC4wMDkzIDM1LjUzOCAxMC44MzM3IDM1LjQ4IDExLjY4QzI2LjU2IDEyIDE4LjIgMTMuMDIgMTYuMjQgMTUuMThDMTQuMjggMTYuMjYgMTIuOSAxOSAxMiAyMi42QzEwLjIxOCAyMi43NzA2IDguNTA2NDQgMjMuMzgyNCA3LjAyIDI0LjM4QzIgMjYuODQgMSAzOS40MiAxIDQ4Ljg4QzEgNTguMzQgMS45NCA3MC44OCA3IDczLjRDOS41IDc1Ljg0IDIzIDc2LjUyIDM0LjAyIDc2LjUySDM5LjM2SDQ0LjUyQzU2LjE0IDc2LjUyIDcwLjE0IDc1LjcyIDcyLjc4IDcyLjg0Qzc4IDcwIDc5IDU1LjE2IDc5IDQ0Qzc5IDE5LjE2IDczLjg2IDkuNTM5OTggNzIuMiA3LjMzOTk4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTIgMjIuNkMxMC44MTEyIDM1LjMyMjggMTAuNzQ0MyA0OC4xMjU0IDExLjggNjAuODZMMTIgMjIuNlpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMiAyMi42QzEwLjgxMTIgMzUuMzIyOCAxMC43NDQzIDQ4LjEyNTQgMTEuOCA2MC44NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTYuNSA5LjY5OTk2QzYyLjM2IDkuNzk5OTYgNjYuODYgMTAuMTYgNjcuNTggMTIuNjRcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEZvbGxvd1VwID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjQuMDI4MSA2NC41NzY3QzY4LjQ0MTIgNjMuNjExOCA2OS4yMjA5IDU4LjYwNjkgNjkuMjIwOSA1NC43OTA0QzY5LjIyMDkgNTAuOTczOSA2OC4zNTI5IDQ2LjEwODggNjQuMDI4MSA0NS4xMTYyQzYxLjg1MSA0NC4xMzc2IDUwLjE4NTggNDMuMTU5IDQwLjQ5MTcgNDMuMTU5QzMwLjc5NzYgNDMuMTU5IDE5LjE5MTIgNDQuMTM3NiAxNi45NTUzIDQ1LjExNjJDMTIuNjMwNSA0Ni4xMDg4IDExLjgwNjcgNTEuMDg1NyAxMS44MDY3IDU0Ljg0NjNDMTEuODA2NyA1OC42MDY5IDEyLjYzMDUgNjMuNjExOCAxNi45OTk0IDY0LjYzMjJDMTkuMTkxMiA2NS42MTA4IDMwLjg0MTggNjYuNTg5NCA0MC41MzU5IDY2LjU4OTRDNTAuMjI5OSA2Ni41ODk0IDYxLjgwNjkgNjUuNTU1MyA2NC4wMjgxIDY0LjU3NjdaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02NC4wMjgxIDM3LjYxNzJDNjguNDQxMiAzNi42NTI2IDY5LjIyMDkgMzEuNjQ3NyA2OS4yMjA5IDI3LjgzMTJDNjkuMjIwOSAyNC4wMTQ3IDY4LjM5NzEgMTkuMDY1NyA2NC4wMjgxIDE4LjA0NTJDNjEuODUxIDE3LjA2NjYgNTAuMTg1OCAxNi4wODggNDAuNDkxNyAxNi4wODhDMzAuNzk3NyAxNi4wODggMTkuMTkxMiAxNy4wNjY2IDE2Ljk1NTMgMTguMDQ1MkMxMi41NDIzIDE5LjAwOTggMTEuNzYyNyAyNC4wMTQ3IDExLjc2MjcgMjcuODMxMkMxMS43NjI3IDMxLjY0NzcgMTIuNjMwNSAzNi42MjQ2IDE2Ljk1NTMgMzcuNjE3MkMxOS4xNDcxIDM4LjU5NTggMzAuNzk3NyAzOS41NzQ0IDQwLjQ5MTcgMzkuNTc0NEM1MC4xODU4IDM5LjU3NDQgNjEuODA2OSAzOC41OTU4IDY0LjAyODEgMzcuNjE3MlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE3Ljk1NTYgMjcuNzc1QzE3Ljk1NTYgMjkuMzI0OCAxOC42MDM0IDMwLjgxMTIgMTkuNzU2NiAzMS45MDcxQzIwLjkwOTggMzMuMDAzIDIyLjQ3MzcgMzMuNjE4NyAyNC4xMDQ1IDMzLjYxODdDMjUuNzM1MyAzMy42MTg3IDI3LjI5OTMgMzMuMDAzIDI4LjQ1MjQgMzEuOTA3MUMyOS42MDU2IDMwLjgxMTIgMzAuMjUzNCAyOS4zMjQ4IDMwLjI1MzQgMjcuNzc1QzMwLjI1MzQgMjYuMjI1MiAyOS42MDU2IDI0LjczODggMjguNDUyNCAyMy42NDI5QzI3LjI5OTMgMjIuNTQ3IDI1LjczNTMgMjEuOTMxNCAyNC4xMDQ1IDIxLjkzMTRDMjIuNDczNyAyMS45MzE0IDIwLjkwOTggMjIuNTQ3IDE5Ljc1NjYgMjMuNjQyOUMxOC42MDM0IDI0LjczODggMTcuOTU1NiAyNi4yMjUyIDE3Ljk1NTYgMjcuNzc1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MC43MyA1NS4wMzU5QzUwLjczIDU2LjU4NTggNTEuMzc3OCA1OC4wNzIxIDUyLjUzMSA1OS4xNjhDNTMuNjg0MiA2MC4yNjM5IDU1LjI0ODEgNjAuODc5NiA1Ni44Nzg5IDYwLjg3OTZDNTguNTA5NyA2MC44Nzk2IDYwLjA3MzcgNjAuMjYzOSA2MS4yMjY4IDU5LjE2OEM2Mi4zOCA1OC4wNzIxIDYzLjAyNzggNTYuNTg1OCA2My4wMjc4IDU1LjAzNTlDNjMuMDI3OCA1My40ODYxIDYyLjM4IDUxLjk5OTggNjEuMjI2OCA1MC45MDM5QzYwLjA3MzcgNDkuODA3OSA1OC41MDk3IDQ5LjE5MjMgNTYuODc4OSA0OS4xOTIzQzU1LjI0ODEgNDkuMTkyMyA1My42ODQyIDQ5LjgwNzkgNTIuNTMxIDUwLjkwMzlDNTEuMzc3OCA1MS45OTk4IDUwLjczIDUzLjQ4NjEgNTAuNzMgNTUuMDM1OVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjAuNTg2IDIwLjg0MDlDNjMuNzQ4NyAyMS41OTU4IDYzLjk5ODggMjEuODMzNSA2NC42OTAyIDI0LjI2NlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDEuMzAwOSA0Ni42MjAyQzQ0Ljc1NzggNDYuNjIwMiA0Ny41MDg2IDQ2LjYyMDIgNDkuMTQxNSA0Ni44MDJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ1LjMzMzMgMTQuODc2QzQ1LjMzMzMgMTYuMzY2NSA0Ni4wMDA2IDE3Ljc5NTkgNDcuMTg4NCAxOC44NDk5QzQ4LjM3NjEgMTkuOTAzOCA0OS45ODcgMjAuNDk1OSA1MS42NjY3IDIwLjQ5NTlDNTMuMzQ2MyAyMC40OTU5IDU0Ljk1NzMgMTkuOTAzOCA1Ni4xNDUxIDE4Ljg0OTlDNTcuMzMyOCAxNy43OTU5IDU4IDE2LjM2NjUgNTggMTQuODc2QzU4IDEzLjM4NTUgNTcuMzMyOCAxMS45NTYxIDU2LjE0NTEgMTAuOTAyMkM1NC45NTczIDkuODQ4MjcgNTMuMzQ2MyA5LjI1NjIgNTEuNjY2NyA5LjI1NjJDNDkuOTg3IDkuMjU2MiA0OC4zNzYxIDkuODQ4MjcgNDcuMTg4NCAxMC45MDIyQzQ2LjAwMDYgMTEuOTU2MSA0NS4zMzMzIDEzLjM4NTUgNDUuMzMzMyAxNC44NzZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IElkZWEgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMC44NTY1IDcuMTcxOEMzMC44NzA0IDguNTQyMyAzMS4xNTUgOS44NTM5MSAzMS42NDc1IDEwLjgxODFDMzEuODkxNCAxMS4yOTU0IDMyLjE3OSAxMS42NzMyIDMyLjQ5MzkgMTEuOTI5N0MzMi44MDg4IDEyLjE4NjIgMzMuMTQ0OSAxMi4zMTY1IDMzLjQ4MyAxMi4zMTNDMzMuODIxIDEyLjMwOTUgMzQuMTU0NCAxMi4xNzI0IDM0LjQ2NCAxMS45MDk1QzM0Ljc3MzcgMTEuNjQ2NyAzNS4wNTM1IDExLjI2MzEgMzUuMjg3NyAxMC43ODA4QzM1LjUyMTggMTAuMjk4NSAzNS43MDU3IDkuNzI2OTEgMzUuODI4NyA5LjA5ODY4QzM1Ljk1MTcgOC40NzAzNyAzNi4wMTE0IDcuNzk3NzYgMzYuMDA0NSA3LjExOTE1QzM1Ljk5MDYgNS43NDg2NCAzNS43MDYxIDQuNDM3MDQgMzUuMjEzNSAzLjQ3Mjg4QzM0LjcyMSAyLjUwODczIDM0LjA2MDggMS45NzA5OSAzMy4zNzgxIDEuOTc3OTdDMzIuNjk1NCAxLjk4NDk1IDMyLjA0NjIgMi41MzYwOCAzMS41NzM0IDMuNTEwMTFDMzEuMTAwNCA0LjQ4NDE0IDMwLjg0MjYgNS44MDEzIDMwLjg1NjUgNy4xNzE4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEzLjk2MzggMTUuOTg2MUMxNC4zODQ5IDE2LjUyNjggMTQuODU2MyAxNy4wMjE0IDE1LjM1MDYgMTcuNDQxNUMxNS44NDQ4IDE3Ljg2MTYgMTYuMzUyMSAxOC4xOTg2IDE2Ljg0MyAxOC40MzNDMTcuMzMzOCAxOC42NjczIDE3Ljc5ODMgMTguNzk0MiAxOC4yMDk1IDE4LjgwNjRDMTguNjIwNiAxOC44MTg2IDE4Ljk3MDIgMTguNzE1OCAxOS4yMzc5IDE4LjUwNEMxOS41MDU1IDE4LjI5MjEgMTkuNjg2IDE3Ljk3NTUgMTkuNzY4NyAxNy41NzI2QzE5Ljg1MTQgMTcuMTY5NiAxOS44MzQ2IDE2LjY4ODQgMTkuNzE5NSAxNi4xNTY4QzE5LjYwNDMgMTUuNjI1MiAxOS4zOTMgMTUuMDU0IDE5LjA5NzkgMTQuNDc2M0MxOC44MDI4IDEzLjg5ODYgMTguNDI5NyAxMy4zMjYxIDE4LjAwMDQgMTIuNzkyQzE3LjU3OTMgMTIuMjUxNCAxNy4xMDc5IDExLjc1NjYgMTYuNjEzNyAxMS4zMzY1QzE2LjExOTQgMTAuOTE2NCAxNS42MTIxIDEwLjU3OTQgMTUuMTIxMyAxMC4zNDUxQzE0LjYzMDUgMTAuMTEwOCAxNC4xNjYgOS45ODM4MyAxMy43NTQ4IDkuOTcxNjhDMTMuMzQzNyA5Ljk1OTQ1IDEyLjk5NDEgMTAuMDYyMyAxMi43MjY0IDEwLjI3NDFDMTIuNDU4NyAxMC40ODU5IDEyLjI3ODIgMTAuODAyNSAxMi4xOTU1IDExLjIwNTVDMTIuMTEyOSAxMS42MDg0IDEyLjEyOTYgMTIuMDg5OCAxMi4yNDQ4IDEyLjYyMTNDMTIuMzU5OSAxMy4xNTI4IDEyLjU3MTIgMTMuNzI0MSAxMi44NjY0IDE0LjMwMThDMTMuMTYxNSAxNC44Nzk0IDEzLjUzNDYgMTUuNDUyIDEzLjk2MzggMTUuOTg2MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk04Ljg2ODM4IDM1LjQ5MThDOS41NDY5OSAzNS41MzkyIDEwLjIyMzYgMzUuNTE5NiAxMC44NTk1IDM1LjQzNDFDMTEuNDk1NSAzNS4zNDg1IDEyLjA3ODQgMzUuMTk4OCAxMi41NzQ4IDM0Ljk5MzNDMTMuMDcxMyAzNC43ODc4IDEzLjQ3MTggMzQuNTMwNyAxMy43NTMyIDM0LjIzNjZDMTQuMDM0NiAzMy45NDI1IDE0LjE5MTYgMzMuNjE3MSAxNC4yMTUxIDMzLjI3OTFDMTQuMjM4OCAzMi45NDEgMTQuMTI4NCAzMi41OTcgMTMuODkwNSAzMi4yNjY1QzEzLjY1MjYgMzEuOTM2MSAxMy4yOTE4IDMxLjYyNTcgMTIuODI4NSAzMS4zNTMyQzEyLjM2NTQgMzEuMDgwNSAxMS44MDg5IDMwLjg1MTIgMTEuMTkxIDMwLjY3NzlDMTAuNTczMSAzMC41MDQ4IDkuOTA1NzYgMzAuMzkxMiA5LjIyNzIyIDMwLjM0MzhDOC41NDg2MSAzMC4yOTYzIDcuODcyMDcgMzAuMzE1OSA3LjIzNjA5IDMwLjQwMTRDNi42MDAxMyAzMC40ODY5IDYuMDE3MjcgMzAuNjM2NyA1LjUyMDc4IDMwLjg0MjJDNS4wMjQyOSAzMS4wNDc2IDQuNjIzODkgMzEuMzA0OCA0LjM0MjQzIDMxLjU5ODlDNC4wNjA5OCAzMS44OTMxIDMuOTAzOTkgMzIuMjE4NCAzLjg4MDQzIDMyLjU1NjVDMy44NTY4OCAzMi44OTQ1IDMuOTY3MjEgMzMuMjM4NSA0LjIwNTEyIDMzLjU2ODlDNC40NDMwNSAzMy44OTk0IDQuODAzODkgMzQuMjA5OCA1LjI2NzA3IDM0LjQ4MjRDNS43MzAyNSAzNC43NTQ5IDYuMjg2NjggMzQuOTg0NCA2LjkwNDYgMzUuMTU3NUM3LjUyMjUyIDM1LjMzMDggOC4xODk4NCAzNS40NDQzIDguODY4MzggMzUuNDkxOFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OC44NjQ3IDE2LjEyQzQ5LjE0MDggMTYuMzIxNSA0OS40OTE4IDE2LjQwODYgNDkuODk3MiAxNi4zNzY1QzUwLjMwMjcgMTYuMzQ0MyA1MC43NTQ1IDE2LjE5MzUgNTEuMjI2NCAxNS45MzI3QzUxLjY5ODIgMTUuNjcyIDUyLjE4MDYgMTUuMzA2NSA1Mi42NDU1IDE0Ljg1NzhDNTMuMTEwMyAxNC40MDkgNTMuNTQ4NCAxMy44ODU4IDUzLjkzNCAxMy4zMTg3QzU0LjMxOTYgMTIuNzUxNiA1NC42NDUyIDEyLjE1MiA1NC44OTE3IDExLjU1NDhDNTUuMTM4MiAxMC45NTc1IDU1LjMwMDcgMTAuMzc0NiA1NS4zNjk4IDkuODM5OTlDNTUuNDM4OCA5LjMwNTM4IDU1LjQxMyA4LjgyOTg0IDU1LjI5MzggOC40NDA5OUM1NS4xNzQ2IDguMDUyMTUgNTQuOTY0NSA3Ljc1Nzc2IDU0LjY3NTcgNy41NzUxMkM1NC4zOTk2IDcuMzczNzIgNTQuMDQ4NiA3LjI4NjU1IDUzLjY0MzIgNy4zMTg3MUM1My4yMzc3IDcuMzUwODYgNTIuNzg1OSA3LjUwMTcxIDUyLjMxNCA3Ljc2MjQ1QzUxLjg0MjIgOC4wMjMxNSA1MS4zNTk4IDguMzg4NjEgNTAuODk0OSA4LjgzNzM4QzUwLjQzMDEgOS4yODYxNSA0OS45OTIgOS44MDkzOCA0OS42MDY0IDEwLjM3NjVDNDkuMjIwOCAxMC45NDM1IDQ4Ljg5NTIgMTEuNTQzMSA0OC42NDg3IDEyLjE0MDRDNDguNDAyMiAxMi43Mzc3IDQ4LjIzOTcgMTMuMzIwNiA0OC4xNzA2IDEzLjg1NTFDNDguMTAxNiAxNC4zODk4IDQ4LjEyNzUgMTQuODY1MyA0OC4yNDY2IDE1LjI1NDFDNDguMzY1OCAxNS42NDMgNDguNTc1OSAxNS45Mzc0IDQ4Ljg2NDcgMTYuMTJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTcuNjQ3OCAyNS45NzM2QzU3Ljc0MSAyNi4zMDE2IDU3Ljk2MzQgMjYuNTg2NSA1OC4zMDE5IDI2LjgxMThDNTguNjQwNCAyNy4wMzcgNTkuMDg4MyAyNy4xOTggNTkuNjE5NiAyNy4yODU1QzYwLjE1MDkgMjcuMzczMSA2MC43NTUxIDI3LjM4NTMgNjEuMzk2OSAyNy4zMjE2QzYyLjAzODggMjcuMjU3OCA2Mi43MDU2IDI3LjExOTQgNjMuMzU4NiAyNi45MTQzQzY0LjAxMTYgMjYuNzA5MiA2NC42Mzc4IDI2LjQ0MTUgNjUuMjAwOSAyNi4xMjY4QzY1Ljc2NCAyNS44MTIxIDY2LjI1MjcgMjUuNDU2NiA2Ni42Mzg3IDI1LjA4MUM2Ny4wMjQ2IDI0LjcwNTQgNjcuMzAwMiAyNC4zMTcxIDY3LjQ0OTIgMjMuOTM4OEM2Ny41OTgyIDIzLjU2MDQgNjcuNjE3OCAyMy4xOTk1IDY3LjUwNjkgMjIuODc3QzY3LjQxMzcgMjIuNTQ4OSA2Ny4xOTEzIDIyLjI2NDEgNjYuODUyOCAyMi4wMzg4QzY2LjUxNDMgMjEuODEzNiA2Ni4wNjY0IDIxLjY1MjYgNjUuNTM1MSAyMS41NjUxQzY1LjAwMzggMjEuNDc3NSA2NC4zOTk2IDIxLjQ2NTMgNjMuNzU3OCAyMS41MjlDNjMuMTE1OSAyMS41OTI4IDYyLjQ0OTIgMjEuNzMxMiA2MS43OTYxIDIxLjkzNjNDNjEuMTQzMSAyMi4xNDE0IDYwLjUxNjggMjIuNDA5MSA1OS45NTM4IDIyLjcyMzhDNTkuMzkwNyAyMy4wMzg1IDU4LjkwMiAyMy4zOTQgNTguNTE2MSAyMy43Njk2QzU4LjEzMDEgMjQuMTQ1MiA1Ny44NTQ2IDI0LjUzMzUgNTcuNzA1NSAyNC45MTE4QzU3LjU1NjUgMjUuMjkwMiA1Ny41MzY4IDI1LjY1MTEgNTcuNjQ3OCAyNS45NzM2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU2LjM2MDYgMzcuNjIwOUM0My4xNTkxIDM3LjYyMDkgMzYuNTY4MSA0NC41MDQ1IDM2LjU2ODEgNTQuODM5NUMzNi41NjgxIDYxLjQ2OTUgMzkuMzE3NiA2Ni42NzU5IDQ0Ljc1ODEgNjkuNTYxOUM0My43NDQxIDcyLjk5MzkgNDEuMjQ4MSA3NS4wMjE5IDQzLjQ1MTYgNzcuMjI1NEM0NC44NzUxIDc4LjY0OTIgNTMuMzc3MSA3OC44NjMxIDU2LjI2MzEgNzIuMDM4NUg1Ni4zNjA2QzY5LjU2MjEgNzIuMDM4NSA3Ni4xNzI2IDY1LjEzNTUgNzYuMTcyNiA1NC44MTk5Qzc2LjE3MjYgNDQuNTA0NSA2OS41NjIxIDM3LjYyMDkgNTYuMzYwNiAzNy42MjA5WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02My4xMDc3IDQxLjc3NDNDNjUuMTY1OSA0Mi4yMTAzIDY3LjA1MDkgNDMuMjQwOSA2OC41Mjg3IDQ0LjczODNcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUyLjg3MDIgNDAuMTE2OEM1NS40NjM4IDMwLjU0MjQgNTEuNzE5NyAyMi42ODM4IDQwLjc2MDcgMTkuNzE5OEMyOS44MDE3IDE2Ljc1NTggMjIuNjI1OCAyMS42Njk4IDIwLjAxMjggMzEuMjA1NEMxOC4zNTUyIDM3LjM2NzQgMjAuODEyMiA0My42NDY0IDIzLjQ2NDIgNDguNTIxNEMyNC4xNTE5IDQ5Ljc4NjUgMjQuNDc1OCA1MS4yMTc0IDI0LjQwMDIgNTIuNjU1NEMyMy45NDM3IDUyLjc0MzggMjMuNTIwMyA1Mi45NTYxIDIzLjE3NjQgNTMuMjY5MUMyMi44MzI1IDUzLjU4MjEgMjIuNTgxMiA1My45ODM3IDIyLjQ1MDIgNTQuNDI5OEMyMi4zMTk2IDU0LjkyNTMgMjIuMzQ3MiA1NS40NDkxIDIyLjUyODkgNTUuOTI4MUMyMi43MTA4IDU2LjQwNzEgMjMuMDM3OCA1Ni44MTc0IDIzLjQ2NDIgNTcuMTAxNEMyMi41NDc4IDYyLjY1ODggMjQuMzYxMiA2NS4yMzI4IDI4LjA2NjIgNjYuMjQ2OEMzMS43NzEyIDY3LjI2MDggMzQuNjM3OCA2NS45MzQ4IDM2LjY2NTggNjAuNjY5OEMzNy4xNzM3IDYwLjY0NTggMzcuNjYwOSA2MC40NjExIDM4LjA1NyA2MC4xNDIxQzM4LjQ1MzEgNTkuODIzMSAzOC43Mzc1IDU5LjM4NjUgMzguODY5MiA1OC44OTU0QzM4Ljk4OSA1OC40NDUyIDM4Ljk3OTMgNTcuOTcwMyAzOC44NDEzIDU3LjUyNTNDMzguNzAzNCA1Ny4wODA0IDM4LjQ0MjcgNTYuNjgzMyAzOC4wODkyIDU2LjM3OThDMzguNzc5MiA1NS4xMDE1IDM5LjgxMjUgNTQuMDQxMSA0MS4wNzI4IDUzLjMxODRDNDUuODUwMiA1MC40NTE4IDUxLjE5MzIgNDYuMjc4OCA1Mi44NzAyIDQwLjExNjhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI4Ljc4NzUgNTMuOTYxOUMzMC41MDE5IDU0LjIwNzEgMzIuMTc4OSA1NC42NjU3IDMzLjc3OTUgNTUuMzI2OVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNy43MzQ4IDU3LjgyM0MyOS40NTQyIDU4LjA2NDIgMzEuMTM3MyA1OC41MTYxIDMyLjc0NjIgNTkuMTY4NVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMS4xMjc3IDM3LjIzMDhDMzEuMTI3NyAzNy4yMzA4IDMwLjcxODIgMzguMDY5MiAzMS42MTUyIDQxLjI0NzhDMzEuOTM0NiA0Mi40MTYyIDMyLjM5MjkgNDMuNTQyMiAzMi45ODAyIDQ0LjYwMThDMzMuMTg0NSA0NC45MTI5IDMzLjQ5NTggNDUuMTM4NCAzMy44NTUyIDQ1LjIzNTRDMzQuMjE0NSA0NS4zMzI1IDM0LjU5NyA0NS4yOTQzIDM0LjkzMDIgNDUuMTI4MkMzNS45ODM2IDQ0LjUyMTkgMzYuOTUzOCA0My43ODEyIDM3LjgxNjIgNDIuOTI0OEMzOC44MzUxIDQyLjAxMzEgMzkuNjY5MiA0MC45MTQyIDQwLjI3MzIgMzkuNjg3OEM0MC4zNzA4IDM5LjM4MDIgNDAuMzU4MSAzOS4wNDgzIDQwLjIzNyAzOC43NDkyQzQwLjExNTkgMzguNDUwMSAzOS44OTQyIDM4LjIwMjggMzkuNjEwMiAzOC4wNDk4QzM4LjUwNTYgMzcuNDQxOCAzNy4zMjUzIDM2Ljk4MjggMzYuMTAwMiAzNi42ODQ4QzM0LjkzMzggMzYuMzM4NyAzMy43MjgyIDM2LjE0MjEgMzIuNTEyMiAzNi4wOTk4QzMyLjE5NDcgMzYuMTAwNiAzMS44ODY5IDM2LjIwOTEgMzEuNjM5IDM2LjQwNzRDMzEuMzkxMSAzNi42MDU4IDMxLjIxNzggMzYuODgyMiAzMS4xNDcyIDM3LjE5MThMMzEuMTI3NyAzNy4yMzA4WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMzLjgzODIgNDUuMjA2NkwzMy4wOTcyIDQ4LjAxNDZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ1Ljk0NzYgMjYuMjMyN0M0Ny4yNjQzIDI3LjEzNjggNDguMjcxNiAyOC40MjMyIDQ4LjgzMzYgMjkuOTE4MlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBMaWtlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzQuNTE1MyA1MS40ODZDNzkuMzUxMyA0OS45ODQzIDc5LjE1NjMgNDAuMjczMyA3NC4xNjQzIDM5LjAwNkM3Ny42OTM3IDM3LjUwNDMgNzUuMjk1MyAyOS42MDY5IDcxLjE0MTcgMjguMjAyOUM2NS4xMTc3IDI3LjM0MyA1OS4wNTAzIDI2LjgyMjIgNTIuOTY3NyAyNi42NDI5QzU0LjM1MTMgMjIuODM5NyA1NS40MDggMTguOTI1NSA1Ni4xMjY3IDE0Ljk0MjlDNTYuNTMyNyAxMy4xODc0IDU2LjMzMzcgMTEuMzQ2NCA1NS41NjIgOS43MTgyN0M1NC43OTAzIDguMDkwMSA1My40OTEzIDYuNzcwMzMgNTEuODc1NyA1Ljk3MjlDNDkuMTY1MyA0LjM3MzkgNDQuNzk3MyA0LjMzNDkgNDMuMDgxMyA1Ljg1NTlDNDAuOTc1MyA2LjkwODkgMzUuNTU0MyAxMy41MTk0IDI5LjY0NTggMjMuNjc4OUMyNi4zNDc3IDI1Ljk3NzQgMjMuMjMxNSAyOC41MjY0IDIwLjMyNDggMzEuMzAzNEMxNy44NTM1IDMwLjA2MzYgMTUuMDgxMyAyOS41NDk3IDEyLjMyOTggMjkuODIxNEM4LjY0NDMgMjkuODIxNCAzLjc0OTggMzAuNTgxOSAyLjg5MTgxIDMzLjkzNkMxLjk5NDgxIDM1LjYzMjMgMS44NTgzMSA0NC41MjQzIDIuMDUzMzEgNTEuODc2QzIuMjQ4MzEgNTkuMjI3MyAyLjg5MTgxIDY4LjEgNC4wMDMzIDY5LjczOEM0LjkwMDMgNzMuMTUwMyA5Ljg1MzMgNzMuNDYyMyAxMy41Mzg4IDczLjM2NUMxNi4zNjYzIDczLjM2NSAxOS44NzYzIDcyLjg1OCAyMS43Njc4IDcxLjE4MUMyMS45ODk5IDcxLjM5MTcgMjIuMjMxNCA3MS41ODEgMjIuNDg5MyA3MS43NDYzQzI0LjkwNzMgNzMuMzY1IDM1Ljc4ODMgNzUuNDUxMyA0NC45OTIzIDc1LjE5OEM2MC45MDQzIDc0Ljc0OTMgNjYuOTEwMyA3My40ODIgNjguMDgwMyA3My4xMTEzQzc0LjM1OTMgNzEuMTYxMyA3My43MzUzIDYzLjc5MDMgNzIuMTM2MyA2Mi42NzlDNzUuODk5NyA2Mi4wMzUzIDc3LjczMjcgNTMuOTIzMyA3NC41MTUzIDUxLjQ4NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ4Ljc1NTcgMTAuNTU1QzUxLjQyNzMgMTEuNjI3NSA1MC44ODEzIDE0LjQ1NSA1MC4yNzY3IDE2LjE3MVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjEuMzk3MyAzOS40MzUzQzIyLjEzODMgNDIuODI4MyAyMy4wMTU4IDU4Ljc0MDMgMjIuMDc5OCA2My41NzYzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NS40OTA3IDM3LjY5OTNDNzQuNTE1NyAzOS4xODEzIDcxLjMxNzcgMzkuMjc5IDcxLjMxNzcgMzkuMjc5QzcyLjcxNzMgMzkuMTQyMyA3NC4xMyAzOS4yNTQzIDc1LjQ5MDcgMzkuNjEwM1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc2LjExNDMgNTAuNTVDNzUuMzczMyA1MS40ODYgNzIuMjE0MyA1MS4wNTcgNzIuMjE0MyA1MS4wNTdDNzIuMjE0MyA1MS4wNTcgNzQuODQ3IDUxLjI5MSA3NS42MjcgNTIuNzczXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzMuODkxMyA2MS43NDNDNzMuMTc3IDYyLjE2MTcgNzIuMzgzNyA2Mi40MjggNzEuNTYxNyA2Mi41MjVDNzAuNzM5MyA2Mi42MjIzIDY5LjkwNiA2Mi41NDg3IDY5LjExMzcgNjIuMzA4N0M2OS4xMTM3IDYyLjMwODcgNzIuMTM2MyA2Mi42NzkgNzMuMDEzNyA2NC4wODNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IE1hcCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc1LjM5MjcgOC42NzE0OEM3NC4yMjI3IDYuNzk5NDkgNjcuOTgyNyA4Ljc4MzgxIDYyLjgxNSAxMC42NTU4QzU4LjYwMyAxMi4xNzIxIDUzLjcwODcgMTQuMTE5IDUxLjQwNzcgMTYuMjcxOEM0OS4xMDY3IDE0LjExOSA0NC4yMTIgMTIuMTcyMSA0MCAxMC42NTU4QzM2LjM1MDcgOS4yNTM5MiAzMi41MDc3IDguMzcxIDI4LjU5MjYgOC4wMzVDMjQuNjc3NSA4LjM3MSAyMC44MzQ1IDkuMjUzOTIgMTcuMTg1MSAxMC42NTU4QzEyLjAxNzYgMTIuNTI3OCA1Ljc3NzYgMTQuOTk4OCA0LjYwNzYgMTcuNzUwN0MyLjI2NzYgMjAuOTMzMSAxLjk3NTEgMzcuNTM3NiAxLjk3NTEgNDYuNTQyMUMxLjk3NTEgNTUuNTQ2MiAyLjI2NzYgNzEuOTQ1IDQuNjA3NiA3My40NDI2QzUuNzc3NiA3NS4zMTQ2IDEyLjAxNzYgNzMuMzMwMiAxNy4xODUxIDcxLjQ1ODJDMjEuMzk3MSA2OS45NDIxIDI2LjI5MTYgNjcuOTk1MiAyOC41OTI2IDY1Ljg0MjJDMzAuODkzNiA2Ny45OTUyIDM1Ljc4OCA2OS45NDIxIDQwIDcxLjQ1ODJDNDMuNjQ5MyA3Mi44NjAyIDQ3LjQ5MjcgNzMuNzQzIDUxLjQwNzcgNzQuMDc5QzU1LjMyMjcgNzMuNzQzIDU5LjE2NTcgNzIuODYwMiA2Mi44MTUgNzEuNDU4MkM2Ny45ODI3IDY5LjU4NjIgNzQuMjIyNyA2Ny4xMTUyIDc1LjM5MjcgNjQuMzYzNUM3Ny43MzI3IDYxLjE4MTEgNzguMDI1IDQ0LjU3NjMgNzguMDI1IDM1LjU3MjJDNzguMDI1IDI2LjU2NzggNzcuNzMyNyAxMC4xNjkxIDc1LjM5MjcgOC42NzE0OFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI4LjMgNTUuMDk3VjIxLjAyNjZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUxLjcgNjEuMDg3N1YyNy4wMTcyXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02Ni4zMjUgMTUuODZDNzEuMjk3MyAxMy43NDQ3IDcxLjA4MyAxMi40OTA0IDcxLjA4MyAyMi43ODY0XCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IE1vbmV5ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTMuOTgxNSA0Ny40MTAxQzU2LjI0MzUgNDMuOTE5NiA1My44ODQgMzYuNzYzMSA1MS4xOTMgMzEuMzYxNkM0OC41MDIgMjUuOTYwMSA0NC4xOTI1IDE5Ljc5ODEgNDAgMTkuNTA1NkMzNy41MjM1IDE5LjM0OTYgMjguMTQ0IDIzLjE3MTYgMjAuNSAyNi45OTM2QzEyLjg1NiAzMC44MTU2IDQuMjM3MDQgMzUuOTgzMSAyLjk1MDA0IDM4LjA1MDFDMC42MTAwNCA0MS41NjAxIDIuOTUwMDQgNDguNzM2MSA1LjY2MDU0IDU0LjExODFDOC4zNzEwNCA1OS41MDAxIDEyLjcgNjUuNzAxMSAxNi44MzQgNjUuOTc0MUMxOS4zMTA1IDY2LjE0OTYgMjguNjcwNSA2Mi4zMjc2IDM2LjMzNCA1OC41MDU2QzQzLjk5NzUgNTQuNjgzNiA1Mi42MzYgNDkuNDk2NiA1My45ODE1IDQ3LjQxMDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zNC40ODE1IDI4LjNDMzUuMjI4NCAyOS41OTI2IDM2LjQxNzggMzAuNTcxMiAzNy44MyAzMS4wNTUxQzM5LjI0MjIgMzEuNTM5IDQwLjc4MTkgMzEuNDk1NCA0Mi4xNjQ1IDMwLjkzMjZDNDQuMDE4NSAzMy4zNDA1IDQ1LjM5NTIgMzYuMDgwNyA0Ni4yMjA1IDM5LjAwNTZDNDQuOTE3NiAzOS43NzExIDQzLjk0MDIgNDAuOTg3NCA0My40NzMxIDQyLjQyNDZDNDMuMDA2IDQzLjg2MTggNDMuMDgxNiA0NS40MjAzIDQzLjY4NTUgNDYuODA1NUMzNi44OTc0IDUwLjg2MTkgMjkuNzk2MyA1NC4zNyAyMi40NSA1Ny4yOTY2QzIxLjcwMDEgNTUuOTc2NCAyMC40OTA1IDU0Ljk3ODUgMTkuMDUyIDU0LjQ5M0MxNy42MTM0IDU0LjAwNzUgMTYuMDQ2NSA1NC4wNjg0IDE0LjY1IDU0LjY2NDFDMTIuNzg0MSA1Mi4yODUxIDExLjQ1MzcgNDkuNTMxNCAxMC43NSA0Ni41OTFDMTIuMDQ5NSA0NS44MjI0IDEzLjAyMjggNDQuNjA0OCAxMy40ODYyIDQzLjE2NzlDMTMuOTQ5NiA0MS43MzA5IDEzLjg3MTEgNDAuMTc0MSAxMy4yNjU1IDM4Ljc5MUMyMC4wNDU3IDM0LjczMjYgMjcuMTQwNSAzMS4yMjQ0IDM0LjQ4MTUgMjguM1pcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM0LjgzMjUgMjQuMTI3MUMzOC4yNjQ1IDIyLjYwNjEgMzkuODA1IDIyLjcwMzYgNDAuNjgyNSAyMy4yNDk2XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMi4wMjEgNDIuNzQ5NkMyMi4wMjEgNDQuNDUxMSAyMi42OTY5IDQ2LjA4MjkgMjMuOTAwMSA0Ny4yODZDMjUuMTAzMiA0OC40ODkyIDI2LjczNSA0OS4xNjUxIDI4LjQzNjUgNDkuMTY1MUMzMC4xMzggNDkuMTY1MSAzMS43Njk4IDQ4LjQ4OTIgMzIuOTcyOSA0Ny4yODZDMzQuMTc2MSA0Ni4wODI5IDM0Ljg1MiA0NC40NTExIDM0Ljg1MiA0Mi43NDk2QzM0Ljg1MiA0MS4wNDgxIDM0LjE3NjEgMzkuNDE2MyAzMi45NzI5IDM4LjIxMzJDMzEuNzY5OCAzNy4wMSAzMC4xMzggMzYuMzM0MSAyOC40MzY1IDM2LjMzNDFDMjYuNzM1IDM2LjMzNDEgMjUuMTAzMiAzNy4wMSAyMy45MDAxIDM4LjIxMzJDMjIuNjk2OSAzOS40MTYzIDIyLjAyMSA0MS4wNDgxIDIyLjAyMSA0Mi43NDk2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjcuMzQ0NSAzOS42MTAxQzI3Ljg2NjEgMzkuNDYwMiAyOC40MTU5IDM5LjQzNjggMjguOTQ4NCAzOS41NDE5QzI5LjQ4MDggMzkuNjQ3MSAyOS45ODA1IDM5Ljg3NzcgMzAuNDA2IDQwLjIxNDZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc2LjQ0NTUgNDQuMzY4Qzc2LjI3IDQ0LjE1MzUgNzIuODk2NSAzOS41NTE1IDYyLjYwMDUgMzkuNTUxNUM1Mi4zMDQ1IDM5LjU1MTUgNDguOTUwNSA0NC4xNTM1IDQ4Ljc1NTUgNDQuMzY4QzQ3LjU4NTUgNDUuNzkxNSA0Ny4xNzYgNTIuMDEyIDQ3LjE3NiA1Ny4zNTVDNDcuMTc2IDYyLjY5OCA0Ny41ODU1IDY4LjkxODUgNDguNzU1NSA3MC4zNDJDNDguOTMxIDcwLjU1NjUgNTIuMzA0NSA3NS4xMzkgNjIuNjAwNSA3NS4xMzlDNzIuODk2NSA3NS4xMzkgNzYuMjUwNSA3MC41NTY1IDc2LjQ0NTUgNzAuMzQyQzc3LjYxNTUgNjguOTE4NSA3OC4wMjUgNjIuNjk4IDc4LjAyNSA1Ny4zNTVDNzguMDI1IDUyLjAxMiA3Ny42MTU1IDQ1Ljg1IDc2LjQ0NTUgNDQuMzY4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjkuODM1MSA0Mi42OTFDNzAuOTMwNCA0Mi45OTM5IDcxLjk2NTggNDMuNDgyIDcyLjg5NjYgNDQuMTM0XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NC45MDUgNDkuMDQ4QzcyLjcwMTUgNTEuMjcxIDY4LjYwNjUgNTIuNTk3IDYyLjYwMDUgNTIuNTk3QzU2LjU5NDUgNTIuNTk3IDUyLjQ5OTUgNTEuMjcxIDUwLjI5NiA0OS4wNDhcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc0LjkwNSA1Ny4zNTVDNzIuNzAxNSA1OS41NzggNjguNjA2NSA2MC45MDQgNjIuNjAwNSA2MC45MDRDNTYuNTk0NSA2MC45MDQgNTIuNDk5NSA1OS41IDUwLjI5NiA1Ny4zNTVcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc0LjkwNSA2NC40NzI1QzcyLjcwMTUgNjYuNjk1NSA2OC42MDY1IDY4LjAyMTUgNjIuNjAwNSA2OC4wMjE1QzU2LjU5NDUgNjguMDIxNSA1Mi40OTk1IDY2LjY5NTUgNTAuMjk2IDY0LjQ3MjVcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU2LjMyMTUgNDUuNzkxNUM1Ni4zMjE1IDQ2LjQyMjQgNTYuOTgzMSA0Ny4wMjc1IDU4LjE2MDYgNDcuNDczN0M1OS4zMzgyIDQ3LjkxOTggNjAuOTM1MiA0OC4xNzA1IDYyLjYwMDUgNDguMTcwNUM2NC4yNjU4IDQ4LjE3MDUgNjUuODYyOSA0Ny45MTk4IDY3LjA0MDUgNDcuNDczN0M2OC4yMTggNDcuMDI3NSA2OC44Nzk1IDQ2LjQyMjQgNjguODc5NSA0NS43OTE1QzY4Ljg3OTUgNDUuMTYwNSA2OC4yMTggNDQuNTU1NCA2Ny4wNDA1IDQ0LjEwOTNDNjUuODYyOSA0My42NjMxIDY0LjI2NTggNDMuNDEyNSA2Mi42MDA1IDQzLjQxMjVDNjAuOTM1MiA0My40MTI1IDU5LjMzODIgNDMuNjYzMSA1OC4xNjA2IDQ0LjEwOTNDNTYuOTgzMSA0NC41NTU0IDU2LjMyMTUgNDUuMTYwNSA1Ni4zMjE1IDQ1Ljc5MTVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03MS4zNzU2IDI1LjY2NzZDNzEuMzc1NiAyNC4zODA2IDcwLjA0OTYgMjMuMjg4NiA2Ni40MjI2IDIyLjkxODFDNjYuMDUyMSAxOS4yOTExIDY0Ljk3OTUgMTcuOTY1MSA2My42NzMgMTcuOTY1MUM2Mi4zNjY1IDE3Ljk2NTEgNjEuMjc0NSAxOS4yOTExIDYwLjkwNCAyMi45MTgxQzU3LjI3NyAyMy4yODg2IDU1Ljk1MSAyNC4zODA2IDU1Ljk1MSAyNS42Njc2QzU1Ljk1MSAyNi45NTQ2IDU3LjI3NyAyOC4wNjYxIDYwLjkwNCAyOC40MzY2QzYxLjI3NDUgMzIuMDYzNiA2Mi4zNjY1IDMzLjM4OTYgNjMuNjczIDMzLjM4OTZDNjQuOTc5NSAzMy4zODk2IDY2LjA1MjEgMzIuMDYzNiA2Ni40MjI2IDI4LjQzNjZDNzAuMDQ5NiAyOC4wNjYxIDcxLjM3NTYgMjYuOTc0MSA3MS4zNzU2IDI1LjY2NzZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9XCIjMjMxRjIwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3LjU1IDExLjc4MzZDNTcuNTUgMTAuNzUwMSA1Ni40OTcgOS44MzM1NSA1My42NSA5LjU4MDA1QzUzLjM1NzUgNi42NzQ1NSA1Mi40OCA1LjY4MDA1IDUxLjQ0NjUgNS42ODAwNUM1MC40MTMgNS42ODAwNSA0OS40OTY1IDYuNzMzMDUgNDkuMjQzIDkuNTgwMDVDNDYuMzM3NSA5Ljg3MjU1IDQ1LjM0MyAxMC43NTAxIDQ1LjM0MyAxMS43ODM2QzQ1LjM0MyAxMi44MTcxIDQ2LjQxNTUgMTMuNzMzNiA0OS4yNDMgMTMuOTg3MUM0OS41MzU1IDE2Ljg5MjYgNTAuMzkzNSAxNy44ODcxIDUxLjQ0NjUgMTcuODg3MUM1Mi40OTk1IDE3Ljg4NzEgNTMuMzk2NSAxNi44MTQ2IDUzLjY1IDEzLjk4NzFDNTYuNDM4NSAxMy43MTQxIDU3LjU1IDEyLjgzNjYgNTcuNTUgMTEuNzgzNlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjcuNTE0NSA3LjE2MjA1QzY3LjUxNDUgNy43Nzc0OSA2Ny43NTkgOC4zNjc3MiA2OC4xOTQyIDguODAyODlDNjguNjI5NCA5LjIzODA3IDY5LjIxOTYgOS40ODI1NSA2OS44MzUgOS40ODI1NUM3MC40NTA1IDkuNDgyNTUgNzEuMDQwNyA5LjIzODA3IDcxLjQ3NTkgOC44MDI4OUM3MS45MTEgOC4zNjc3MiA3Mi4xNTU1IDcuNzc3NDkgNzIuMTU1NSA3LjE2MjA1QzcyLjE1NTUgNi41NDY2MiA3MS45MTEgNS45NTYzOSA3MS40NzU5IDUuNTIxMjFDNzEuMDQwNyA1LjA4NjAzIDcwLjQ1MDUgNC44NDE1NSA2OS44MzUgNC44NDE1NUM2OS4yMTk2IDQuODQxNTUgNjguNjI5NCA1LjA4NjAzIDY4LjE5NDIgNS41MjEyMUM2Ny43NTkgNS45NTYzOSA2Ny41MTQ1IDYuNTQ2NjIgNjcuNTE0NSA3LjE2MjA1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IE9mZmVyID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTQuOTQ1MiAxNS4zODQ4QzQzLjA4MTQgMy41Mzg0OSAyOC42MjAyIDIuMjIyMjkgMTUuNDA1IDE1LjM4NDhDMi4xODk4OSAyOC41NDczIDMuNTU4NzkgNDMuMDYxMSAxNS40MDUgNTQuOTA3NEMyNS41NjY1IDY1LjA2ODcgMzcuNjU4NCA2Ny40NTU3IDQ5LjIwNjMgNTkuNjYzNEM1MC4yMjQyIDYxLjI3OCA1MS40NTI3IDYyLjg1NzcgNTIuOTYyIDY0Ljc4NzdDNjMuOTMwOCA3OC43MDQ3IDY4LjQ0MTEgNzQuMzcwNyA3MS4zODk1IDcxLjQyMTdDNzQuMzM3OSA2OC40NzM3IDc4LjY1NTIgNjMuOTYyNyA2NC43OTA3IDUyLjk3NjlDNjIuODk1MyA1MS40Njc2IDYxLjI4MDcgNTAuMjU2NiA1OS42ODM3IDQ5LjIyMTJDNjcuNDkzNCAzNy42NzMzIDY1LjEwNjYgMjUuNTYzOCA1NC45NDUyIDE1LjM4NDhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNy42NTE0IDM1LjE0NThDMTcuNjUxNCAzOS43OTU3IDE5LjQ5ODUgNDQuMjU1MSAyMi43ODY1IDQ3LjU0MzFDMjYuMDc0NSA1MC44MzEgMzAuNTMzOSA1Mi42NzgyIDM1LjE4MzggNTIuNjc4MkMzOS44MzM3IDUyLjY3ODIgNDQuMjkzMiA1MC44MzEgNDcuNTgxMSA0Ny41NDMxQzUwLjg2OTEgNDQuMjU1MSA1Mi43MTYzIDM5Ljc5NTcgNTIuNzE2MyAzNS4xNDU4QzUyLjcxNjMgMzAuNDk1OSA1MC44NjkxIDI2LjAzNjQgNDcuNTgxMSAyMi43NDg0QzQ0LjI5MzIgMTkuNDYwNSAzOS44MzM3IDE3LjYxMzMgMzUuMTgzOCAxNy42MTMzQzMwLjUzMzkgMTcuNjEzMyAyNi4wNzQ1IDE5LjQ2MDUgMjIuNzg2NSAyMi43NDg0QzE5LjQ5ODUgMjYuMDM2NCAxNy42NTE0IDMwLjQ5NTkgMTcuNjUxNCAzNS4xNDU4WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMS4wOTQ3IDI0LjQyMzRDMzIuMjMxMyAyMy40MzU1IDMzLjY3MjkgMjIuODY4NCAzNS4xNzggMjIuODE3M0MzNi42ODMgMjIuNzY2MiAzOC4xNTk4IDIzLjIzNDEgMzkuMzYwOCAyNC4xNDI2XCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzEuMDk0NyAyNC40MjM0QzMyLjIzMTMgMjMuNDM1NSAzMy42NzI5IDIyLjg2ODQgMzUuMTc4IDIyLjgxNzNDMzYuNjgzIDIyLjc2NjIgMzguMTU5OCAyMy4yMzQxIDM5LjM2MDggMjQuMTQyNlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzkuNzQ2OCAxMS43Njk2QzQzLjA3MDkgMTIuMTMwNyA0Ni4xMzI5IDEzLjc0MzIgNDguMzExMiAxNi4yNzk5XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IFBhc3Nwb3J0ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzAuNzYgNy43NkM2OC4zMiAxLjc2IDUyLjE4IDEgNDIuNzggMUMzNS40OCAxIDI0LjE0IDEuNDggMTguMzAwMSA0LjVDMTcuMjQyMSA0LjAwODMyIDE2LjA4NjYgMy43NjIyIDE0LjkyMDEgMy43OEMxMi4yNDAxIDMuNzggOC42NjAwOCA0LjgyIDcuOTYwMDggMTAuMzRDNy4yNjAwOCAxMy4xIDYuNTgwMDggMjcuOCA2LjU4MDA4IDQwQzYuNTgwMDggNTIuMiA3LjI2MDA4IDY2LjkgOC4wMDAwOCA2OS42NkM4LjcwMDA4IDc1LjE4IDEyLjI4MDEgNzYuMjIgMTQuOTYwMSA3Ni4yMkMxNi4xMjY2IDc2LjIzNzggMTcuMjgyMSA3NS45OTE2IDE4LjM0MDEgNzUuNUMyNC4xOCA3OC41MiAzNS41MiA3OSA0Mi44MiA3OUM1Mi4yMiA3OSA2OC4zNiA3OC4yNCA3MC44MiA3Mi4yNEM3My4yNCA2OS4yNCA3My40OCA1My4yNCA3My40OCA0MEM3My40OCAyNi43NiA3My4xOCAxMC43NiA3MC43NiA3Ljc2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjYuMDggNDBDMjYuMDggNDQuODAwNCAyNy45ODcgNDkuNDA0MiAzMS4zODE0IDUyLjc5ODZDMzQuNzc1OCA1Ni4xOTMgMzkuMzc5NiA1OC4xIDQ0LjE4IDU4LjFDNDguOTgwNCA1OC4xIDUzLjU4NDQgNTYuMTkzIDU2Ljk3ODggNTIuNzk4NkM2MC4zNzMyIDQ5LjQwNDIgNjIuMjggNDQuODAwNCA2Mi4yOCA0MEM2Mi4yOCAzNS4xOTk2IDYwLjM3MzIgMzAuNTk1OCA1Ni45Nzg4IDI3LjIwMTRDNTMuNTg0NCAyMy44MDcgNDguOTgwNCAyMS45IDQ0LjE4IDIxLjlDMzkuMzc5NiAyMS45IDM0Ljc3NTggMjMuODA3IDMxLjM4MTQgMjcuMjAxNEMyNy45ODcgMzAuNTk1OCAyNi4wOCAzNS4xOTk2IDI2LjA4IDQwWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MC4zIDUyLjk0QzM4LjU4IDUwLjc0IDM3LjcyIDQ2LjA4IDM3LjcyIDQwQzM3LjcyIDMzLjkyIDM4LjU4IDI5LjI2IDQwLjMgMjcuMDZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ4IDI3LjA2QzQ5LjcyIDI5LjI2IDUwLjU4IDMzLjkyIDUwLjU4IDQwQzUwLjU4IDQ2LjA4IDQ5LjcyIDUwLjc0IDQ4IDUyLjk0XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMi4xNjAyIDM1LjI4QzM2LjEzNyAzNC43NDI2IDQwLjE0NzYgMzQuNDk1MiA0NC4xNjAyIDM0LjU0QzQ4LjE3MjggMzQuNDkzNiA1Mi4xODM2IDM0Ljc0MDggNTYuMTYwMiAzNS4yOFwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTYuMTgwMiA0NC43MkM1Mi4yMDM2IDQ1LjI1OTIgNDguMTkyOCA0NS41MDY2IDQ0LjE4MDIgNDUuNDZDNDAuMTY3NiA0NS41MDQ4IDM2LjE1NyA0NS4yNTc2IDMyLjE4MDIgNDQuNzJcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE3LjcyMDIgMTcuNzJDMTcuMTgwMiAyNS4xNCAxNy4xODAyIDU0Ljg2IDE3LjcyMDIgNjIuMjhWMTcuNzJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTcuNzIwMiAxNy43MkMxNy4xODAyIDI1LjE0IDE3LjE4MDIgNTQuODYgMTcuNzIwMiA2Mi4yOFwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTcuMDQgNy4zNTk5OEM2NC42IDguNDc5OTggNjUuMDQgOC40MTk5OCA2NS45OCAxMi4yXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgUGFzc3dvcmQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Ny4yMzQ2IDI5LjAyMTVDNDcuMzMyMSAyOS41NDggNDcuNjYzNiAzMS4zNjE1IDQ3Ljc4MDYgMzEuODQ5QzQ2LjY4MzkgMzIuMjI3MSA0NS42NzU1IDMyLjgyNDIgNDQuODE2NiAzMy42MDRDNDIuNDk2MSAzNS4yMDMgNDIuMzAxMSA0MS40MDQgNDMuMDgxMSA0NS43OTE1QzQzLjg2MTEgNTAuMTc5IDQ2LjE4MTYgNTUuOTEyIDQ4LjkzMTEgNTYuNjE0QzUwLjM5MzYgNTcuNTUgNTcuMjk2NiA1Ny41MTEgNjIuODM0NiA1Ni41MTY1QzY4LjM3MjYgNTUuNTIyIDc0Ljg2NjEgNTMuMjAxNSA3NS45MTkxIDUxLjgxN0M3OC4yMzk2IDUwLjIxOCA3OC40MzQ2IDQ0LjAxNyA3Ny42NTQ2IDM5LjY0OUM3Ni44NzQ2IDM1LjI4MSA3NC41NTQxIDI5LjUwOSA3MS44MDQ2IDI4LjgwN0M3MC43MjggMjguMzY5OCA2OS41NzMzIDI4LjE1NzUgNjguNDExNiAyOC4xODNDNjguNDExNiAyNy42NzYgNjguMDQxMSAyNS44NjI1IDY3Ljk0MzYgMjUuMzM2QzY3LjcxNTEgMjMuOTg5NCA2Ny4yMTQzIDIyLjcwMzYgNjYuNDcxOCAyMS41NTcyQzY1LjcyOTQgMjAuNDEwOCA2NC43NjA5IDE5LjQyNzkgNjMuNjI1NiAxOC42Njg2QzYyLjQ5MDMgMTcuOTA5MyA2MS4yMTIgMTcuMzg5NiA1OS44NjkgMTcuMTQxMkM1OC41MjYgMTYuODkyOCA1Ny4xNDY0IDE2LjkyMSA1NS44MTQ2IDE3LjIyNEM1NC40NTk1IDE3LjM5NzEgNTMuMTU0IDE3Ljg0NTMgNTEuOTc4NCAxOC41NDEzQzUwLjgwMjkgMTkuMjM3MiA0OS43ODIgMjAuMTY2MiA0OC45Nzg0IDIxLjI3MUM0OC4xNzQ5IDIyLjM3NTggNDcuNjA1NyAyMy42MzMzIDQ3LjMwNTggMjQuOTY2MUM0Ny4wMDYgMjYuMjk4OSA0Ni45ODE3IDI3LjY3OSA0Ny4yMzQ2IDI5LjAyMTVaTTYyLjA1NDYgMjguMzU4NUM2MC42NTUgMjguNDI0NSA1OS4yNjExIDI4LjU4MDggNTcuODgxNiAyOC44MjY1QzU2LjQ5ODIgMjkuMDc3MSA1NS4xMzA4IDI5LjQwOTIgNTMuNzg2NiAyOS44MjFDNTIuMTA5NiAyNi4zNSA1My41MTM2IDI0LjQgNTYuOTY1MSAyMy43MzdDNjAuNDE2NiAyMy4wNzQgNjIuNDY0MSAyNC41MzY1IDYyLjA1NDYgMjguM1YyOC4zNTg1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTYuODI4NiA0Mi43MTA1QzU2LjgyODYgNDMuMTcxNCA1Ni45MTk0IDQzLjYyNzkgNTcuMDk1OCA0NC4wNTM3QzU3LjI3MjIgNDQuNDc5NiA1Ny41MzA3IDQ0Ljg2NjUgNTcuODU2NyA0NS4xOTI0QzU4LjE4MjYgNDUuNTE4NCA1OC41Njk1IDQ1Ljc3NjkgNTguOTk1NCA0NS45NTMzQzU5LjQyMTIgNDYuMTI5NyA1OS44Nzc3IDQ2LjIyMDUgNjAuMzM4NiA0Ni4yMjA1QzYwLjc5OTYgNDYuMjIwNSA2MS4yNTYgNDYuMTI5NyA2MS42ODE4IDQ1Ljk1MzNDNjIuMTA3NyA0NS43NzY5IDYyLjQ5NDYgNDUuNTE4NCA2Mi44MjA2IDQ1LjE5MjRDNjMuMTQ2NSA0NC44NjY1IDYzLjQwNSA0NC40Nzk2IDYzLjU4MTQgNDQuMDUzN0M2My43NTc4IDQzLjYyNzkgNjMuODQ4NiA0My4xNzE0IDYzLjg0ODYgNDIuNzEwNUM2My44NDg2IDQyLjI0OTYgNjMuNzU3OCA0MS43OTMxIDYzLjU4MTQgNDEuMzY3M0M2My40MDUgNDAuOTQxNCA2My4xNDY1IDQwLjU1NDUgNjIuODIwNiA0MC4yMjg2QzYyLjQ5NDYgMzkuOTAyNiA2Mi4xMDc3IDM5LjY0NDEgNjEuNjgxOCAzOS40Njc3QzYxLjI1NiAzOS4yOTEzIDYwLjc5OTYgMzkuMjAwNSA2MC4zMzg2IDM5LjIwMDVDNTkuODc3NyAzOS4yMDA1IDU5LjQyMTIgMzkuMjkxMyA1OC45OTU0IDM5LjQ2NzdDNTguNTY5NSAzOS42NDQxIDU4LjE4MjYgMzkuOTAyNiA1Ny44NTY3IDQwLjIyODZDNTcuNTMwNyA0MC41NTQ1IDU3LjI3MjIgNDAuOTQxNCA1Ny4wOTU4IDQxLjM2NzNDNTYuOTE5NCA0MS43OTMxIDU2LjgyODYgNDIuMjQ5NiA1Ni44Mjg2IDQyLjcxMDVaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY3LjQzNjYgMzIuNTUxQzcwLjg4ODEgMzEuOTQ2NSA3MS41MTIxIDM1LjM5OCA3Mi4xMTY2IDM4Ljg0OTVcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzYuOTM4NiAzNi4zNTM1QzM1LjkzNSAzNC40NTE1IDM0LjY1MzQgMzIuNzA5OSAzMy4xMzYxIDMxLjE4NkMzMS43NTU0IDI5LjU1ODQgMzAuMTIyNiAyOC4xNjI3IDI4LjMwMDEgMjcuMDUyQzI3LjM1NiAyNi42OTY4IDI2LjMyMTkgMjYuNjU4OCAyNS4zNTQzIDI2Ljk0MzhDMjQuMzg2NyAyNy4yMjg4IDIzLjUzODMgMjcuODIxMiAyMi45Mzc2IDI4LjYzMTVDMjIuMDE4OCAzMC41NTc3IDIxLjQxMzIgMzIuNjE4IDIxLjE0MzYgMzQuNzM1QzIwLjY4MjMgMzYuODMzOSAyMC41NTcyIDM4Ljk5MjggMjAuNzczMSA0MS4xMzFDMjAuODMzNyA0MS43ODIxIDIxLjExMzcgNDIuMzkzNCAyMS41NjcyIDQyLjg2NDVDMjIuMDIwNyA0My4zMzU3IDIyLjYyMDcgNDMuNjM4OSAyMy4yNjkxIDQzLjcyNDVDMjMuODgxOSA0My45MTMyIDI0LjU0MjEgNDMuODc1MiAyNS4xMjkzIDQzLjYxNzVDMjUuNzE2NCA0My4zNTk3IDI2LjE5MTIgNDIuODk5NCAyNi40NjcxIDQyLjMyMDVDMjYuNzAyNCA0MS45MzQyIDI2Ljg5MjIgNDEuNTIyIDI3LjAzMjYgNDEuMDkyQzI3Ljc5MzEgNDAuOTE2NSAyOC41OTI2IDQwLjcwMiAyOS4zMzM2IDQwLjQ4NzVDMzAuMDc0NiA0MC4yNzMgMzAuODkzNiA0MCAzMS42MTUxIDM5LjcyN0MzMS45NjY2IDQwLjAyNSAzMi4zNjEgNDAuMjY4MiAzMi43ODUxIDQwLjQ0ODVDMzMuMzE3NyA0MC44MDI1IDMzLjk2MDQgNDAuOTUyMSAzNC41OTQ3IDQwLjg2OTdDMzUuMjI4OSA0MC43ODczIDM1LjgxMiA0MC40Nzg0IDM2LjIzNjYgNDBDMzYuNzY0IDM5LjU3MiAzNy4xMjM1IDM4Ljk3MTYgMzcuMjUxOSAzOC4zMDQ3QzM3LjM4MDMgMzcuNjM3NyAzNy4yNjk0IDM2Ljk0NjcgMzYuOTM4NiAzNi4zNTM1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS4xNzc1IDM1LjE2NEMyOC43NDI4IDM1LjE5NTEgMjguMzExOSAzNS4yNjY5IDI3Ljg5MDUgMzUuMzc4NUMyNy40NzggMzUuNTA3IDI3LjA3OTUgMzUuNjc2OSAyNi43MDEgMzUuODg1NVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI2Ljk3NCAzNS43Mjk1QzI2Ljk3NCAzNS43Mjk1IDI3LjkyOTUgMzUuNDU2NSAyNy4yODYgMzMuMjcyNUMyNy45Mjk1IDM1LjQ1NjUgMjguODY1NSAzNS4yMjI1IDI4Ljg2NTUgMzUuMjIyNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQxLjMyNiAxNS4wMDFDNDEuMjI5NiAxNC45MTQ2IDQxLjExNjkgMTQuODQ4MyA0MC45OTQ1IDE0LjgwNkM0MS43Mjk0IDEzLjk2OTMgNDIuMTkxOSAxMi45Mjg2IDQyLjMyMDUgMTEuODIyNUM0Mi44NDcgOC4yOTMgNDEuMTcgNi40Nzk1IDM2LjEgNS43Mzg1QzMwLjYyMDUgNC45MTk1IDMwLjI1IDUuNTQzNSAyOS40MzEgNy4zMThDMjguNjQwNSA5LjE4NDMyIDI4LjEyMTcgMTEuMTU0NCAyNy44OTA1IDEzLjE2OEMyNy41MzUxIDE1LjE2OTUgMjcuNDYyOSAxNy4yMTA5IDI3LjY3NiAxOS4yMzI1QzI3Ljk4OCAyMS4xODI1IDI3Ljc3MzUgMjEuODA2NSAzMy42MjM1IDIyLjY2NDVDMzguNjM1IDIzLjM4NiA0MS43NzQ1IDIyLjUyOCA0Mi4zMjA1IDE4Ljc2NDVDNDIuNTM1IDE3LjM4IDQyLjI4MTUgMTUuNTA4IDQxLjMyNiAxNS4wMDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMzLjM1MDUgMTAuNzVDMzMuNjg3OSAxMC45MTM2IDM0LjA1MDUgMTEuMDE5IDM0LjQyMyAxMS4wNjJDMzQuNzkwNyAxMS4xMjU3IDM1LjE2NjcgMTEuMTI1NyAzNS41MzQ1IDExLjA2MlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzIuODI0IDE3LjEyNjVDMzMuMzIxOCAxNy4zMzY2IDMzLjg0NzEgMTcuNDc0NSAzNC4zODQgMTcuNTM2QzM0LjkyMDEgMTcuNjIxNyAzNS40NjY0IDE3LjYyMTcgMzYuMDAyNSAxNy41MzZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE2LjQwNTEgNTEuNDA3NUMxMy44MTE2IDUyLjMyNCAxMi4zNDkxIDU3LjU1IDEyLjIxMjYgNjEuNDVDMTIuMDc2MSA2NS4zNSAxMy4xNDg2IDcwLjY5MyAxNS42NjQxIDcxLjgwNDVDMTYuODkyNiA3Mi44NzcgMjguOTA0NiA3NC4zMzk1IDM0LjU0MDEgNzQuNTM0NUM0MC4xNzU2IDc0LjcyOTUgNTIuMjQ2MSA3NC4xNDQ1IDUzLjU1MjYgNzMuMTY5NUM1Ni4xNDYxIDcyLjI1MyA1Ny42MDg2IDY3LjA0NjUgNTcuNzQ1MSA2My4wODhDNTcuODgxNiA1OS4xMjk1IDU2LjgwOTEgNTMuODQ1IDU0LjI5MzYgNTIuNzMzNUM1My4wNjUxIDUxLjY2MSA0MS4wNTMxIDUwLjIxOCAzNS40MTc2IDUwLjAwMzVDMjkuNzgyMSA0OS43ODkgMTcuNzExNiA1MC40MzI1IDE2LjQwNTEgNTEuNDA3NVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE5LjIxMyA2MS44NTk1QzE5LjIxMyA2Mi43OTA0IDE5LjU4MjggNjMuNjgzMiAyMC4yNDExIDY0LjM0MTRDMjAuODk5MyA2NC45OTk3IDIxLjc5MjEgNjUuMzY5NSAyMi43MjMgNjUuMzY5NUMyMy42NTM5IDY1LjM2OTUgMjQuNTQ2NyA2NC45OTk3IDI1LjIwNSA2NC4zNDE0QzI1Ljg2MzIgNjMuNjgzMiAyNi4yMzMgNjIuNzkwNCAyNi4yMzMgNjEuODU5NUMyNi4yMzMgNjAuOTI4NiAyNS44NjMyIDYwLjAzNTggMjUuMjA1IDU5LjM3NzZDMjQuNTQ2NyA1OC43MTkzIDIzLjY1MzkgNTguMzQ5NSAyMi43MjMgNTguMzQ5NUMyMS43OTIxIDU4LjM0OTUgMjAuODk5MyA1OC43MTkzIDIwLjI0MTEgNTkuMzc3NkMxOS41ODI4IDYwLjAzNTggMTkuMjEzIDYwLjkyODYgMTkuMjEzIDYxLjg1OTVaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMxLjQ1OTEgNjIuMzA4QzMxLjQ1OTEgNjMuMjM4OSAzMS44Mjg5IDY0LjEzMTcgMzIuNDg3MiA2NC43ODk5QzMzLjE0NTQgNjUuNDQ4MiAzNC4wMzgyIDY1LjgxOCAzNC45NjkxIDY1LjgxOEMzNS45IDY1LjgxOCAzNi43OTI4IDY1LjQ0ODIgMzcuNDUxIDY0Ljc4OTlDMzguMTA5MyA2NC4xMzE3IDM4LjQ3OTEgNjMuMjM4OSAzOC40NzkxIDYyLjMwOEMzOC40NzkxIDYxLjM3NzEgMzguMTA5MyA2MC40ODQzIDM3LjQ1MSA1OS44MjZDMzYuNzkyOCA1OS4xNjc4IDM1LjkgNTguNzk4IDM0Ljk2OTEgNTguNzk4QzM0LjAzODIgNTguNzk4IDMzLjE0NTQgNTkuMTY3OCAzMi40ODcyIDU5LjgyNkMzMS44Mjg5IDYwLjQ4NDMgMzEuNDU5MSA2MS4zNzcxIDMxLjQ1OTEgNjIuMzA4WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00My43MjQ2IDYyLjc1NjVDNDMuNzI0NiA2My42ODc0IDQ0LjA5NDQgNjQuNTgwMiA0NC43NTI3IDY1LjIzODRDNDUuNDEwOSA2NS44OTY3IDQ2LjMwMzcgNjYuMjY2NSA0Ny4yMzQ2IDY2LjI2NjVDNDguMTY1NSA2Ni4yNjY1IDQ5LjA1ODMgNjUuODk2NyA0OS43MTY2IDY1LjIzODRDNTAuMzc0OCA2NC41ODAyIDUwLjc0NDYgNjMuNjg3NCA1MC43NDQ2IDYyLjc1NjVDNTAuNzQ0NiA2Mi4yOTU2IDUwLjY1MzggNjEuODM5MSA1MC40Nzc0IDYxLjQxMzNDNTAuMzAxIDYwLjk4NzQgNTAuMDQyNSA2MC42MDA1IDQ5LjcxNjYgNjAuMjc0NUM0OS4zOTA2IDU5Ljk0ODYgNDkuMDAzNyA1OS42OTAxIDQ4LjU3NzggNTkuNTEzN0M0OC4xNTIgNTkuMzM3MyA0Ny42OTU2IDU5LjI0NjUgNDcuMjM0NiA1OS4yNDY1QzQ2Ljc3MzcgNTkuMjQ2NSA0Ni4zMTcyIDU5LjMzNzMgNDUuODkxNCA1OS41MTM3QzQ1LjQ2NTUgNTkuNjkwMSA0NS4wNzg2IDU5Ljk0ODYgNDQuNzUyNyA2MC4yNzQ1QzQ0LjQyNjcgNjAuNjAwNSA0NC4xNjgyIDYwLjk4NzQgNDMuOTkxOCA2MS40MTMzQzQzLjgxNTQgNjEuODM5MSA0My43MjQ2IDYyLjI5NTYgNDMuNzI0NiA2Mi43NTY1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OS4zNzk1IDU1LjE5MDVDNTMuMjc5NSA1NS43OTUgNTIuNzMzNSA1NS43NzU1IDUzLjM5NjUgNTcuOTAxXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Ny44MTk2IDkuMzI2NUM0Ny44MTk2IDkuNzYxODMgNDcuOTA1MyAxMC4xOTI5IDQ4LjA3MTkgMTAuNTk1MUM0OC4yMzg1IDEwLjk5NzMgNDguNDgyNyAxMS4zNjI3IDQ4Ljc5MDUgMTEuNjcwNkM0OS4wOTgzIDExLjk3ODQgNDkuNDYzOCAxMi4yMjI2IDQ5Ljg2NiAxMi4zODkyQzUwLjI2ODIgMTIuNTU1OCA1MC42OTkyIDEyLjY0MTUgNTEuMTM0NiAxMi42NDE1QzUxLjU2OTkgMTIuNjQxNSA1Mi4wMDEgMTIuNTU1OCA1Mi40MDMyIDEyLjM4OTJDNTIuODA1NCAxMi4yMjI2IDUzLjE3MDggMTEuOTc4NCA1My40Nzg2IDExLjY3MDZDNTMuNzg2NSAxMS4zNjI3IDU0LjAzMDYgMTAuOTk3MyA1NC4xOTcyIDEwLjU5NTFDNTQuMzYzOCAxMC4xOTI5IDU0LjQ0OTYgOS43NjE4MyA1NC40NDk2IDkuMzI2NUM1NC40NDk2IDguODkxMTcgNTQuMzYzOCA4LjQ2MDEgNTQuMTk3MiA4LjA1NzkxQzU0LjAzMDYgNy42NTU3MSA1My43ODY1IDcuMjkwMjcgNTMuNDc4NiA2Ljk4MjQ0QzUzLjE3MDggNi42NzQ2MiA1Mi44MDU0IDYuNDMwNDQgNTIuNDAzMiA2LjI2Mzg0QzUyLjAwMSA2LjA5NzI1IDUxLjU2OTkgNi4wMTE1IDUxLjEzNDYgNi4wMTE1QzUwLjY5OTIgNi4wMTE1IDUwLjI2ODIgNi4wOTcyNSA0OS44NjYgNi4yNjM4NEM0OS40NjM4IDYuNDMwNDQgNDkuMDk4MyA2LjY3NDYyIDQ4Ljc5MDUgNi45ODI0NEM0OC40ODI3IDcuMjkwMjcgNDguMjM4NSA3LjY1NTcxIDQ4LjA3MTkgOC4wNTc5MUM0Ny45MDUzIDguNDYwMSA0Ny44MTk2IDguODkxMTcgNDcuODE5NiA5LjMyNjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEyLjU0NCA0MS43MTZDMTMuMDgxNyA0MC4xOTMgMTMuNTE4MSAzOC42MzYxIDEzLjg1MDUgMzcuMDU1NUMxNC40MDcyIDM0LjkyMzQgMTQuNjc2MSAzMi43MjY0IDE0LjY1IDMwLjUyM0MxNC41NDkgMjkuODQ0NiAxNC4yMzYzIDI5LjIxNTQgMTMuNzU2NiAyOC43MjUyQzEzLjI3NjkgMjguMjM1IDEyLjY1NDYgMjcuOTA4NyAxMS45Nzg1IDI3Ljc5M0MxMC41MTYgMjcuNDgxIDEwLjAyODUgMjYuOTkzNSA2LjczMzA1IDI4LjY1MUM1LjYwMTEyIDI5LjEzOTQgNC41Njk2NiAyOS44MzM3IDMuNjkxMDUgMzAuNjk4NUMzLjA4NjU1IDMxLjI0NDUgMy4zMDEwNSAzMi41MzE1IDMuNjkxMDUgMzMuMzUwNUM0LjA4MTA1IDM0LjE2OTUgNC45NzgwNSAzNS4xMjUgNS43Nzc1NSAzNC45ODg1QzYuMDE1MzEgMzQuOTk0OCA2LjI1MjQ5IDM0Ljk2MTggNi40Nzk1NSAzNC44OTFMNi4zNjI1NSAzNS4zOThDNi4wMTA3NCAzNi45ODY0IDUuNzU2NzcgMzguNTk1IDUuNjAyMDUgNDAuMjE0NUMzLjgyNzU1IDM5Ljk4MDUgMi4zNjUwNSA0MC4yMTQ1IDIuMDE0MDUgNDEuODEzNUMxLjkxNTk4IDQyLjMxMDggMS45OTIzOCA0Mi44MjY4IDIuMjMwMzcgNDMuMjc0M0MyLjQ2ODM2IDQzLjcyMTkgMi44NTMzOSA0NC4wNzM3IDMuMzIwNTUgNDQuMjcwNUM0Ljg0ODYzIDQ0Ljg3NDcgNi40MzcyNyA0NS4zMTI3IDguMDU5MDUgNDUuNTc3QzkuNjQ0MzEgNDYuMDE2MyAxMS4yNzIxIDQ2LjI4NDMgMTIuOTE0NSA0Ni4zNzY1QzEzLjQyIDQ2LjM4NjQgMTMuOTEzNyA0Ni4yMjM4IDE0LjMxNDMgNDUuOTE1NEMxNC43MTQ5IDQ1LjYwNjkgMTQuOTk4NCA0NS4xNzEyIDE1LjExOCA0NC42OEMxNS40ODg1IDQzLjA2MTUgMTQuMjYgNDIuMjYyIDEyLjU0NCA0MS43MTZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgUGluID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNOS41ODQ3MiAzMi4zOTUxQzkuNTg0NzIgNTUuMjEwMSAzNy40Njk3IDc4LjAyNTEgNDAuMDA0NyA3OC4wMjUxQzQyLjUzOTcgNzguMDI1MSA3MC40MjQ3IDU1LjIxMDEgNzAuNDI0NyAzMi4zOTUxQzcwLjQyNDcgMTQuMTQzMSA2MC4yODQ3IDEuOTc1MSA0MC4wMDQ3IDEuOTc1MUMxOS43MjQ3IDEuOTc1MSA5LjU4NDcyIDE0LjE0MzEgOS41ODQ3MiAzMi4zOTUxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDcuMTc1OCA3LjgwNTU0QzUwLjczODUgOC4zNDI1IDU0LjA4MTEgOS44NjE4NSA1Ni44MjgzIDEyLjE5M1wiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjcuMzMyIDMyLjM5NTFDMjcuMzMyIDM1Ljc1NjcgMjguNjY3NCAzOC45ODA2IDMxLjA0NDUgNDEuMzU3N0MzMy40MjE1IDQzLjczNDcgMzYuNjQ1NCA0NS4wNzAxIDQwLjAwNyA0NS4wNzAxQzQzLjM2ODYgNDUuMDcwMSA0Ni41OTI2IDQzLjczNDcgNDguOTY5NiA0MS4zNTc3QzUxLjM0NjYgMzguOTgwNiA1Mi42ODIgMzUuNzU2NyA1Mi42ODIgMzIuMzk1MUM1Mi42ODIgMjkuMDMzNSA1MS4zNDY2IDI1LjgwOTUgNDguOTY5NiAyMy40MzI1QzQ2LjU5MjYgMjEuMDU1NSA0My4zNjg2IDE5LjcyMDEgNDAuMDA3IDE5LjcyMDFDMzYuNjQ1NCAxOS43MjAxIDMzLjQyMTUgMjEuMDU1NSAzMS4wNDQ1IDIzLjQzMjVDMjguNjY3NCAyNS44MDk1IDI3LjMzMiAyOS4wMzM1IDI3LjMzMiAzMi4zOTUxWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IFNlYXJjaCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMwLjU0MjQgMjcuMTg3MkMyOC41OTI0IDQyLjI4MDIgNDUuMDExNCA1OS43OTEyIDQ2LjY4ODQgNjAuMDI1MkM0OC4zNjU0IDYwLjI1OTIgNjguODAxNCA0Ny41ODQyIDcwLjc5MDQgMzIuNDkxMkM3Mi4zODk0IDIwLjQyMDcgNjYuNzM0NCAxMS40ODk3IDUzLjI0MDQgOS43MTUyMUMzOS43NDY0IDcuOTQwNzEgMzIuMTQxNCAxNS4xMTY3IDMwLjU0MjQgMjcuMTg3MlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3LjU0OTggMTQuMjAwMkM1OS44NjA3IDE0Ljg2NjIgNjEuOTQwNCAxNi4xNjI2IDYzLjU1NTggMTcuOTQ0MlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDIuMjAzMSAyOS44MzlDNDIuMjAzMSAzMi4wODM1IDQzLjA5NDggMzQuMjM2MSA0NC42ODE5IDM1LjgyMzJDNDYuMjY5IDM3LjQxMDMgNDguNDIxNiAzOC4zMDIgNTAuNjY2MSAzOC4zMDJDNTIuOTEwNyAzOC4zMDIgNTUuMDYzMyAzNy40MTAzIDU2LjY1MDQgMzUuODIzMkM1OC4yMzc1IDM0LjIzNjEgNTkuMTI5MSAzMi4wODM1IDU5LjEyOTEgMjkuODM5QzU5LjEyOTEgMjcuNTk0NSA1OC4yMzc1IDI1LjQ0MTkgNTYuNjUwNCAyMy44NTQ3QzU1LjA2MzMgMjIuMjY3NiA1Mi45MTA3IDIxLjM3NiA1MC42NjYxIDIxLjM3NkM0OC40MjE2IDIxLjM3NiA0Ni4yNjkgMjIuMjY3NiA0NC42ODE5IDIzLjg1NDdDNDMuMDk0OCAyNS40NDE5IDQyLjIwMzEgMjcuNTk0NSA0Mi4yMDMxIDI5LjgzOVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjMuNjkyNSAxMy45OTc4QzI0LjgxMDMgMTQuNjE2MSAyNi4wMDU2IDE0Ljk4NjIgMjcuMDE1NSAxNS4wMjY2QzI4LjAyNTQgMTUuMDY3IDI4Ljc2NzEgMTQuNzc0NSAyOS4wNzc2IDE0LjIxMzNDMjkuMzg4IDEzLjY1MjEgMjkuMjQxNiAxMi44NjgzIDI4LjY3MDcgMTIuMDM0M0MyOC4wOTk4IDExLjIwMDMgMjcuMTUxMSAxMC4zODQ0IDI2LjAzMzMgOS43NjYwNUMyNC45MTU1IDkuMTQ3NzIgMjMuNzIwMiA4Ljc3NzY0IDIyLjcxMDMgOC43MzcyMUMyMi4yMTAzIDguNzE3MiAyMS43NzA4IDguNzc4NzIgMjEuNDE3IDguOTE4MjZDMjEuMDYzMiA5LjA1NzggMjAuODAyIDkuMjcyNjMgMjAuNjQ4MyA5LjU1MDQ5QzIwLjQ5NDYgOS44MjgzNSAyMC40NTE0IDEwLjE2MzggMjAuNTIxMiAxMC41Mzc3QzIwLjU5MSAxMC45MTE1IDIwLjc3MjQgMTEuMzE2NSAyMS4wNTUxIDExLjcyOTVDMjEuNjI2IDEyLjU2MzUgMjIuNTc0NyAxMy4zNzk0IDIzLjY5MjUgMTMuOTk3OFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuNjM3IDcuNDc3MzJDMzAuMjg4NSA4LjU3NTkgMzEuMTMyNCA5LjQ5OTU1IDMxLjk4MyAxMC4wNDUxQzMyLjgzMzYgMTAuNTkwNiAzMy42MjE0IDEwLjcxMzQgMzQuMTcyOSAxMC4zODYzQzM0LjcyNDQgMTAuMDU5MyAzNC45OTQ1IDkuMzA5MiAzNC45MjM4IDguMzAxMTJDMzQuODUzMSA3LjI5MzA0IDM0LjQ0NzQgNi4xMDk1NCAzMy43OTYgNS4wMTA5NkMzMy4xNDQ1IDMuOTEyMzggMzIuMzAwNiAyLjk4ODcyIDMxLjQ0OTkgMi40NDMxOEMzMC41OTkzIDEuODk3NjMgMjkuODExNiAxLjc3NDg5IDI5LjI2MDEgMi4xMDE5NUMyOC43MDg1IDIuNDI5MDEgMjguNDM4NCAzLjE3OTA4IDI4LjUwOTEgNC4xODcxNkMyOC41Nzk4IDUuMTk1MjQgMjguOTg1NSA2LjM3ODc0IDI5LjYzNyA3LjQ3NzMyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xOC4yNDE5IDIxLjIzNDhDMTguMjUzIDIxLjU1MjIgMTguMzg4NCAyMS44NjIxIDE4LjY0MDUgMjIuMTQ2OEMxOC44OTI2IDIyLjQzMTYgMTkuMjU2NCAyMi42ODU3IDE5LjcxMTIgMjIuODk0NkMyMC4xNjYgMjMuMTAzNCAyMC43MDI4IDIzLjI2MyAyMS4yOTEgMjMuMzY0MkMyMS44NzkzIDIzLjQ2NTMgMjIuNTA3NCAyMy41MDYxIDIzLjEzOTUgMjMuNDg0MUMyMy43NzE2IDIzLjQ2MjEgMjQuMzk1NCAyMy4zNzc5IDI0Ljk3NTIgMjMuMjM2MkMyNS41NTUgMjMuMDk0NCAyNi4wNzk1IDIyLjg5OCAyNi41MTg2IDIyLjY1OEMyNi45NTc4IDIyLjQxODEgMjcuMzAzMSAyMi4xMzk0IDI3LjUzNDkgMjEuODM3OEMyNy43NjY2IDIxLjUzNjIgMjcuODgwMiAyMS4yMTc2IDI3Ljg2OTEgMjAuOTAwM0MyNy44NTgxIDIwLjU4MyAyNy43MjI3IDIwLjI3MyAyNy40NzA2IDE5Ljk4ODNDMjcuMjE4NSAxOS43MDM1IDI2Ljg1NDcgMTkuNDQ5NCAyNi4zOTk5IDE5LjI0MDVDMjUuOTQ1MSAxOS4wMzE3IDI1LjQwODMgMTguODcyMSAyNC44MjAxIDE4Ljc3MDlDMjQuMjMxOCAxOC42Njk4IDIzLjYwMzcgMTguNjI5IDIyLjk3MTYgMTguNjUxQzIyLjMzOTQgMTguNjczIDIxLjcxNTcgMTguNzU3MiAyMS4xMzU5IDE4Ljg5OUMyMC41NTYxIDE5LjA0MDcgMjAuMDMxNiAxOS4yMzcxIDE5LjU5MjQgMTkuNDc3MUMxOS4xNTMyIDE5LjcxNyAxOC44MDc5IDE5Ljk5NTcgMTguNTc2MiAyMC4yOTczQzE4LjM0NDUgMjAuNTk4OSAxOC4yMzA5IDIwLjkxNzUgMTguMjQxOSAyMS4yMzQ4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zNS40MTc1IDM3Ljc1NzVDMjYuNzIwNSAzMC4xMTM1IDE2LjY1ODUgMjkuODQwNSA4LjExNzUxIDM5LjUxMjVDLTAuNDIzNDg5IDQ5LjE4NDUgMS4xNTYwMSA1OS4xMjk1IDkuODcyNTEgNjYuODEyNUMxNy4zMjE1IDczLjM4NCAyNS43NjUgNzQuNDk1NSAzMy4zODk1IDY4LjYwNjVDMzQuMTUgNjkuNjAxIDM1LjA2NjUgNzAuNzEyNSAzNi4xOTc1IDcxLjk2MDVDNDQuMzg3NSA4MS4wNjcgNDcuMjkzIDc3LjgxMDUgNDkuMjA0IDc1LjcwNDVDNTEuMTE1IDczLjU5ODUgNTMuODg0IDcwLjI2NCA0My44MDI1IDYzLjMwMjVDNDIuNDM3NSA2Mi4zNDcgNDEuMjI4NSA2MS41NjcgNDAuMTM2NSA2MC45NDNDNDUuMDcgNTIuNTc3NSA0Mi44ODYgNDQuMzI5IDM1LjQxNzUgMzcuNzU3NVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEwLjUzNTYgNTIuMjY1NUMxMC41MzU2IDUzLjg1ODMgMTAuODQ5NCA1NS40MzU1IDExLjQ1ODkgNTYuOTA3MUMxMi4wNjg0IDU4LjM3ODYgMTIuOTYxOSA1OS43MTU3IDE0LjA4ODEgNjAuODQyQzE1LjIxNDQgNjEuOTY4MyAxNi41NTE1IDYyLjg2MTcgMTguMDIzMSA2My40NzEyQzE5LjQ5NDYgNjQuMDgwOCAyMS4wNzE4IDY0LjM5NDUgMjIuNjY0NiA2NC4zOTQ1QzI0LjI1NzQgNjQuMzk0NSAyNS44MzQ3IDY0LjA4MDggMjcuMzA2MiA2My40NzEyQzI4Ljc3NzggNjIuODYxNyAzMC4xMTQ5IDYxLjk2ODMgMzEuMjQxMSA2MC44NDJDMzIuMzY3NCA1OS43MTU3IDMzLjI2MDggNTguMzc4NiAzMy44NzA0IDU2LjkwNzFDMzQuNDc5OSA1NS40MzU1IDM0Ljc5MzYgNTMuODU4MyAzNC43OTM2IDUyLjI2NTVDMzQuNzkzNiA0OS4wNDg3IDMzLjUxNTggNDUuOTYzNiAzMS4yNDExIDQzLjY4OUMyOC45NjY1IDQxLjQxNDQgMjUuODgxNSA0MC4xMzY1IDIyLjY2NDYgNDAuMTM2NUMxOS40NDc4IDQwLjEzNjUgMTYuMzYyOCA0MS40MTQ0IDE0LjA4ODEgNDMuNjg5QzExLjgxMzUgNDUuOTYzNiAxMC41MzU2IDQ5LjA0ODcgMTAuNTM1NiA1Mi4yNjU1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xOS4zNjkxIDQ1LjA3QzIwLjExMTQgNDQuMzQwNSAyMS4wODA4IDQzLjg4NjcgMjIuMTE2NSA0My43ODM5QzIzLjE1MjEgNDMuNjgxIDI0LjE5MTkgNDMuOTM1MyAyNS4wNjMxIDQ0LjUwNDVcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xOS4zNjkxIDQ1LjA3QzIwLjExMTQgNDQuMzQwNSAyMS4wODA4IDQzLjg4NjcgMjIuMTE2NSA0My43ODM5QzIzLjE1MjEgNDMuNjgxIDI0LjE5MTkgNDMuOTM1MyAyNS4wNjMxIDQ0LjUwNDVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI0Ljc3MDUgMzUuOTQ0QzI3LjA3ODUgMzYuMDQzMyAyOS4yNjE1IDM3LjAxOTcgMzAuODc0IDM4LjY3NFwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBTZXR0aW5nID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjkuNDIgNDUuOEM3MC4xOTMgNDEuOTcyIDcwLjE5MyAzOC4wMjggNjkuNDIgMzQuMkM3Ni44NCAyNy41OCA3Ni4wNCAyNC40MiA3My43OCAyMC41QzcxLjUyIDE2LjU4IDY5LjE2IDE0LjMyIDU5Ljc4IDE3LjQyQzU2Ljg1NDYgMTQuODYwOSA1My40NTc4IDEyLjg5NzUgNDkuNzggMTEuNjRDNDcuNjYgMS44OCA0NC41MiAxIDQwIDFDMzUuNDggMSAzMi4zNCAxLjg0IDMwLjMgMTEuNjRDMjYuNjIyMiAxMi44OTc1IDIzLjIyNTQgMTQuODYwOSAyMC4zIDE3LjQyQzEwLjg4IDE0LjMyIDguNTQwMDIgMTYuNTQgNi4zMDAwMiAyMC41QzQuMDYwMDIgMjQuNDYgMy4xMjAwMiAyNy41NCAxMC41OCAzNC4yQzkuODA2NDIgMzguMDI4IDkuODA2NDIgNDEuOTcyIDEwLjU4IDQ1LjhDMy4xNjAwMiA1Mi40MiA0LjAwMDAyIDU1LjU4IDYuMjIwMDIgNTkuNUM4LjQ0MDAyIDYzLjQyIDEwLjg0IDY1LjY4IDIwLjIyIDYyLjU4QzIzLjE0NTQgNjUuMTM5MiAyNi41NDIyIDY3LjEwMjYgMzAuMjIgNjguMzZDMzIuMjIgNzguMTIgMzUuNCA3OSAzOS45MiA3OUM0NC40NCA3OSA0Ny41OCA3OC4xNiA0OS42MiA2OC4zNkM1My4yOTc4IDY3LjEwMjYgNTYuNjk0NiA2NS4xMzkyIDU5LjYyIDYyLjU4QzY5LjA0IDY1LjY4IDcxLjM4IDYzLjQ2IDczLjYyIDU5LjVDNzUuODYgNTUuNTQgNzYuODggNTIuNDYgNjkuNDIgNDUuOFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI1LjI2IDQwQzI1LjI2IDQzLjkwOTIgMjYuODEzIDQ3LjY1ODQgMjkuNTc3MiA1MC40MjI4QzMyLjM0MTYgNTMuMTg3IDM2LjA5MDggNTQuNzQgNDAgNTQuNzRDNDMuOTA5MiA1NC43NCA0Ny42NTg0IDUzLjE4NyA1MC40MjI4IDUwLjQyMjhDNTMuMTg3IDQ3LjY1ODQgNTQuNzQgNDMuOTA5MiA1NC43NCA0MEM1NC43NCAzNi4wOTA4IDUzLjE4NyAzMi4zNDE2IDUwLjQyMjggMjkuNTc3MkM0Ny42NTg0IDI2LjgxMyA0My45MDkyIDI1LjI2IDQwIDI1LjI2QzM2LjA5MDggMjUuMjYgMzIuMzQxNiAyNi44MTMgMjkuNTc3MiAyOS41NzcyQzI2LjgxMyAzMi4zNDE2IDI1LjI2IDM2LjA5MDggMjUuMjYgNDBaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9XCIjMjMxRjIwXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUwLjI2IDE4LjM4QzUzLjM0ODQgMTkuNjYyOSA1Ni4xMzQ2IDIxLjU3NzIgNTguNDQgMjRDNTkuNTAwNCAyMy41NjY4IDYwLjU5ODQgMjMuMjMyIDYxLjcyIDIzXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IFN0YXIgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NS41NjggMjcuOTg4QzcxLjc2MzcgMjYuMTg5NiA2Ny43NDc0IDI0Ljg3OTIgNjMuNjE0NSAyNC4wODhDNjAuNTA3NCAyMy40NzQyIDU3LjM1OTQgMjMuMDg5NyA1NC4xOTYgMjIuOTM3NUM1My4xMDYgMjAuMTY4OCA1MS44MDIxIDE3LjQ4OTIgNTAuMjk2IDE0LjkyM0M0OC4yOTQ3IDExLjIyNSA0NS44MzgxIDcuNzkyMzIgNDIuOTgzNSA0LjcwNTAyQzQyLjA5MDYgMy44NjczNSA0MC45MTIzIDMuNDAxMTIgMzkuNjg4IDMuNDAxMTJDMzguNDYzNyAzLjQwMTEyIDM3LjI4NTMgMy44NjczNSAzNi4zOTI1IDQuNzA1MDJDMzMuNTM3OCA3LjgyMDc3IDMxLjA4MTQgMTEuMjc5MyAyOS4wOCAxNS4wMDFDMjcuNjQ0IDE3LjU5OTggMjYuMzgwMyAyMC4yOTAxIDI1LjI5NyAyMy4wNTQ1QzIyLjMwNjMgMjMuMjE2NSAxOS4zMzMxIDIzLjYxNDMgMTYuNDA1IDI0LjI0NEMxMi4yNzI2IDI1LjAxMzQgOC4yNTEwNyAyNi4yOTA2IDQuNDMxOTcgMjguMDQ2NUMzLjM3ODc0IDI4LjY1NzkgMi41OTM3IDI5LjY0MjcgMi4yMzI1MSAzMC44MDU4QzEuODcxMzIgMzEuOTY4OCAxLjk2MDM2IDMzLjIyNTEgMi40ODE5NyAzNC4zMjU1QzQuNTI5NjEgMzcuOTkzOCA3LjAyNTI0IDQxLjM5MzQgOS45MTE0NyA0NC40NDZDMTEuOTczOCA0Ni42NDU2IDE0LjE3NTMgNDguNzEwMyAxNi41MDI1IDUwLjYyNzVDMTUuNjIgNTMuNzIyMyAxNS4wMDAzIDU2Ljg4NiAxNC42NSA2MC4wODVDMTQuMTI4MyA2NC4yNDgyIDE0LjEyODMgNjguNDYwMyAxNC42NSA3Mi42MjM1QzE0Ljg3ODUgNzMuODMwNyAxNS41NTggNzQuOTA1NiAxNi41NTA0IDc1LjYyOTlDMTcuNTQyNyA3Ni4zNTQzIDE4Ljc3MzYgNzYuNjczOCAxOS45OTMgNzYuNTIzNUMyNC4xMTAyIDc1LjcyMDMgMjguMTEyMiA3NC40MTAzIDMxLjkwNzUgNzIuNjIzNUMzNC41OTQ3IDcxLjM0MzUgMzcuMTk5NyA2OS44OTc4IDM5LjcwNzUgNjguMjk0NUM0Mi4yMTAzIDY5LjkwNjEgNDQuODE1OCA3MS4zNTIyIDQ3LjUwNzUgNzIuNjIzNUM1MS4zMDE3IDc0LjQxMjkgNTUuMzA0IDc1LjcyMyA1OS40MjIgNzYuNTIzNUM2MC42NDE0IDc2LjY3MzggNjEuODcyMiA3Ni4zNTQzIDYyLjg2NDYgNzUuNjI5OUM2My44NTY5IDc0LjkwNTYgNjQuNTM2NCA3My44MzA3IDY0Ljc2NSA3Mi42MjM1QzY1LjI4NjYgNjguNDYwMyA2NS4yODY2IDY0LjI0ODIgNjQuNzY1IDYwLjA4NUM2NC40NDMzIDU3LjAyMzQgNjMuODgyNiA1My45OTE3IDYzLjA4OCA1MS4wMTc1QzY1LjYzODcgNDkuMDEzOCA2OC4wMDc0IDQ2Ljc4ODcgNzAuMTY2NSA0NC4zNjhDNzMuMDUwMyA0MS4zMDg4IDc1LjU1MTYgMzcuOTEwMyA3Ny42MTU1IDM0LjI0NzVDNzguMTMyNyAzMy4xMzkyIDc4LjIwOSAzMS44NzU2IDc3LjgyODcgMzAuNzEzMkM3Ny40NDg1IDI5LjU1MDcgNzYuNjQwMiAyOC41NzY0IDc1LjU2OCAyNy45ODhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Mi45NjM5IDEyLjM4ODFDNDQuODM0NyAxNS4wMDQ5IDQ2LjQ1MzkgMTcuNzkyOCA0Ny43OTk5IDIwLjcxNDZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQWRkID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzQuNzEwMSAyNi41MjU1QzcyLjg3NzEgMjUuMDA0NSA2NC43NDU2IDI0LjMwMjUgNTYuMDI5MSAyMy45NzFDNTUuNjk3NiAxNS4yNTQ1IDU0Ljk5NTYgNy4xMjI5OCA1My40NzQ2IDUuMjg5OThDNTIuMjA3MSAyLjI2NzQ4IDQ1LjUzODEgMS45NzQ5OCA0MC4wMDAxIDEuOTc0OThDMzQuNDYyMSAxLjk3NDk4IDI3Ljc3MzYgMi4yNjc0OCAyNi41MjU2IDUuMjg5OThDMjUuMDA0NiA3LjEyMjk4IDI0LjI4MzEgMTUuMjU0NSAyMy45NzExIDIzLjk3MUMxNS4yNTQ2IDI0LjMwMjUgNy4xMjMxIDI1LjAwNDUgNS4yOTAxIDI2LjUyNTVDMi4yNjc2IDI3Ljc5MyAxLjk3NTEgMzQuNDYyIDEuOTc1MSA0MEMxLjk3NTEgNDUuNTM4IDIuMjY3NiA1Mi4yMDcgNS4yOTAxIDUzLjQ3NDVDNy4xMjMxIDU0Ljk5NTUgMTUuMjU0NiA1NS42OTc1IDIzLjk3MTEgNTYuMDI5QzI0LjI4MzEgNjQuNzQ1NSAyNS4wMDQ2IDcyLjg3NyAyNi41MjU2IDc0LjcxQzI3Ljc3MzYgNzcuNzMyNSAzNC40NjIxIDc4LjAyNSA0MC4wMDAxIDc4LjAyNUM0NS41MzgxIDc4LjAyNSA1Mi4yMDcxIDc3LjczMjUgNTMuNDc0NiA3NC43MUM1NC45OTU2IDcyLjg3NyA1NS42OTc2IDY0Ljc0NTUgNTYuMDI5MSA1Ni4wMjlDNjQuNzQ1NiA1NS42OTc1IDcyLjg3NzEgNTQuOTk1NSA3NC43MTAxIDUzLjQ3NDVDNzcuNzMyNiA1Mi4yMDcgNzguMDI1MSA0NS41MzggNzguMDI1MSA0MEM3OC4wMjUxIDM0LjQ2MiA3Ny43MzI2IDI3Ljc5MyA3NC43MTAxIDI2LjUyNTVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00My42NDY1IDYuOTg2NDVDNDguMTcwNSA3LjEyMjk1IDQ5LjM5OSA2Ljk4NjQ1IDUwLjA0MjUgOS4xMzE0NVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBBcHBsaWNhdGlvbiA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQzLjczODMgMTUuNjc2M0M0My44ODQgMTUuOTc1NyA0NC4xNDU3IDE2LjIxNSA0NC41MDg1IDE2LjM4MDZDNDQuODcxNCAxNi41NDYyIDQ1LjMyODIgMTYuNjM0OCA0NS44NTMgMTYuNjQxNEM0Ni4zNzc4IDE2LjY0OCA0Ni45NjAyIDE2LjU3MjQgNDcuNTY3MSAxNi40MTlDNDguMTczOSAxNi4yNjU1IDQ4Ljc5MzMgMTYuMDM3MyA0OS4zODk4IDE1Ljc0NzJDNDkuOTg2MyAxNS40NTcxIDUwLjU0ODMgMTUuMTEwOSA1MS4wNDM3IDE0LjcyODNDNTEuNTM5MSAxNC4zNDU4IDUxLjk1ODEgMTMuOTM0MyA1Mi4yNzY5IDEzLjUxNzVDNTIuNTk1NyAxMy4xMDA3IDUyLjgwOCAxMi42ODY3IDUyLjkwMTggMTIuMjk5MUM1Mi45OTU1IDExLjkxMTUgNTIuOTY4NyAxMS41NTc5IDUyLjgyMzEgMTEuMjU4NUM1Mi42Nzc0IDEwLjk1OTEgNTIuNDE1NyAxMC43MTk4IDUyLjA1MjkgMTAuNTU0MkM1MS42OSAxMC4zODg3IDUxLjIzMzIgMTAuMyA1MC43MDg0IDEwLjI5MzVDNTAuMTgzNiAxMC4yODY5IDQ5LjYwMTIgMTAuMzYyNSA0OC45OTQzIDEwLjUxNTlDNDguMzg3NSAxMC42NjkzIDQ3Ljc2ODEgMTAuODk3NiA0Ny4xNzE2IDExLjE4NzdDNDYuNTc1MSAxMS40Nzc3IDQ2LjAxMzEgMTEuODIzOSA0NS41MTc3IDEyLjIwNjVDNDUuMDIyMyAxMi41ODkxIDQ0LjYwMzMgMTMuMDAwNSA0NC4yODQ1IDEzLjQxNzNDNDMuOTY1NyAxMy44MzQxIDQzLjc1MzQgMTQuMjQ4MiA0My42NTk2IDE0LjYzNThDNDMuNTY1OSAxNS4wMjM0IDQzLjU5MjcgMTUuMzc2OSA0My43MzgzIDE1LjY3NjNaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ4LjU5MDkgMjUuMjMyN0M0OS4yNjEyIDI1LjI5NjggNDkuOTMzNSAyNS4yOTMxIDUwLjU2ODMgMjUuMjIyQzUxLjIwMzIgMjUuMTUwOCA1MS43ODc3IDI1LjAxMzYgNTIuMjg3NiAyNC44MTgzQzUyLjc4NzQgMjQuNjIzMSA1My4xOTI1IDI0LjM3MzggNTMuNDc4OSAyNC4wODUxQzUzLjc2NTQgMjMuNzk2NCA1My45Mjc0IDIzLjQ3NDEgNTMuOTU1NiAyMy4xMzczQzUzLjk4MzcgMjIuODAwNCA1My44NzczIDIyLjQ1NTggNTMuNjQyNiAyMi4xMjM2QzUzLjQwOCAyMS43OTE0IDUzLjA0OTggMjEuNDc4NCA1Mi41ODkzIDIxLjIwMzFDNTIuMTI4NyAyMC45Mjc3IDUxLjU3NSAyMC42OTU0IDUwLjk2MDcgMjAuNTJDNTAuMzQ2NCAyMC4zNDQ2IDQ5LjY4NCAyMC4yMjk2IDQ5LjAxMjQgMjAuMTgxN0M0OC4zNDIxIDIwLjExNzYgNDcuNjY5OCAyMC4xMjEzIDQ3LjAzNSAyMC4xOTI0QzQ2LjQwMDEgMjAuMjYzNiA0NS44MTU2IDIwLjQwMDggNDUuMzE1NyAyMC41OTYxQzQ0LjgxNTkgMjAuNzkxMyA0NC40MTA4IDIxLjA0MDYgNDQuMTI0NCAyMS4zMjkzQzQzLjgzNzkgMjEuNjE4IDQzLjY3NTkgMjEuOTQwMyA0My42NDc4IDIyLjI3NzFDNDMuNjE5NyAyMi42MTQgNDMuNzI2IDIyLjk1ODYgNDMuOTYwNyAyMy4yOTA4QzQ0LjE5NTMgMjMuNjIzIDQ0LjU1MzUgMjMuOTM2IDQ1LjAxNDEgMjQuMjExM0M0NS40NzQ2IDI0LjQ4NjcgNDYuMDI4NCAyNC43MTkgNDYuNjQyNiAyNC44OTQ0QzQ3LjI1NjkgMjUuMDY5OCA0Ny45MTkzIDI1LjE4NDggNDguNTkwOSAyNS4yMzI3WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zOC43NDk3IDEwLjYwMjVDMzkuMDI3MyAxMC43ODg3IDM5LjM3NDYgMTAuODYzIDM5Ljc3MTQgMTAuODIxMUM0MC4xNjgyIDEwLjc3OTIgNDAuNjA2OCAxMC42MjIgNDEuMDYxOSAxMC4zNTg1QzQxLjUxNzEgMTAuMDk1MSA0MS45Nzk4IDkuNzMwNSA0Mi40MjM0IDkuMjg1ODRDNDIuODY3IDguODQxMTggNDMuMjgyOCA4LjMyNTE5IDQzLjY0NjggNy43Njc1OEM0NC4wMTA4IDcuMjA5OTYgNDQuMzE1OSA2LjYyMTczIDQ0LjU0NDUgNi4wMzY3M0M0NC43NzMgNS40NTE3MyA0NC45MjA2IDQuODgxNTIgNDQuOTc4NiA0LjM1ODlDNDUuMDM2NiAzLjgzNjI4IDQ1LjAwNCAzLjM3MTU3IDQ0Ljg4MjYgMi45OTE1M0M0NC43NjEyIDIuNjExNDggNDQuNTUzNSAyLjMyMzYgNDQuMjcxMyAyLjE0NDQ1QzQzLjk5MzcgMS45NTgyOCA0My42NDY0IDEuODgzOTkgNDMuMjQ5NiAxLjkyNTg2QzQyLjg1MjggMS45Njc3MyA0Mi40MTQyIDIuMTI0OTIgNDEuOTU5MSAyLjM4ODRDNDEuNTAzOSAyLjY1MTg4IDQxLjA0MTIgMy4wMTY0NSA0MC41OTc2IDMuNDYxMTFDNDAuMTU0IDMuOTA1NzcgMzkuNzM4MiA0LjQyMTc2IDM5LjM3NDIgNC45NzkzN0MzOS4wMTAyIDUuNTM2OTggMzguNzA1MSA2LjEyNTIyIDM4LjQ3NjUgNi43MTAyMkMzOC4yNDggNy4yOTUyMSAzOC4xMDA0IDcuODY1NDMgMzguMDQyNCA4LjM4ODA1QzM3Ljk4NDQgOC45MTA2NyAzOC4wMTcgOS4zNzUzNyAzOC4xMzg0IDkuNzU1NDJDMzguMjU5OCAxMC4xMzU1IDM4LjQ2NzUgMTAuNDIzMyAzOC43NDk3IDEwLjYwMjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIxLjA4NjEgOS40ODI1MkMxOS4zOTk5IDkuODMzNjMgMTcuNzIzNSAxMC4yNDU2IDE2LjE4NjkgMTAuNjcyN0MxMC4wNjY5IDEyLjM4OTMgMi4xMTc2IDE1LjI3OTMgMS40NzQ5MSAxOS4wNjY3QzAuMzY3NjA4IDIxLjE2MTIgMi40MTIyOSAzMC4xODg4IDQuNTA3MjUgMzcuNTQxQzYuNjAyMjEgNDQuODkzMSA5LjQ3MjI5IDUzLjczMjQgMTEuNDgwMyA1NC44ODQ4QzEzLjk5NzIgNTcuNzczIDIyLjI5MDMgNTYuMTMzMSAyOC40MTAzIDU0LjQxNjVDMzQuNTMwNCA1Mi42OTk5IDQyLjQ2MjQgNDkuODE4OSA0My4xMTQxIDQ2LjA0ODhDNDQuMjEyNCA0My45MzcxIDQyLjE3NjcgMzQuOTI2NyA0MC4wODE4IDI3LjU3NDZDMzkuNDEzNyAyNS4xOTYgMzguNjczNiAyMi42NzkxIDM3Ljg4MzggMjAuMzIwMUMzNi45MzQxIDE3LjI3NDcgMjQuNDMyIDguNzcyMDMgMjEuMDg2MSA5LjQ4MjUyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjAuNzgwNCAxNC42MzM2QzIxLjY4MTEgMTcuODgwNSAyMi41OTkxIDIxLjExODMgMjQuNjY4NyAyMi4zMDQ1QzI2LjczODMgMjMuNDkwNyAzMC4wNzA5IDIyLjUwMTMgMzMuMTk1MiAyMS41NzY1XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNC45MjA5IDEzLjk3MDdDMjYuMzk2OCAxNC41ODA0IDI3Ljc4ODEgMTUuMzc3OCAyOS4wNjAxIDE2LjM0MzFcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02NS4xNjYgMzIuNzY1NkM1OS41ODMyIDM2Ljk5MDUgNTQuNTYzNCA0MS45MTE5IDUwLjIyOSA0Ny40MTAxQzQ4LjQ3NCA0OS41MTYxIDQ2Ljc5NyA1MS41NDQxIDQ1LjI3NiA1My40NTUxQzQwLjIwNiA0OS4yMDQxIDM2LjE1IDQ2LjIwMTEgMzQuNTMxNSA0NS44NTAxQzMxLjcwNCA0NC42MDIxIDI4LjQyOCA0Ny42MDUxIDI2LjMwMjUgNTAuMTQwMUMyNC4xNzcgNTIuNjc1MSAyMS44MzcgNTYuNDE5MSAyMy41NTMgNTguOTczNkMyNC4xMzggNjAuNTkyMSAyNy42ODcgNjQuMTAyMSAzMi43MTggNjguMjk0NkMzOC43NDM1IDczLjM0NTEgNDMuMDkyIDc3LjE0NzYgNDUuNzA1IDc3LjYxNTZDNDkuNjA1IDc5LjM3MDYgNTIuNzgzNSA3NC43MTAxIDY1LjIwNSA1OS44NzA2QzcxLjkzMjUgNTEuODM2NiA3Ni4yODEgNDUuMDg5NiA3Ny4xMzkgNDIuNzMwMUM3OS41Mzc1IDM4LjUzNzYgNzcuNDUxIDM1LjM1OTEgNzQuOTE2IDMzLjIzMzZDNzIuMzgxIDMxLjEwODEgNjguODcxIDI5LjY4NDYgNjUuMTY2IDMyLjc2NTZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02Mi45NDI5IDM5LjIyMDJDNjUuMzQxNCAzNi43NjMyIDY3LjU2NDQgMzQuNDIzMiA2OS41MTQ0IDM0LjMwNjJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQmFieSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5Ljk1NzYgNDEuNzE2MkMzMS40NTU4IDQwLjE3MzcgMzIuNjE4OSAzOC4zMzgxIDMzLjM3NCAzNi4zMjQ3QzM0LjEyOSAzNC4zMTEzIDM0LjQ1OTYgMzIuMTYzNSAzNC4zNDUxIDMwLjAxNjJDMzQuMzQ1MSAyMC43MTQ3IDI5LjIzNjEgMTQuNTMzMiAxOS4wMTgxIDE0LjUzMzJDOC44MDAxIDE0LjUzMzIgMy42NzE2IDIwLjcxNDcgMy42NzE2IDMwLjAxNjJDMy41NTcwNiAzMi4xNjM1IDMuODg3NjggMzQuMzExMyA0LjY0MjcyIDM2LjMyNDdDNS4zOTc3NSAzOC4zMzgxIDYuNTYwODkgNDAuMTczNyA4LjA1OTEgNDEuNzE2MkM0LjAyMjYgNDQuNjk5NyAxLjk3NTEgNDkuNjEzNyAxLjk3NTEgNTUuNzk1MkMxLjk3NTEgNTkuMjI3MiA3LjY1NjEgNjAuOTQzMiAxOS4wMTgxIDYwLjk0MzJDMzAuMzgwMSA2MC45NDMyIDM2LjA3NDEgNTkuMjI3MiAzNi4xMDAxIDU1Ljc5NTJDMzYuMTAwMSA0OS42MTM3IDM0LjAxMzYgNDQuNjk5NyAyOS45NTc2IDQxLjcxNjJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNC42NzMxIDE4LjkwMTFDMjYuMTYwOCAxOS40NDYgMjcuNDU1OCAyMC40MTU2IDI4LjM5NzYgMjEuNjg5NlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE5LjU2NDEgMTQuNDc0NkMxOC4xNjU5IDE0Ljg3OTQgMTYuOTYzIDE1Ljc3OTcgMTYuMTgwNiAxNy4wMDcyQzE1LjM5ODEgMTguMjM0NyAxNS4wODk3IDE5LjcwNTIgMTUuMzEzMSAyMS4xNDM2QzE1LjkzNzEgMjQuMzIyMSAyMS4zMTkxIDIzLjkxMjYgMjAuNjU2MSAyMC41OTc2QzIwLjMyNDYgMTguODgxNiAxOC41NTAxIDE5Ljc1OTEgMTguNTUwMSAxOS43NTkxXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMC40OTY2IDI5LjA5OTZDMTAuNDk2NiAyOS43ODIzIDEwLjc2NTcgMzAuNDM3IDExLjI0NDggMzAuOTE5N0MxMS43MjM4IDMxLjQwMjQgMTIuMzczNiAzMS42NzM2IDEzLjA1MTEgMzEuNjczNkMxMy43Mjg2IDMxLjY3MzYgMTQuMzc4MyAzMS40MDI0IDE0Ljg1NzQgMzAuOTE5N0MxNS4zMzY0IDMwLjQzNyAxNS42MDU2IDI5Ljc4MjMgMTUuNjA1NiAyOS4wOTk2QzE1LjYwNTYgMjguNDE3IDE1LjMzNjQgMjcuNzYyMyAxNC44NTc0IDI3LjI3OTVDMTQuMzc4MyAyNi43OTY4IDEzLjcyODYgMjYuNTI1NiAxMy4wNTExIDI2LjUyNTZDMTIuMzczNiAyNi41MjU2IDExLjcyMzggMjYuNzk2OCAxMS4yNDQ4IDI3LjI3OTVDMTAuNzY1NyAyNy43NjIzIDEwLjQ5NjYgMjguNDE3IDEwLjQ5NjYgMjkuMDk5NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMi40MTExIDI5LjA5OTZDMjIuNDExMSAyOS43ODIzIDIyLjY4MDMgMzAuNDM3IDIzLjE1OTMgMzAuOTE5N0MyMy42Mzg0IDMxLjQwMjQgMjQuMjg4MSAzMS42NzM2IDI0Ljk2NTYgMzEuNjczNkMyNS42NDMxIDMxLjY3MzYgMjYuMjkyOSAzMS40MDI0IDI2Ljc3MTkgMzAuOTE5N0MyNy4yNTEgMzAuNDM3IDI3LjUyMDEgMjkuNzgyMyAyNy41MjAxIDI5LjA5OTZDMjcuNTIwMSAyOC40MTcgMjcuMjUxIDI3Ljc2MjMgMjYuNzcxOSAyNy4yNzk1QzI2LjI5MjkgMjYuNzk2OCAyNS42NDMxIDI2LjUyNTYgMjQuOTY1NiAyNi41MjU2QzI0LjI4ODEgMjYuNTI1NiAyMy42Mzg0IDI2Ljc5NjggMjMuMTU5MyAyNy4yNzk1QzIyLjY4MDMgMjcuNzYyMyAyMi40MTExIDI4LjQxNyAyMi40MTExIDI5LjA5OTZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTMuOTA5MiAzNS4xMjVDMTUuMzM2NCAzNi4zMTggMTcuMTYwMiAzNi45MzA1IDE5LjAxODIgMzYuODQxQzIwLjg3NTQgMzYuOTI0OCAyMi42OTcxIDM2LjMxMjkgMjQuMTI3MiAzNS4xMjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE5LjAxODEgNDUuNDYwMUMxNi44NzM1IDQ1LjQ3NTggMTQuNzQwMyA0NS4xNDY2IDEyLjcwMDEgNDQuNDg1MUMxMi4zMzgyIDQ1LjMzNiAxMi4xNTI1IDQ2LjI1MTQgMTIuMTU0MSA0Ny4xNzYxQzEyLjA4NSA0OC4wOTI3IDEyLjIxMzcgNDkuMDEzNCAxMi41MzE0IDQ5Ljg3NkMxMi44NDkyIDUwLjczODUgMTMuMzQ4NSA1MS41MjI3IDEzLjk5NTcgNTIuMTc1NEMxNC42NDI5IDUyLjgyODIgMTUuNDIyOCA1My4zMzQyIDE2LjI4MjYgNTMuNjU5M0MxNy4xNDI0IDUzLjk4NDQgMTguMDYyIDU0LjEyMDkgMTguOTc5MSA1NC4wNTk2QzE5Ljg5NTUgNTQuMTIxMiAyMC44MTQ0IDUzLjk4NDggMjEuNjczMyA1My42NTk2QzIyLjUzMjIgNTMuMzM0MyAyMy4zMTEgNTIuODI4IDIzLjk1NjcgNTIuMTc0OEMyNC42MDI0IDUxLjUyMTcgMjUuMDk5OSA1MC43MzcyIDI1LjQxNTMgNDkuODc0NkMyNS43MzA4IDQ5LjAxMjEgMjUuODU2NyA0OC4wOTE3IDI1Ljc4NDYgNDcuMTc2MUMyNS43ODYzIDQ2LjI1MTQgMjUuNjAwNSA0NS4zMzYgMjUuMjM4NiA0NC40ODUxQzIzLjIzMDEgNDUuMTM4NiAyMS4xMzAzIDQ1LjQ2NzggMTkuMDE4MSA0NS40NjAxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NS40NTExIDU0LjI5MzdDNzUuMDUyOCA1My4yMDk0IDc0LjQ0MyA1Mi4yMTUyIDczLjY1NzEgNTEuMzY4N0M3NS4wMDc2IDQ4Ljc4OTkgNzUuMzQ4MyA0NS44MDAyIDc0LjYxMjYgNDIuOTgzN0M3NC40NDIyIDQyLjIwNzQgNzQuNDc2NiA0MS40MDAxIDc0LjcxMjUgNDAuNjQxMUM3NC45NDg0IDM5Ljg4MjIgNzUuMzc3NyAzOS4xOTc2IDc1Ljk1ODEgMzguNjU0N0M3Ni41OTk4IDM4LjEyNDEgNzcuMTE2NSAzNy40NTgzIDc3LjQ3MTEgMzYuNzA0OUM3Ny44MjU4IDM1Ljk1MTUgNzguMDA5NyAzNS4xMjkxIDc4LjAwOTcgMzQuMjk2NEM3OC4wMDk3IDMzLjQ2MzcgNzcuODI1OCAzMi42NDEzIDc3LjQ3MTEgMzEuODg3OUM3Ny4xMTY1IDMxLjEzNDUgNzYuNTk5OCAzMC40Njg4IDc1Ljk1ODEgMjkuOTM4MkM3NS40NDExIDI5LjI5MTggNzQuNzg1MyAyOC43NyA3NC4wMzkzIDI4LjQxMTVDNzMuMjkzNCAyOC4wNTI5IDcyLjQ3NjMgMjcuODY2NyA3MS42NDg2IDI3Ljg2NjdDNzAuODIwOSAyNy44NjY3IDcwLjAwMzggMjguMDUyOSA2OS4yNTc4IDI4LjQxMTVDNjguNTExOCAyOC43NyA2Ny44NTYxIDI5LjI5MTggNjcuMzM5MSAyOS45MzgyQzY2LjgxNDUgMzAuNTI3IDY2LjE0MTUgMzAuOTY0MiA2NS4zOTA0IDMxLjIwNDNDNjQuNjM5MiAzMS40NDQ0IDYzLjgzNzQgMzEuNDc4NSA2My4wNjg2IDMxLjMwMzJDNjAuMjY5OSAzMC41NTk2IDU3LjI5MzIgMzAuOTA4MSA1NC43NDIxIDMyLjI3ODJDNTMuOTE3NSAzMS40ODMyIDUyLjk0MzEgMzAuODYwMSA1MS44NzU2IDMwLjQ0NTJDNTAuNDUyMSAyOS44MDE3IDQ4LjI4NzYgMzEuNzkwNyA0Ni41OTExIDMzLjUwNjdDNDQuODk0NiAzNS4yMjI3IDQyLjkyNTEgMzcuNDA2NyA0My41Njg2IDM4Ljg0OTdDNDMuNjQwNyAzOS4xODI3IDQzLjc3MjkgMzkuNDk5OSA0My45NTg2IDM5Ljc4NTdDNDEuNTkwNCA0MS42NTYgMzkuMzQ5NSA0My42ODIgMzcuMjUwNiA0NS44NTAyQzMzLjA5NzEgNTAuMDQyNyAyNy44OTA2IDU1Ljk3MDcgMjguNTUzNiA1OC44MTc3QzI4LjM1ODYgNjAuNzY3NyAzMS45NDY2IDY2LjYxNzcgMzUuODA3NiA3MC41MTc3QzM5LjY2ODYgNzQuNDE3NyA0NS40MjExIDc4LjA0NDcgNDcuMzcxMSA3Ny44NDk3QzUwLjE5ODYgNzguNTEyNyA1Ni4wNjgxIDczLjI2NzIgNjAuMjIxNiA2OS4wNTUyQzYyLjM2NjIgNjYuOTMwNSA2NC4zNzI0IDY0LjY3MDMgNjYuMjI3NiA2Mi4yODg3QzY2LjUwNSA2Mi40NzY3IDY2LjgxNjIgNjIuNjA5MSA2Ny4xNDQxIDYyLjY3ODdDNjguNTY3NiA2My4zMjIyIDcwLjczMjEgNjEuMzUyNyA3Mi40Mjg2IDU5LjYxNzJDNzQuMTI1MSA1Ny44ODE3IDc2LjA5NDYgNTUuNzE3MiA3NS40NTExIDU0LjI5MzdaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02OC43MjM1IDQ1Ljk2NzNDNjguNzIzNSA0NS45NjczIDY3LjM5NzUgNDQuNDA3MyA2NC41MTE1IDQxLjUwMThDNjEuNjI1NSAzOC41OTYzIDYwLjEwNDUgMzcuMjcwMyA2MC4xMDQ1IDM3LjI3MDNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ3LjQ4OCA0NC4yMTIyQzQ3LjQ4OCA0NC4yMTIyIDQ5Ljc1IDQ2LjgwNTcgNTQuNDg4NSA1MS43MDAyQzU5LjIyNyA1Ni41OTQ3IDYxLjg0IDU4LjcyMDIgNjEuODQgNTguNzIwMlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTMuMDg0NSA2MS43NjIyQzUzLjA4NDUgNjEuNzYyMiA1My41MzMgNjIuMjg4NyA1NC40ODg1IDYzLjI2MzdDNTUuNDQ0IDY0LjIzODcgNTUuOTUxIDY0LjY2NzcgNTUuOTUxIDY0LjY2NzdcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ4Ljg5MjEgNjYuMDEzMkM0OC44OTIxIDY2LjAxMzIgNDkuMzIxMSA2Ni41Mzk3IDUwLjI3NjYgNjcuNDk1MkM1MS4yMzIxIDY4LjQ1MDcgNTEuNzU4NiA2OC45MTg3IDUxLjc1ODYgNjguOTE4N1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjYuNzU0MiAzNC4xNTAyQzY3LjkzMzUgMzMuOTIxNCA2OS4wMTEzIDMzLjMyOCA2OS44MzUyIDMyLjQ1MzdDNzAuMjg2NSAzMS44OTc4IDcwLjg4OTQgMzEuNDg0NiA3MS41NzA3IDMxLjI2NDJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02MC40MzYgMTcuNjcyNUM2MC40MzYgMTguNzM3OSA2MC44NTUxIDE5Ljc1OTYgNjEuNjAxMiAyMC41MTNDNjIuMzQ3MiAyMS4yNjYzIDYzLjM1OSAyMS42ODk1IDY0LjQxNCAyMS42ODk1QzY1LjQ2OTEgMjEuNjg5NSA2Ni40ODA5IDIxLjI2NjMgNjcuMjI2OSAyMC41MTNDNjcuOTcyOSAxOS43NTk2IDY4LjM5MiAxOC43Mzc5IDY4LjM5MiAxNy42NzI1QzY4LjM5MiAxNy4xNDUgNjguMjg5MSAxNi42MjI2IDY4LjA4OTIgMTYuMTM1M0M2Ny44ODkzIDE1LjY0NzkgNjcuNTk2MyAxNS4yMDUxIDY3LjIyNjkgMTQuODMyMUM2Ni44NTc1IDE0LjQ1OTEgNjYuNDE5IDE0LjE2MzIgNjUuOTM2NCAxMy45NjEzQzY1LjQ1MzcgMTMuNzU5NCA2NC45MzY0IDEzLjY1NTUgNjQuNDE0IDEzLjY1NTVDNjMuODkxNiAxMy42NTU1IDYzLjM3NDQgMTMuNzU5NCA2Mi44OTE3IDEzLjk2MTNDNjIuNDA5MSAxNC4xNjMyIDYxLjk3MDYgMTQuNDU5MSA2MS42MDEyIDE0LjgzMjFDNjEuMjMxOCAxNS4yMDUxIDYwLjkzODggMTUuNjQ3OSA2MC43Mzg4IDE2LjEzNTNDNjAuNTM4OSAxNi42MjI2IDYwLjQzNiAxNy4xNDUgNjAuNDM2IDE3LjY3MjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5LjIzNjEgNS41NDM1NEMyOS4yMzYxIDYuNDU4OTQgMjkuNTk1NiA3LjMzNjg0IDMwLjIzNTYgNy45ODQxMkMzMC44NzU2IDguNjMxNCAzMS43NDM1IDguOTk1MDQgMzIuNjQ4NiA4Ljk5NTA0QzMzLjU1MzYgOC45OTUwNCAzNC40MjE2IDguNjMxNCAzNS4wNjE2IDcuOTg0MTJDMzUuNzAxNiA3LjMzNjg0IDM2LjA2MTEgNi40NTg5NCAzNi4wNjExIDUuNTQzNTRDMzYuMDYxMSA0LjYyODE1IDM1LjcwMTYgMy43NTAyNCAzNS4wNjE2IDMuMTAyOTZDMzQuNDIxNiAyLjQ1NTY4IDMzLjU1MzYgMi4wOTIwNCAzMi42NDg2IDIuMDkyMDRDMzEuNzQzNSAyLjA5MjA0IDMwLjg3NTYgMi40NTU2OCAzMC4yMzU2IDMuMTAyOTZDMjkuNTk1NiAzLjc1MDI0IDI5LjIzNjEgNC42MjgxNSAyOS4yMzYxIDUuNTQzNTRaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ5LjM2MDIgMjIuODM5OUM0OC44NjQ2IDIyLjM1MDQgNDguMzE1MSAyMS45MTg3IDQ3LjcyMjIgMjEuNTUyOUM0OC40ODI3IDIwLjU1ODQgNDkuMzYwMiAxOS4yMTI5IDUwLjA4MTcgMTguMDgxOUM1MS4yNzE2IDE2LjM3MDkgNTIuMjQxMiAxNC41MTY4IDUyLjk2NzcgMTIuNTYzNEM1My4wNjUyIDExLjA4MTQgNTEuMDE3NyA5Ljg1MjkzIDQ5LjkwNjIgOS4xMTE5M0M0OC43OTQ3IDguMzcwOTMgNDcuMzcxMiA3LjUzMjQzIDQ2LjkwMzIgNy42NDk0M0M0Ni40MzUyIDcuNzY2NDMgNDUuNzUyNyA4LjIzNDQzIDQ1LjM0MzIgOC44OTc0M0M0NS4xNDA2IDkuMTc1NjMgNDQuOTk1IDkuNDkxMTEgNDQuOTE0NyA5LjgyNTc0QzQ0LjgzNDQgMTAuMTYwNCA0NC44MjEgMTAuNTA3NiA0NC44NzUyIDEwLjg0NzRDNDQuODc1MiAxMS4xOTg0IDQ1Ljc3MjIgMTEuODYxNCA0Ni42MzAyIDEyLjQ2NTlDNDYuMTAzNyAxMy4yMjY0IDQ1LjU1NzcgMTQuMDY0OSA0NS4wODk3IDE0LjgwNTlDNDQuMzY4MiAxNS45MzY5IDQzLjUyOTcgMTcuMzAxOSA0Mi45NDQ3IDE4LjQxMzRDNDIuMzMzNyAxOC4wMTU3IDQxLjY3OTUgMTcuNjg4NiA0MC45OTQ3IDE3LjQzODRDNDAuMTE3MiAxNy4xMjY0IDM5LjI5ODIgMTguMTc5NCAzOC44ODg3IDE4Ljg0MjRDMzguNDc5MiAxOS41MDU0IDM3LjgzNTcgMjAuNjk0OSAzOC40OTg3IDIxLjM3NzRDMzkuNzUxNyAyMi40NDggNDEuMDk1OCAyMy40MDcyIDQyLjUxNTcgMjQuMjQzOUM0My44NTgyIDI1LjIwMjQgNDUuMjgwNCAyNi4wNDQgNDYuNzY2NyAyNi43NTk0QzQ3LjYyNDcgMjcuMDcxNCA0OC40NjMyIDI2LjAxODQgNDguODcyNyAyNS4zNTU0QzQ5LjI4MjIgMjQuNjkyNCA1MC4wMjMyIDIzLjUyMjQgNDkuMzYwMiAyMi44Mzk5WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MS4wMTc4IDQuOTk3NDhDNTEuMDE3OCA1LjczNzA0IDUxLjMwOTYgNi40NDYzMSA1MS44Mjg4IDYuOTY5MjVDNTIuMzQ4MSA3LjQ5MjIgNTMuMDUyNCA3Ljc4NTk4IDUzLjc4NjggNy43ODU5OEM1NC41MjEyIDcuNzg1OTggNTUuMjI1NSA3LjQ5MjIgNTUuNzQ0OCA2Ljk2OTI1QzU2LjI2NDEgNi40NDYzMSA1Ni41NTU4IDUuNzM3MDQgNTYuNTU1OCA0Ljk5NzQ4QzU2LjU1NTggNC4yNTc5MyA1Ni4yNjQxIDMuNTQ4NjYgNTUuNzQ0OCAzLjAyNTcyQzU1LjIyNTUgMi41MDI3NyA1NC41MjEyIDIuMjA4OTggNTMuNzg2OCAyLjIwODk4QzUzLjA1MjQgMi4yMDg5OCA1Mi4zNDgxIDIuNTAyNzcgNTEuODI4OCAzLjAyNTcyQzUxLjMwOTYgMy41NDg2NiA1MS4wMTc4IDQuMjU3OTMgNTEuMDE3OCA0Ljk5NzQ4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEJvb2ttYXJrID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzEuODQ5MSA3Ny45ODZDMzYuNjA3MSA3OC44NDQgNDkuNzUwMSA2NS4zNSA1Ny40MTM2IDU3LjU1QzY1LjA3NzEgNDkuNzUgNzguNjY4NiAzNi43NDM1IDc3LjkwODEgMzEuOTY2Qzc4LjUxMjYgMjguNTczIDc2LjgzNTYgMTAuOTY0NSA3Mi45NTUxIDcuMDgzOTZDNjkuMDc0NiAzLjIwMzQ2IDUxLjQ2NjEgMS40ODc0NiA0OC4wNzMxIDIuMDkxOTZDNDMuMjk1NiAxLjMzMTQ2IDMwLjI1MDEgMTQuODQ1IDIyLjQ1MDEgMjIuNTg2NUMxNC42NTAxIDMwLjMyOCAxLjE1NjEyIDQzLjM5MyAyLjAxNDEyIDQ4LjE1MUMyLjk1MDEyIDUzLjY1IDE4LjU1MDEgNTcuNTUgMjAuNTAwMSA1OS41QzIyLjQ1MDEgNjEuNDUgMjYuMzUwMSA3Ny4wNSAzMS44NDkxIDc3Ljk4NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU1LjgxNDcgMTguNjg2NUM1NS44MTQ3IDIwLjE0NDkgNTYuMzk0MSAyMS41NDM2IDU3LjQyNTMgMjIuNTc0OUM1OC40NTY2IDIzLjYwNjEgNTkuODU1MyAyNC4xODU1IDYxLjMxMzcgMjQuMTg1NUM2Mi43NzIxIDI0LjE4NTUgNjQuMTcwOCAyMy42MDYxIDY1LjIwMjEgMjIuNTc0OUM2Ni4yMzMzIDIxLjU0MzYgNjYuODEyNyAyMC4xNDQ5IDY2LjgxMjcgMTguNjg2NUM2Ni44MTI3IDE3LjIyODEgNjYuMjMzMyAxNS44Mjk0IDY1LjIwMjEgMTQuNzk4MUM2NC4xNzA4IDEzLjc2NjkgNjIuNzcyMSAxMy4xODc1IDYxLjMxMzcgMTMuMTg3NUM1OS44NTUzIDEzLjE4NzUgNTguNDU2NiAxMy43NjY5IDU3LjQyNTMgMTQuNzk4MUM1Ni4zOTQxIDE1LjgyOTQgNTUuODE0NyAxNy4yMjgxIDU1LjgxNDcgMTguNjg2NVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDkuNTE2MSA2Ljg0OTk4QzUzLjM2NjQgNi44NjE1MiA1Ny4yMDg4IDcuMjAwNzUgNjEuMDAxNiA3Ljg2Mzk4XCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBDYW5jZWwgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Ny42NzQgNTkuMjY1OUM3Ny4xNjY5IDU2LjQ1NzkgNjkuNzU2OSA0OC4wOTI0IDYyLjA3MzkgMzkuOTk5OUM2OS44NzM5IDMxLjkwNzQgNzcuMjA1OSAyMy41NDE5IDc3LjY3NCAyMC43MzM5Qzc5LjI5MjQgMTcuMzk5NCA3NC45ODI5IDEyLjY5OTkgNzEuMTk5OSA4Ljc5OTk0QzY3LjQxNjkgNC44OTk5NCA2Mi42MDA0IDAuNzA3NDQ0IDU5LjI2NTkgMi4zMjU5NEM1Ni40NTc5IDIuODMyOTQgNDguMDkyNCAxMC4yNDI5IDM5Ljk5OTkgMTcuOTI1OUMzMS45MDc0IDEwLjEyNTkgMjMuNTQxOSAyLjc5Mzk0IDIwLjczMzkgMi4zMjU5NEMxNy4zOTk0IDAuNzA3NDQ0IDEyLjY5OTkgNS4wMTY5NCA4Ljc5OTk0IDguNzk5OTRDNC44OTk5NCAxMi41ODI5IDAuNzA3NDQ0IDE3LjM5OTQgMi4zMjU5NCAyMC43MzM5QzIuODMyOTQgMjMuNTQxOSAxMC4yNDI5IDMxLjkwNzQgMTcuOTI1OSAzOS45OTk5QzEwLjEyNTkgNDguMDkyNCAyLjc5Mzk0IDU2LjQ1NzkgMi4zMjU5NCA1OS4yNjU5QzAuNzA3NDQ0IDYyLjYwMDQgNS4wMTY5NCA2Ny4zOTc0IDguNzk5OTQgNzEuMTk5OUMxMi41ODI5IDc1LjAwMjQgMTcuMzk5NCA3OS4yOTI0IDIwLjczMzkgNzcuNjc0QzIzLjU0MTkgNzcuMTY2OSAzMS45MDc0IDY5Ljc1NjkgMzkuOTk5OSA2Mi4wNzM5QzQ4LjA5MjQgNjkuODczOSA1Ni40NTc5IDc3LjIwNTkgNTkuMjY1OSA3Ny42NzRDNjIuNjAwNCA3OS4yOTI0IDY3LjQxNjkgNzQuOTgyOSA3MS4xOTk5IDcxLjE5OTlDNzQuOTgyOSA2Ny40MTY5IDc5LjI5MjQgNjIuNjAwNCA3Ny42NzQgNTkuMjY1OVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU1LjU5OTkgMTEuNDMyNUM2MC4yMjE0IDcuNTMyNSA2MS4wNDA0IDcuMzM3NSA2My43MzE0IDkuNDgyNVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBmaWxsPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBDb252ZXJzYXRpb24gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MCAyLjcxNjhDMTUuNjQzMSAyLjcxNjggMy40NjQ2IDE1LjQxOTkgMy40NjQ2IDM0LjQ5MzJDMy40NjQ2IDQ2Ljc0NjYgOC41MjM0OCA1Ni4zNTgyIDE4LjYwMzQgNjEuNjYwNEMxNi43Mjk5IDY3Ljk5MzIgMTIuMTAxOSA3MS43MjE4IDE2LjE2NzcgNzUuNzg3NEMxOC44MDk1IDc4LjQyOTMgMzQuNDkxNiA3OC44MjI4IDM5Ljc5MzkgNjYuMjUwN0g0MEM2NC4zNTY5IDY2LjI1MDcgNzYuNTM1NCA1My41NDc4IDc2LjUzNTQgMzQuNDkzMkM3Ni41MzU0IDE1LjQzODYgNjQuMzU2OSAyLjcxNjggNDAgMi43MTY4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTIuNDQwOSAxMC4zOTg3QzU2LjI1NDEgMTEuMTgyNCA1OS43NDkxIDEzLjA3OTkgNjIuNDgzNCAxNS44NTA5XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBEYWQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Mi42NzUgMzkuMjk4MUM1Ny44MDM1IDM1LjgwNzYgNjAuMzc3NSAyOS44NjAxIDYwLjM3NzUgMjIuMzUyNkM2MC4zNzc1IDEwLjEyNjEgNTMuNjUgMS45NzUxIDQwIDEuOTc1MUMyNi4zNSAxLjk3NTEgMTkuNjIyNSAxMC4xMjYxIDE5LjYyMjUgMjIuNDUwMUMxOS42MjI1IDI5Ljk1NzYgMjIuMTk2NSAzNS45MDUxIDI3LjMyNSAzOS4zOTU2QzE1Ljg1OSA0My40MTI2IDEwLjEyNiA1My42NTAxIDEwLjEyNiA2Ny4xNjM2QzEwLjEyNiA3NS4zMTQ2IDIwLjA5MDUgNzguMDI1MSA0MCA3OC4wMjUxQzU5LjkwOTUgNzguMDI1MSA2OS44NzQgNzUuMzE0NiA2OS44NzQgNjcuMTYzNkM2OS44NzQgNTMuNjUwMSA2NC4xNDEgNDMuNDEyNiA1Mi42NzUgMzkuMjk4MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ1LjQ0MDQgOC40Mjk2OUM0Ny43ODczIDkuMjgwNTQgNDkuODI1MSAxMC44MTU3IDUxLjI5MDQgMTIuODM2N1wiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMxLjMwMyAyOS42ODQ2QzMxLjMwMyAyOS42ODQ2IDMzLjQ4NyAzMS44NDkxIDQwIDMxLjg0OTFDNDYuNTEzIDMxLjg0OTEgNDguNjk3IDI5LjY4NDYgNDguNjk3IDI5LjY4NDZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5LjEzODQgMTkuODk1N0MyOS4xMzg0IDIwLjc1OTMgMjkuNDgxNSAyMS41ODc2IDMwLjA5MjIgMjIuMTk4NEMzMC43MDI5IDIyLjgwOTEgMzEuNTMxMyAyMy4xNTIyIDMyLjM5NDkgMjMuMTUyMkMzMy4yNTg2IDIzLjE1MjIgMzQuMDg2OSAyMi44MDkxIDM0LjY5NzYgMjIuMTk4NEMzNS4zMDgzIDIxLjU4NzYgMzUuNjUxNCAyMC43NTkzIDM1LjY1MTQgMTkuODk1N0MzNS42NTE0IDE5LjAzMiAzNS4zMDgzIDE4LjIwMzcgMzQuNjk3NiAxNy41OTNDMzQuMDg2OSAxNi45ODIzIDMzLjI1ODYgMTYuNjM5MiAzMi4zOTQ5IDE2LjYzOTJDMzEuNTMxMyAxNi42MzkyIDMwLjcwMjkgMTYuOTgyMyAzMC4wOTIyIDE3LjU5M0MyOS40ODE1IDE4LjIwMzcgMjkuMTM4NCAxOS4wMzIgMjkuMTM4NCAxOS44OTU3WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ0LjM0ODQgMTkuODk1N0M0NC4zNDg0IDIwLjMyMzMgNDQuNDMyNiAyMC43NDY4IDQ0LjU5NjMgMjEuMTQxOUM0NC43NTk5IDIxLjUzNyA0NC45OTk4IDIxLjg5NiA0NS4zMDIyIDIyLjE5ODRDNDUuNjA0NiAyMi41MDA3IDQ1Ljk2MzYgMjIuNzQwNiA0Ni4zNTg3IDIyLjkwNDNDNDYuNzUzOCAyMy4wNjc5IDQ3LjE3NzIgMjMuMTUyMiA0Ny42MDQ5IDIzLjE1MjJDNDguMDMyNSAyMy4xNTIyIDQ4LjQ1NiAyMy4wNjc5IDQ4Ljg1MTEgMjIuOTA0M0M0OS4yNDYyIDIyLjc0MDYgNDkuNjA1MiAyMi41MDA3IDQ5LjkwNzYgMjIuMTk4NEM1MC4yMSAyMS44OTYgNTAuNDQ5OCAyMS41MzcgNTAuNjEzNSAyMS4xNDE5QzUwLjc3NzIgMjAuNzQ2OCA1MC44NjE0IDIwLjMyMzMgNTAuODYxNCAxOS44OTU3QzUwLjg2MTQgMTkuNDY4IDUwLjc3NzIgMTkuMDQ0NSA1MC42MTM1IDE4LjY0OTVDNTAuNDQ5OCAxOC4yNTQ0IDUwLjIxIDE3Ljg5NTQgNDkuOTA3NiAxNy41OTNDNDkuNjA1MiAxNy4yOTA2IDQ5LjI0NjIgMTcuMDUwNyA0OC44NTExIDE2Ljg4N0M0OC40NTYgMTYuNzIzNCA0OC4wMzI1IDE2LjYzOTIgNDcuNjA0OSAxNi42MzkyQzQ3LjE3NzIgMTYuNjM5MiA0Ni43NTM4IDE2LjcyMzQgNDYuMzU4NyAxNi44ODdDNDUuOTYzNiAxNy4wNTA3IDQ1LjYwNDYgMTcuMjkwNiA0NS4zMDIyIDE3LjU5M0M0NC45OTk4IDE3Ljg5NTQgNDQuNzU5OSAxOC4yNTQ0IDQ0LjU5NjMgMTguNjQ5NUM0NC40MzI2IDE5LjA0NDUgNDQuMzQ4NCAxOS40NjggNDQuMzQ4NCAxOS44OTU3WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgRGF0ZVRpbWUgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NC42NzA5IDI0LjI2MzZDNzUuMTY1MiAyMy4xMzc2IDc1LjQzMDQgMjEuOTI0NiA3NS40NTA5IDIwLjY5NTFDNzguMTgwOSAxOS4xNTQ2IDc4LjE0MTkgMTguMTIxMSA3Ny43MTI5IDE2Ljc5NTFDNzcuMjgzOSAxNS40NjkxIDc2LjcxODQgMTQuNTcyMSA3My41OTg0IDE0Ljg0NTFDNzIuODY1NCAxMy44NTU4IDcxLjk0NDMgMTMuMDIwOCA3MC44ODc5IDEyLjM4ODFDNzAuODg3OSA5LjI0ODU4IDcwLjAxMDQgOC43NjEwOCA2OC42MjU5IDguNDg4MDhDNjcuMjQxNCA4LjIxNTA4IDY2LjIwNzkgOC4yMTUwOCA2NC45MjA5IDExLjEwMTFDNjMuNzAyNiAxMS4yNDIxIDYyLjUyMzUgMTEuNjE5NiA2MS40NDk5IDEyLjIxMjZDNTguNzU4OSAxMC42MTM2IDU3Ljg4MTQgMTEuMTQwMSA1Ni45MDY0IDEyLjIxMjZDNTUuOTMxNCAxMy4yODUxIDU1LjQ4MjkgMTQuMTYyNiA1Ny4zMTU5IDE2LjcxNzFDNTcuMDc4IDE3LjI4NSA1Ni44ODg4IDE3Ljg3MjEgNTYuNzUwNCAxOC40NzIxQzU2LjYyMTIgMTkuMDc0OSA1Ni41NDkzIDE5LjY4ODcgNTYuNTM1OSAyMC4zMDUxQzUzLjgwNTkgMjEuODQ1NiA1My44NDQ5IDIyLjg1OTYgNTQuMjczOSAyNC4yMDUxQzU0LjcwMjkgMjUuNTUwNiA1NS4yODc5IDI2LjQyODEgNTguNDA3OSAyNi4xNTUxQzU5LjEzMzggMjcuMTQzOCA2MC4wNDg0IDI3Ljk3ODkgNjEuMDk4OSAyOC42MTIxQzYxLjA5ODkgMzEuNzUxNiA2MS45NzY0IDMyLjIzOTEgNjMuMzYwOSAzMi41MTIxQzY0Ljc0NTQgMzIuNzg1MSA2NS43Nzg5IDMyLjc2NTYgNjcuMDY1OSAyOS44Nzk2QzY4LjI4MzcgMjkuNzQ4MSA2OS40NjMzIDI5LjM3NyA3MC41MzY5IDI4Ljc4NzZDNzMuMjI3OSAzMC4zNjcxIDc0LjEwNTQgMjkuODQwNiA3NS4wODA0IDI4Ljc4NzZDNzYuMDU1NCAyNy43MzQ2IDc2LjUwMzkgMjYuODE4MSA3NC42NzA5IDI0LjI2MzZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTYxLjM1MjUgMjAuNTAwMUM2MS4zNTI1IDIxLjczMSA2MS44NDE1IDIyLjkxMTUgNjIuNzExOSAyMy43ODE4QzYzLjU4MjIgMjQuNjUyMiA2NC43NjI3IDI1LjE0MTEgNjUuOTkzNSAyNS4xNDExQzY3LjIyNDQgMjUuMTQxMSA2OC40MDQ5IDI0LjY1MjIgNjkuMjc1MiAyMy43ODE4QzcwLjE0NTYgMjIuOTExNSA3MC42MzQ1IDIxLjczMSA3MC42MzQ1IDIwLjUwMDFDNzAuNjM0NSAxOS4yNjkzIDcwLjE0NTYgMTguMDg4OCA2OS4yNzUyIDE3LjIxODRDNjguNDA0OSAxNi4zNDgxIDY3LjIyNDQgMTUuODU5MSA2NS45OTM1IDE1Ljg1OTFDNjQuNzYyNyAxNS44NTkxIDYzLjU4MjIgMTYuMzQ4MSA2Mi43MTE5IDE3LjIxODRDNjEuODQxNSAxOC4wODg4IDYxLjM1MjUgMTkuMjY5MyA2MS4zNTI1IDIwLjUwMDFaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQzLjA4MSAxNy4xMjY1QzQxLjM5NCAxNi4wNjE0IDM5LjQ0MDcgMTUuNDkzNyAzNy40NDU1IDE1LjQ4ODVDMzcuMTI2NyAxNC4wNzggMzYuNjc2MiAxMi43MDA0IDM2LjEgMTEuMzc0QzM1LjcyMDQgMTAuNzAwNyAzNS4xMzg2IDEwLjE2MzcgMzQuNDM3IDkuODM5MTNDMzMuNzM1NCA5LjUxNDU2IDMyLjk0OTYgOS40MTg4MiAzMi4xOTA2IDkuNTY1NDRDMzEuNDMxNiA5LjcxMjA2IDMwLjczNzkgMTAuMDkzNiAzMC4yMDc3IDEwLjY1NjJDMjkuNjc3NSAxMS4yMTg3IDI5LjMzNzYgMTEuOTMzNyAyOS4yMzYgMTIuN0MyOS4xMjg4IDEzLjY3MjEgMjkuMTI4OCAxNC42NTMgMjkuMjM2IDE1LjYyNUMyNi44ODg1IDE1Ljc5MTkgMjQuNTUxNiAxNi4wODQ5IDIyLjIzNTUgMTYuNTAyNUMxOS45Mjc2IDE2LjkzOTQgMTcuNjQzMiAxNy40OTI2IDE1LjM5MSAxOC4xNkMxNS4yMzYzIDE3LjE5NTcgMTQuOTg4MiAxNi4yNDg4IDE0LjY1IDE1LjMzMjVDMTQuMzA0MyAxNC42MjQzIDEzLjczNTEgMTQuMDQ5NiAxMy4wMzAyIDEzLjY5NzJDMTIuMzI1MyAxMy4zNDQ3IDExLjUyNCAxMy4yMzQxIDEwLjc1IDEzLjM4MjVDOS45Mzc4NiAxMy40NzQ2IDkuMTgyODIgMTMuODQ1NyA4LjYxMzgxIDE0LjQzMjVDOC4wNDQ3OSAxNS4wMTkzIDcuNjk3MDggMTUuNzg1NCA3LjYzMDAzIDE2LjZDNy41NjQwMSAxOC4wNDA3IDcuNjQyNCAxOS40ODQ0IDcuODY0MDMgMjAuOTA5NUM2LjAwOTI3IDIxLjYxNDIgNC4zODgzMiAyMi44MjMyIDMuMTg0MDMgMjQuNEMyLjExMTUzIDI2LjM1IDEuNTQ2MDMgMzQuMTUgMi43MTYwMyA0MC42MDQ1QzMuODg2MDMgNDcuMDU5IDcuMjAxMDMgNTQuMTc2NSA4Ljg5NzUzIDU1LjZDMTEuNTEwNSA1Ny43ODQgMjMuMjMgNTcuNTUgMjkuNjQ1NSA1Ni4yODI1QzM2LjA2MSA1NS4wMTUgNDcuMTk1NSA1MS4yNTE1IDQ4Ljc5NDUgNDguMjg3NUM0OS44ODY1IDQ2LjMzNzUgNTAuNDMyNSAzOC41Mzc1IDQ5LjI2MjUgMzIuMDgzQzQ4LjA5MjUgMjUuNjI4NSA0NC43OTcgMTguNTUgNDMuMDgxIDE3LjEyNjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MC41NjU0IDQ1Ljg1MDFDNDIuNjEyOSA0My45MDAxIDQyLjI4MTQgNDAuODM4NiA0MS4yNjc0IDM1LjIyMjZDNDAuMjUzNCAyOS42MDY2IDM5LjQxNDkgMjYuNTY0NiAzNi44NDA5IDI1LjQ3MjZDMzUuNDE3NCAyNC4yNDQxIDI5LjE5NjkgMjUuMDA0NiAyNC4xMDc0IDI1Ljk0MDZDMTkuMDE3OSAyNi44NzY2IDEyLjkxNDQgMjguNDk1MSAxMi4wMzY5IDMwLjI1MDFDMTAuMDg2OSAzMi4yMDAxIDEwLjMwMTQgMzUuMjYxNiAxMS4zMzQ5IDQwLjg1ODFDMTIuMzY4NCA0Ni40NTQ2IDEzLjI4NDkgNDkuNTE2MSAxNS43NjE0IDUwLjYwODFDMTcuMTg0OSA1MS44NTYxIDIzLjM4NTkgNTEuMDc2MSAyOC40OTQ5IDUwLjE1OTZDMzMuNjAzOSA0OS4yNDMxIDM5LjY2ODQgNDcuNTg1NiA0MC41NjU0IDQ1Ljg1MDFaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE5LjkxNSAzMC4yNUMxOS45MTUgMzAuMjUgMjAuMjI3IDMzLjc5OSAyMS4xODI1IDM5LjAyNUMyMi4xMzggNDQuMjUxIDIzLjEzMjUgNDcuNjgzIDIzLjEzMjUgNDcuNjgzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMi42ODc1IDQ1Ljg1QzMyLjY4NzUgNDUuODUgMzIuMzc1NSA0Mi4zMDEgMzEuNDIgMzcuMDc1QzMwLjQ2NDUgMzEuODQ5IDI5LjQ3IDI4LjQxNyAyOS40NyAyOC40MTdcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM2LjA5OTkgMzIuMDI0NEMzNi4wOTk5IDMyLjAyNDQgMzEuNzcwOSAzMi4zMzY0IDI1LjQzMzQgMzMuNTA2NEMyMS45MDQ1IDM0LjEyODEgMTguNDA5NSAzNC45Mjg2IDE0Ljk2MTkgMzUuOTA0OVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTYuNDYzNiA0NC4wNzU2QzE2LjQ2MzYgNDQuMDc1NiAyMC43NzMxIDQzLjc2MzYgMjcuMTMwMSA0Mi41OTM2QzMzLjQ4NzEgNDEuNDIzNiAzNy42NDA2IDQwLjE5NTEgMzcuNjQwNiA0MC4xOTUxXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zNi43ODI1IDE4LjcwNjFDNDEuNTQwNSAxOS4xNTQ2IDQxLjMwNjUgMTkuOTE1MSA0Mi4yNjIgMjEuNjExNlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzYuMTc4IDU2LjIyNDFDMzYuMTc4IDYxLjYwMjcgMzguMzE0NiA2Ni43NjEgNDIuMTE3OSA3MC41NjQyQzQ1LjkyMTEgNzQuMzY3NSA1MS4wNzk0IDc2LjUwNDEgNTYuNDU4IDc2LjUwNDFDNjEuODM2NiA3Ni41MDQxIDY2Ljk5NDkgNzQuMzY3NSA3MC43OTgxIDcwLjU2NDJDNzQuNjAxMyA2Ni43NjEgNzYuNzM4IDYxLjYwMjcgNzYuNzM4IDU2LjIyNDFDNzYuNzM4IDUwLjg0NTUgNzQuNjAxMyA0NS42ODcyIDcwLjc5ODEgNDEuODg0QzY2Ljk5NDkgMzguMDgwNyA2MS44MzY2IDM1Ljk0NDEgNTYuNDU4IDM1Ljk0NDFDNTEuMDc5NCAzNS45NDQxIDQ1LjkyMTEgMzguMDgwNyA0Mi4xMTc5IDQxLjg4NEMzOC4zMTQ2IDQ1LjY4NzIgMzYuMTc4IDUwLjg0NTUgMzYuMTc4IDU2LjIyNDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Mi45NDQ2IDU2LjIyNDJDNDIuOTQ0NiA1Ny45OTg4IDQzLjI5NDEgNTkuNzU2MSA0My45NzMyIDYxLjM5NTZDNDQuNjUyMyA2My4wMzUxIDQ1LjY0NzcgNjQuNTI0OCA0Ni45MDI2IDY1Ljc3OTdDNDguMTU3NCA2Ny4wMzQ1IDQ5LjY0NzIgNjguMDI5OSA1MS4yODY3IDY4LjcwOUM1Mi45MjYyIDY5LjM4ODIgNTQuNjgzNSA2OS43Mzc3IDU2LjQ1ODEgNjkuNzM3N0M1OC4yMzI3IDY5LjczNzcgNTkuOTg5OSA2OS4zODgyIDYxLjYyOTUgNjguNzA5QzYzLjI2OSA2OC4wMjk5IDY0Ljc1ODcgNjcuMDM0NSA2Ni4wMTM2IDY1Ljc3OTdDNjcuMjY4NCA2NC41MjQ4IDY4LjI2MzggNjMuMDM1MSA2OC45NDI5IDYxLjM5NTZDNjkuNjIyIDU5Ljc1NjEgNjkuOTcxNiA1Ny45OTg4IDY5Ljk3MTYgNTYuMjI0MkM2OS45NzE2IDU0LjQ0OTYgNjkuNjIyIDUyLjY5MjMgNjguOTQyOSA1MS4wNTI4QzY4LjI2MzggNDkuNDEzMyA2Ny4yNjg0IDQ3LjkyMzUgNjYuMDEzNiA0Ni42Njg3QzY0Ljc1ODcgNDUuNDEzOSA2My4yNjkgNDQuNDE4NSA2MS42Mjk1IDQzLjczOTNDNTkuOTg5OSA0My4wNjAyIDU4LjIzMjcgNDIuNzEwNyA1Ni40NTgxIDQyLjcxMDdDNTQuNjgzNSA0Mi43MTA3IDUyLjkyNjIgNDMuMDYwMiA1MS4yODY3IDQzLjczOTNDNDkuNjQ3MiA0NC40MTg1IDQ4LjE1NzQgNDUuNDEzOSA0Ni45MDI2IDQ2LjY2ODdDNDUuNjQ3NyA0Ny45MjM1IDQ0LjY1MjMgNDkuNDEzMyA0My45NzMyIDUxLjA1MjhDNDMuMjk0MSA1Mi42OTIzIDQyLjk0NDYgNTQuNDQ5NiA0Mi45NDQ2IDU2LjIyNDJaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU4LjA1NyA1NS4yNjg1QzU4LjM4ODUgNTEuMDc2IDU3LjU4OSA0OC4wMzQgNTYuMzAyIDQ3LjkxN0M1NS4wMTUgNDcuOCA1My44MDYgNDkuNTk0IDUzLjQ3NDUgNTMuNjVDNTMuMDY1IDU4LjczOTUgNTUuMTcxIDU5LjczNCA1OC41ODM1IDYwLjAyNjVDNjEuOTk2IDYwLjMxOSA2NC4yMzg1IDU5LjQ0MTUgNjQuMzM2IDU4LjA3NjVDNjQuNDMzNSA1Ni43MTE1IDYzLjE4NTUgNTUuNiA1OC4wNTcgNTUuMjY4NVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY1Ljk5MzQgNDEuNjE4N0M2Ny45ODcyIDQyLjI4NTkgNjkuNjU3NSA0My42Nzc5IDcwLjY3MzQgNDUuNTE4N1wiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjAuNTc4MSA2OC4wMDE5QzIwLjU3ODEgNjguOTc0MiAyMC45NjQ0IDY5LjkwNjcgMjEuNjUxOSA3MC41OTQyQzIyLjMzOTQgNzEuMjgxNyAyMy4yNzE4IDcxLjY2NzkgMjQuMjQ0MSA3MS42Njc5QzI1LjIxNjQgNzEuNjY3OSAyNi4xNDg5IDcxLjI4MTcgMjYuODM2NCA3MC41OTQyQzI3LjUyMzkgNjkuOTA2NyAyNy45MTAxIDY4Ljk3NDIgMjcuOTEwMSA2OC4wMDE5QzI3LjkxMDEgNjcuMDI5NyAyNy41MjM5IDY2LjA5NzIgMjYuODM2NCA2NS40MDk3QzI2LjE0ODkgNjQuNzIyMiAyNS4yMTY0IDY0LjMzNTkgMjQuMjQ0MSA2NC4zMzU5QzIzLjI3MTggNjQuMzM1OSAyMi4zMzk0IDY0LjcyMjIgMjEuNjUxOSA2NS40MDk3QzIwLjk2NDQgNjYuMDk3MiAyMC41NzgxIDY3LjAyOTcgMjAuNTc4MSA2OC4wMDE5WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00NC43NTgxIDYuNjU1MDNDNDQuNzU4MSA3LjA3NSA0NC44NDA4IDcuNDkwODUgNDUuMDAxNSA3Ljg3ODg1QzQ1LjE2MjIgOC4yNjY4NSA0NS4zOTc4IDguNjE5NCA0NS42OTQ3IDguOTE2MzZDNDUuOTkxNyA5LjIxMzMyIDQ2LjM0NDIgOS40NDg4OCA0Ni43MzIyIDkuNjA5NkM0Ny4xMjAyIDkuNzcwMzEgNDcuNTM2MSA5Ljg1MzAzIDQ3Ljk1NjEgOS44NTMwM0M0OC4zNzYgOS44NTMwMyA0OC43OTE5IDkuNzcwMzEgNDkuMTc5OSA5LjYwOTZDNDkuNTY3OSA5LjQ0ODg4IDQ5LjkyMDQgOS4yMTMzMiA1MC4yMTc0IDguOTE2MzZDNTAuNTE0MyA4LjYxOTQgNTAuNzQ5OSA4LjI2Njg1IDUwLjkxMDYgNy44Nzg4NUM1MS4wNzEzIDcuNDkwODUgNTEuMTU0MSA3LjA3NSA1MS4xNTQxIDYuNjU1MDNDNTEuMTU0MSA2LjIzNTA2IDUxLjA3MTMgNS44MTkyMSA1MC45MTA2IDUuNDMxMjFDNTAuNzQ5OSA1LjA0MzIxIDUwLjUxNDMgNC42OTA2NyA1MC4yMTc0IDQuMzkzN0M0OS45MjA0IDQuMDk2NzQgNDkuNTY3OSAzLjg2MTE4IDQ5LjE3OTkgMy43MDA0NkM0OC43OTE5IDMuNTM5NzUgNDguMzc2IDMuNDU3MDMgNDcuOTU2MSAzLjQ1NzAzQzQ3LjUzNjEgMy40NTcwMyA0Ny4xMjAyIDMuNTM5NzUgNDYuNzMyMiAzLjcwMDQ2QzQ2LjM0NDIgMy44NjExOCA0NS45OTE3IDQuMDk2NzQgNDUuNjk0NyA0LjM5MzdDNDUuMzk3OCA0LjY5MDY3IDQ1LjE2MjIgNS4wNDMyMSA0NS4wMDE1IDUuNDMxMjFDNDQuODQwOCA1LjgxOTIxIDQ0Ljc1ODEgNi4yMzUwNiA0NC43NTgxIDYuNjU1MDNaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgSG9tZSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc2LjQwNjUgMzAuNjk4NUM3NS4zMzQgMjguOTA0NSA2Ny41MTQ1IDIyLjUwODUgNjAuNjMxIDE3LjgwOUM1My43NDc1IDEzLjEwOTUgNDUuMDMxIDguMDU5MDIgNDIuOTA1NSA3Ljc2NjUyQzQwLjk5NDggNy4yMTI5MiAzOC45NjYyIDcuMjEyOTIgMzcuMDU1NSA3Ljc2NjUyQzM1LjA0NyA4LjExNzUyIDI2LjM1IDEzLjA5IDE5LjM2OSAxNy44MDlDMTIuMzg4IDIyLjUyOCA0LjY2NiAyOC45MDQ1IDMuNTkzNSAzMC42OTg1QzAuOTYxMDAxIDMzLjU0NTUgMS45MTY1IDM4LjI2NDUgMy44MDggNDEuMDMzNUM1LjY5OTUgNDMuODAyNSA5LjM2NTUgNDYuMTAzNSAxMi44MTcgNDUuMTA5VjQ3Ljg1ODVDMTIuNyA1NS44MTQ1IDE1LjAwMSA2NS4zNSAxNy4yODI1IDY3LjNDMTkuNTQ0NSA3MC44Mjk1IDMxLjIyNSA3Mi42NDMgNDAgNzIuNjQzQzQ4Ljc3NSA3Mi42NDMgNjAuNDU1NSA3MC44Mjk1IDYyLjcxNzUgNjcuM0M2NC45OTkgNjUuMzUgNjcuMyA1NS44MTQ1IDY3LjMgNDcuOFY0NS4wNTA1QzcwLjc1MTUgNDYuMDQ1IDc0LjUxNSA0My42MDc1IDc2LjMwOSA0MC45NzVDNzguMTAzIDM4LjM0MjUgNzkgMzMuNTQ1NSA3Ni40MDY1IDMwLjY5ODVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MCA0Ni41MzI1QzI3LjkxIDQ2LjUzMjUgMzIuNzA3IDYzLjQ1ODUgMzQuMDUyNSA2NC45MjFDMzQuNzE1NSA2Ni4zNjQgMzcuNDQ1NSA2Ni4zNjQgNDAgNjYuMzY0QzQyLjU1NDUgNjYuMzY0IDQ1LjI4NDUgNjYuMzY0IDQ1Ljk0NzUgNjQuOTIxQzQ3LjI5MyA2My40IDUyLjA5IDQ2LjUzMjUgNDAgNDYuNTMyNVpcIlxuICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIxLjY1MDQgMzkuNTUxNUMyNy42OTg2IDM2LjgwMTMgMzMuMzg5MSAzMy4zMjQyIDM4LjU5NTkgMjkuMTk3QzM4Ljk5NjkgMjguODgzOSAzOS40OTExIDI4LjcxMzkgMzkuOTk5OSAyOC43MTM5QzQwLjUwODcgMjguNzEzOSA0MS4wMDI5IDI4Ljg4MzkgNDEuNDAzOSAyOS4xOTdDNDYuNjEwNyAzMy4zMjQyIDUyLjMwMTIgMzYuODAxMyA1OC4zNDk0IDM5LjU1MTVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDQuODk0NSAxNS40MTA1QzQ5LjQyMzYgMTcuMzkwMSA1My41OTQzIDIwLjEwNDYgNTcuMjM4IDIzLjQ0NDVcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgSW5mb3JtYXRpb24gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01NC45NzYgNjMuMTI3MUM1Mi44OTkzIDYyLjY5MTQgNTAuNzc5NSA2Mi40OTUxIDQ4LjY1OCA2Mi41NDIxQzQ4Ljk3IDU4Ljc1OTEgNDkuMDY3NSA1My45MjMxIDQ5LjA2NzUgNDkuODI4MUM0OS4wNjc1IDQyLjU5MzYgNDguNTIxNSAzMy4xMzYxIDQ3LjQyOTUgMzEuMTA4MUM0NS4yODQ1IDI3LjIwODEgMzguMTI4IDI3LjM2NDEgMzMuOTU1IDI3LjM2NDFDMzAuMDU1IDI3LjM2NDEgMjQuOTA3IDI3LjU3ODYgMjMuODkzIDI4LjYzMTZDMjIuODc5IDI5LjE3NzYgMjEuOTQzIDMyLjAyNDYgMjEuOTQzIDM0LjQ4MTZDMjEuOTQzIDM2LjkzODYgMjIuOTM3NSAzOS42ODgxIDIzLjg5MyA0MC4yMzQxQzI0Ljg0ODUgNDAuNzgwMSAyNy43OTMgNDEuMzY1MSAzMS4wODg1IDQxLjQ2MjZDMzAuOTcxNSA0NC4yNzA2IDMwLjkzMjUgNDcuMzEyNiAzMC45MzI1IDQ5LjkyNTZDMzAuOTMyNSA1NC4wMjA2IDMxLjAzIDU4Ljg1NjYgMzEuMzQyIDYyLjYzOTZDMjkuMjIwNiA2Mi41OTI2IDI3LjEwMDggNjIuNzg4OSAyNS4wMjQgNjMuMjI0NkMyMi4yMzU1IDYzLjg0ODYgMjEuODg0NSA2Ny45MDQ2IDIxLjg4NDUgNzAuMjY0MUMyMS44ODQ1IDcyLjYyMzYgMjIuMjM1NSA3Ni42OTkxIDI1LjAyNCA3Ny4zMjMxQzI2LjQwODUgNzcuOTI3NiAzMy44MzggNzcuOTg2MSA0MCA3Ny45ODYxQzQ2LjE2MiA3Ny45ODYxIDUzLjY1IDc3Ljk4NjEgNTQuOTc2IDc3LjMyMzFDNTcuNzY0NSA3Ni42OTkxIDU4LjExNTUgNzIuNjQzMSA1OC4xMTU1IDcwLjI2NDFDNTguMTE1NSA2Ny44ODUxIDU3Ljc2NDUgNjMuNzUxMSA1NC45NzYgNjMuMTI3MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI4Ljc2ODEgMTAuNTM1NkMyOC43NjgxIDEyLjc2OTggMjkuNjU1NiAxNC45MTI0IDMxLjIzNTQgMTYuNDkyMkMzMi44MTUyIDE4LjA3MiAzNC45NTc5IDE4Ljk1OTYgMzcuMTkyMSAxOC45NTk2QzM5LjQyNjMgMTguOTU5NiA0MS41Njg5IDE4LjA3MiA0My4xNDg3IDE2LjQ5MjJDNDQuNzI4NSAxNC45MTI0IDQ1LjYxNjEgMTIuNzY5OCA0NS42MTYxIDEwLjUzNTZDNDUuNjE2MSA4LjMwMTM5IDQ0LjcyODUgNi4xNTg3MSA0My4xNDg3IDQuNTc4OUM0MS41Njg5IDIuOTk5MSAzOS40MjYzIDIuMTExNTcgMzcuMTkyMSAyLjExMTU3QzM0Ljk1NzkgMi4xMTE1NyAzMi44MTUyIDIuOTk5MSAzMS4yMzU0IDQuNTc4OUMyOS42NTU2IDYuMTU4NzEgMjguNzY4MSA4LjMwMTM5IDI4Ljc2ODEgMTAuNTM1NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM3LjI1MDUgMzMuMTk0NkM0MC4yNTM1IDMzLjAxOTEgNDEuNzE2IDMzLjE5NDYgNDIuMzk4NSAzMy42ODIxQzQzLjA4MSAzNC4xNjk2IDQyLjczIDM1LjYzMjEgNDIuNzMgMzUuNjMyMVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBmaWxsPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzcuNzM4IDcuMDA2MUMzOC43MDM4IDcuMjY3NiAzOS41NTA1IDcuODUyNzEgNDAuMTM2NSA4LjY2MzZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgTW9tID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTYuNzg5NCA0Mi44NDcxQzYyLjYzOTQgNDEuODMzMSA2NC41ODk0IDQwLjI3MzEgNjMuMTY1OSAzOC42OTM2QzYwLjg0NTQgMzYuMDYxMSA2MC44NDU0IDMwLjg5MzYgNjAuODQ1NCAyNS41NzAxQzYwLjg0NTQgMTEuNDEzMSA1My45MDM0IDEuOTc1MSAzOS45OTk5IDEuOTc1MUMyNi4wOTY0IDEuOTc1MSAxOS4xNTQ0IDExLjQxMzEgMTkuMTU0NCAyNS41NzAxQzE5LjE1NDQgMzAuODE1NiAxOS4xNTQ0IDM2LjA2MTEgMTYuODMzOSAzOC42OTM2QzE1LjQyOTkgNDAuMjczMSAxNy40MTg5IDQxLjgzMzEgMjMuMjEwNCA0Mi44NDcxQzE1LjIxNTQgNDcuNjQ0MSAxMS4xNTk0IDU2LjM2MDYgMTEuMTU5NCA2Ny41MzQxQzExLjE1OTQgNzUuMzM0MSAyMC43NzI5IDc4LjAyNTEgMzkuOTk5OSA3OC4wMjUxQzU5LjIyNjkgNzguMDI1MSA2OC44NDA0IDc1LjQxMjEgNjguODQwNCA2Ny41MzQxQzY4Ljg0MDQgNTYuMzYwNiA2NC43ODQ0IDQ3LjY0NDEgNTYuNzg5NCA0Mi44NDcxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDYuMTAzNSA4LjA1OTA4QzQ4LjQwMyA4Ljg2ODg3IDUwLjQwMjMgMTAuMzU4MSA1MS44MzY1IDEyLjMyOTZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMS42MTUgMzEuMzQyQzMxLjYxNSAzMS4zNDIgMzMuNzAxNSAzMy40NDggNDAgMzMuNDQ4QzQ2LjI5ODUgMzMuNDQ4IDQ4LjM4NSAzMS4zNDIgNDguMzg1IDMxLjM0MlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuNTA5IDIxLjkwNDFDMjkuNTA5IDIyLjczNjggMjkuODM5OCAyMy41MzUzIDMwLjQyODYgMjQuMTI0MUMzMS4wMTczIDI0LjcxMjkgMzEuODE1OSAyNS4wNDM2IDMyLjY0ODUgMjUuMDQzNkMzMy40ODEyIDI1LjA0MzYgMzQuMjc5NyAyNC43MTI5IDM0Ljg2ODUgMjQuMTI0MUMzNS40NTczIDIzLjUzNTMgMzUuNzg4IDIyLjczNjggMzUuNzg4IDIxLjkwNDFDMzUuNzg4IDIxLjA3MTUgMzUuNDU3MyAyMC4yNzMgMzQuODY4NSAxOS42ODQyQzM0LjI3OTcgMTkuMDk1NCAzMy40ODEyIDE4Ljc2NDYgMzIuNjQ4NSAxOC43NjQ2QzMxLjgxNTkgMTguNzY0NiAzMS4wMTczIDE5LjA5NTQgMzAuNDI4NiAxOS42ODQyQzI5LjgzOTggMjAuMjczIDI5LjUwOSAyMS4wNzE1IDI5LjUwOSAyMS45MDQxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ0LjIxMTkgMjEuOTA0MUM0NC4yMTE5IDIyLjczNjggNDQuNTQyNyAyMy41MzUzIDQ1LjEzMTUgMjQuMTI0MUM0NS43MjAyIDI0LjcxMjkgNDYuNTE4OCAyNS4wNDM2IDQ3LjM1MTQgMjUuMDQzNkM0OC4xODQxIDI1LjA0MzYgNDguOTgyNiAyNC43MTI5IDQ5LjU3MTQgMjQuMTI0MUM1MC4xNjAxIDIzLjUzNTMgNTAuNDkwOSAyMi43MzY4IDUwLjQ5MDkgMjEuOTA0MUM1MC40OTA5IDIxLjQ5MTkgNTAuNDA5NyAyMS4wODM2IDUwLjI1MTkgMjAuNzAyN0M1MC4wOTQyIDIwLjMyMTggNDkuODYyOSAxOS45NzU3IDQ5LjU3MTQgMTkuNjg0MkM0OS4yNzk4IDE5LjM5MjcgNDguOTMzOCAxOS4xNjE0IDQ4LjU1MjggMTkuMDAzNkM0OC4xNzE5IDE4Ljg0NTkgNDcuNzYzNyAxOC43NjQ2IDQ3LjM1MTQgMTguNzY0NkM0Ni45MzkxIDE4Ljc2NDYgNDYuNTMwOSAxOC44NDU5IDQ2LjE1IDE5LjAwMzZDNDUuNzY5MSAxOS4xNjE0IDQ1LjQyMyAxOS4zOTI3IDQ1LjEzMTUgMTkuNjg0MkM0NC44Mzk5IDE5Ljk3NTcgNDQuNjA4NyAyMC4zMjE4IDQ0LjQ1MDkgMjAuNzAyN0M0NC4yOTMxIDIxLjA4MzYgNDQuMjExOSAyMS40OTE5IDQ0LjIxMTkgMjEuOTA0MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMS42NTA0IDQzLjkwMDFDMjQuMDk2NSA0Mi42MTk2IDI2LjcyODYgNDEuNzMxMiAyOS40NTA0IDQxLjI2NzZMMjEuNjUwNCA0My45MDAxWlwiXG4gICAgICAgIGZpbGw9XCIjRUI3MzIyXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIxLjY1MDQgNDMuOTAwMUMyNC4wOTY1IDQyLjYxOTYgMjYuNzI4NiA0MS43MzEyIDI5LjQ1MDQgNDEuMjY3NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTguMzQ5MyA0My45MDAxQzU1LjczNjMgNDEuMjY3NiA1MC41NDkzIDQxLjI2NzYgNTAuNTQ5MyA0MS4yNjc2TDU4LjM0OTMgNDMuOTAwMVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTguMzQ5MyA0My45MDAxQzU1LjczNjMgNDEuMjY3NiA1MC41NDkzIDQxLjI2NzYgNTAuNTQ5MyA0MS4yNjc2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IE1haWwgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03MS4yMDAxIDY2LjUwMDVDNzcuMDUwMSA2My44NDg1IDc4LjA4MzYgNTAuMjM3NSA3OC4wODM2IDQwQzc4LjA4MzYgMjkuNzYyNSA3Ni45MzMxIDE2LjE1MTUgNzEuMjAwMSAxMy40OTk1QzY4LjMxNDEgMTAuODQ3NSA1Mi44NzAxIDEwLjEyNiA0MC4wMDAxIDEwLjEyNkMyNy4xMzAxIDEwLjEyNiAxMS43NjQxIDEwLjg0NzUgOC44MDAxIDEzLjQ5OTVDMy4wNjcxIDE2LjE1MTUgMS45NzUxIDI5Ljc2MjUgMS45NzUxIDQwQzEuOTc1MSA1MC4yMzc1IDMuMDY3MSA2My44NDg1IDguODAwMSA2Ni41MDA1QzExLjcwNTYgNjkuMTUyNSAyNy4xNDk2IDY5Ljg3NCA0MC4wMDAxIDY5Ljg3NEM1Mi44NTA2IDY5Ljg3NCA2OC4yNTU2IDY5LjI1IDcxLjIwMDEgNjYuNTAwNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEwLjEwNjcgMjYuMzUwMUMxNy4yMjQyIDMzLjc3OTYgMjcuNTM5NyA0MS44MTM2IDMwLjcxODIgNDMuMTk4MUMzMy42MDczIDQ0LjYxNSAzNi43ODI0IDQ1LjM1MTcgNDAuMDAwMiA0NS4zNTE3QzQzLjIxOCA0NS4zNTE3IDQ2LjM5MzEgNDQuNjE1IDQ5LjI4MjIgNDMuMTk4MUM1Mi40NDEyIDQxLjk1MDEgNjIuNzU2NyAzMy44NTc2IDY5Ljg3NDIgMjYuMzUwMVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS4xMzg3IDQyLjcxMDRMMTUuNTY2NyA1Ni4zMDE5XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUwLjg2MTYgNDIuNzEwNEw2NC40NTMxIDU2LjMwMTlcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTcuNjQ3NyAxNS42ODM0QzYxLjE1MTcgMTUuNjc2NSA2NC42Mjk4IDE2LjI4MzcgNjcuOTI0MiAxNy40Nzc0XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IE5vID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMS45NzUxIDQwLjAwMDFDMS45NzUxIDUwLjA4NSA1Ljk4MTI5IDU5Ljc1NjggMTMuMTEyNCA2Ni44ODc4QzIwLjI0MzQgNzQuMDE4OSAyOS45MTUyIDc4LjAyNTEgNDAuMDAwMSA3OC4wMjUxQzUwLjA4NSA3OC4wMjUxIDU5Ljc1NjggNzQuMDE4OSA2Ni44ODc4IDY2Ljg4NzhDNzQuMDE4OSA1OS43NTY4IDc4LjAyNTEgNTAuMDg1IDc4LjAyNTEgNDAuMDAwMUM3OC4wMjUxIDI5LjkxNTIgNzQuMDE4OSAyMC4yNDM0IDY2Ljg4NzggMTMuMTEyNEM1OS43NTY4IDUuOTgxMjkgNTAuMDg1IDEuOTc1MSA0MC4wMDAxIDEuOTc1MUMyOS45MTUyIDEuOTc1MSAyMC4yNDM0IDUuOTgxMjkgMTMuMTEyNCAxMy4xMTI0QzUuOTgxMjkgMjAuMjQzNCAxLjk3NTEgMjkuOTE1MiAxLjk3NTEgNDAuMDAwMVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5kYW5nZXJ9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTkuNjU2IDUwLjU0OTVDNTkuMzQ0IDQ5LjA0OCA1NS4xNTE1IDQ0LjQwNyA1MC45MiA0MEM1NS4xNTE1IDM1LjU5MyA1OS4zNDQgMzAuOTUyIDU5LjY1NiAyOS40NTA1QzYwLjU1MyAyNy43MTUgNTguNDI3NSAyNS4zMzYgNTYuNTU1NSAyMy40NDQ1QzU0LjY4MzUgMjEuNTUzIDUyLjI4NSAxOS41NDQ1IDUwLjU0OTUgMjAuMzQ0QzQ5LjA0OCAyMC42NTYgNDQuNDA3IDI0Ljg0ODUgNDAgMjkuMDhDMzUuNTkzIDI0Ljg0ODUgMzAuOTUyIDIwLjY1NiAyOS40NTA1IDIwLjM0NEMyNy43MTUgMTkuNDQ3IDI1LjMzNiAyMS41NzI1IDIzLjQ2NCAyMy40NDQ1QzIxLjU5MiAyNS4zMTY1IDE5LjQ0NyAyNy43MTUgMjAuMzQ0IDI5LjQ1MDVDMjAuNjU2IDMwLjk1MiAyNC44NDg1IDM1LjU5MyAyOS4wOCA0MEMyNC44NDg1IDQ0LjQwNyAyMC42NTYgNDkuMDQ4IDIwLjM0NCA1MC41NDk1QzE5LjQ0NyA1Mi4yODUgMjEuNTcyNSA1NC42NjQgMjMuNDQ0NSA1Ni41NTU1QzI1LjMxNjUgNTguNDQ3IDI3LjcxNSA2MC41NTMgMjkuNDUwNSA1OS42NTZDMzAuOTUyIDU5LjM0NCAzNS41OTMgNTUuMTUxNSA0MCA1MC45MkM0NC40MDcgNTUuMTUxNSA0OS4wNDggNTkuMzQ0IDUwLjU0OTUgNTkuNjU2QzUyLjI4NSA2MC41NTMgNTQuNjY0IDU4LjQyNzUgNTYuNTU1NSA1Ni41NTU1QzU4LjQ0NyA1NC42ODM1IDYwLjU1MyA1Mi4yODUgNTkuNjU2IDUwLjU0OTVaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU0Ljc0MjIgMTAuNzVDNTguNjM3MyAxMi40MjE0IDYyLjEzMzMgMTQuOTAwNiA2NC45OTkyIDE4LjAyMzVcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgRmlsZSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ4LjQ0MzQgMi4yNDgxQzQ1LjU3NjkgMi4wNTMxIDQyLjY3MTQgMS45NzUxIDM5Ljk5OTkgMS45NzUxQzI5LjM3MjQgMS45NzUxIDE1LjI1NDQgMy4wNjcxIDEyLjUyNDQgOC44MDAxQzkuNzc0OSAxMS42ODYxIDkuMDE0NCAyNy4xNDk2IDkuMDE0NCA0MC4wMDAxQzkuMDE0NCA1Mi44NTA2IDkuNzc0OSA2OC4yNTU2IDEyLjUyNDQgNzEuMjAwMUMxNS4yNTQ0IDc3LjA1MDEgMjkuMzcyNCA3OC4wODM2IDM5Ljk5OTkgNzguMDgzNkM1MC42Mjc0IDc4LjA4MzYgNjQuNzQ1NCA3Ni45MzMxIDY3LjQ3NTQgNzEuMjAwMUM3MC4yMjQ5IDY4LjMxNDEgNzAuOTg1NCA1Mi44NTA2IDcwLjk4NTQgNDAuMDAwMUM3MC45ODU0IDM1Ljg4NTYgNzAuOTg1NCAzMS40Nzg2IDcwLjcxMjQgMjcuMzI1MUM3MC40NTg5IDIxLjk0MzEgNTQuMTU2OSAyLjYxODYgNDguNDQzNCAyLjI0ODFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00NS42MzU1IDEwLjQxODdDNDUuNjM1NSAxNi4wNTQyIDQ1LjYzNTUgMjEuNjg5NyA0OC40NDM1IDI0LjUxNzJDNTEuMjUxNSAyNy4zNDQ3IDU2LjkwNjUgMjcuMzI1MiA2Mi41NDIgMjcuMzI1MlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Mi41OTY5IDExLjIxOEM1NC42ODg4IDEyLjg2MTQgNTYuNTQ1NiAxNC43ODM4IDU4LjExNTQgMTYuOTMxNVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBZZXMgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yLjg5MTYgNDAuMDAwMUMyLjg5MTYgNDQuOTkzNiAzLjg1MTQ0IDQ5LjkzODIgNS43MTYzMiA1NC41NTE2QzcuNTgxMTkgNTkuMTY1IDEwLjMxNDYgNjMuMzU2OSAxMy43NjA0IDY2Ljg4NzhDMTcuMjA2MyA3MC40MTg4IDIxLjI5NzEgNzMuMjE5NyAyNS43OTkzIDc1LjEzMDZDMzAuMzAxNSA3Ny4wNDE2IDM1LjEyNjkgNzguMDI1MSA0MC4wMDAxIDc4LjAyNTFDNDQuODczMyA3OC4wMjUxIDQ5LjY5ODcgNzcuMDQxNiA1NC4yMDA5IDc1LjEzMDZDNTguNzAzMSA3My4yMTk3IDYyLjc5MzkgNzAuNDE4OCA2Ni4yMzk4IDY2Ljg4NzhDNjkuNjg1NiA2My4zNTY5IDcyLjQxOSA1OS4xNjUgNzQuMjgzOSA1NC41NTE2Qzc2LjE0ODggNDkuOTM4MiA3Ny4xMDg2IDQ0Ljk5MzYgNzcuMTA4NiA0MC4wMDAxQzc3LjEwODYgMzUuMDA2NiA3Ni4xNDg4IDMwLjA2MiA3NC4yODM5IDI1LjQ0ODZDNzIuNDE5IDIwLjgzNTIgNjkuNjg1NiAxNi42NDMzIDY2LjIzOTggMTMuMTEyNEM2Mi43OTM5IDkuNTgxNDEgNTguNzAzMSA2Ljc4MDUxIDU0LjIwMDkgNC44Njk1OEM0OS42OTg3IDIuOTU4NjQgNDQuODczMyAxLjk3NTEgNDAuMDAwMSAxLjk3NTFDMzUuMTI2OSAxLjk3NTEgMzAuMzAxNSAyLjk1ODY0IDI1Ljc5OTMgNC44Njk1OEMyMS4yOTcxIDYuNzgwNTEgMTcuMjA2MyA5LjU4MTQxIDEzLjc2MDQgMTMuMTEyNEMxMC4zMTQ2IDE2LjY0MzMgNy41ODExOSAyMC44MzUyIDUuNzE2MzIgMjUuNDQ4NkMzLjg1MTQ0IDMwLjA2MiAyLjg5MTYgMzUuMDA2NiAyLjg5MTYgNDAuMDAwMVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdWNjZXNzfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU0Ljg1OTEgMTAuMjYyN0M1OC42NzQ2IDExLjkzNTUgNjIuMDgxMiAxNC40MTcyIDY0Ljg0MzEgMTcuNTM2MlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTcuMzU1IDIyLjkxODFDNTYuODg0MSAyMi40NDY0IDU2LjMyNDkgMjIuMDcyMiA1NS43MDkyIDIxLjgxNjlDNTUuMDkzNSAyMS41NjE2IDU0LjQzMzYgMjEuNDMwMiA1My43NjcgMjEuNDMwMkM1My4xMDA1IDIxLjQzMDIgNTIuNDQwNiAyMS41NjE2IDUxLjgyNDkgMjEuODE2OUM1MS4yMDkyIDIyLjA3MjIgNTAuNjUgMjIuNDQ2NCA1MC4xNzkgMjIuOTE4MUM0Ni4yMTU4IDI2LjMwMzQgNDIuNzAzMiAzMC4xODMxIDM5LjcyNyAzNC40NjIxQzM4LjQ5ODUgMzYuMTAwMSAzNy4zNDggMzcuNjc5NiAzNi4yOTUgMzkuMTYxNkMzMi4zOTUgMzYuMTU4NiAyOS40MzEgMzQuMDUyNiAyOC4xODMgMzMuODk2NkMyNi4wNTc1IDMzLjA1ODEgMjMuNzU2NSAzNS40MTc2IDIyLjMzMyAzNy40MDY2QzIwLjkwOTUgMzkuMzk1NiAxOS4xNzQgNDIuMjIzMSAyMC41IDQ0LjA5NTFDMjAuOTg3NSA0NS4yODQ2IDIzLjY5OCA0Ny44MDAxIDI3LjUzOTUgNTAuNzgzNkMzMi4xMjIgNTQuMzcxNiAzNS40NTY1IDU3LjA4MjEgMzcuMjg5NSA1Ny4zMzU2QzQwLjI3MyA1OC41MjUxIDQyLjM3OSA1NC44OTgxIDUwLjkzOTUgNDMuMzE1MUM1NC4xODggMzkuMjE2MSA1Ni45MzczIDM0Ljc0NTIgNTkuMTI5NSAyOS45OTY2QzU5Ljc4MTcgMjguODEwNiA1OS45NjEyIDI3LjQyMTggNTkuNjMyIDI2LjEwOUM1OS4zMDI5IDI0Ljc5NjEgNTguNDg5NSAyMy42NTYzIDU3LjM1NSAyMi45MTgxWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IE5vdGUgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Ni4yMTE2IDI0Ljg4NDZDNzQuNTU0MSAyMC42NzI2IDYzLjYzNDEgMjAuMDg3NiA1Ny4yNTc2IDIwLjA4NzZDNTEuMTg4NiAyMC40MDk5IDQ1LjI3OSAyMi4xNDYxIDQwLjAwMDEgMjUuMTU3NkMzNC43MjEyIDIyLjE0NjEgMjguODExNiAyMC40MDk5IDIyLjc0MjYgMjAuMDg3NkMxNi4zNjYxIDIwLjA4NzYgNS40NDYxIDIwLjY3MjYgMy43ODg2IDI0Ljg4NDZDMi4xMzExIDI3LjAxMDEgMS45NzUxIDM4LjMyMDEgMS45NzUxIDQ3LjY5OTZDMS45NzUxIDU3LjA3OTEgMi4xMzExIDY4LjQwODYgMy43ODg2IDcwLjUzNDFDNS40NDYxIDc0Ljc4NTEgMTQuNjUwMSA3MS4wODAxIDIyLjc0MjYgNzEuMDgwMUMyNi4yMjkxIDcxLjE5MDEgMjkuNzAyOSA3MS41NTUxIDMzLjEzNjEgNzIuMTcyMUMzMy45MTYxIDc1LjQwOTEgMzcuNzM4MSA3NS44NTc3IDQwLjAwMDEgNzUuODU3N0M0Mi4yNjIxIDc1Ljg1NzcgNDYuMDQ1MSA3NS40MDkxIDQ2Ljg0NDYgNzIuMjExMUM1MC4yODU4IDcxLjU5NzIgNTMuNzY0OSA3MS4yMTkzIDU3LjI1NzYgNzEuMDgwMUM2Ni4wNTIxIDcxLjA4MDEgNzQuNTU0MSA3NC43ODUxIDc2LjIxMTYgNzAuNTM0MUM3Ny44NjkxIDY4LjQwODYgNzguMDI1MSA1Ny4wOTg2IDc4LjAyNTEgNDcuNjk5NkM3OC4wMjUxIDM4LjMwMDYgNzcuODY5MSAyNy4wMTAxIDc2LjIxMTYgMjQuODg0NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5Ljg2IDMyLjc2MjdDMjMuOTY0NyAzMi4wODAxIDE4LjAxMDMgMzIuMDgwMSAxMi4xMTUgMzIuNzYyN1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuODYgNDUuNDM3N0MyMy45NjQ3IDQ0Ljc1NTEgMTguMDEwMyA0NC43NTUxIDEyLjExNSA0NS40Mzc3XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS44NiA1OC42MTk2QzIzLjk2NDcgNTcuOTM3IDE4LjAxMDMgNTcuOTM3IDEyLjExNSA1OC42MTk2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02Ny44ODUxIDMyLjc2MjdDNjEuOTg5OCAzMi4wODAxIDU2LjAzNTQgMzIuMDgwMSA1MC4xNDAxIDMyLjc2MjdcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY3Ljg4NTEgNDUuNDM3N0M2MS45ODk4IDQ0Ljc1NTEgNTYuMDM1NCA0NC43NTUxIDUwLjE0MDEgNDUuNDM3N1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjcuODg1MSA1OC42MTk2QzYxLjk4OTggNTcuOTM3IDU2LjAzNTQgNTcuOTM3IDUwLjE0MDEgNTguNjE5NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDAgMjUuMTU3N1Y2MC42NDc3XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02Ny4xNjM2IDI1LjE1NzdDNzIuMzg5NiAyNS45Mzc3IDcyLjQ4NzEgMjcuMzQxNyA3Mi42ODIxIDI5LjY2MjJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM4LjMyOTIgMjYuMDIwNEMzOC4yNzc0IDI2LjA3MjIgMzcuMDI1NSAyNi44ODM3IDM1Ljg0MjcgMzIuMzE0MUMzNS4zODEyIDM0LjMxNzUgMzUuMTc4MSAzNi4zNzE3IDM1LjIzODQgMzguNDI2NkMzNS4zMTQ5IDM5LjA1OTUgMzUuNjAxNSAzOS42NDg0IDM2LjA1MjMgNDAuMDk5MkMzNi41MDMgNDAuNTUgMzcuMDkxOSA0MC44MzY1IDM3LjcyNDggNDAuOTEzMUMzOS43Nzk4IDQwLjk3MzQgNDEuODM0IDQwLjc3MDMgNDMuODM3MyA0MC4zMDg3QzQ0LjU4ODQgNDAuMTQ0NyA0OC44MDE1IDM5LjE2MDUgNTAuMTM5NyAzNy44MjIzTDU3LjA0NjUgMzAuOTE1NUM2MC41Nzc1IDI3LjM3NTggNjguNzM2MSAxOC44ODA1IDY4Ljc1MzQgMTcuMDU4OUM2OS4yMTk2IDE1LjY5NDggNjcuNzM0NiAxMi4zNzk1IDY1Ljc0OSAxMC4zOTM5QzYzLjc2MzMgOC40MDgxNyA2MC40NDggNi45MjMyMiA1OS4wNzUzIDcuMzg5NDJDNTcuMjYyMyA3LjM4OTQyIDQ4Ljc2NyAxNS41NjUzIDQ1LjI2MTggMTkuMTEzNkwzOC4zMjkyIDI2LjAyMDRaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OC4xNDUzIDM0LjgwOTJDNDcuMjIwNCAzMy40OTY3IDQ2LjE3MDkgMzIuMjc2NiA0NS4wMTE0IDMxLjE2NTlDNDMuOTA0NSAzMC4wMDU2IDQyLjY4NzIgMjguOTU2IDQxLjM3NjcgMjguMDMyXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02My45MjczIDE5LjAyNzJDNjMuMDA4NyAxNy43MDk4IDYxLjk1ODcgMTYuNDg5MSA2MC43OTMzIDE1LjM4MzlDNTkuNjk0NyAxNC4yMjUgNTguNDg2MSAxMy4xNzU0IDU3LjE4NDYgMTIuMjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU5LjYzNjUgOS44MTUzMUM2MC4xNzE3IDkuNDAwOTEgNjIuMTY2MSAxMC40MTEgNjMuNzExNSAxMS42ODAxXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9icmFuZC9icmFuZC5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgRmVuY2UgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IEZpZ3VyZUNvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoRmlndXJlQ29udGV4dCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBGaWd1cmVDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzYuODM1NCAyMy42MDA1QzczLjczNzYgMjAuODUyOSA3MC4zNDMxIDE4LjQ1OTEgNjYuNzE0OSAxNi40NjM1QzYzLjIxNDggMTQuMjg0NSA1OS40ODc4IDEyLjQ5MyA1NS41OTk5IDExLjEyMDVDNTQuNDIzNiAxMC44NjI3IDUzLjE5NzggMTAuOTUwNyA1Mi4wNzA0IDExLjM3NEM0OC4zODUxIDEzLjI2MjIgNDQuOTE5MSAxNS41NTExIDQxLjczNTQgMTguMTk5QzM4LjQyNjkgMjAuNjk3NiAzNS4zOTk2IDIzLjU0ODMgMzIuNzA2OSAyNi43MDFDMzIuMTI3NyAyNy42NzAzIDMxLjg3MDQgMjguNzk4MSAzMS45NzIgMjkuOTIyN0MzMi4wNzM2IDMxLjA0NzMgMzIuNTI4OSAzMi4xMTA4IDMzLjI3MjQgMzIuOTYwNUMzMy45MDI3IDMzLjgyODkgMzQuNzc2NSAzNC40OTA3IDM1Ljc4MzIgMzQuODYyMkMzNi43ODk5IDM1LjIzMzYgMzcuODg0MiAzNS4yOTc5IDM4LjkyNzQgMzUuMDQ3VjM2LjcyNEMzOS4yNzg0IDQxLjU2IDQxLjA1MjkgNDcuMjkzIDQyLjUxNTQgNDguMjg3NUM0NC4wMzY0IDUwLjM3NCA1MS4xOTI5IDUwLjk3ODUgNTYuNTM1OSA1MC42MDhDNjEuODc4OSA1MC4yMzc1IDY4Ljg1OTkgNDguNjU4IDcwLjE4NTkgNDYuMzU3QzcxLjQ3MjkgNDUuMTY3NSA3Mi40NDc5IDM5LjIzOTUgNzIuMTM1OSAzNC40MDM1QzcyLjEzNTkgMzMuODU3NSA3Mi4wMzg0IDMzLjMxMTUgNzEuOTYwNCAzMi43NDZDNzMuMDI2MyAzMi44NDM1IDc0LjA5NzIgMzIuNjI1NyA3NS4wNDAyIDMyLjExOTVDNzUuOTgzMyAzMS42MTMzIDc2Ljc1NjcgMzAuODQxMiA3Ny4yNjQ1IDI5Ljg5OUM3Ny44NzQyIDI4Ljk0MDcgNzguMTYxNSAyNy44MTI1IDc4LjA4NDMgMjYuNjc5M0M3OC4wMDcyIDI1LjU0NjEgNzcuNTY5NSAyNC40NjczIDc2LjgzNTQgMjMuNjAwNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTUuNDI0NSAzNC43NzRDNDguMDkyNSAzNS4yODEgNTEuNzE5NSA0NS4zNDMgNTIuNTk3IDQ2LjE4MTVDNTMuMDQ1NSA0Ny4wMiA1NC43MDMgNDYuOTAzIDU2LjI2MyA0Ni44MDU1QzU3LjgyMyA0Ni43MDggNTkuNDYxIDQ2LjU3MTUgNTkuODEyIDQ1LjY3NDVDNjAuNTcyNSA0NC43MTkgNjIuNzU2NSAzNC4yNDc1IDU1LjQyNDUgMzQuNzc0WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00My45OTc0IDMxLjMwM0M0Ny41NDczIDI5LjQwOTIgNTAuODU0IDI3LjA5MTIgNTMuODQ0OSAyNC40QzU0LjA3NDQgMjQuMTk0NiA1NC4zNjU4IDI0LjA3MTUgNTQuNjczMSAyNC4wNTAzQzU0Ljk4MDQgMjQuMDI5MSA1NS4yODU5IDI0LjExMSA1NS41NDE0IDI0LjI4M0M1OC44NzMxIDI2LjU1OTkgNjIuNDY3NiAyOC40MjU5IDY2LjI0NjkgMjkuODQwNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ny4wNjI1IDE1LjY2NEM1OS44ODQ5IDE2LjY4MTUgNjIuNTIwMiAxOC4xNTczIDY0Ljg2MjUgMjAuMDMyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMS44Mjk1IDMuNjEzQzMwLjY2MjcgMy43MjM2OCAyOS41NzIgNC4yNDE0MiAyOC43NDg1IDUuMDc1NUMyNy43MTU3IDQuNTI0MzIgMjYuNTI2NyA0LjMzODc2IDI1LjM3NSA0LjU0OUMyNC43MTIzIDQuNTc3OTQgMjQuMDY0NCA0Ljc1NDE1IDIzLjQ3ODQgNS4wNjQ4M0MyMi44OTIzIDUuMzc1NSAyMi4zODI4IDUuODEyODMgMjEuOTg2OSA2LjM0NTA1QzIxLjU5MSA2Ljg3NzI2IDIxLjMxODcgNy40OTA5OSAyMS4xODk3IDguMTQxNjNDMjEuMDYwNiA4Ljc5MjI3IDIxLjA3ODIgOS40NjM0OSAyMS4yNDEgMTAuMTA2NUMyMS44ODQ1IDE0LjU3MiAyNi40NjcgMTcuMDY4IDI5Ljg3OTUgMTguMzE2QzMwLjEzNzYgMTguNDE1MiAzMC40MTcgMTguNDQ1OCAzMC42OTA0IDE4LjQwNDhDMzAuOTYzOCAxOC4zNjM3IDMxLjIyMTkgMTguMjUyNSAzMS40Mzk1IDE4LjA4MkMzNC4zNjQ1IDE1Ljg5OCAzOC4wMzA1IDEyLjIzMiAzNy4yODk1IDcuNzQ3QzM3LjI2MSA3LjA5MzU1IDM3LjA4ODcgNi40NTQ0NCAzNi43ODQ4IDUuODc1MjVDMzYuNDgwOSA1LjI5NjA2IDM2LjA1MyA0Ljc5MTA0IDM1LjUzMTUgNC4zOTYyMkMzNS4wMTAxIDQuMDAxNCAzNC40MDc5IDMuNzI2NSAzMy43NjggMy41OTExMUMzMy4xMjgxIDMuNDU1NzMgMzIuNDY2MiAzLjQ2MzIgMzEuODI5NSAzLjYxM1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE1LjYyNSAyNy42MTc1QzE1LjYyNSAyOC4xNTI3IDE1LjczMDQgMjguNjgyNyAxNS45MzUyIDI5LjE3NzFDMTYuMTQgMjkuNjcxNiAxNi40NDAyIDMwLjEyMDkgMTYuODE4NyAzMC40OTkzQzE3LjE5NzEgMzAuODc3OCAxNy42NDY0IDMxLjE3OCAxOC4xNDA5IDMxLjM4MjhDMTguNjM1MyAzMS41ODc2IDE5LjE2NTMgMzEuNjkzIDE5LjcwMDUgMzEuNjkzQzIwLjIzNTcgMzEuNjkzIDIwLjc2NTcgMzEuNTg3NiAyMS4yNjAxIDMxLjM4MjhDMjEuNzU0NiAzMS4xNzggMjIuMjAzOSAzMC44Nzc4IDIyLjU4MjMgMzAuNDk5M0MyMi45NjA4IDMwLjEyMDkgMjMuMjYxIDI5LjY3MTYgMjMuNDY1OCAyOS4xNzcxQzIzLjY3MDYgMjguNjgyNyAyMy43NzYgMjguMTUyNyAyMy43NzYgMjcuNjE3NUMyMy43NzYgMjcuMDgyMyAyMy42NzA2IDI2LjU1MjMgMjMuNDY1OCAyNi4wNTc5QzIzLjI2MSAyNS41NjM0IDIyLjk2MDggMjUuMTE0MSAyMi41ODIzIDI0LjczNTdDMjIuMjAzOSAyNC4zNTcyIDIxLjc1NDYgMjQuMDU3IDIxLjI2MDEgMjMuODUyMkMyMC43NjU3IDIzLjY0NzQgMjAuMjM1NyAyMy41NDIgMTkuNzAwNSAyMy41NDJDMTkuMTY1MyAyMy41NDIgMTguNjM1MyAyMy42NDc0IDE4LjE0MDkgMjMuODUyMkMxNy42NDY0IDI0LjA1NyAxNy4xOTcxIDI0LjM1NzIgMTYuODE4NyAyNC43MzU3QzE2LjQ0MDIgMjUuMTE0MSAxNi4xNCAyNS41NjM0IDE1LjkzNTIgMjYuMDU3OUMxNS43MzA0IDI2LjU1MjMgMTUuNjI1IDI3LjA4MjMgMTUuNjI1IDI3LjYxNzVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02LjY5Mzk3IDE0LjIwMTVDNi42OTM5NyAxNS4wNTQ4IDcuMDMyOTYgMTUuODczMiA3LjYzNjM1IDE2LjQ3NjZDOC4yMzk3NSAxNy4wOCA5LjA1ODE0IDE3LjQxOSA5LjkxMTQ3IDE3LjQxOUMxMC43NjQ4IDE3LjQxOSAxMS41ODMyIDE3LjA4IDEyLjE4NjYgMTYuNDc2NkMxMi43OSAxNS44NzMyIDEzLjEyOSAxNS4wNTQ4IDEzLjEyOSAxNC4yMDE1QzEzLjEyOSAxMy4zNDgyIDEyLjc5IDEyLjUyOTggMTIuMTg2NiAxMS45MjY0QzExLjU4MzIgMTEuMzIzIDEwLjc2NDggMTAuOTg0IDkuOTExNDcgMTAuOTg0QzkuMDU4MTQgMTAuOTg0IDguMjM5NzUgMTEuMzIzIDcuNjM2MzUgMTEuOTI2NEM3LjAzMjk2IDEyLjUyOTggNi42OTM5NyAxMy4zNDgyIDYuNjkzOTcgMTQuMjAxNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUxLjcgNDQuMDM2NUM1MC4zMTIzIDQzLjc2OTkgNDguODc1MSA0NC4wMDExIDQ3LjY0MTEgNDQuNjg5NUM0Ni40MDcgNDUuMzc3OCA0NS40NTUyIDQ2LjQ3OTIgNDQuOTUzIDQ3LjhMMzcuMzA5IDQ2LjQxNTVDMzcuMzI4NSA0NS4wMTkgMzYuODQ3OCA0My42NjE2IDM1Ljk1MzcgNDIuNTg4N0MzNS4wNTk2IDQxLjUxNTggMzMuODExMSA0MC43OTgxIDMyLjQzNCA0MC41NjU1QzMxLjA0ODcgNDAuMjk3NyAyOS42MTM0IDQwLjUyNjEgMjguMzc5NyA0MS4yMTA3QzI3LjE0NiA0MS44OTUzIDI2LjE5MjcgNDIuOTkyMyAyNS42ODcgNDQuMzA5NUwxNy45ODQ1IDQyLjg4NkMxOC4wMDMzIDQxLjQ4NjcgMTcuNTE5OCA0MC4xMjcgMTYuNjIxNyAzOS4wNTM2QzE1LjcyMzcgMzcuOTgwMyAxNC40NzA3IDM3LjI2NDUgMTMuMDkgMzcuMDM2QzYuNjkzOTkgMzUuODY2IDUuMTUzNDkgNDMuNjA3NSA0LjY2NTk5IDQ2LjIyMDVDMy42MzI0OSA1MS44NTYgMS4zODk5OSA2NC44NDMgMi4xMTE0OSA2Ni40ODFDMi4zNDU0OSA2OC4wNDEgNC45NTg0OSA2OC42NjUgNy4xNDI0OSA2OS4wNzQ1QzkuMzI2NDkgNjkuNDg0IDExLjk5OCA2OS43OTYgMTIuNzU4NSA2OC40MzFDMTMuMzIwNyA2Ny40NzU5IDEzLjcyMjUgNjYuNDM1MSAxMy45NDggNjUuMzVMMjEuNDE2NSA2Ni43MTVDMjEuMjI5MiA2Ny44MTIxIDIxLjIyOTIgNjguOTMyOSAyMS40MTY1IDcwLjAzQzIxLjYzMSA3MS41OSAyNC4yNDQgNzIuMjE0IDI2LjQyOCA3Mi42MjM1QzI4LjYxMiA3My4wMzMgMzEuMjgzNSA3My4zNjQ1IDMyLjA0NCA3MS45OEMzMi42MjI0IDcxLjAzMDggMzMuMDMxNSA2OS45ODgzIDMzLjI1MyA2OC44OTlMNDAuNjQzNSA3MC4yNDQ1QzQwLjQ3MTEgNzEuMzQyOCA0MC40NzExIDcyLjQ2MTIgNDAuNjQzNSA3My41NTk1QzQwLjg3NzUgNzUuMTE5NSA0My40OTA1IDc1Ljc0MzUgNDUuNjc0NSA3Ni4xMzM1QzQ3Ljg1ODUgNzYuNTIzNSA1MC41MyA3Ni44NzQ1IDUxLjI5MDUgNzUuNDlDNTIuNTM4NSA3NC4yMDMgNTUuMDM0NSA2MS4yOTQgNTYuMDY4IDU1LjYxOTVDNTYuNjE0IDUzLjAwNjUgNTguMTE1NSA0NS4yMDY1IDUxLjcgNDQuMDM2NVpNMTUuODIgNTcuMzk0QzE2LjI4OCA1NS4xNTE1IDE2LjcxNyA1Mi44ODk1IDE3LjA4NzUgNTAuOTc4NUwyMy41NjE1IDUyLjE2OEMyMy4yMyA1NC4xMTggMjIuODQgNTYuMzQxIDIyLjQ4OSA1OC42MDNMMTUuODIgNTcuMzk0Wk0zNS4xNDQ1IDYwLjkyMzVDMzUuNjEyNSA1OC42ODEgMzYuMDYxIDU2LjQxOSAzNi40MTIgNTQuNTI3NUw0Mi44Mjc1IDU1LjY3OEM0Mi40NzY1IDU3LjYyOCA0Mi4xMDYgNTkuODcwNSA0MS43NTUgNjIuMTMyNUwzNS4xNDQ1IDYwLjkyMzVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MS4wOTU1IDQ3LjI3MzVDNTEuNzU0MSA0Ny40MDI4IDUyLjM0NTMgNDcuNzYyMSA1Mi43NjMzIDQ4LjI4NzNDNTMuMTgxMiA0OC44MTI0IDUzLjM5ODggNDkuNDY5MiA1My4zNzcgNTAuMTRcIlxuICAgICAgICBzdHJva2U9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQnVpbGRpbmcgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0zOS4wNTMyIDM4Ljg5MjNDMzguNzE1NiAzOC44MzU1IDM4LjM3NDkgMzguNzk4NSAzOC4wMzI5IDM4Ljc4MTVDMzguMzQyOCAzNC4yNjkzIDM4LjQwMTcgMjkuNzQzNCAzOC4yMDk1IDI1LjIyNDdDMzguMDEwNyAxOS4xMjczIDM3LjMyODQgOC42NjY5OSAzNC43MzEyIDcuMTY1NzVDMzMuMzY3OSA2LjI1MzcxIDMxLjc1MTggNS43OTQ2NiAzMC4xMTI2IDUuODUzOUMyOS45OTY2IDUuMDQ4MjYgMjkuNjU2NyA0LjI5MTQyIDI5LjEzMTggMy42NjkzOEMyOC4zMTg4IDIuMzg2NzEgMjQuMjQyOSAyLjM5NjA1IDIwLjg3MDEgMi41MDIyMUMxNy40OTc0IDIuNjA4MzYgMTMuNDE4NiAyLjg3NDE3IDEyLjcwMzggNC4yMTY4NkMxMi4yMTc5IDQuODcyMTQgMTEuOTI2MSA1LjY1MDg3IDExLjg2MTggNi40NjQwN0MxMC4yMzEzIDYuNTAwNzEgOC42NTEwNCA3LjAzNTA3IDcuMzMzIDcuOTk1NTFDNC44NTMxMiA5LjY2ODM5IDQuODcwODQgMjAuMTY0MyA1LjA2Njg4IDI2LjI0MjRDNS4xNjgyNCAzMC43NjQ2IDUuNTI4MjQgMzUuMjc3MyA2LjE0NTA0IDM5Ljc1ODRDNS44MDEgMzkuNzgzMSA1LjQ1OTEyIDM5LjgzMTggNS4xMjE4OCAzOS45MDQxQzEuOTc1MTMgNDAuMzUyNCAyLjMxMzI0IDQzLjAwMjggMi4zNTM5NyA0NC41MzMyQzIuMzk0NyA0Ni4wNjM2IDIuMjU1NzMgNDguNjgzNiA1LjQyOTc2IDQ4Ljk4QzcuMDEyNTIgNDkuMzA2IDE1LjQyOTIgNDkuMDcyNCAyMi4zODk4IDQ4Ljg0OTJDMjkuMzUwMyA0OC42MjU2IDM3Ljc3MjUgNDguMjkyOCAzOS4zNDQ2IDQ3Ljg1MjRDNDIuNDkxMiA0Ny40MDQgNDIuMTUwNCA0NC43MzQ0IDQyLjExMjQgNDMuMjIzMkM0Mi4wNzQ0IDQxLjcxMiA0Mi4yMjcyIDM5LjE4ODcgMzkuMDUzMiAzOC44OTIzWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTcuNDg5NSAxOC43MjJDMTcuOTk5OCAxOC40MzI3IDE4LjAzMzUgMTcuMDA5NyAxNy45OTgxIDE1LjkzMTRDMTcuOTYyNyAxNC44NTMyIDE3LjgyMjYgMTMuNDU0OSAxNy4zMTI2IDEzLjE5MjdDMTYuNDU1OSAxMi44MTg0IDE1LjUyMDIgMTIuNjYwOCAxNC41ODgyIDEyLjczMzhDMTMuNjQ2OCAxMi43MTc0IDEyLjcxNjQgMTIuOTM4IDExLjg4MjYgMTMuMzc1MkMxMS4zOTE2IDEzLjY2MTggMTEuMzM4NiAxNS4wODc2IDExLjM3NCAxNi4xNjU4QzExLjQwOTQgMTcuMjQ0MSAxMS41NDk0IDE4LjY0MjQgMTIuMDU5NSAxOC45MDQ2QzEyLjkyNDEgMTkuMjc1IDEzLjg2NTMgMTkuNDMxNCAxNC44MDMyIDE5LjM2MDdDMTUuNzM4MyAxOS4zNzg5IDE2LjY2MjcgMTkuMTU5MSAxNy40ODk1IDE4LjcyMlpcIlxuICAgICAgICBmaWxsPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMzAuNzQyNCAxOC4yOTE1QzMxLjI0OTkgMTcuOTgyOCAzMS4yODY0IDE2LjU3OTEgMzEuMjUxIDE1LjUwMDlDMzEuMjE1NiAxNC40MjI2IDMxLjA3NTUgMTMuMDI0MyAzMC41NjU0IDEyLjc2MjFDMjkuNzA3IDEyLjQxNDIgMjguNzc0NCAxMi4yODk1IDI3Ljg1NDcgMTIuMzk5OEMyNi45MTIyIDEyLjM3MjkgMjUuOTc5MiAxMi41OTQxIDI1LjE0OTIgMTMuMDQxMkMyNC42NTgyIDEzLjMyNzggMjQuNjA1MiAxNC43NTM1IDI0LjYzNzggMTUuODEyNUMyNC42NzA1IDE2Ljg3MTUgMjQuODE2IDE4LjMwODMgMjUuMzIzNCAxOC41NTEyQzI2LjE5MjggMTguODkzIDI3LjEyMjYgMTkuMDU0OCAyOC4wNTY1IDE5LjAyNjhDMjguOTkwMyAxOC45OTg3IDI5LjkwODggMTguNzgxNCAzMC43NTYxIDE4LjM4OEwzMC43NDI0IDE4LjI5MTVaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTE3Ljc4MzYgMjguNjY1OUMxOC4yNzQ2IDI4LjM3OTMgMTguMzI3NiAyNi45NTM2IDE4LjI5MjEgMjUuODc1M0MxOC4yNTY3IDI0Ljc5NyAxOC4xMTY3IDIzLjM5ODggMTcuNjA2NiAyMy4xMzY2QzE2Ljc3MjYgMjIuNzc2NiAxNS44NjYzIDIyLjYxNTcgMTQuOTU5NCAyMi42NjY3QzE0LjAyNDUgMjIuNjUwMiAxMy4xMDA2IDIyLjg2OTkgMTIuMjczMSAyMy4zMDU0QzExLjc4MjEgMjMuNTkyIDExLjcyOTEgMjUuMDE3NyAxMS43NjQ1IDI2LjA5NkMxMS43OTk5IDI3LjE3NDMgMTEuOTQgMjguNTcyNSAxMi40NTAxIDI4LjgzNDdDMTMuMzE0NyAyOS4yMDUxIDE0LjI1NTggMjkuMzYxNiAxNS4xOTM4IDI5LjI5MDhDMTYuMDk1MiAyOS4yOTcxIDE2Ljk4NDMgMjkuMDgyNiAxNy43ODM2IDI4LjY2NTlaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTMxLjA3NTMgMjguMjMwM0MzMS41NjM2IDI3LjkyNDQgMzEuNjE2NiAyNi40OTg2IDMxLjU4MzkgMjUuNDM5N0MzMS41NTEyIDI0LjM4MDcgMzEuNDA4NCAyMi45NjMyIDMwLjg5ODQgMjIuNzAxQzMwLjAzOSAyMi4zMDQ3IDI5LjA5MjcgMjIuMTM0NCAyOC4xNDkxIDIyLjIwNjJDMjcuMjEzIDIyLjE3ODIgMjYuMjg2MiAyMi4zOTg2IDI1LjQ2MjggMjIuODQ0OUMyNC45NzE4IDIzLjEzMTUgMjQuOTE4OSAyNC41NTcyIDI0Ljk1MTUgMjUuNjE2MkMyNC45ODQyIDI2LjY3NTIgMjUuMTM1MiAyOC4xNTA2IDI1LjYzNDIgMjguNDczNUMyNi41MDM3IDI4LjgxNTMgMjcuNDMzNSAyOC45NzcxIDI4LjM2NzQgMjguOTQ5QzI5LjMwMTIgMjguOTIxIDMwLjIxOTYgMjguNzAzNyAzMS4wNjcgMjguMzEwMkwzMS4wNzUzIDI4LjIzMDNaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTE4LjE1MzcgMzguNTk5NUMxOC42NDQ3IDM4LjMxMjkgMTguNjk3NyAzNi44ODcyIDE4LjY2MjIgMzUuODA4OUMxOC42MjY4IDM0LjczMDcgMTguNDYxOSAzMy40MzQ1IDE3Ljk3NjcgMzMuMDcwM0MxNy4xMTIxIDMyLjY5OTggMTYuMTcwOSAzMi41NDMzIDE1LjIzMyAzMi42MTQxQzE0LjI5NzkgMzIuNTk1OSAxMy4zNzM1IDMyLjgxNTcgMTIuNTQ2NyAzMy4yNTI3QzEyLjAzNjQgMzMuNTQyMSAxMi4wMDI3IDM0Ljk2NTEgMTIuMDM4MSAzNi4wNDMzQzEyLjA3MzUgMzcuMTIxNiAxMi4yMTM2IDM4LjUxOTkgMTIuNzIzNyAzOC43ODIxQzEzLjU4MDQgMzkuMTU2NCAxNC41MTYgMzkuMzE0IDE1LjQ0ODEgMzkuMjQxQzE2LjM4OTUgMzkuMjU3MyAxNy4zMTk4IDM5LjAzNjcgMTguMTUzNyAzOC41OTk1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0zMS40MDQ2IDM4LjE2OTRDMzEuODkyOCAzNy44NjM1IDMxLjk0NTggMzYuNDM3OCAzMS45MTMyIDM1LjM3ODhDMzEuODgwNSAzNC4zMTk4IDMxLjczNzcgMzIuOTAyMyAzMS4yMjc2IDMyLjY0MDFDMzAuMzY2NSAzMi4yNTc5IDI5LjQyMjQgMzIuMTAxIDI4LjQ4MzkgMzIuMTgzOUMyNy41NDc4IDMyLjE1NTkgMjYuNjIxIDMyLjM3NjMgMjUuNzk3NiAzMi44MjI2QzI1LjI4NzMgMzMuMTEyIDI1LjI1MzYgMzQuNTM0OSAyNS4yODYzIDM1LjU5MzlDMjUuMzE4OSAzNi42NTI5IDI1LjQ2NDUgMzguMDg5NyAyNS45NzE4IDM4LjMzMjZDMjYuODI3MiAzOC43MTU1IDI3Ljc2NDQgMzguODc5OCAyOC42OTkgMzguODEwOEMyOS42MzkzIDM4LjgxNzYgMzAuNTY3NCAzOC41OTc1IDMxLjQwNDYgMzguMTY5NFpcIlxuICAgICAgICBmaWxsPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMjkuNjI1IDguOTM2NTJDMzMuMzUzMyA5LjI1MjQ0IDMyLjk2NzIgOS4zMDc0NCAzMy42MDYyIDExLjMwNDNcIlxuICAgICAgICBzdHJva2U9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTcxLjA4MjggMTMuMDkyNEM2OS45MzEyIDEyLjg3NDcgNjguNzM5NiAxMy4wNjkxIDY3LjcxNjggMTMuNjQxNkM2Ni44Nzc2IDEyLjgyNTMgNjUuNzg3MiAxMi4zMTY4IDY0LjYyMjQgMTIuMTk4OUM2My45Nzc2IDEyLjA0MjYgNjMuMzA2NCAxMi4wMzE5IDYyLjY1NzIgMTIuMTY3NkM2Mi4wMDc2IDEyLjMwMzMgNjEuMzk2OCAxMi41ODE5IDYwLjg2ODggMTIuOTgzMkM2MC4zNDA0IDEzLjM4NDUgNTkuOTA4NCAxMy44OTg0IDU5LjYwMzYgMTQuNDg3NkM1OS4yOTkyIDE1LjA3NjggNTkuMTI5NiAxNS43MjY1IDU5LjEwNzIgMTYuMzg5NUM1OC40ODUyIDIwLjg1OCA2Mi4xOTQgMjQuNTI4NiA2NS4xMjU2IDI2LjY3NTNDNjUuMzQ2IDI2Ljg0MjMgNjUuNjA2IDI2Ljk0OTIgNjUuODggMjYuOTg1OEM2Ni4xNTQgMjcuMDIyMyA2Ni40MzI4IDI2Ljk4NzIgNjYuNjg5MiAyNi44ODM4QzcwLjEwNiAyNS41OTgyIDc0LjY0NiAyMy4wOTQ2IDc1LjE3OTYgMTguNTgwM0M3NS4zMzQgMTcuOTQ0NiA3NS4zNDYgMTcuMjgyOCA3NS4yMTQ4IDE2LjY0MkM3NS4wODM2IDE2LjAwMTIgNzQuODEyOCAxNS4zOTcyIDc0LjQyMTYgMTQuODczMUM3NC4wMzA0IDE0LjM0OSA3My41Mjg0IDEzLjkxNzYgNzIuOTUxMiAxMy42MDk4QzcyLjM3NCAxMy4zMDIgNzEuNzM2IDEzLjEyNTQgNzEuMDgyOCAxMy4wOTI0WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNNTkuNjAyOCAzMC41MzI5QzU4LjMzNDQgMzEuMTU1NyA1Ny4zMjYgMzIuMjA1NyA1Ni43NTUyIDMzLjQ5ODRDNTYuMTg0OCAzNC43OTEgNTYuMDg4IDM2LjI0MzUgNTYuNDgyNCAzNy42MDA0TDQ5LjU0NiA0MS4wOThDNDguNzIwNCAzOS45NzE0IDQ3LjUxOTIgMzkuMTc3MiA0Ni4xNTk2IDM4Ljg1OUM0NC43OTk2IDM4LjU0MDkgNDMuMzcwOCAzOC43MTk3IDQyLjEzMTIgMzkuMzYzMkM0MC44NjQgMzkuOTgzNiAzOS44NTU2IDQxLjAzMDQgMzkuMjgyOSA0Mi4zMTk2QzM4LjcxMDIgNDMuNjA5MiAzOC42MDk3IDQ1LjA1OTIgMzguOTk5MSA0Ni40MTUyTDMxLjk5MjUgNDkuOTE2OEMzMS4xNjQ5IDQ4Ljc4ODQgMjkuOTYwMSA0Ny45OTQgMjguNTk2OCA0Ny42NzhDMjcuMjMzNSA0Ny4zNjE2IDI1LjgwMjEgNDcuNTQ0OCAyNC41NjIyIDQ4LjE5NEMxOC43NTEzIDUxLjExMTIgMjIuMTgzMiA1OC4yMTk2IDIzLjM2NzQgNjAuNTk5MkMyNS45MzU5IDY1LjcyMDggMzEuOTY2IDc3LjQzOTYgMzMuNTI4NCA3OC4zMTI4QzM0LjY1NDYgNzkuNDE3MiAzNy4xMTY0IDc4LjM0MiAzOS4xMDY2IDc3LjM1MzZDNDEuMDk2OCA3Ni4zNjU2IDQzLjQxNzYgNzUuMDA2IDQzLjIwMjggNzMuNDU4QzQzLjA3NjQgNzIuMzU3MiA0Mi43NzA0IDcxLjI4NCA0Mi4yOTcyIDcwLjI4Mkw0OS4wODE2IDY2Ljg3NDRDNDkuNTkyOCA2Ny44NjMyIDUwLjI2NzYgNjguNzU4IDUxLjA3OCA2OS41MjEyQzUyLjE4ODQgNzAuNjM3NiA1NC42NTA0IDY5LjU2MiA1Ni42NDA4IDY4LjU3NEM1OC42MzA4IDY3LjU4NTYgNjAuOTYzMiA2Ni4yNDE2IDYwLjczNjggNjQuNjc4NEM2MC42MjY4IDYzLjU3MjQgNjAuMzI2IDYyLjQ5MzYgNTkuODQ2OCA2MS40OTA0TDY2LjU1NzIgNTguMTE0NEM2Ny4wODA4IDU5LjA5NTIgNjcuNzU0NCA1OS45ODggNjguNTUzNiA2MC43NjA4QzY5LjY3OTYgNjEuODY1NiA3Mi4xNDE2IDYwLjc5MDQgNzQuMTIgNTkuNzg2NEM3Ni4wOTg0IDU4Ljc4MjggNzguNDQyOCA1Ny40NTQgNzguMjE2IDU1Ljg5MDhDNzguNDM3NiA1NC4xMTIgNzIuNjU2OCA0Mi4zMDI4IDcwLjA2NDggMzcuMTUwMUM2OC45MjcyIDM0LjczNTIgNjUuNDI5MiAyNy42MDM4IDU5LjYwMjggMzAuNTMyOVpNMzkuMDAwOCA2Mi44MDMyQzM4LjAyNCA2MC43MzA4IDM3LjAwNDQgNTguNjY2OCAzNi4xNDk1IDU2LjkxOEw0Mi4wMzQ0IDUzLjk2OTJDNDIuOTQ0IDU1LjcyNTYgNDMuOTcxMiA1Ny43MzUyIDQ1LjA1MzIgNTkuNzUyNEwzOS4wMDA4IDYyLjgwMzJaTTU2LjU1NCA1My45ODRDNTUuNTc3NiA1MS45MTIgNTQuNTczMiA0OS44MzYgNTMuNzE0OCA0OC4xMTQ0TDU5LjUyOTIgNDUuMTdDNjAuNDIzMiA0Ni45MzggNjEuNDc4IDQ4Ljk1MTYgNjIuNTYgNTAuOTY4OEw1Ni41NTQgNTMuOTg0WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk02MS4wNzA0IDMzLjQ4MTRDNjEuNjc0IDMzLjE4OCA2Mi4zNjI0IDMzLjExODkgNjMuMDEyNCAzMy4yODY1QzYzLjY2MjQgMzMuNDU0MSA2NC4yMzEyIDMzLjg0NzQgNjQuNjE4IDM0LjM5NjFcIlxuICAgICAgICBzdHJva2U9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTQ1LjE1NCAxNS44MzM4QzQ1LjIxMDggMTYuMTU0MSA0NS4zOTM2IDE2LjQ0ODggNDUuNjkyIDE2LjcwMTFDNDUuOTkwNCAxNi45NTM1IDQ2LjM5ODQgMTcuMTU4NSA0Ni44OTMyIDE3LjMwNDVDNDcuMzg4IDE3LjQ1MDYgNDcuOTU5NiAxNy41MzQ3IDQ4LjU3NTIgMTcuNTUyMkM0OS4xOTEyIDE3LjU2OTYgNDkuODM4OCAxNy41MjAxIDUwLjQ4MiAxNy40MDY0QzUxLjEyNTIgMTcuMjkyNiA1MS43NTA0IDE3LjExNjkgNTIuMzIyOCAxNi44ODkzQzUyLjg5NTIgMTYuNjYxNiA1My40MDMyIDE2LjM4NjYgNTMuODE4IDE2LjA3OTdDNTQuMjMyOCAxNS43NzI4IDU0LjU0NTYgMTUuNDQwMiA1NC43Mzk2IDE1LjEwMDhDNTQuOTMzMiAxNC43NjE0IDU1LjAwMzYgMTQuNDIxOCA1NC45NDcyIDE0LjEwMTZDNTQuODkwNCAxMy43ODE0IDU0LjcwNzYgMTMuNDg2NiA1NC40MDkyIDEzLjIzNDNDNTQuMTEwOCAxMi45ODIgNTMuNzAyOCAxMi43NzY5IDUzLjIwOCAxMi42MzA5QzUyLjcxMzIgMTIuNDg0OSA1Mi4xNDE2IDEyLjQwMDcgNTEuNTI2IDEyLjM4MzNDNTAuOTEgMTIuMzY1OCA1MC4yNjI0IDEyLjQxNTMgNDkuNjE5MiAxMi41MjkxQzQ4Ljk3NjQgMTIuNjQyOCA0OC4zNTA4IDEyLjgxODUgNDcuNzc4NCAxMy4wNDYyQzQ3LjIwNiAxMy4yNzM4IDQ2LjY5OCAxMy41NDg5IDQ2LjI4MzIgMTMuODU1OEM0NS44Njg4IDE0LjE2MjYgNDUuNTU1NiAxNC40OTUzIDQ1LjM2MiAxNC44MzQ3QzQ1LjE2OCAxNS4xNzQxIDQ1LjA5NzYgMTUuNTEzNiA0NS4xNTQgMTUuODMzOFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTQxLjQ0ODQgOS42MzA4QzQxLjk5MzYgOS45OTcxNiA0Mi44MDg4IDkuOTEzNzIgNDMuNzE0NCA5LjM5ODhDNDQuNjIgOC44ODM4OCA0NS41NDIgNy45Nzk3MiA0Ni4yNzc2IDYuODg1MTZDNDcuMDEzMiA1Ljc5MDU2IDQ3LjUwMiA0LjU5NTMyIDQ3LjYzNjggMy41NjIyN0M0Ny43NzE2IDIuNTI5MjQgNDcuNTQwOCAxLjc0MzA2IDQ2Ljk5NTYgMS4zNzY2OUM0Ni43MjYgMS4xOTUyOCA0Ni4zODY4IDEuMTIyNCA0NS45OTggMS4xNjIyMUM0NS42MDkyIDEuMjAyMDIgNDUuMTc4NCAxLjM1MzczIDQ0LjczIDEuNjA4NjhDNDQuMjgxNiAxLjg2MzY0IDQzLjgyNDQgMi4yMTY4NiA0My4zODQ0IDIuNjQ4MTVDNDIuOTQ0OCAzLjA3OTQ1IDQyLjUzMDggMy41ODAzOCA0Mi4xNjY4IDQuMTIyMzZDNDEuODAyNCA0LjY2NDMyIDQxLjQ5NDggNS4yMzY3MiA0MS4yNjE2IDUuODA2ODhDNDEuMDI4NCA2LjM3NyA0MC44NzQgNi45MzM3MiA0MC44MDc2IDcuNDQ1MjRDNDAuNzQwOCA3Ljk1NjcyIDQwLjc2MzIgOC40MTMgNDAuODczMiA4Ljc4OEM0MC45ODI4IDkuMTYzIDQxLjE3ODQgOS40NDk0IDQxLjQ0ODQgOS42MzA4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlTG9hZCB9IGZyb20gXCIuL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHtcbiAgQWxlcnQsXG4gIENoaWxkLFxuICBCaW4sXG4gIENoZWNrLFxuICBDYWxlbmRhcixcbiAgQ29pbnMsXG4gIEZhY2UsXG4gIEZhbWlseSxcbiAgRmF2b3JpdGUsXG4gIEZvbGRlcixcbiAgRm9sbG93VXAsXG4gIElkZWEsXG4gIExpa2UsXG4gIE1hcCxcbiAgTW9uZXksXG4gIE9mZmVyLFxuICBQYXNzcG9ydCxcbiAgUGFzc3dvcmQsXG4gIFBpbixcbiAgU2VhcmNoLFxuICBTZXR0aW5nLFxuICBTdGFyLFxuICBBZGQsXG4gIEFwcGxpY2F0aW9uLFxuICBCYWJ5LFxuICBCb29rbWFyayxcbiAgQ2FuY2VsLFxuICBDb252ZXJzYXRpb24sXG4gIERhZCxcbiAgRGF0ZVRpbWUsXG4gIEhvbWUsXG4gIEluZm9ybWF0aW9uLFxuICBNb20sXG4gIE1haWwsXG4gIE5vLFxuICBGaWxlLFxuICBZZXMsXG4gIE5vdGUsXG59IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3Znc1wiO1xuaW1wb3J0IHsgU2l6ZSwgVHlwZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuZW51bXNcIjtcbmltcG9ydCB7IEZlbmNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmZlbmNlLnN2Z1wiO1xuaW1wb3J0IHsgQnVpbGRpbmcgfSBmcm9tIFwiQC91aS9maWd1cmUvc3Zncy9maWd1cmUuYnVpbGRpbmcuc3ZnXCI7XG5cbmV4cG9ydCBjb25zdCBMb2FkRmlndXJlID0gKHsgc2l6ZSwgdHlwZSwgc2NyZWVuUmVhZGVyVGV4dCB9OiBJRmlndXJlTG9hZCkgPT4ge1xuICBsZXQgRmlndXJlU2l6ZSA9IFwiMjBweFwiO1xuICBzd2l0Y2ggKHNpemUpIHtcbiAgICBjYXNlIFNpemUuU01BTEw6XG4gICAgICBGaWd1cmVTaXplID0gXCIxNnB4XCI7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFNpemUuTEFSR0U6XG4gICAgICBGaWd1cmVTaXplID0gXCI0MHB4XCI7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFNpemUuWExBUkdFOlxuICAgICAgRmlndXJlU2l6ZSA9IFwiODBweFwiO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBTaXplLk1FRElVTTpcbiAgICBkZWZhdWx0OlxuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBUeXBlLkNISUxEOlxuICAgICAgcmV0dXJuIDxDaGlsZCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcbiAgICBjYXNlIFR5cGUuRkFNSUxZOlxuICAgICAgcmV0dXJuIDxGYW1pbHkgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuQ0FMRU5EQVI6XG4gICAgICByZXR1cm4gPENhbGVuZGFyIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkJJTjpcbiAgICAgIHJldHVybiA8QmluIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkFMRVJUOlxuICAgICAgcmV0dXJuIDxBbGVydCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5QQVNTV09SRDpcbiAgICAgIHJldHVybiA8UGFzc3dvcmQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuU0VBUkNIOlxuICAgICAgcmV0dXJuIDxTZWFyY2ggc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuRk9MREVSOlxuICAgICAgcmV0dXJuIDxGb2xkZXIgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuUEFTU1BPUlQ6XG4gICAgICByZXR1cm4gPFBhc3Nwb3J0IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLlNFVFRJTkc6XG4gICAgICByZXR1cm4gPFNldHRpbmcgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuRkFDRTpcbiAgICAgIHJldHVybiA8RmFjZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5JREVBOlxuICAgICAgcmV0dXJuIDxJZGVhIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLlBJTjpcbiAgICAgIHJldHVybiA8UGluIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLk1PTkVZOlxuICAgICAgcmV0dXJuIDxNb25leSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5GT0xMT1dfVVA6XG4gICAgICByZXR1cm4gPEZvbGxvd1VwIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkZBVk9SSVRFOlxuICAgICAgcmV0dXJuIDxGYXZvcml0ZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5PRkZFUjpcbiAgICAgIHJldHVybiA8T2ZmZXIgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuU1RBUjpcbiAgICAgIHJldHVybiA8U3RhciBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5MSUtFOlxuICAgICAgcmV0dXJuIDxMaWtlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkNIRUNLOlxuICAgICAgcmV0dXJuIDxDaGVjayBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5DT0lOUzpcbiAgICAgIHJldHVybiA8Q29pbnMgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuTUFQOlxuICAgICAgcmV0dXJuIDxNYXAgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuQUREOlxuICAgICAgcmV0dXJuIDxBZGQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuQVBQTElDQVRJT046XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8QXBwbGljYXRpb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz5cbiAgICAgICk7XG5cbiAgICBjYXNlIFR5cGUuQkFCWTpcbiAgICAgIHJldHVybiA8QmFieSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5CT09LTUFSSzpcbiAgICAgIHJldHVybiA8Qm9va21hcmsgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuQ0FOQ0VMOlxuICAgICAgcmV0dXJuIDxDYW5jZWwgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuQ09OVkVSU0FUSU9OOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPENvbnZlcnNhdGlvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPlxuICAgICAgKTtcblxuICAgIGNhc2UgVHlwZS5EQUQ6XG4gICAgICByZXR1cm4gPERhZCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5EQVRFVElNRTpcbiAgICAgIHJldHVybiA8RGF0ZVRpbWUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuSE9NRTpcbiAgICAgIHJldHVybiA8SG9tZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5JTkZPUk1BVElPTjpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxJbmZvcm1hdGlvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPlxuICAgICAgKTtcblxuICAgIGNhc2UgVHlwZS5NT006XG4gICAgICByZXR1cm4gPE1vbSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5NQUlMOlxuICAgICAgcmV0dXJuIDxNYWlsIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLk5POlxuICAgICAgcmV0dXJuIDxObyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5GSUxFOlxuICAgICAgcmV0dXJuIDxGaWxlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLllFUzpcbiAgICAgIHJldHVybiA8WWVzIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLk5PVEU6XG4gICAgICByZXR1cm4gPE5vdGUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuRkVOQ0U6XG4gICAgICByZXR1cm4gPEZlbmNlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkJVSUxESU5HOlxuICAgICAgcmV0dXJuIDxCdWlsZGluZyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPD4g8J+aqyBOb3QgRm91bmQ8Lz47XG4gIH1cbn07XG4iLCJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRnJhbWUgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZS9mcmFtZS50eXBlc1wiO1xuaW1wb3J0IHsgRnJhbWUgYXMgQmFzZUZyYW1lIH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvY29tcG9uZW50cy9mcmFtZVwiO1xuaW1wb3J0IHsgQ29sb3IsIENvbG9yVmFyaWFudCB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL2ZyYW1lLmVudW1zXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEZyYW1lQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoRGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBGcmFtZSA9ICh7XG4gIGNvbnRleHQsXG4gIGFyb3VuZCxcbiAgY29sb3IgPSBDb2xvci5TVVJGQUNFUyxcbiAgc3BsaXQgPSBmYWxzZSxcbiAgdGludCA9IENvbG9yVmFyaWFudC5USU5UXzUwMCxcbn06IElGcmFtZSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPEZyYW1lQ3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlRnJhbWUgdGludD17dGludH0gYXJvdW5kPXthcm91bmR9IGNvbG9yPXtjb2xvcn0gc3BsaXQ9e3NwbGl0fSAvPlxuICAgIDwvRnJhbWVDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEZyYW1lQ3R4IH0gZnJvbSBcIkAvYXRvbXMvZnJhbWVcIjtcbmltcG9ydCB7IElGcmFtZUJhc2UgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZS9mcmFtZS50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2ZyYW1lL2ZyYW1lLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VGcmFtZSB9IGZyb20gXCJAL2F0b21zL2ZyYW1lL2hvb2tzL3VzZS1mcmFtZVwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkRnJhbWUsXG4gIFN0eWxlZEZyYW1lUGFkZGluZyxcbiAgU3R5bGVkU2tlbGV0b25GcmFtZSxcbn0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvZnJhbWUuc3R5bGVcIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlclwiO1xuXG5leHBvcnQgY29uc3QgRnJhbWUgPSAoeyBhcm91bmQsIHRpbnQsIGNvbG9yLCBzcGxpdCB9OiBJRnJhbWVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KEZyYW1lQ3R4KTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgY29uc3QgVGhlbWUgPSB1c2VGcmFtZShDb21wb25lbnRDb250ZXh0LCB0aW50LCBjb2xvciwgc3BsaXQgPyBzcGxpdCA6IGNvbG9yKTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkU2tlbGV0b25GcmFtZSB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkRnJhbWVQYWRkaW5nIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgPFBsYWNlaG9sZGVyPnthcm91bmR9PC9QbGFjZWhvbGRlcj5cbiAgICAgICAgPC9TdHlsZWRGcmFtZVBhZGRpbmc+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uRnJhbWU+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEZyYW1lIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkRnJhbWVQYWRkaW5nIHRoZW1lPXtUaGVtZX0+e2Fyb3VuZH08L1N0eWxlZEZyYW1lUGFkZGluZz5cbiAgICA8L1N0eWxlZEZyYW1lPlxuICApO1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lUmFkaXVzLCB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciwgb3JEZWZhdWx0IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCB7IENvbG9yLCBDb2xvclZhcmlhbnRLZXkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vZnJhbWUuZW51bXNcIjtcbmltcG9ydCB7IElGcmFtZVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvZnJhbWUudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUZyYW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCxcbiAgdGludDogQ29sb3JWYXJpYW50S2V5LFxuICBjb2xvcjogQ29sb3IsXG4gIHNwbGl0OiBDb2xvcixcbik6IElGcmFtZVRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBUaGVtZVJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcblxuICBjb25zdCBib3JkZXJSYWRpdXMgPSBUaGVtZVJhZGl1cy5tZDtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICBjb25zdCBCYWNrZ3JvdW5kID0gb3JEZWZhdWx0KENvbG9ycywgXCJ0cmFuc3BhcmVudFwiLCBbY29sb3IsIHRpbnRdKTtcblxuICBjb25zdCBzcGxpdEJhY2tncm91bmQgPSBvckRlZmF1bHQoQ29sb3JzLCBcInRyYW5zcGFyZW50XCIsIFtzcGxpdCwgdGludF0pO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBib3JkZXJSYWRpdXMsXG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgXCJsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIFwiICtcbiAgICAgICAgICBCYWNrZ3JvdW5kICtcbiAgICAgICAgICBcIiAwJSwgXCIgK1xuICAgICAgICAgIEJhY2tncm91bmQgK1xuICAgICAgICAgIFwiIDUwJSwgXCIgK1xuICAgICAgICAgIHNwbGl0QmFja2dyb3VuZCArXG4gICAgICAgICAgXCIgNTAlLCBcIiArXG4gICAgICAgICAgc3BsaXRCYWNrZ3JvdW5kICtcbiAgICAgICAgICBcIiAxMDAlKVwiLFxuICAgICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbXCIzXCJdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuU0tFTEVUT04sXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbXCIzXCJdLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUZyYW1lVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZS9mcmFtZS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRnJhbWUgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyB0aGVtZTogSUZyYW1lVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtaW4td2lkdGg6IDFweDtcbiAgbWluLWhlaWdodDogMXB4O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZyYW1lUGFkZGluZyA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIHRoZW1lOiBJRnJhbWVUaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIG1hcmdpbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnBhZGRpbmd9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uRnJhbWUgPSBzdHlsZWQoU3R5bGVkRnJhbWUpLndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSUZyYW1lVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQbGFjZWhvbGRlciA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbmA7XG4iLCJpbXBvcnQgeyBJUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIuc3R5bGVcIjtcblxuZXhwb3J0IGNvbnN0IFBsYWNlaG9sZGVyID0gKHsgY2hpbGRyZW4gfTogSVBsYWNlaG9sZGVyKSA9PiB7XG4gIHJldHVybiA8U3R5bGVkUGxhY2Vob2xkZXI+e2NoaWxkcmVufTwvU3R5bGVkUGxhY2Vob2xkZXI+O1xufTtcbiIsImV4cG9ydCBlbnVtIEJhZGdlQ29udGV4dCB7XG4gIFNUQU5EQVJEID0gXCJTVEFOREFSRFwiLFxuICBTS0VMRVRPTiA9IFwiU0tFTEVUT05cIixcbn1cblxuZXhwb3J0IGVudW0gQmFkZ2VUeXBlIHtcbiAgREFZQ0FSRSA9IFwiREFZQ0FSRVwiLFxuICBDSElMRE1JTkRFUiA9IFwiQ0hJTERNSU5ERVJcIixcbiAgQ09PUEVSQVRJVkUgPSBcIkNPT1BFUkFUSVZFXCIsXG59XG4iLCJpbXBvcnQgeyBCYWRnZUNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9iYWRnZS9iYWRnZS5lbnVtc1wiO1xuaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IEJhZGdlQ3R4RGVmYXVsdDogQmFkZ2VDb250ZXh0ID0gQmFkZ2VDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQmFkZ2VDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIEJhZGdlQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KEJhZGdlQ3R4RGVmYXVsdCk7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBCYWRnZSBhcyBCYXNlQmFkZ2UgfSBmcm9tIFwiLi9jb21wb25lbnRzL2JhZGdlXCI7XG5pbXBvcnQgeyBJQmFkZ2UgfSBmcm9tIFwiQC9hdG9tcy9iYWRnZS9iYWRnZS50eXBlc1wiO1xuaW1wb3J0IHsgQmFkZ2VDdHgsIEJhZGdlQ3R4RGVmYXVsdCB9IGZyb20gXCJAL2F0b21zL2JhZGdlL2JhZGdlLmNvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IEJhZGdlID0gKHsgY29udGV4dCwgdHlwZSwgc2NyZWVuUmVhZGVyVGV4dCB9OiBJQmFkZ2UpID0+IHtcbiAgY29uc3QgQmFkZ2VDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBCYWRnZUN0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8QmFkZ2VDdHguUHJvdmlkZXIgdmFsdWU9e0JhZGdlQ29udGV4dH0+XG4gICAgICA8QmFzZUJhZGdlIHR5cGU9e3R5cGV9IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IC8+XG4gICAgPC9CYWRnZUN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCB7IEJhZGdlQ29udGV4dCwgQmFkZ2VUeXBlIH0gZnJvbSBcIkAvYXRvbXMvYmFkZ2UvYmFkZ2UuZW51bXNcIjtcbmV4cG9ydCB0eXBlIHsgSUJhZGdlIH0gZnJvbSBcIkAvYXRvbXMvYmFkZ2UvYmFkZ2UudHlwZXNcIjtcbiIsImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYnJhbmQvYnJhbmQuZW51bXNcIjtcbmltcG9ydCB7IElCcmFuZCB9IGZyb20gXCJAL2F0b21zL2JyYW5kL2JyYW5kLnR5cGVzXCI7XG5pbXBvcnQgeyBCcmFuZCBhcyBCYXNlQnJhbmQgfSBmcm9tIFwiQC9hdG9tcy9icmFuZC9jb21wb25lbnRzL2JyYW5kXCI7XG5cbmNvbnN0IEJyYW5kQ3R4RGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBCcmFuZEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KEJyYW5kQ3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBCcmFuZCA9ICh7IGxvZ28sIG5hbWUsIGFyaWFMYWJlbCwgY29udGV4dCB9OiBJQnJhbmQpID0+IHtcbiAgY29uc3QgQnJhbmRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBCcmFuZEN0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8QnJhbmRDdHguUHJvdmlkZXIgdmFsdWU9e0JyYW5kQ29udGV4dH0+XG4gICAgICA8QmFzZUJyYW5kIGxvZ289e2xvZ299IG5hbWU9e25hbWV9IGFyaWFMYWJlbD17YXJpYUxhYmVsfSAvPlxuICAgIDwvQnJhbmRDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElCcmFuZEJhc2UgfSBmcm9tIFwiQC9hdG9tcy9icmFuZC9icmFuZC50eXBlc1wiO1xuaW1wb3J0IHsgQnJhbmRDdHggfSBmcm9tIFwiQC9hdG9tcy9icmFuZFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2JyYW5kL2JyYW5kLmVudW1zXCI7XG5pbXBvcnQge1xuICBTdHlsZWRCcmFuZFRhZ0xpbmVXcmFwcGVyLFxuICBTdHlsZWRCcmFuZFdyYXBwZXIsXG59IGZyb20gXCJAL2F0b21zL2JyYW5kL2JyYW5kLnN0eWxlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBMb2dvQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xvZ28vbG9nby5lbnVtc1wiO1xuXG5pbXBvcnQgeyBQbGFpblRleHQgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHRcIjtcbmltcG9ydCB7XG4gIFRleHREZWNvcmF0aW9uLFxuICBDb250ZXh0IGFzIFBsYWluVGV4dENvbnRleHQsXG59IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQuZW51bXNcIjtcbmltcG9ydCB7IFR5cG9ncmFwaHlGb250V2VpZ2h0IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBCcmFuZCA9ICh7IGxvZ28sIG5hbWUsIGFyaWFMYWJlbCB9OiBJQnJhbmRCYXNlKSA9PiB7XG4gIGNvbnN0IEJyYW5kQ29udGV4dCA9IHVzZUNvbnRleHQoQnJhbmRDdHgpO1xuICBjb25zdCBJc1NrZWxldG9uID0gQnJhbmRDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRCcmFuZFdyYXBwZXIgYXJpYS1sYWJlbD17YXJpYUxhYmVsfT5cbiAgICAgICAge1JlYWN0LmNsb25lRWxlbWVudChsb2dvLCB7XG4gICAgICAgICAgY29udGV4dDogTG9nb0NvbnRleHQuU0tFTEVUT04sXG4gICAgICAgIH0pfVxuICAgICAgICA8U3R5bGVkQnJhbmRUYWdMaW5lV3JhcHBlcj5cbiAgICAgICAgICA8UGxhaW5UZXh0XG4gICAgICAgICAgICBmb250V2VpZ2h0PXtUeXBvZ3JhcGh5Rm9udFdlaWdodC5CT0xEfVxuICAgICAgICAgICAgdGV4dERlY29yYXRpb249e1RleHREZWNvcmF0aW9uLk5PTkV9XG4gICAgICAgICAgICBjb250ZXh0PXtQbGFpblRleHRDb250ZXh0LlNLRUxFVE9OfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtuYW1lfVxuICAgICAgICAgIDwvUGxhaW5UZXh0PlxuICAgICAgICA8L1N0eWxlZEJyYW5kVGFnTGluZVdyYXBwZXI+XG4gICAgICA8L1N0eWxlZEJyYW5kV3JhcHBlcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQnJhbmRXcmFwcGVyIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH0+XG4gICAgICB7bG9nb31cbiAgICAgIDxTdHlsZWRCcmFuZFRhZ0xpbmVXcmFwcGVyPlxuICAgICAgICA8UGxhaW5UZXh0XG4gICAgICAgICAgZm9udFdlaWdodD17VHlwb2dyYXBoeUZvbnRXZWlnaHQuQk9MRH1cbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj17VGV4dERlY29yYXRpb24uTk9ORX1cbiAgICAgICAgPlxuICAgICAgICAgIHtuYW1lfVxuICAgICAgICA8L1BsYWluVGV4dD5cbiAgICAgIDwvU3R5bGVkQnJhbmRUYWdMaW5lV3JhcHBlcj5cbiAgICA8L1N0eWxlZEJyYW5kV3JhcHBlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUJyYW5kVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9icmFuZC9icmFuZC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnJhbmRXcmFwcGVyID0gc3R5bGVkLmRpdjx7fT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJyYW5kVGFnTGluZVdyYXBwZXIgPSBzdHlsZWQuZGl2PHt9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBmbGV4LWZsb3c6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyOyAvKiBudW1iZXIgb2YgbGluZXMgdG8gc2hvdyAqL1xuICBsaW5lLWNsYW1wOiAyO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBtaW4td2lkdGg6IDgwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnJhbmRMYWJlbCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUJyYW5kVGhlbWUgfT5gXG4gIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsgLyogV2UgdXNlIGltcG9ydGFudCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBmb250IHdlaWdodCAqL1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCcmFuZFNrZWxldG9uTGFiZWwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElCcmFuZFRoZW1lIH0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbmA7XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVBsYWluVGV4dCB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQudHlwZXNcIjtcbmltcG9ydCB7XG4gIENvbnRleHQsXG4gIEZvbnRXZWlnaHQsXG4gIFRleHREZWNvcmF0aW9uLFxufSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LmVudW1zXCI7XG5pbXBvcnQgeyBQbGFpblRleHQgYXMgQmFzZVBsYWluVGV4dCB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9jb21wb25lbnRzL3BsYWludGV4dFwiO1xuaW1wb3J0IHtcbiAgVHlwb2dyYXBoeUZvbnQsXG4gIFR5cG9ncmFwaHlGb250S2V5LFxuICBUeXBvZ3JhcGh5Rm9udHMsXG4gIFR5cG9ncmFwaHlGb250V2VpZ2h0LFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcblxuY29uc3QgUGxhaW5UeHRDdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IFBsYWluVHh0Q3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoUGxhaW5UeHRDdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFBsYWluVGV4dCA9ICh7XG4gIGNoaWxkcmVuID0gXCJcIixcbiAgY29udGV4dCxcbiAgc2l6ZSA9IFR5cG9ncmFwaHlGb250Lk1ELFxuICBmb250ID0gVHlwb2dyYXBoeUZvbnRzLlBSSU1BUlksXG4gIGZvbnRXZWlnaHQgPSBUeXBvZ3JhcGh5Rm9udFdlaWdodC5OT1JNQUwsXG4gIHRleHREZWNvcmF0aW9uID0gVGV4dERlY29yYXRpb24uTk9ORSxcbn06IElQbGFpblRleHQpID0+IHtcbiAgY29uc3QgUGxhaW5UeHRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBQbGFpblR4dEN0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8UGxhaW5UeHRDdHguUHJvdmlkZXIgdmFsdWU9e1BsYWluVHh0Q29udGV4dH0+XG4gICAgICA8QmFzZVBsYWluVGV4dFxuICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICBmb250PXtmb250fVxuICAgICAgICBmb250V2VpZ2h0PXtmb250V2VpZ2h0fVxuICAgICAgICB0ZXh0RGVjb3JhdGlvbj17dGV4dERlY29yYXRpb259XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQmFzZVBsYWluVGV4dD5cbiAgICA8L1BsYWluVHh0Q3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJUGxhaW5UZXh0QmFzZSB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQudHlwZXNcIjtcbmltcG9ydCB7IFBsYWluVHh0Q3R4IH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRQbGFpblRleHQsXG4gIFN0eWxlZFNrZWxldG9uUGxhaW5UZXh0LFxuICBTdHlsZWRTa2VsZXRvblBsYWluVGV4dExpbmUsXG59IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQuc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VQbGFpblRleHQgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvaG9va3MvdXNlLXBsYWludGV4dFwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgRm9udFdlaWdodCwgVGV4dERlY29yYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LmVudW1zXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYnJhbmQvYnJhbmQuZW51bXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lRm9udHMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IG9yRGVmYXVsdCB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5cbmV4cG9ydCBjb25zdCBQbGFpblRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgc2l6ZSxcbiAgZm9udCxcbiAgZm9udFdlaWdodCxcbiAgdGV4dERlY29yYXRpb24sXG59OiBJUGxhaW5UZXh0QmFzZSkgPT4ge1xuICBjb25zdCBQbGFpblR4dENvbnRleHQgPSB1c2VDb250ZXh0KFBsYWluVHh0Q3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VQbGFpblRleHQoUGxhaW5UeHRDb250ZXh0KTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBQbGFpblR4dENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgY29uc3QgY3NzVGV4dERlY29yYXRpb24gPSBtYXRjaCh0ZXh0RGVjb3JhdGlvbiwgW1xuICAgIFtUZXh0RGVjb3JhdGlvbi5OT05FLCBcIm5vbmVcIl0sXG4gICAgW1RleHREZWNvcmF0aW9uLlVOREVSTElORSwgXCJ1bmRlcmxpbmVcIl0sXG4gICAgW1RleHREZWNvcmF0aW9uLkxJTkVfVEhST1VHSCwgXCJsaW5lLXRocm91Z2hcIl0sXG4gIF0pO1xuXG4gIGNvbnN0IGNzc0ZvbnQgPSBvckRlZmF1bHQoRm9udHMsIEZvbnRzLnByaW1hcnkubWQubm9ybWFsLCBbXG4gICAgZm9udCxcbiAgICBzaXplLFxuICAgIGZvbnRXZWlnaHQsXG4gIF0pO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvblBsYWluVGV4dD5cbiAgICAgICAgPFN0eWxlZFNrZWxldG9uUGxhaW5UZXh0TGluZSBmb250PXtjc3NGb250fSB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRTa2VsZXRvblBsYWluVGV4dExpbmU+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uUGxhaW5UZXh0PlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQbGFpblRleHRcbiAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgIGZvbnQ9e2Nzc0ZvbnR9XG4gICAgICB0ZXh0RGVjb3JhdGlvbj17Y3NzVGV4dERlY29yYXRpb259XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvU3R5bGVkUGxhaW5UZXh0PlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJUGxhaW5UZXh0VGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQbGFpblRleHQgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSVBsYWluVGV4dFRoZW1lO1xuICBmb250OiBzdHJpbmc7XG4gIHRleHREZWNvcmF0aW9uOiBzdHJpbmc7XG59PmBcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6ICR7KHByb3BzKSA9PiBwcm9wcy50ZXh0RGVjb3JhdGlvbn07XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogaW5oZXJpdDtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLmZvbnR9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25QbGFpblRleHQgPSBzdHlsZWQuc3Bhbjx7fT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uUGxhaW5UZXh0TGluZSA9IHN0eWxlZC5zcGFuLndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSVBsYWluVGV4dFRoZW1lO1xuICBmb250OiBzdHJpbmc7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLmZvbnR9O1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG5gO1xuIiwiaW1wb3J0IHsgSVBsYWluVGV4dFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBQbGFpblRleHRDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC5lbnVtc1wiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VQbGFpblRleHQgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBQbGFpblRleHRDb250ZXh0LFxuKTogSVBsYWluVGV4dFRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICByYWRpdXM6IFJhZGl1cy5ub25lLFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gIH07XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbUGxhaW5UZXh0Q29udGV4dC5TVEFOREFSRCwgU3RhbmRhcmRdLFxuICAgIFtQbGFpblRleHRDb250ZXh0LlNLRUxFVE9OLCBTa2VsZXRvbl0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJQnV0dG9uIH0gZnJvbSBcIi4vYnV0dG9uLnR5cGVzXCI7XG5pbXBvcnQgeyBCdXR0b24gYXMgQnRuIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2NvbXBvbmVudHMvYnV0dG9uXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBUeXBlIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi5lbnVtc1wiO1xuXG5jb25zdCBCdXR0b25DdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5QUklNQVJZO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQnV0dG9uQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoQnV0dG9uQ3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBCdXR0b24gPSAoe1xuICBpZCxcbiAgdGl0bGUsXG4gIGFyaWFMYWJlbCxcbiAgY2hpbGRyZW4sXG4gIG9uQ2xpY2ssXG4gIHdpdGhJY29uQmVmb3JlLFxuICB3aXRoSWNvbkFmdGVyLFxuICB0eXBlID0gVHlwZS5CVVRUT04sXG4gIGNvbnRleHQsXG59OiBJQnV0dG9uKSA9PiB7XG4gIGNvbnN0IEJ0bkNvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IEJ1dHRvbkN0eERlZmF1bHQ7XG4gIGNvbnN0IElzTmF2aWdhdGlvbiA9IHR5cGUgPT09IFR5cGUuTElOSztcblxuICByZXR1cm4gKFxuICAgIDxCdXR0b25DdHguUHJvdmlkZXIgdmFsdWU9e0J0bkNvbnRleHR9PlxuICAgICAgPEJ0blxuICAgICAgICBpZD17aWR9XG4gICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgYXJpYUxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIG9uQ2xpY2s9e0lzTmF2aWdhdGlvbiA/IHVuZGVmaW5lZCA6IG9uQ2xpY2t9XG4gICAgICAgIHdpdGhJY29uQmVmb3JlPXt3aXRoSWNvbkJlZm9yZX1cbiAgICAgICAgd2l0aEljb25BZnRlcj17d2l0aEljb25BZnRlcn1cbiAgICAgICAgdHlwZT17dHlwZX1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9CdG4+XG4gICAgPC9CdXR0b25DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgQnV0dG9uSWNvblByb3BzIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi50eXBlc1wiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEJ1dHRvbkN0eCB9IGZyb20gXCJAL2F0b21zL2J1dHRvblwiO1xuaW1wb3J0IHsgdXNlQnV0dG9uSWNvbkNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vaG9va3MvdXNlLWJ1dHRvbi5pY29uXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEljb25Db250ZXh0LCBTaXplIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25JY29uID0gKHsgaWNvbiB9OiBCdXR0b25JY29uUHJvcHMpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoQnV0dG9uQ3R4KTtcbiAgY29uc3QgSWNvbkNvbnRleHQ6IEljb25Db250ZXh0ID0gdXNlQnV0dG9uSWNvbkNvbnRleHQoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge1JlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XG4gICAgICAgIGNvbnRleHQ6IEljb25Db250ZXh0LFxuICAgICAgICBzaXplOiBTaXplLlNNQUxMLFxuICAgICAgfSl9XG4gICAgPC8+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgQ29udGV4dCBhcyBJY29uQ29udGV4dCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBCdXR0b25Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuXG5leHBvcnQgY29uc3QgdXNlQnV0dG9uSWNvbkNvbnRleHQgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBCdXR0b25Db250ZXh0LFxuKTogSWNvbkNvbnRleHQgPT4ge1xuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtCdXR0b25Db250ZXh0LkRJU0FCTEVELCBJY29uQ29udGV4dC5ESVNBQkxFRF0sXG4gICAgW0J1dHRvbkNvbnRleHQuR0hPU1QsIEljb25Db250ZXh0LlNUQU5EQVJEXSxcbiAgICBbQnV0dG9uQ29udGV4dC5VSSwgSWNvbkNvbnRleHQuREFSS10sXG4gICAgW0J1dHRvbkNvbnRleHQuTkVVVFJBTCwgSWNvbkNvbnRleHQuREFSS10sXG4gICAgW0J1dHRvbkNvbnRleHQuT1VUTElORUQsIEljb25Db250ZXh0LlNUQU5EQVJEXSxcbiAgICBbQnV0dG9uQ29udGV4dC5QUklNQVJZLCBJY29uQ29udGV4dC5MSUdIVF0sXG4gICAgW0J1dHRvbkNvbnRleHQuU1VQUE9SVElORywgSWNvbkNvbnRleHQuTElHSFRdLFxuICAgIFtCdXR0b25Db250ZXh0LlNLRUxFVE9OLCBJY29uQ29udGV4dC5ESVNBQkxFRF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQnV0dG9uVGhlbWUgfSBmcm9tIFwiLi9idXR0b24udHlwZXNcIjtcbmltcG9ydCB7XG4gIEJ1dHRvbixcbiAgQnV0dG9uSW5uZXIsXG4gIEJ1dHRvbkxhYmVsLFxuICBCdXR0b25JY29uLFxufSBmcm9tIFwiQC9iYXNlL2J1dHRvbi9idXR0b25cIjtcbmltcG9ydCB7IEJ1dHRvbk5hdmlnYXRpb24gfSBmcm9tIFwiQC9iYXNlL2J1dHRvbi9idXR0b24uc3R5bGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCdXR0b24gPSBzdHlsZWQoQnV0dG9uKTx7IHRoZW1lOiBJQnV0dG9uVGhlbWUgfT5gXG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5iYWNrZ3JvdW5kfTtcbiAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5ib3JkZXJ9O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuY29sb3J9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnV0dG9uTmF2aWdhdGlvbiA9IHN0eWxlZChCdXR0b25OYXZpZ2F0aW9uKTx7XG4gIHRoZW1lOiBJQnV0dG9uVGhlbWU7XG59PmBcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmNvbG9yfTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmNvbG9yfTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgOmhhcyg+IGEpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCdXR0b25Ta2VsZXRvbiA9IHN0eWxlZChTdHlsZWRCdXR0b24pPHtcbiAgdGhlbWU6IElCdXR0b25UaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnV0dG9uSW5uZXIgPSBzdHlsZWQoQnV0dG9uSW5uZXIpLndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyBoYXNMYWJlbDogYm9vbGVhbiB9PmBcbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzTGFiZWxcbiAgICAgID8gY3NzYFxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjRweCAtIDJweCk7IC8qIG1pbnVzIDJweCBib3JkZXIgKi9cbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMjRweCAtIDJweCk7IC8qIG1pbnVzIDJweCBib3JkZXIgKi9cbiAgICAgICAgYFxuICAgICAgOiBjc3NgXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygxMnB4IC0gMnB4KTsgLyogbWludXMgMnB4IGJvcmRlciAqL1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygxMnB4IC0gMnB4KTsgLyogbWludXMgMnB4IGJvcmRlciAqL1xuICAgICAgICBgfVxuYDtcbmV4cG9ydCBjb25zdCBTdHlsZWRCdXR0b25MYWJlbCA9IHN0eWxlZChCdXR0b25MYWJlbCk8e30+YGA7XG4iLCJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUJhc2VMaW5rVGhlbWUgfSBmcm9tIFwiQC9iYXNlL2xpbmsvbGluay50eXBlc1wiO1xuXG5jb25zdCBiYXNlQnV0dG9uU3R5bGVzID0gY3NzYFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjpcbiAgICB0cmFuc2Zvcm0gMC42cyxcbiAgICBiYWNrZ3JvdW5kIDAuNnMsXG4gICAgYm9yZGVyIDAuNnM7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gIH1cbiAgJjpkaXNhYmxlZDphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuYDtcblxuY29uc3QgYmFzZUJ1dHRvbklubmVyU3R5bGVzID0gY3NzYFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDE2cHg7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDhweCAtIDJweCk7IC8qIG1pbnVzIDJweCBib3JkZXIgKi9cbiAgcGFkZGluZy1ib3R0b206IGNhbGMoOHB4IC0gMnB4KTsgLyogbWludXMgMnB4IGJvcmRlciAqL1xuYDtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbk5hdmlnYXRpb24gPSBzdHlsZWQuc3BhbmBcbiAgJHtiYXNlQnV0dG9uU3R5bGVzfVxuYDtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YmFzZUJ1dHRvblN0eWxlc31cbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25Jbm5lciA9IHN0eWxlZC5zcGFuYFxuICAke2Jhc2VCdXR0b25Jbm5lclN0eWxlc31cbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25MYWJlbCA9IHN0eWxlZC5zcGFuPHt9PmBgO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uSWNvbiA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgZGlzcGxheTogZmxleDtcbmA7XG4iLCJpbXBvcnQgeyBCdXR0b25MYWJlbFByb3BzIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi50eXBlc1wiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU3R5bGVkQnV0dG9uTGFiZWwgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnN0eWxlXCI7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25MYWJlbCA9ICh7IGNoaWxkcmVuIH06IEJ1dHRvbkxhYmVsUHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRCdXR0b25MYWJlbD57Y2hpbGRyZW59PC9TdHlsZWRCdXR0b25MYWJlbD47XG59O1xuIiwiaW1wb3J0IHsgQnV0dG9uSWNvbiB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9jb21wb25lbnRzL2J1dHRvbi5pY29uXCI7XG5pbXBvcnQgeyBCdXR0b25MYWJlbCB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9jb21wb25lbnRzL2J1dHRvbi5sYWJlbFwiO1xuaW1wb3J0IHsgSUJ1dHRvblRoZW1lLCBJQnV0dG9uVGhlbWVhYmxlIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkQnV0dG9uLFxuICBTdHlsZWRCdXR0b25Jbm5lcixcbiAgU3R5bGVkQnV0dG9uTmF2aWdhdGlvbixcbiAgU3R5bGVkQnV0dG9uU2tlbGV0b24sXG59IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24uc3R5bGVcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VCdXR0b25UaGVtZSB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9ob29rcy91c2UtYnV0dG9uXCI7XG5pbXBvcnQgeyBCdXR0b25DdHggfSBmcm9tIFwiQC9hdG9tcy9idXR0b25cIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlclwiO1xuaW1wb3J0IHsgQ29udGV4dCwgVHlwZSB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24uZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbiA9ICh7XG4gIGlkLFxuICB0aXRsZSxcbiAgYXJpYUxhYmVsLFxuICBjaGlsZHJlbixcbiAgb25DbGljayxcbiAgd2l0aEljb25CZWZvcmUsXG4gIHdpdGhJY29uQWZ0ZXIsXG4gIHR5cGUgPSBUeXBlLkJVVFRPTixcbn06IElCdXR0b25UaGVtZWFibGUpID0+IHtcbiAgY29uc3QgQnRuQ29udGV4dCA9IHVzZUNvbnRleHQoQnV0dG9uQ3R4KTtcblxuICBjb25zdCBJc0Rpc2FibGVkID0gQnRuQ29udGV4dCA9PT0gQ29udGV4dC5ESVNBQkxFRDtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IEJ0bkNvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG4gIGNvbnN0IElzTmF2aWdhdGlvbiA9IHR5cGUgPT09IFR5cGUuTElOSztcblxuICBjb25zdCBUaGVtZTogSUJ1dHRvblRoZW1lID0gdXNlQnV0dG9uVGhlbWUoQnRuQ29udGV4dCk7XG5cbiAgY29uc3QgTGFiZWwgPSBjaGlsZHJlbiA/IDxCdXR0b25MYWJlbD57Y2hpbGRyZW59PC9CdXR0b25MYWJlbD4gOiBudWxsO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgY29uc3QgSWNvbkJlZm9yZVNrZWxldG9uID0gd2l0aEljb25CZWZvcmUgPyAoXG4gICAgICA8UGxhY2Vob2xkZXI+XG4gICAgICAgIDxCdXR0b25JY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IEljb25BZnRlclNrZWxldG9uID0gd2l0aEljb25BZnRlciA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPEJ1dHRvbkljb24gaWNvbj17d2l0aEljb25BZnRlcn0gLz5cbiAgICAgIDwvUGxhY2Vob2xkZXI+XG4gICAgKSA6IG51bGw7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEJ1dHRvblNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRCdXR0b25Jbm5lciBoYXNMYWJlbD17ISFMYWJlbH0+XG4gICAgICAgICAge0ljb25CZWZvcmVTa2VsZXRvbn1cbiAgICAgICAgICB7TGFiZWx9XG4gICAgICAgICAge0ljb25BZnRlclNrZWxldG9ufVxuICAgICAgICA8L1N0eWxlZEJ1dHRvbklubmVyPlxuICAgICAgPC9TdHlsZWRCdXR0b25Ta2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgSWNvbkJlZm9yZSA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgIDxCdXR0b25JY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPlxuICApIDogbnVsbDtcbiAgY29uc3QgSWNvbkFmdGVyID0gd2l0aEljb25BZnRlciA/IDxCdXR0b25JY29uIGljb249e3dpdGhJY29uQWZ0ZXJ9IC8+IDogbnVsbDtcblxuICAvKiogICoqL1xuICBpZiAoSXNOYXZpZ2F0aW9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRCdXR0b25OYXZpZ2F0aW9uXG4gICAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIGFyaWEtZGlzYWJsZWQ9e0lzRGlzYWJsZWR9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZEJ1dHRvbklubmVyIGhhc0xhYmVsPXshIUxhYmVsfT5cbiAgICAgICAgICB7SWNvbkJlZm9yZX1cbiAgICAgICAgICB7TGFiZWx9XG4gICAgICAgICAge0ljb25BZnRlcn1cbiAgICAgICAgPC9TdHlsZWRCdXR0b25Jbm5lcj5cbiAgICAgIDwvU3R5bGVkQnV0dG9uTmF2aWdhdGlvbj5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgaHRtbFR5cGUgPSBtYXRjaCh0eXBlLCBbXG4gICAgW1R5cGUuQlVUVE9OLCBcImJ1dHRvblwiXSxcbiAgICBbVHlwZS5SRVNFVCwgXCJyZXNldFwiXSxcbiAgICBbVHlwZS5TVUJNSVQsIFwic3VibWl0XCJdLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRCdXR0b25cbiAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgIGFyaWEtZGlzYWJsZWQ9e0lzRGlzYWJsZWR9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgZGlzYWJsZWQ9e0lzRGlzYWJsZWR9XG4gICAgICB0eXBlPXtodG1sVHlwZX1cbiAgICAgIGlkPXtpZH1cbiAgICA+XG4gICAgICA8U3R5bGVkQnV0dG9uSW5uZXIgaGFzTGFiZWw9eyEhTGFiZWx9PlxuICAgICAgICB7SWNvbkJlZm9yZX1cbiAgICAgICAge0xhYmVsfVxuICAgICAgICB7SWNvbkFmdGVyfVxuICAgICAgPC9TdHlsZWRCdXR0b25Jbm5lcj5cbiAgICA8L1N0eWxlZEJ1dHRvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBJQnV0dG9uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBCdXR0b25Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUJ1dHRvblRoZW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQnV0dG9uQ29udGV4dCxcbik6IElCdXR0b25UaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IFJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuRGlzYWJsZWRCZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25fZGlzYWJsZWRfYmFja2dyb3VuZFwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuRGlzYWJsZWRDb2xvciA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25fZGlzYWJsZWRfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkluaXRpYWxCZ1ByaW1hcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2JhY2tncm91bmRfcHJpbWFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5wcmltYXJ5LnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Ib3ZlckJnUHJpbWFyeSA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25faG92ZXJfYmFja2dyb3VuZF9wcmltYXJ5XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnByaW1hcnkudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkluaXRpYWxDb2xvclByaW1hcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2NvbG9yX3ByaW1hcnlcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSG92ZXJDb2xvclByaW1hcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2hvdmVyX2NvbG9yX3ByaW1hcnlcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSW5pdGlhbEJnU2Vjb25kYXJ5ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9iYWNrZ3JvdW5kX3NlY29uZGFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Ib3ZlckJnU2Vjb25kYXJ5ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9ob3Zlcl9iYWNrZ3JvdW5kX3NlY29uZGFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Jbml0aWFsQ29sb3JTZWNvbmRhcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2NvbG9yX3NlY29uZGFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSG92ZXJDb2xvclNlY29uZGFyeSA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25faG92ZXJfY29sb3Jfc2Vjb25kYXJ5XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICB9KTtcblxuICBjb25zdCBCdG5Jbml0aWFsQmdTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9iYWNrZ3JvdW5kX3N1cHBvcnRpbmdcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSG92ZXJCZ1N1cHBvcnRpbmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2hvdmVyX2JhY2tncm91bmRfc3VwcG9ydGluZ1wiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Jbml0aWFsQ29sb3JTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9jb2xvcl9zdXBwb3J0aW5nXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkhvdmVyQ29sb3JTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9ob3Zlcl9jb2xvcl9zdXBwb3J0aW5nXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gIH0pO1xuXG4gIGNvbnN0IFVpID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgdHJhbnNwYXJlbnRcIixcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCB0cmFuc3BhcmVudFwiLFxuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IE5vbmUgPSB7XG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gICAgaW5pdGlhbDoge1xuICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCB0cmFuc3BhcmVudFwiLFxuICAgICAgY29sb3I6IEJ0bkluaXRpYWxCZ1ByaW1hcnksXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCB0cmFuc3BhcmVudFwiLFxuICAgICAgY29sb3I6IEJ0bkhvdmVyQmdQcmltYXJ5LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgTG93ID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IEJ0bkluaXRpYWxCZ1NlY29uZGFyeSxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Jbml0aWFsQmdTZWNvbmRhcnksXG4gICAgICBjb2xvcjogQnRuSW5pdGlhbENvbG9yU2Vjb25kYXJ5LFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGJhY2tncm91bmQ6IEJ0bkhvdmVyQmdTZWNvbmRhcnksXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQnRuSG92ZXJCZ1NlY29uZGFyeSxcbiAgICAgIGNvbG9yOiBCdG5Ib3ZlckNvbG9yU2Vjb25kYXJ5LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgTWVkaXVtID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkluaXRpYWxCZ1ByaW1hcnksXG4gICAgICBjb2xvcjogQnRuSW5pdGlhbEJnUHJpbWFyeSxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Ib3ZlckJnUHJpbWFyeSxcbiAgICAgIGNvbG9yOiBCdG5Ib3ZlckJnUHJpbWFyeSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IEhpZ2ggPSB7XG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gICAgaW5pdGlhbDoge1xuICAgICAgYmFja2dyb3VuZDogQnRuSW5pdGlhbEJnUHJpbWFyeSxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Jbml0aWFsQmdQcmltYXJ5LFxuICAgICAgY29sb3I6IEJ0bkluaXRpYWxDb2xvclByaW1hcnksXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgYmFja2dyb3VuZDogQnRuSG92ZXJCZ1ByaW1hcnksXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQnRuSG92ZXJCZ1ByaW1hcnksXG4gICAgICBjb2xvcjogQnRuSG92ZXJDb2xvclByaW1hcnksXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBEaXNhYmxlZCA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgICBpbml0aWFsOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5EaXNhYmxlZEJnLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkRpc2FibGVkQmcsXG4gICAgICBjb2xvcjogQnRuRGlzYWJsZWRDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5EaXNhYmxlZEJnLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkRpc2FibGVkQmcsXG4gICAgICBjb2xvcjogQnRuRGlzYWJsZWRDb2xvcixcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgU2tlbGV0b25CZyxcbiAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgU2tlbGV0b25CZyxcbiAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgU3VwcG9ydGluZyA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgICBpbml0aWFsOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5Jbml0aWFsQmdTdXBwb3J0aW5nLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkluaXRpYWxCZ1N1cHBvcnRpbmcsXG4gICAgICBjb2xvcjogQnRuSW5pdGlhbENvbG9yU3VwcG9ydGluZyxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5Ib3ZlckJnU3VwcG9ydGluZyxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Ib3ZlckJnU3VwcG9ydGluZyxcbiAgICAgIGNvbG9yOiBCdG5Ib3ZlckNvbG9yU3VwcG9ydGluZyxcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0J1dHRvbkNvbnRleHQuR0hPU1QsIE5vbmVdLFxuICAgIFtCdXR0b25Db250ZXh0LlVJLCBVaV0sXG4gICAgW0J1dHRvbkNvbnRleHQuTkVVVFJBTCwgTG93XSxcbiAgICBbQnV0dG9uQ29udGV4dC5PVVRMSU5FRCwgTWVkaXVtXSxcbiAgICBbQnV0dG9uQ29udGV4dC5QUklNQVJZLCBIaWdoXSxcbiAgICBbQnV0dG9uQ29udGV4dC5TVVBQT1JUSU5HLCBTdXBwb3J0aW5nXSxcbiAgICBbQnV0dG9uQ29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICAgIFtCdXR0b25Db250ZXh0LlNLRUxFVE9OLCBTa2VsZXRvbl0sXG4gIF0pO1xufTtcbiIsImltcG9ydCB7IENoZWNrYm94UHJvcHMgfSBmcm9tIFwiLi9jaGVja2JveC50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL2NoZWNrYm94LmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDaGVja2JveCBhcyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvY2hlY2tib3hcIjtcblxuY29uc3QgQ2hlY2tib3hDdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IENoZWNrYm94Q3R4OiBSZWFjdC5Db250ZXh0PENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChDaGVja2JveEN0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgQ2hlY2tib3ggPSAoe1xuICBjb250ZXh0LFxuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGFyaWFMYWJlbCxcbiAgbGFiZWwsXG4gIG5hbWUsXG4gIGNoZWNrZWQsXG4gIGRlZmF1bHRDaGVja2VkLFxufTogQ2hlY2tib3hQcm9wcykgPT4ge1xuICBjb25zdCBJbnB1dENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IENoZWNrYm94Q3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxDaGVja2JveEN0eC5Qcm92aWRlciB2YWx1ZT17SW5wdXRDb250ZXh0fT5cbiAgICAgIDxDaGVja2JveENvbXBvbmVudFxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICBhcmlhTGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgLz5cbiAgICA8L0NoZWNrYm94Q3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENoZWNrYm94Q3R4IH0gZnJvbSBcIi4uL2luZGV4XCI7XG5pbXBvcnQge1xuICBTdHlsZWRDaGVja2JveCxcbiAgU3R5bGVkQ2hlY2tib3hDb250YWluZXIsXG4gIFN0eWxlZENoZWNrYm94Q29udGFpbmVyU2tlbGV0b24sXG4gIFN0eWxlZENoZWNrYm94TGFiZWwsXG4gIFN0eWxlZENoZWNrYm94TGFiZWxTa2VsZXRvbixcbiAgU3R5bGVkQ2hlY2tib3hWaXN1YWwsXG4gIFN0eWxlZENoZWNrYm94VmlzdWFsU2tlbGV0b24sXG59IGZyb20gXCIuLi9jaGVja2JveC5zdHlsZVwiO1xuaW1wb3J0IHsgQ2hlY2tib3hUaGVtZWFibGVQcm9wcywgSUNoZWNrYm94VGhlbWUgfSBmcm9tIFwiLi4vY2hlY2tib3gudHlwZXNcIjtcbmltcG9ydCB7IHVzZUNoZWNrYm94VGhlbWUgfSBmcm9tIFwiLi4vaG9va3MvdXNlLWNoZWNrYm94XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgQ29udGV4dCwgVHlwZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBDaGVja2JveGNvbnRleHQgfSBmcm9tIFwiLi4vY2hlY2tib3guZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IENoZWNrYm94ID0gKHtcbiAgb25DaGFuZ2UsXG4gIHZhbHVlLFxuICBhcmlhTGFiZWwsXG4gIGxhYmVsLFxuICBuYW1lLFxuICBjaGVja2VkLFxuICBkZWZhdWx0Q2hlY2tlZCxcbn06IENoZWNrYm94VGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgQ2hlY2tib3hDb250ZXh0ID0gdXNlQ29udGV4dChDaGVja2JveEN0eCk7XG4gIGNvbnN0IFRoZW1lOiBJQ2hlY2tib3hUaGVtZSA9IHVzZUNoZWNrYm94VGhlbWUoQ2hlY2tib3hDb250ZXh0KTtcbiAgY29uc3QgaXNEaXNhYmxlZCA9IENoZWNrYm94Q29udGV4dCA9PT0gQ2hlY2tib3hjb250ZXh0LkRJU0FCTEVEO1xuICBjb25zdCBpc1NrZWxldG9uID0gQ2hlY2tib3hDb250ZXh0ID09PSBDaGVja2JveGNvbnRleHQuU0tFTEVUT047XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZENoZWNrYm94Q29udGFpbmVyU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZENoZWNrYm94VmlzdWFsU2tlbGV0b24gdGhlbWU9e1RoZW1lfSAvPlxuICAgICAgICA8U3R5bGVkQ2hlY2tib3hMYWJlbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L1N0eWxlZENoZWNrYm94TGFiZWxTa2VsZXRvbj5cbiAgICAgIDwvU3R5bGVkQ2hlY2tib3hDb250YWluZXJTa2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hlY2tib3hDb250YWluZXIgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH0gdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWRDaGVja2JveFxuICAgICAgICBkaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgYXJpYS1kaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgYXJpYS1jaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZENoZWNrYm94VmlzdWFsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIHtpc0Rpc2FibGVkICYmICFjaGVja2VkID8gbnVsbCA6IChcbiAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgdHlwZT17VHlwZS5DSEVDS31cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e2xhYmVsfVxuICAgICAgICAgICAgY29udGV4dD17Q29udGV4dC5MSUdIVH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWRDaGVja2JveFZpc3VhbD5cbiAgICAgIDxTdHlsZWRDaGVja2JveExhYmVsIHRoZW1lPXtUaGVtZX0+e2xhYmVsfTwvU3R5bGVkQ2hlY2tib3hMYWJlbD5cbiAgICA8L1N0eWxlZENoZWNrYm94Q29udGFpbmVyPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQ2hlY2tib3hUaGVtZSB9IGZyb20gXCIuL2NoZWNrYm94LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaGVja2JveCA9IHN0eWxlZC5pbnB1dC5hdHRycyh7IHR5cGU6IFwiY2hlY2tib3hcIiB9KTx7XG4gIHRoZW1lOiBJQ2hlY2tib3hUaGVtZTtcbn0+YFxuICBhcHBlYXJhbmNlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hDb250YWluZXIgPSBzdHlsZWQubGFiZWw8e1xuICBpc0Rpc2FibGVkOiBib29sZWFuO1xuICB0aGVtZTogSUNoZWNrYm94VGhlbWU7XG59PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNnB4O1xuXG4gICYgaW5wdXQ6Y2hlY2tlZCArIGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5ib3JkZXJ9O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJHsocHJvcHMpID0+XG4gICAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgICAgY3NzYFxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBgfVxuXG4gICAgaW5wdXQgKyBkaXYge1xuICAgICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgICB9XG4gICAgaW5wdXQ6Y2hlY2tlZCArIGRpdiB7XG4gICAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmJvcmRlcn07XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hDb250YWluZXJTa2VsZXRvbiA9IHN0eWxlZC5sYWJlbDx7XG4gIHRoZW1lOiBJQ2hlY2tib3hUaGVtZTtcbn0+YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hWaXN1YWwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElDaGVja2JveFRoZW1lIH0+YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hWaXN1YWxTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRDaGVja2JveFZpc3VhbCk8e1xuICB0aGVtZTogSUNoZWNrYm94VGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENoZWNrYm94TGFiZWwgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJQ2hlY2tib3hUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENoZWNrYm94TGFiZWxTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRDaGVja2JveExhYmVsKTx7XG4gIHRoZW1lOiBJQ2hlY2tib3hUaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgPiAqIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5gO1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIENoZWNrYm94Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL2NoZWNrYm94L2NoZWNrYm94LmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJQ2hlY2tib3hUaGVtZSB9IGZyb20gXCIuLi9jaGVja2JveC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlQ2hlY2tib3hUaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIENoZWNrYm94Q29udGV4dCxcbik6IElDaGVja2JveFRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IGVycm9yQm9yZGVyQ29sb3IgPSBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwO1xuXG4gIGNvbnN0IFN0YW5kYXJkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLnhzLFxuICB9O1xuXG4gIGNvbnN0IEVycm9yID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMueHMsXG4gIH07XG5cbiAgY29uc3QgRGlzYWJsZWQgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLnhzLFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy54cyxcbiAgfTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtDaGVja2JveENvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbQ2hlY2tib3hDb250ZXh0LkVSUk9SLCBFcnJvcl0sXG4gICAgW0NoZWNrYm94Q29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICAgIFtDaGVja2JveENvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IExvYWRJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmxvYWRlclwiO1xuaW1wb3J0IHsgSUljb24gfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQsIFNpemUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcblxuY29uc3QgSWNvbkN0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEljb25DdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChJY29uQ3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBJY29uID0gKHsgc2l6ZSwgdHlwZSwgc2NyZWVuUmVhZGVyVGV4dCwgY29udGV4dCB9OiBJSWNvbikgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBJY29uQ3R4RGVmYXVsdDtcblxuICBjb25zdCBJY29uID0gTG9hZEljb24oe1xuICAgIHNpemU6IHNpemUgPyBzaXplIDogU2l6ZS5TTUFMTCxcbiAgICB0eXBlOiB0eXBlLFxuICAgIHNjcmVlblJlYWRlclRleHQ6IHNjcmVlblJlYWRlclRleHQsXG4gIH0pO1xuXG4gIHJldHVybiA8SWNvbkN0eC5Qcm92aWRlciB2YWx1ZT17Q29udGV4dH0+e0ljb259PC9JY29uQ3R4LlByb3ZpZGVyPjtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IEFkZCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNOCAxLjVWMTQuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xLjUgOEgxNC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuY29uc3QgQmFzZUljb25TdmcgPSBzdHlsZWQuc3ZnLmF0dHJzKChwcm9wcykgPT4gKHtcbiAgdmVyc2lvbjogXCIxLjFcIixcbiAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgeG1sbnNYbGluazogXCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIsXG4gIHJvbGU6IFwiaW1nXCIsXG4gIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG59KSlgYDtcblxuZXhwb3J0IGNvbnN0IEJhc2VJY29uUGF0aCA9IHN0eWxlZC5wYXRoLmF0dHJzKHtcbiAgcm9sZTogXCJwcmVzZW50YXRpb25cIixcbn0pYGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEJhc2VJY29uU3ZnKTx7XG4gIHdpZHRoOiBzdHJpbmc7XG4gIGhlaWdodDogc3RyaW5nO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMud2lkdGh9O1xuICBoZWlnaHQ6ICR7KHByb3BzKSA9PiBwcm9wcy5oZWlnaHR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEljb25QYXRoID0gc3R5bGVkKEJhc2VJY29uUGF0aCk8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJY29uV3JhcHBlciA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuYDtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlck9ubHkgfSBmcm9tIFwiQC9iYXNlL3NyZWVuX3JlYWRlcl9vbmx5L3NjcmVlbl9yZWFkZXJfb25seVwiO1xuaW1wb3J0IHsgU3R5bGVkSWNvbiwgU3R5bGVkSWNvbldyYXBwZXIgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJSWNvblN2ZyB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgSWNvbiA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUsIGNoaWxkcmVuIH06IElJY29uU3ZnKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEljb25XcmFwcGVyPlxuICAgICAgPFN0eWxlZEljb24gd2lkdGg9e3NpemV9IGhlaWdodD17c2l6ZX0gdmlld0JveD1cIjAgMCAxNiAxNlwiPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1N0eWxlZEljb24+XG4gICAgICA8U2NyZWVuUmVhZGVyT25seSB0ZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSAvPlxuICAgIDwvU3R5bGVkSWNvbldyYXBwZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUljb25UaGVtZSA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCk6IElJY29uVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgY29uc3QgSWNvbkluaXRpYWxDb2xvclByaW1hcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiaWNvbl9jb2xvcl9wcmltYXJ5XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnByaW1hcnkudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEljb25Jbml0aWFsQ29sb3JTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImljb25fY29sb3Jfc3VwcG9ydGluZ1wiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBJY29uSW5pdGlhbENvbG9yRGFyayA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJpY29uX2NvbG9yX2RhcmtcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gIH0pO1xuXG4gIGNvbnN0IEljb25Jbml0aWFsQ29sb3JMaWdodCA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJpY29uX2NvbG9yX2xpZ2h0XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gIH0pO1xuXG4gIGNvbnN0IEljb25EaXNhYmxlZENvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImljb25fZGlzYWJsZWRfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gIH0pO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgc3Ryb2tlOiBJY29uSW5pdGlhbENvbG9yUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNVUFBPUlRJTkcsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogSWNvbkluaXRpYWxDb2xvclN1cHBvcnRpbmcsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5ESVNBQkxFRCxcbiAgICAgIHtcbiAgICAgICAgc3Ryb2tlOiBJY29uRGlzYWJsZWRDb2xvcixcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LkxJR0hULFxuICAgICAge1xuICAgICAgICBzdHJva2U6IEljb25Jbml0aWFsQ29sb3JMaWdodCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LkRBUkssXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogSWNvbkluaXRpYWxDb2xvckRhcmssXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5EQU5HRVIsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LldBUk5JTkcsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogQ29sb3JzLndhcm5pbmcudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TVUNDRVNTLFxuICAgICAge1xuICAgICAgICBzdHJva2U6IENvbG9ycy5zdWNjZXNzLnRpbnRfNTAwLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuSU5GTyxcbiAgICAgIHtcbiAgICAgICAgc3Ryb2tlOiBDb2xvcnMuaW5mby50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBBcnJvd0xlZnQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTE1LjUgOEgwLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjUgMTNMMC41IDhMNS41IDNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQXJyb3dSaWdodCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMC41IDhIMTUuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEwLjUgM0wxNS41IDhMMTAuNSAxM1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBCYWJ5ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xNCA2LjQ5OTk1QzEzLjg4NzUgNi41MDEgMTMuNzc1NSA2LjUxNDQxIDEzLjY2NiA2LjUzOTk1QzEzLjI1OTYgNS4zNjA1NCAxMi40OTUyIDQuMzM3MzYgMTEuNDc5NSAzLjYxMzA4QzEwLjQ2MzkgMi44ODg3OSA5LjI0NzQ3IDIuNDk5NTEgOCAyLjQ5OTUxQzYuNzUyNTMgMi40OTk1MSA1LjUzNjE0IDIuODg4NzkgNC41MjA0NiAzLjYxMzA4QzMuNTA0NzggNC4zMzczNiAyLjc0MDQ0IDUuMzYwNTQgMi4zMzQgNi41Mzk5NUMyLjIyNDQ3IDYuNTE0NDEgMi4xMTI0NiA2LjUwMSAyIDYuNDk5OTVDMS42MDIxOCA2LjQ5OTk1IDEuMjIwNjQgNi42NTc5OSAwLjkzOTM0IDYuOTM5MjlDMC42NTgwMzUgNy4yMjA2IDAuNSA3LjYwMjEzIDAuNSA3Ljk5OTk1QzAuNSA4LjM5Nzc4IDAuNjU4MDM1IDguNzc5MzEgMC45MzkzNCA5LjA2MDYxQzEuMjIwNjQgOS4zNDE5MiAxLjYwMjE4IDkuNDk5OTUgMiA5LjQ5OTk1QzIuMDMgOS40OTk5NSAyLjA1OSA5LjQ5Mjk1IDIuMDg5IDkuNDkwOTVDMi4zMjE1MiAxMC44OTA3IDMuMDQzMjUgMTIuMTYyNiA0LjEyNTcgMTMuMDhDNS4yMDgxNCAxMy45OTc1IDYuNTgxMDUgMTQuNTAxIDggMTQuNTAxQzkuNDE4OTUgMTQuNTAxIDEwLjc5MTkgMTMuOTk3NSAxMS44NzQzIDEzLjA4QzEyLjk1NjcgMTIuMTYyNiAxMy42Nzg1IDEwLjg5MDcgMTMuOTExIDkuNDkwOTVDMTMuOTQxIDkuNDkwOTUgMTMuOTcgOS40OTk5NSAxNCA5LjQ5OTk1QzE0LjM5NzggOS40OTk5NSAxNC43Nzk0IDkuMzQxOTIgMTUuMDYwNyA5LjA2MDYxQzE1LjM0MiA4Ljc3OTMxIDE1LjUgOC4zOTc3OCAxNS41IDcuOTk5OTVDMTUuNSA3LjYwMjEzIDE1LjM0MiA3LjIyMDYgMTUuMDYwNyA2LjkzOTI5QzE0Ljc3OTQgNi42NTc5OSAxNC4zOTc4IDYuNDk5OTUgMTQgNi40OTk5NVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjUgOC41QzYuMDUyMjggOC41IDYuNSA4LjA1MjI4IDYuNSA3LjVDNi41IDYuOTQ3NzIgNi4wNTIyOCA2LjUgNS41IDYuNUM0Ljk0NzcyIDYuNSA0LjUgNi45NDc3MiA0LjUgNy41QzQuNSA4LjA1MjI4IDQuOTQ3NzIgOC41IDUuNSA4LjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2U9XCJub25lXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMC41IDguNUMxMS4wNTIzIDguNSAxMS41IDguMDUyMjggMTEuNSA3LjVDMTEuNSA2Ljk0NzcyIDExLjA1MjMgNi41IDEwLjUgNi41QzkuOTQ3NzIgNi41IDkuNSA2Ljk0NzcyIDkuNSA3LjVDOS41IDguMDUyMjggOS45NDc3MiA4LjUgMTAuNSA4LjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2U9XCJub25lXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk02LjM5MzA3IDExLjEwNjlDNi44ODkzOCAxMS4zNjUxIDcuNDQwNjEgMTEuNDk5OSA4LjAwMDA3IDExLjQ5OTlDOC41NTk1MyAxMS40OTk5IDkuMTEwNzUgMTEuMzY1MSA5LjYwNzA3IDExLjEwNjlcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk03Ljk5OTgxIDIuNUM3Ljc1MzE4IDIuNTAwMTEgNy41MTAzOSAyLjU2MTAzIDcuMjkyOTIgMi42NzczN0M3LjA3NTQ2IDIuNzkzNzEgNi44OTAwMyAyLjk2MTg3IDYuNzUzMDcgMy4xNjY5N0M2LjYxNjEgMy4zNzIwNyA2LjUzMTgyIDMuNjA3NzcgNi41MDc2OSAzLjg1MzIyQzYuNDgzNTUgNC4wOTg2NiA2LjUyMDMxIDQuMzQ2MjcgNi42MTQ3MSA0LjU3NDEyQzYuNzA5MSA0LjgwMTk2IDYuODU4MjIgNS4wMDMwMiA3LjA0ODg2IDUuMTU5NDlDNy4yMzk1IDUuMzE1OTUgNy40NjU3OCA1LjQyMyA3LjcwNzY3IDUuNDcxMTRDNy45NDk1NSA1LjUxOTI5IDguMTk5NTcgNS41MDcwNSA4LjQzNTU5IDUuNDM1NTFDOC42NzE2MiA1LjM2Mzk3IDguODg2MzYgNS4yMzUzNCA5LjA2MDgxIDUuMDYxXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IENhbmNlbCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTMuNSAyLjVMMi41IDEzLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0yLjUgMi41TDEzLjUgMTMuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBDaGVjayA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNCA4TDYuNjY2NjcgMTAuNjY2N0wxMiA1LjMzMzMzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IENoZXZyb25Eb3duID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0yIDUuNUw4IDExLjVMMTQgNS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IENoZXZyb25VcCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTQgMTEuNUw4IDUuNUwyIDExLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgRGlzdGFuY2UgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTMuNSAxMS41QzMuNSAxMi41NjA5IDMuOTIxNDMgMTMuNTc4MyA0LjY3MTU3IDE0LjMyODRDNS40MjE3MiAxNS4wNzg2IDYuNDM5MTMgMTUuNSA3LjUgMTUuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTMuNSA4LjVDNS41IDYuMjcwNjcgNi41IDQuNjA0IDYuNSAzLjVDNi41IDIuNzA0MzUgNi4xODM5MyAxLjk0MTI5IDUuNjIxMzIgMS4zNzg2OEM1LjA1ODcxIDAuODE2MDcgNC4yOTU2NSAwLjUgMy41IDAuNUMyLjcwNDM1IDAuNSAxLjk0MTI5IDAuODE2MDcgMS4zNzg2OCAxLjM3ODY4QzAuODE2MDcgMS45NDEyOSAwLjUgMi43MDQzNSAwLjUgMy41QzAuNSA0LjYwNTMzIDEuNSA2LjI3MiAzLjUgOC41WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTExLjUgMTBDMTIuMzI4NCAxMCAxMyA5LjMyODQzIDEzIDguNUMxMyA3LjY3MTU3IDEyLjMyODQgNyAxMS41IDdDMTAuNjcxNiA3IDEwIDcuNjcxNTcgMTAgOC41QzEwIDkuMzI4NDMgMTAuNjcxNiAxMCAxMS41IDEwWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0zLjUgNC41QzQuMDUyMjggNC41IDQuNSA0LjA1MjI4IDQuNSAzLjVDNC41IDIuOTQ3NzIgNC4wNTIyOCAyLjUgMy41IDIuNUMyLjk0NzcyIDIuNSAyLjUgMi45NDc3MiAyLjUgMy41QzIuNSA0LjA1MjI4IDIuOTQ3NzIgNC41IDMuNSA0LjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTExLjUgMTVDMTQuMTY2NyAxMi4xNCAxNS41IDkuOTczMzMgMTUuNSA4LjVDMTUuNSA3LjQzOTEzIDE1LjA3ODYgNi40MjE3MiAxNC4zMjg0IDUuNjcxNTdDMTMuNTc4MyA0LjkyMTQzIDEyLjU2MDkgNC41IDExLjUgNC41QzEwLjQzOTEgNC41IDkuNDIxNzIgNC45MjE0MyA4LjY3MTU3IDUuNjcxNTdDNy45MjE0MyA2LjQyMTcyIDcuNSA3LjQzOTEzIDcuNSA4LjVDNy41IDkuOTczMzMgOC44MzMzMyAxMi4xNCAxMS41IDE1WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBEb2N1bWVudCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTIuNSAzLjVIMi41VjE1LjVIMTIuNVYzLjVaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNC41IDAuNUgxNS41VjEzLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjUgNi41SDkuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTUuNSA5LjVIOS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNS41IDEyLjVIOS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEVkaXQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEwIDNMMTMgNlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEyIDFMMTUgNEw1IDE0TDEgMTVMMiAxMUwxMiAxWlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBFdXJvID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xLjUgNi41SDkuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEuNSA5LjVIOS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTIuNSAyLjcyOTk4QzExLjUzMDIgMS44OTMzMiAxMC4yOCAxLjQ1Mzk5IDkgMS40OTk5OEM0Ljk2NyAxLjQ5OTk4IDMuNSA0LjkwNDk4IDMuNSA3Ljk5OTk4QzMuNSAxMS4wOTUgNC45NjcgMTQuNSA5IDE0LjVDMTAuMjggMTQuNTQ2IDExLjUzMDIgMTQuMTA2NiAxMi41IDEzLjI3XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEZhdm9yaXRlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xNC4zMjggMi42NzIwMUMxMi43NjYgMS4xMTAwMSAxMC4yMzMgMS4xMTAwMSA4LjY3MTAxIDIuNjcyMDFDOC4zOTEwMSAyLjk1MjAxIDguMTgwMDEgMy4yNzAwMSA4LjAwMDAxIDMuNjAxMDFDNy44MjAwMSAzLjI3MDAxIDcuNjA5MDEgMi45NTEwMSA3LjMyODAxIDIuNjcxMDFDNS43NjYwMSAxLjEwOTAxIDMuMjMzMDEgMS4xMDkwMSAxLjY3MTAxIDIuNjcxMDFDMC4xMDkwMTIgNC4yMzMwMSAwLjEwOTAxMiA2Ljc2NjAxIDEuNjcxMDEgOC4zMjgwMUw4LjAwMDAxIDE0LjVMMTQuMzI4IDguMzI4MDFDMTUuODkxIDYuNzY2MDEgMTUuODkxIDQuMjM0MDEgMTQuMzI4IDIuNjcyMDFaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IE1hcCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTUuNSAwLjVWMTMuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEwLjUgMi41VjE1LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0wLjUgMTUuNVYyLjVMNS41IDAuNUwxMC41IDIuNUwxNS41IDAuNVYxMy41TDEwLjUgMTUuNUw1LjUgMTMuNUwwLjUgMTUuNVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgTWVudSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEuNSAyLjVIMTQuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEuNSA4SDE0LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xLjUgMTMuNUgxNC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IFBpbiA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTMuNSA2QzEzLjUgMTAuNSA4IDE1LjUgOCAxNS41QzggMTUuNSAyLjUgMTAuNSAyLjUgNkMyLjUgNC41NDEzMSAzLjA3OTQ2IDMuMTQyMzYgNC4xMTA5MSAyLjExMDkxQzUuMTQyMzYgMS4wNzk0NiA2LjU0MTMxIDAuNSA4IDAuNUM5LjQ1ODY5IDAuNSAxMC44NTc2IDEuMDc5NDYgMTEuODg5MSAyLjExMDkxQzEyLjkyMDUgMy4xNDIzNiAxMy41IDQuNTQxMzEgMTMuNSA2WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTggOC41QzkuMzgwNzEgOC41IDEwLjUgNy4zODA3MSAxMC41IDZDMTAuNSA0LjYxOTI5IDkuMzgwNzEgMy41IDggMy41QzYuNjE5MjkgMy41IDUuNSA0LjYxOTI5IDUuNSA2QzUuNSA3LjM4MDcxIDYuNjE5MjkgOC41IDggOC41WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk04LjQ3MDU5IDguNUM5Ljc3MDA4IDguNSAxMC44MjM1IDcuMzgwNzEgMTAuODIzNSA2QzEwLjgyMzUgNC42MTkyOSA5Ljc3MDA4IDMuNSA4LjQ3MDU5IDMuNUM3LjE3MTA5IDMuNSA2LjExNzY1IDQuNjE5MjkgNi4xMTc2NSA2QzYuMTE3NjUgNy4zODA3MSA3LjE3MTA5IDguNSA4LjQ3MDU5IDguNVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTMuMTMyMSAxMy42MjFDMTEuOTAwMSAxMC44ODYgOC44MTQwMSA5LjcyOTAyIDYuMjM5ODkgMTEuMDM4QzUuMTc2MzYgMTEuNTc5IDQuMzE4MDEgMTIuNDkgMy44MDg4MyAxMy42MjFcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNOC40NzA1OSAxNS41QzEyLjM2OSAxNS41IDE1LjUyOTQgMTIuMTQyMSAxNS41Mjk0IDhDMTUuNTI5NCAzLjg1Nzg2IDEyLjM2OSAwLjUgOC40NzA1OSAwLjVDNC41NzIxIDAuNSAxLjQxMTc3IDMuODU3ODYgMS40MTE3NyA4QzEuNDExNzcgMTIuMTQyMSA0LjU3MjEgMTUuNSA4LjQ3MDU5IDE1LjVaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBSZWRvID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xNS41IDEwLjVINUMyLjUxNSAxMC41IDAuNSA4LjQ4NSAwLjUgNkMwLjUgMy41MTUgMi41MTUgMS41IDUgMS41SDExLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMS41IDYuNUwxNS41IDEwLjVMMTEuNSAxNC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IFNlbmQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTQuNTA0IDkuNTAzTDEyLjUgMTUuNUwxNS41IDAuNUwwLjUgNi41TDIuNTAyIDguMDAxXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNy42MyAxMS44NDhMNC41IDE1LjVMNC41MDQgOS41MDNMOSA2LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgVHJhbnNsYXRpb24gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEuNSAyLjVIOS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNS41IDAuNVYyLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0zLjUgMi41QzMuNTQ0NDQgMy44MDM4OCA0LjAwNTMzIDUuMDU5MjQgNC44MTUxNCA2LjA4MjEyQzUuNjI0OTUgNy4xMDUgNi43NDEwOSA3Ljg0MTYxIDggOC4xODRcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk03LjUgMi41QzcuMSA4LjEyNSAxLjUgOC41IDEuNSA4LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk04IDE0LjVMMTEuNSA2LjVMMTUgMTQuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTkuMzEyOTkgMTEuNUgxMy42ODhcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ29tbWVudCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNy4yOTEwMiAwLjVDMy45NzcwMiAwLjUgMS4yOTEwMiAyLjczOSAxLjI5MTAyIDUuNUMxLjI5MTAyIDYuNTIxIDEuNjYwMDIgNy40NyAyLjI5MTAyIDguMjYyVjEyTDQuODY0MDIgMTAuMDdDNS42MDYwMiAxMC4zNDUgNi40MjYwMiAxMC41IDcuMjkxMDIgMTAuNUMxMC42MDUgMTAuNSAxMy4yOTEgOC4yNjEgMTMuMjkxIDUuNUMxMy4yOTEgMi43MzkgMTAuNjA1IDAuNSA3LjI5MTAyIDAuNVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk02LjAxMDAyIDEyLjUwNEM3LjA5OTAyIDEzLjQyNyA4LjYxNTAyIDE0IDEwLjI5MSAxNEMxMS4wNzQgMTQgMTEuODIgMTMuODcxIDEyLjUwNiAxMy42NDRMMTUuMjkxIDE1LjVWMTEuNzYyQzE1LjkyMiAxMC45NyAxNi4yOTEgMTAuMDIyIDE2LjI5MSA5QzE2LjI5MSA4LjA5MSAxNiA3LjIzOSAxNS40OTIgNi41MDVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgSW5Qcm9jZXNzID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjUgMC41TDguNSAzLjVINUMyLjUxNSAzLjUgMC41IDUuNTE1IDAuNSA4QzAuNSAxMC40ODUgMi41MTUgMTIuNSA1IDEyLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMC41IDE1LjVMNy41IDEyLjVIMTFDMTMuNDg1IDEyLjUgMTUuNSAxMC40ODUgMTUuNSA4QzE1LjUgNS41MTUgMTMuNDg1IDMuNSAxMSAzLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgTWludXMgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEuNSA4SDE0LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IENvbGxhcHNlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0wLjUgOEgxMS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9e1wibm9uZVwifVxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk03IDEyLjVMMTEuNSA4TDcgMy41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9e1wibm9uZVwifVxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xNS41IDE1LjVWMC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9e1wibm9uZVwifVxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ2hldnJvblJpZ2h0ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjE2NjY5IDAuNjY2NjY0TDEzLjE2NjcgOEw1LjE2NjY5IDE1LjMzMzNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ2hldnJvbkxlZnQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTExLjgzMzMgMTUuMzMzM0wzLjgzMzMxIDhMMTEuODMzMyAwLjY2NjY2OVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgQWRkLFxuICBBcnJvd0xlZnQsXG4gIEFycm93UmlnaHQsXG4gIEJhYnksXG4gIENhbmNlbCxcbiAgQ2hlY2ssXG4gIENoZXZyb25Eb3duLFxuICBDaGV2cm9uVXAsXG4gIENvbW1lbnQsXG4gIERpc3RhbmNlLFxuICBEb2N1bWVudCxcbiAgRWRpdCxcbiAgRXVybyxcbiAgRmF2b3JpdGUsXG4gIEluUHJvY2VzcyxcbiAgTWFwLFxuICBNZW51LFxuICBQaW4sXG4gIFByb2ZpbGUsXG4gIFJlZG8sXG4gIFNlbmQsXG4gIFRyYW5zbGF0aW9uLFxufSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3Znc1wiO1xuaW1wb3J0IHsgSUljb25Mb2FkIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTaXplLCBUeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBNaW51cyB9IGZyb20gXCJAL3VpL2ljb24vc3Zncy9pY29uLm1pbnVzLnN2Z1wiO1xuaW1wb3J0IHsgQ29sbGFwc2UgfSBmcm9tIFwiQC91aS9pY29uL3N2Z3MvaWNvbi5jb2xsYXBzZS5zdmdcIjtcbmltcG9ydCB7IENoZXZyb25SaWdodCB9IGZyb20gXCJAL3VpL2ljb24vc3Zncy9pY29uLmNoZXZyb24tcmlnaHQuc3ZnXCI7XG5pbXBvcnQgeyBDaGV2cm9uTGVmdCB9IGZyb20gXCJAL3VpL2ljb24vc3Zncy9pY29uLmNoZXZyb24tbGVmdC5zdmdcIjtcblxuZXhwb3J0IGNvbnN0IExvYWRJY29uID0gKHsgc2l6ZSwgdHlwZSwgc2NyZWVuUmVhZGVyVGV4dCB9OiBJSWNvbkxvYWQpID0+IHtcbiAgbGV0IEljb25TaXplID0gXCIzMnB4XCI7XG4gIHN3aXRjaCAoc2l6ZSkge1xuICAgIGNhc2UgU2l6ZS5YU01BTEw6XG4gICAgICBJY29uU2l6ZSA9IFwiMTJweFwiO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBTaXplLlNNQUxMOlxuICAgICAgSWNvblNpemUgPSBcIjE2cHhcIjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgU2l6ZS5MQVJHRTpcbiAgICAgIEljb25TaXplID0gXCI0OHB4XCI7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFNpemUuTUVESVVNOlxuICAgIGRlZmF1bHQ6XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFR5cGUuQUREOlxuICAgICAgcmV0dXJuIDxBZGQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+O1xuICAgIGNhc2UgVHlwZS5QUk9GSUxFOlxuICAgICAgcmV0dXJuIDxQcm9maWxlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcbiAgICBjYXNlIFR5cGUuQVJST1dfTEVGVDpcbiAgICAgIHJldHVybiA8QXJyb3dMZWZ0IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcbiAgICBjYXNlIFR5cGUuQVJST1dfUklHSFQ6XG4gICAgICByZXR1cm4gPEFycm93UmlnaHQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkNBTkNFTDpcbiAgICAgIHJldHVybiA8Q2FuY2VsIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5DSEVWUk9OX0RPV046XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Q2hldnJvbkRvd24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+XG4gICAgICApO1xuXG4gICAgY2FzZSBUeXBlLkNIRVZST05fVVA6XG4gICAgICByZXR1cm4gPENoZXZyb25VcCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuQ0hFVlJPTl9SSUdIVDpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDaGV2cm9uUmlnaHQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+XG4gICAgICApO1xuXG4gICAgY2FzZSBUeXBlLkNIRVZST05fTEVGVDpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDaGV2cm9uTGVmdCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz5cbiAgICAgICk7XG5cbiAgICBjYXNlIFR5cGUuRURJVDpcbiAgICAgIHJldHVybiA8RWRpdCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuU0VORDpcbiAgICAgIHJldHVybiA8U2VuZCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuUkVETzpcbiAgICAgIHJldHVybiA8UmVkbyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuQ0hFQ0s6XG4gICAgICByZXR1cm4gPENoZWNrIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5QSU46XG4gICAgICByZXR1cm4gPFBpbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuVFJBTlNMQVRJT046XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VHJhbnNsYXRpb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+XG4gICAgICApO1xuXG4gICAgY2FzZSBUeXBlLk1BUDpcbiAgICAgIHJldHVybiA8TWFwIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5FVVJPOlxuICAgICAgcmV0dXJuIDxFdXJvIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5CQUJZOlxuICAgICAgcmV0dXJuIDxCYWJ5IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5NRU5VOlxuICAgICAgcmV0dXJuIDxNZW51IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5ET0NVTUVOVDpcbiAgICAgIHJldHVybiA8RG9jdW1lbnQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkRJU1RBTkNFOlxuICAgICAgcmV0dXJuIDxEaXN0YW5jZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuRkFWT1JJVEU6XG4gICAgICByZXR1cm4gPEZhdm9yaXRlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5DT01NRU5UOlxuICAgICAgcmV0dXJuIDxDb21tZW50IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5JTl9QUk9DRVNTOlxuICAgICAgcmV0dXJuIDxJblByb2Nlc3Mgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLk1JTlVTOlxuICAgICAgcmV0dXJuIDxNaW51cyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuQ09MTEFQU0U6XG4gICAgICByZXR1cm4gPENvbGxhcHNlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPD4g8J+aqyBOb3QgRm91bmQ8Lz47XG4gIH1cbn07XG4iLCJpbXBvcnQgeyBDaG9pY2VQcm9wcyB9IGZyb20gXCIuL2Nob2ljZS50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL2Nob2ljZS5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ2hvaWNlIGFzIENob2ljZUNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvY2hvaWNlXCI7XG5cbmNvbnN0IENob2ljZUN0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ2hvaWNlQ3R4OiBSZWFjdC5Db250ZXh0PENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChDaG9pY2VDdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IENob2ljZSA9ICh7XG4gIGNvbnRleHQsXG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG4gIGljb24sXG59OiBDaG9pY2VQcm9wcykgPT4ge1xuICBjb25zdCBDaG9pY2VDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBDaG9pY2VDdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPENob2ljZUN0eC5Qcm92aWRlciB2YWx1ZT17Q2hvaWNlQ29udGV4dH0+XG4gICAgICA8Q2hvaWNlQ29tcG9uZW50XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIGFyaWFMYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIGljb249e2ljb259XG4gICAgICAvPlxuICAgIDwvQ2hvaWNlQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENob2ljZVRoZW1lYWJsZVByb3BzLCBJQ2hvaWNlVGhlbWUgfSBmcm9tIFwiLi4vY2hvaWNlLnR5cGVzXCI7XG5pbXBvcnQgeyBDaG9pY2VDdHggfSBmcm9tIFwiLi4vaW5kZXhcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgQ2hvaWNlY29udGV4dCB9IGZyb20gXCIuLi9jaG9pY2UuZW51bXNcIjtcbmltcG9ydCB7IENvbnRleHQsIFNpemUsIFR5cGUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IHVzZUNob2ljZVRoZW1lIH0gZnJvbSBcIi4uL2hvb2tzL3VzZS1jaG9pY2VcIjtcbmltcG9ydCB7XG4gIFN0eWxlZENob2ljZSxcbiAgU3R5bGVkQ2hvaWNlQ29udGFpbmVyLFxuICBTdHlsZWRDaG9pY2VDb250YWluZXJTa2VsZXRvbixcbiAgU3R5bGVkQ2hvaWNlTGFiZWwsXG4gIFN0eWxlZENob2ljZUxhYmVsU2tlbGV0b24sXG4gIFN0eWxlZENob2ljZVZpc3VhbFNrZWxldG9uLFxuICBTdHlsZWRWaXN1YWwsXG4gIFN0eWxlZFZpc3VhbENvbnRhaW5lcixcbn0gZnJvbSBcIi4uL2Nob2ljZS5zdHlsZVwiO1xuaW1wb3J0IHsgRnJhbWUgfSBmcm9tIFwiLi4vLi4vZnJhbWVcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb2xvclZhcmlhbnQgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcblxuZXhwb3J0IGNvbnN0IENob2ljZSA9ICh7XG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG4gIGljb24sXG59OiBDaG9pY2VUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBDaG9pY2VDb250ZXh0ID0gdXNlQ29udGV4dChDaG9pY2VDdHgpO1xuICBjb25zdCBUaGVtZTogSUNob2ljZVRoZW1lID0gdXNlQ2hvaWNlVGhlbWUoQ2hvaWNlQ29udGV4dCk7XG4gIGNvbnN0IGlzRGlzYWJsZWQgPSBDaG9pY2VDb250ZXh0ID09PSBDaG9pY2Vjb250ZXh0LkRJU0FCTEVEO1xuICBjb25zdCBpc1NrZWxldG9uID0gQ2hvaWNlQ29udGV4dCA9PT0gQ2hvaWNlY29udGV4dC5TS0VMRVRPTjtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQ2hvaWNlQ29udGFpbmVyU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZENob2ljZVZpc3VhbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0gLz5cbiAgICAgICAgPFN0eWxlZENob2ljZUxhYmVsU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvU3R5bGVkQ2hvaWNlTGFiZWxTa2VsZXRvbj5cbiAgICAgIDwvU3R5bGVkQ2hvaWNlQ29udGFpbmVyU2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENob2ljZUNvbnRhaW5lciBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfSB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZENob2ljZVxuICAgICAgICBkaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgYXJpYS1kaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgYXJpYS1jaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkVmlzdWFsQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxGcmFtZSB0aW50PXtDb2xvclZhcmlhbnQuVElOVF8yMDB9IGFyb3VuZD17aWNvbn0gLz5cbiAgICAgICAgPFN0eWxlZFZpc3VhbCB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICB0eXBlPXtUeXBlLkNIRUNLfVxuICAgICAgICAgICAgc2l6ZT17U2l6ZS5NRURJVU19XG4gICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXtsYWJlbH1cbiAgICAgICAgICAgIGNvbnRleHQ9e0NvbnRleHQuTElHSFR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRWaXN1YWw+XG4gICAgICA8L1N0eWxlZFZpc3VhbENvbnRhaW5lcj5cbiAgICAgIDxTdHlsZWRDaG9pY2VMYWJlbCB0aGVtZT17VGhlbWV9PntsYWJlbH08L1N0eWxlZENob2ljZUxhYmVsPlxuICAgIDwvU3R5bGVkQ2hvaWNlQ29udGFpbmVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBDaG9pY2VDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvY2hvaWNlL2Nob2ljZS5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSUNob2ljZVRoZW1lIH0gZnJvbSBcIi4uL2Nob2ljZS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlQ2hvaWNlVGhlbWUgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDaG9pY2VDb250ZXh0LFxuKTogSUNob2ljZVRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IGVycm9yQm9yZGVyQ29sb3IgPSBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwO1xuXG4gIGNvbnN0IFN0YW5kYXJkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGNvbnN0IEVycm9yID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIGVycm9yQm9yZGVyQ29sb3IsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMubGcsXG4gICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgY29uc3QgRGlzYWJsZWQgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtDaG9pY2VDb250ZXh0LlNUQU5EQVJELCBTdGFuZGFyZF0sXG4gICAgW0Nob2ljZUNvbnRleHQuRVJST1IsIEVycm9yXSxcbiAgICBbQ2hvaWNlQ29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICAgIFtDaG9pY2VDb250ZXh0LlNLRUxFVE9OLCBTa2VsZXRvbl0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQ2hvaWNlVGhlbWUgfSBmcm9tIFwiLi9jaG9pY2UudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENob2ljZSA9IHN0eWxlZC5pbnB1dC5hdHRycyh7IHR5cGU6IFwiUmFkaW9cIiB9KTx7XG4gIHRoZW1lOiBJQ2hvaWNlVGhlbWU7XG59PmBcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICY6Y2hlY2tlZCB+IHNwYW4ge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5jb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gICY6Y2hlY2tlZCB+IGRpdiA+IDpsYXN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hvaWNlQ29udGFpbmVyID0gc3R5bGVkLmxhYmVsPHtcbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgdGhlbWU6IElDaG9pY2VUaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJHsocHJvcHMpID0+XG4gICAgIXByb3BzLmlzRGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICAmOmhvdmVyID4gc3BhbiB7XG4gICAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICBgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENob2ljZUxhYmVsID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSUNob2ljZVRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBwYWRkaW5nLWxlZnQ6IDY4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgbWluLWhlaWdodDogNThweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRWaXN1YWxDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElDaG9pY2VUaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA4cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQ2hvaWNlVGhlbWUgfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnZpc3VhbFJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmJhY2tncm91bmR9O1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hvaWNlQ29udGFpbmVyU2tlbGV0b24gPSBzdHlsZWQubGFiZWw8e1xuICB0aGVtZTogSUNob2ljZVRoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNThweDtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaG9pY2VWaXN1YWxTa2VsZXRvbiA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUNob2ljZVRoZW1lIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS52aXN1YWxSYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaG9pY2VMYWJlbFNrZWxldG9uID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSUNob2ljZVRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW4tbGVmdDogNjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGZWF0dXJlIGFzIEJhc2VGZWF0dXJlIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9jb21wb25lbnRzL2ZlYXR1cmVcIjtcbmltcG9ydCB7IElGZWF0dXJlIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9mZWF0dXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vZmVhdHVyZS5lbnVtc1wiO1xuXG5jb25zdCBEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPSBjcmVhdGVDb250ZXh0KERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZSA9ICh7IGNvbnRleHQsIGxhYmVsLCB3aXRoSWNvbkJlZm9yZSB9OiBJRmVhdHVyZSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPEN0eC5Qcm92aWRlciB2YWx1ZT17Q29tcG9uZW50Q29udGV4dH0+XG4gICAgICA8QmFzZUZlYXR1cmUgbGFiZWw9e2xhYmVsfSB3aXRoSWNvbkJlZm9yZT17d2l0aEljb25CZWZvcmV9IC8+XG4gICAgPC9DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZEZlYXR1cmUsXG4gIFN0eWxlZFNrZWxldG9uRmVhdHVyZSxcbn0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9mZWF0dXJlLnN0eWxlXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IElGZWF0dXJlQmFzZSB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS50eXBlc1wiO1xuaW1wb3J0IHsgQ3R4IH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZVwiO1xuaW1wb3J0IHsgdXNlRmVhdHVyZSB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvaG9va3MvdXNlLWZlYXR1cmVcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vZmVhdHVyZS5lbnVtc1wiO1xuaW1wb3J0IHsgRmVhdHVyZUxhYmVsIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9jb21wb25lbnRzL2ZlYXR1cmUubGFiZWxcIjtcbmltcG9ydCB7IEZlYXR1cmVJY29uIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9jb21wb25lbnRzL2ZlYXR1cmUuaWNvblwiO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZSA9ICh7IGxhYmVsLCB3aXRoSWNvbkJlZm9yZSB9OiBJRmVhdHVyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGZWF0dXJlKENvbXBvbmVudENvbnRleHQpO1xuICBjb25zdCBJc1NrZWxldG9uID0gQ29tcG9uZW50Q29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICBjb25zdCBMYWJlbCA9IDxGZWF0dXJlTGFiZWw+e2xhYmVsfTwvRmVhdHVyZUxhYmVsPjtcbiAgY29uc3QgSWNvbkJlZm9yZSA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgIDxGZWF0dXJlSWNvbiBpY29uPXt3aXRoSWNvbkJlZm9yZX0gLz5cbiAgKSA6IG51bGw7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICBjb25zdCBJY29uQmVmb3JlU2tlbGV0b24gPSB3aXRoSWNvbkJlZm9yZSA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPEZlYXR1cmVJY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IExhYmVsU2tlbGV0b24gPSAoXG4gICAgICA8UGxhY2Vob2xkZXI+XG4gICAgICAgIDxGZWF0dXJlTGFiZWw+e2xhYmVsfTwvRmVhdHVyZUxhYmVsPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvbkZlYXR1cmUgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAge0ljb25CZWZvcmVTa2VsZXRvbn1cbiAgICAgICAge0xhYmVsU2tlbGV0b259XG4gICAgICA8L1N0eWxlZFNrZWxldG9uRmVhdHVyZT5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRmVhdHVyZSB0aGVtZT17VGhlbWV9PlxuICAgICAge0ljb25CZWZvcmV9IHtMYWJlbH1cbiAgICA8L1N0eWxlZEZlYXR1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7XG4gIElGZWF0dXJlSWNvblRoZW1lLFxuICBJRmVhdHVyZVRoZW1lLFxufSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZlYXR1cmUgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyB0aGVtZTogSUZlYXR1cmVUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvbkZlYXR1cmUgPSBzdHlsZWQoU3R5bGVkRmVhdHVyZSk8e1xuICB0aGVtZTogSUZlYXR1cmVUaGVtZTtcbn0+YFxuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGZWF0dXJlTGFiZWwgPSBzdHlsZWQuZGl2PHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmVhdHVyZUljb24gPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyB0aGVtZTogSUZlYXR1cmVJY29uVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1hcmdpbn07XG5gO1xuIiwiaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuLi9mZWF0dXJlLmVudW1zXCI7XG5pbXBvcnQgeyBJRmVhdHVyZVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9mZWF0dXJlLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlRmVhdHVyZSA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCk6IElGZWF0dXJlVGhlbWUgPT4ge1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNzAwLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TS0VMRVRPTixcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5LnNtLm5vcm1hbCxcbiAgICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzcwMCxcbiAgICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRmVhdHVyZUxhYmVsUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZlYXR1cmVMYWJlbCB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS5zdHlsZVwiO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZUxhYmVsID0gKHsgY2hpbGRyZW4gfTogRmVhdHVyZUxhYmVsUHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRGZWF0dXJlTGFiZWw+e2NoaWxkcmVufTwvU3R5bGVkRmVhdHVyZUxhYmVsPjtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ3R4IGFzIEZlYXR1cmVDdHggfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEljb25Db250ZXh0LCBTaXplIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUuZW51bXNcIjtcbmltcG9ydCB7IEZlYXR1cmVJY29uUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUudHlwZXNcIjtcbmltcG9ydCB7IHVzZUZlYXR1cmVJY29uQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvaG9va3MvdXNlLWZlYXR1cmUtaWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkRmVhdHVyZUljb24gfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUuc3R5bGVcIjtcblxuZXhwb3J0IGNvbnN0IEZlYXR1cmVJY29uID0gKHsgaWNvbiB9OiBGZWF0dXJlSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KEZlYXR1cmVDdHgpO1xuICBjb25zdCBJY29uQ29udGV4dDogSWNvbkNvbnRleHQgPSB1c2VGZWF0dXJlSWNvbkNvbnRleHQoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgY29uc3QgTWFyZ2luID0gXCIwIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiMlwiXSArIFwiIDAgMFwiO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEZlYXR1cmVJY29uIHRoZW1lPXt7IG1hcmdpbjogTWFyZ2luIH19PlxuICAgICAge1JlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XG4gICAgICAgIGNvbnRleHQ6IEljb25Db250ZXh0LFxuICAgICAgICBzaXplOiBTaXplLlNNQUxMLFxuICAgICAgfSl9XG4gICAgPC9TdHlsZWRGZWF0dXJlSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBDb250ZXh0IGFzIEljb25Db250ZXh0IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEZlYXR1cmVDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9mZWF0dXJlLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VGZWF0dXJlSWNvbkNvbnRleHQgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBGZWF0dXJlQ29udGV4dCxcbik6IEljb25Db250ZXh0ID0+IHtcbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbRmVhdHVyZUNvbnRleHQuU1RBTkRBUkQsIEljb25Db250ZXh0LkRBUktdLFxuICAgIFtGZWF0dXJlQ29udGV4dC5TS0VMRVRPTiwgSWNvbkNvbnRleHQuRElTQUJMRURdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgSHRtbEhlYWRpbmcsXG4gIEh0bWxIZWFkaW5nS2V5cyxcbiAgSUhlYWRpbmcsXG59IGZyb20gXCJAL2F0b21zL2hlYWRpbmcvaGVhZGluZy50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2hlYWRpbmcvaGVhZGluZy5lbnVtc1wiO1xuaW1wb3J0IHsgSGVhZGluZyBhcyBCYXNlSGVhZGluZyB9IGZyb20gXCJAL2F0b21zL2hlYWRpbmcvY29tcG9uZW50cy9oZWFkaW5nXCI7XG5pbXBvcnQge1xuICBUeXBvZ3JhcGh5Rm9udCxcbiAgVHlwb2dyYXBoeUZvbnRLZXksXG4gIFR5cG9ncmFwaHlGb250cyxcbn0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5cbmNvbnN0IEhlYWRpbmdDdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEhlYWRpbmdDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChIZWFkaW5nQ3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBIZWFkaW5nID0gKHtcbiAgaWQsXG4gIHRpdGxlLFxuICBjaGlsZHJlbiA9IFwiXCIsXG4gIGh0bWxUeXBlID0gSHRtbEhlYWRpbmcuSDEsXG4gIHNpemUgPSBUeXBvZ3JhcGh5Rm9udC5MRyxcbiAgZm9udCA9IFR5cG9ncmFwaHlGb250cy5QUklNQVJZLFxuICBjb250ZXh0LFxufTogSUhlYWRpbmcpID0+IHtcbiAgY29uc3QgSGVhZGluZ0NvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IEhlYWRpbmdDdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRpbmdDdHguUHJvdmlkZXIgdmFsdWU9e0hlYWRpbmdDb250ZXh0fT5cbiAgICAgIDxCYXNlSGVhZGluZ1xuICAgICAgICBpZD17aWR9XG4gICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgaHRtbFR5cGU9e2h0bWxUeXBlfVxuICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICBmb250PXtmb250fVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L0Jhc2VIZWFkaW5nPlxuICAgIDwvSGVhZGluZ0N0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUhlYWRpbmdCYXNlIH0gZnJvbSBcIkAvYXRvbXMvaGVhZGluZy9oZWFkaW5nLnR5cGVzXCI7XG5pbXBvcnQgeyBIZWFkaW5nQ3R4IH0gZnJvbSBcIkAvYXRvbXMvaGVhZGluZ1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkSDEsXG4gIFN0eWxlZEgyLFxuICBTdHlsZWRIMyxcbiAgU3R5bGVkSDQsXG4gIFN0eWxlZEg1LFxuICBTdHlsZWRINixcbn0gZnJvbSBcIkAvYXRvbXMvaGVhZGluZy9oZWFkaW5nLnN0eWxlXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBQbGFpblRleHQgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHRcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9oZWFkaW5nL2hlYWRpbmcuZW51bXNcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgUGxhaW5UZXh0Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IEhlYWRpbmcgPSAoe1xuICBpZCxcbiAgdGl0bGUsXG4gIGNoaWxkcmVuLFxuICBodG1sVHlwZSxcbiAgc2l6ZSxcbiAgZm9udCxcbn06IElIZWFkaW5nQmFzZSkgPT4ge1xuICBjb25zdCBIZWFkaW5nQ29udGV4dCA9IHVzZUNvbnRleHQoSGVhZGluZ0N0eCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBIZWFkaW5nQ29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICBjb25zdCBIMSA9IElzU2tlbGV0b24gPyAoXG4gICAgPFN0eWxlZEgxIGlkPXtpZH0gdGl0bGU9e3RpdGxlfT5cbiAgICAgIDxQbGFpblRleHQgZm9udD17Zm9udH0gc2l6ZT17c2l6ZX0gY29udGV4dD17UGxhaW5UZXh0Q29udGV4dC5TS0VMRVRPTn0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvUGxhaW5UZXh0PlxuICAgIDwvU3R5bGVkSDE+XG4gICkgOiAoXG4gICAgPFN0eWxlZEgxIGlkPXtpZH0gdGl0bGU9e3RpdGxlfT5cbiAgICAgIDxQbGFpblRleHQgZm9udD17Zm9udH0gc2l6ZT17c2l6ZX0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvUGxhaW5UZXh0PlxuICAgIDwvU3R5bGVkSDE+XG4gICk7XG5cbiAgY29uc3QgSDIgPSBJc1NrZWxldG9uID8gKFxuICAgIDxTdHlsZWRIMiBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9IGNvbnRleHQ9e1BsYWluVGV4dENvbnRleHQuU0tFTEVUT059PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEgyPlxuICApIDogKFxuICAgIDxTdHlsZWRIMiBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEgyPlxuICApO1xuXG4gIGNvbnN0IEgzID0gSXNTa2VsZXRvbiA/IChcbiAgICA8U3R5bGVkSDMgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfSBjb250ZXh0PXtQbGFpblRleHRDb250ZXh0LlNLRUxFVE9OfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRIMz5cbiAgKSA6IChcbiAgICA8U3R5bGVkSDMgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRIMz5cbiAgKTtcblxuICBjb25zdCBINCA9IElzU2tlbGV0b24gPyAoXG4gICAgPFN0eWxlZEg0IGlkPXtpZH0gdGl0bGU9e3RpdGxlfT5cbiAgICAgIDxQbGFpblRleHQgZm9udD17Zm9udH0gc2l6ZT17c2l6ZX0gY29udGV4dD17UGxhaW5UZXh0Q29udGV4dC5TS0VMRVRPTn0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvUGxhaW5UZXh0PlxuICAgIDwvU3R5bGVkSDQ+XG4gICkgOiAoXG4gICAgPFN0eWxlZEg0IGlkPXtpZH0gdGl0bGU9e3RpdGxlfT5cbiAgICAgIDxQbGFpblRleHQgZm9udD17Zm9udH0gc2l6ZT17c2l6ZX0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvUGxhaW5UZXh0PlxuICAgIDwvU3R5bGVkSDQ+XG4gICk7XG5cbiAgY29uc3QgSDUgPSBJc1NrZWxldG9uID8gKFxuICAgIDxTdHlsZWRINSBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9IGNvbnRleHQ9e1BsYWluVGV4dENvbnRleHQuU0tFTEVUT059PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEg1PlxuICApIDogKFxuICAgIDxTdHlsZWRINSBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEg1PlxuICApO1xuXG4gIGNvbnN0IEg2ID0gSXNTa2VsZXRvbiA/IChcbiAgICA8U3R5bGVkSDYgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfSBjb250ZXh0PXtQbGFpblRleHRDb250ZXh0LlNLRUxFVE9OfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRINj5cbiAgKSA6IChcbiAgICA8U3R5bGVkSDYgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRINj5cbiAgKTtcblxuICByZXR1cm4gbWF0Y2goaHRtbFR5cGUsIFtcbiAgICBbXCJoMVwiLCBIMV0sXG4gICAgW1wiaDJcIiwgSDJdLFxuICAgIFtcImgzXCIsIEgzXSxcbiAgICBbXCJoNFwiLCBINF0sXG4gICAgW1wiaDVcIiwgSDVdLFxuICAgIFtcImg2XCIsIEg2XSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEgxID0gc3R5bGVkLmgxPHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSDIgPSBzdHlsZWQuaDI8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRIMyA9IHN0eWxlZC5oMzx7fT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEg0ID0gc3R5bGVkLmg0PHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSDUgPSBzdHlsZWQuaDU8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRINiA9IHN0eWxlZC5oNjx7fT5gYDtcbiIsImltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi5lbnVtXCI7XG5pbXBvcnQgeyBJSW5mb3JtYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgSW5mb3JtYXRpb24gYXMgQmFzZUluZm9ybWF0aW9uIH0gZnJvbSBcIkAvYXRvbXMvaW5mb3JtYXRpb24vY29tcG9uZW50cy9pbmZvcm1hdGlvblwiO1xuXG5jb25zdCBEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPSBjcmVhdGVDb250ZXh0KERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgSW5mb3JtYXRpb24gPSAoeyBjb250ZXh0LCB0ZXh0LCBmcmFtZSB9OiBJSW5mb3JtYXRpb24pID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxDdHguUHJvdmlkZXIgdmFsdWU9e0NvbXBvbmVudENvbnRleHR9PlxuICAgICAgPEJhc2VJbmZvcm1hdGlvbiB0ZXh0PXt0ZXh0fSBmcmFtZT17ZnJhbWV9IC8+XG4gICAgPC9DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUluZm9ybWF0aW9uQmFzZSB9IGZyb20gXCJAL2F0b21zL2luZm9ybWF0aW9uL2luZm9ybWF0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBDdHggfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvblwiO1xuaW1wb3J0IHsgdXNlSW5mb3JtYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9ob29rcy91c2UtaW5mb3JtYXRpb25cIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi5lbnVtXCI7XG5pbXBvcnQge1xuICBTdHlsZWRJbmZvcm1hdGlvbixcbiAgU3R5bGVkSW5mb3JtYXRpb25UZXh0LFxuICBTdHlsZWRJbmZvcm1hdGlvblZpc3VhbCxcbiAgU3R5bGVkU2tlbGV0b25JbmZvcm1hdGlvbixcbn0gZnJvbSBcIkAvYXRvbXMvaW5mb3JtYXRpb24vaW5mb3JtYXRpb24uc3R5bGVcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgU2l6ZSwgVHlwZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuZW51bXNcIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlclwiO1xuXG5leHBvcnQgY29uc3QgSW5mb3JtYXRpb24gPSAoeyB0ZXh0LCBmcmFtZSB9OiBJSW5mb3JtYXRpb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KEN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSW5mb3JtYXRpb24oQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBDb21wb25lbnRDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuXG4gIGNvbnN0IFZpc3VhbCA9IGZyYW1lID8gKFxuICAgIGZyYW1lXG4gICkgOiAoXG4gICAgPEZpZ3VyZSB0eXBlPXtUeXBlLklERUF9IHNpemU9e1NpemUuTEFSR0V9IHNjcmVlblJlYWRlclRleHQ9XCJcIiAvPlxuICApO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvbkluZm9ybWF0aW9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgICB7VmlzdWFsfVxuICAgICAgICAgIHt0ZXh0fVxuICAgICAgICA8L1BsYWNlaG9sZGVyPlxuICAgICAgPC9TdHlsZWRTa2VsZXRvbkluZm9ybWF0aW9uPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRJbmZvcm1hdGlvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZEluZm9ybWF0aW9uVmlzdWFsPntWaXN1YWx9PC9TdHlsZWRJbmZvcm1hdGlvblZpc3VhbD5cbiAgICAgIDxTdHlsZWRJbmZvcm1hdGlvblRleHQ+e3RleHR9PC9TdHlsZWRJbmZvcm1hdGlvblRleHQ+XG4gICAgPC9TdHlsZWRJbmZvcm1hdGlvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQge1xuICB1c2VUaGVtZUNvbG9yLFxuICB1c2VUaGVtZUZvbnRzLFxuICB1c2VUaGVtZVJhZGl1cyxcbiAgdXNlVGhlbWVVdGlsaXR5LFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi5lbnVtXCI7XG5pbXBvcnQgeyBJSW5mb3JtYXRpb25UaGVtZSB9IGZyb20gXCJAL2F0b21zL2luZm9ybWF0aW9uL2luZm9ybWF0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuXG5leHBvcnQgY29uc3QgdXNlSW5mb3JtYXRpb24gPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0LFxuKTogSUluZm9ybWF0aW9uVGhlbWUgPT4ge1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtcbiAgICAgIENvbnRleHQuU1RBTkRBUkQsXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICAgIHJhZGl1czpcbiAgICAgICAgICBSYWRpdXMubGcgKyBcIiBcIiArIFJhZGl1cy5sZyArIFwiIFwiICsgUmFkaXVzLnhsICsgXCIgXCIgKyBSYWRpdXMubm9uZSxcbiAgICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNTAwLFxuICAgICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbXCIxMlwiXSArIFwiIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiOFwiXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkubWQubm9ybWFsLFxuICAgICAgICByYWRpdXM6XG4gICAgICAgICAgUmFkaXVzLmxnICsgXCIgXCIgKyBSYWRpdXMubGcgKyBcIiBcIiArIFJhZGl1cy54bCArIFwiIFwiICsgUmFkaXVzLm5vbmUsXG4gICAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1tcIjEyXCJdICsgXCIgXCIgKyBVdGlsaXR5LnNwYWNpbmdbXCI4XCJdLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUluZm9ybWF0aW9uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSW5mb3JtYXRpb24gPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElJbmZvcm1hdGlvblRoZW1lIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcGFkZGluZzogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnBhZGRpbmd9O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxLjVyZW07XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJbmZvcm1hdGlvblZpc3VhbCA9IHN0eWxlZC5kaXZgYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEluZm9ybWF0aW9uVGV4dCA9IHN0eWxlZC5kaXZgYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uSW5mb3JtYXRpb24gPSBzdHlsZWQoU3R5bGVkSW5mb3JtYXRpb24pPHtcbiAgdGhlbWU6IElJbmZvcm1hdGlvblRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgeyBJbnB1dFByb3BzIH0gZnJvbSBcIi4vaW5wdXQudHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi9pbnB1dC5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSW5wdXQgYXMgSW5wdXRDb21wb25lbnQgfSBmcm9tIFwiQC9hdG9tcy9pbnB1dC9jb21wb25lbnRzL2lucHV0XCI7XG5cbmNvbnN0IElucHV0Q3R4RGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBJbnB1dEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KElucHV0Q3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBJbnB1dCA9ICh7XG4gIGRlZmF1bHRWYWx1ZSxcbiAgb25DaGFuZ2UsXG4gIG9uQmx1cixcbiAgdmFsdWUsXG4gIHBsYWNlaG9sZGVyLFxuICBtdWx0aWxpbmUsXG4gIHJvd3MgPSAzLFxuICBhcmlhTGFiZWwsXG4gIG5hbWUsXG4gIGNvbnRleHQsXG4gIHdpdGhJY29uQmVmb3JlLFxuICB3aXRoSWNvbkFmdGVyLFxufTogSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBJbnB1dENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IElucHV0Q3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxJbnB1dEN0eC5Qcm92aWRlciB2YWx1ZT17SW5wdXRDb250ZXh0fT5cbiAgICAgIDxJbnB1dENvbXBvbmVudFxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgIG11bHRpbGluZT17bXVsdGlsaW5lfVxuICAgICAgICBhcmlhTGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgd2l0aEljb25CZWZvcmU9e3dpdGhJY29uQmVmb3JlfVxuICAgICAgICB3aXRoSWNvbkFmdGVyPXt3aXRoSWNvbkFmdGVyfVxuICAgICAgLz5cbiAgICA8L0lucHV0Q3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElJbnB1dFRoZW1lLCBJbnB1dFRoZW1lYWJsZVByb3BzIH0gZnJvbSBcIi4uL2lucHV0LnR5cGVzXCI7XG5pbXBvcnQgeyBJbnB1dEN0eCB9IGZyb20gXCIuLi9pbmRleFwiO1xuaW1wb3J0IHsgdXNlSW5wdXRUaGVtZSB9IGZyb20gXCIuLi9ob29rcy91c2UtaW5wdXRcIjtcbmltcG9ydCB7XG4gIFN0eWxlZElucHV0LFxuICBTdHlsZWRJbnB1dENvbnRhaW5lcixcbiAgU3R5bGVkSW5wdXRJY29uQWZ0ZXJDb250YWluZXIsXG4gIFN0eWxlZElucHV0SWNvbkJlZm9yZUNvbnRhaW5lcixcbiAgU3R5bGVkSW5wdXRTa2VsZXRvbixcbiAgU3R5bGVkVGV4dGFyZWEsXG4gIFN0eWxlZFRleHRhcmVhU2tlbGV0b24sXG59IGZyb20gXCIuLi9pbnB1dC5zdHlsZVwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuLi9pbnB1dC5lbnVtc1wiO1xuaW1wb3J0IHsgSW5wdXRJY29uIH0gZnJvbSBcIi4vaW5wdXQuaWNvblwiO1xuXG5leHBvcnQgY29uc3QgSW5wdXQgPSAoe1xuICBkZWZhdWx0VmFsdWUsXG4gIG9uQ2hhbmdlLFxuICBvbkJsdXIsXG4gIHZhbHVlLFxuICBwbGFjZWhvbGRlcixcbiAgbXVsdGlsaW5lLFxuICByb3dzID0gMyxcbiAgYXJpYUxhYmVsLFxuICBuYW1lLFxuICB3aXRoSWNvbkFmdGVyLFxuICB3aXRoSWNvbkJlZm9yZSxcbn06IElucHV0VGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgSW5wdXRDb250ZXh0ID0gdXNlQ29udGV4dChJbnB1dEN0eCk7XG4gIGNvbnN0IFRoZW1lOiBJSW5wdXRUaGVtZSA9IHVzZUlucHV0VGhlbWUoSW5wdXRDb250ZXh0KTtcbiAgY29uc3QgZXJyb3IgPSBJbnB1dENvbnRleHQgPT09IENvbnRleHQuRVJST1I7XG4gIGNvbnN0IGRpc2FibGVkID0gSW5wdXRDb250ZXh0ID09PSBDb250ZXh0LkRJU0FCTEVEO1xuICBjb25zdCBza2VsZXRvbiA9IElucHV0Q29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICBjb25zdCBJY29uQmVmb3JlID0gd2l0aEljb25CZWZvcmUgPyAoXG4gICAgPFN0eWxlZElucHV0SWNvbkJlZm9yZUNvbnRhaW5lcj5cbiAgICAgIDxJbnB1dEljb24gaWNvbj17d2l0aEljb25CZWZvcmV9IC8+XG4gICAgPC9TdHlsZWRJbnB1dEljb25CZWZvcmVDb250YWluZXI+XG4gICkgOiBudWxsO1xuICBjb25zdCBJY29uQWZ0ZXIgPSB3aXRoSWNvbkFmdGVyID8gKFxuICAgIDxTdHlsZWRJbnB1dEljb25BZnRlckNvbnRhaW5lcj5cbiAgICAgIDxJbnB1dEljb24gaWNvbj17d2l0aEljb25BZnRlcn0gLz5cbiAgICA8L1N0eWxlZElucHV0SWNvbkFmdGVyQ29udGFpbmVyPlxuICApIDogbnVsbDtcblxuICBpZiAobXVsdGlsaW5lKSB7XG4gICAgaWYgKHNrZWxldG9uKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkVGV4dGFyZWFTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxTdHlsZWRUZXh0YXJlYVxuICAgICAgICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgICAgICAgaGFzSWNvbkJlZm9yZT17ZmFsc2V9XG4gICAgICAgICAgICBoYXNJY29uQWZ0ZXI9e2ZhbHNlfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICBhcmlhLWludmFsaWQ9e2Vycm9yfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgIGFyaWEtbXVsdGlsaW5lPXt0cnVlfVxuICAgICAgICAgICAgYXJpYS1kaXNhYmxlZD17dHJ1ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXt0cnVlfVxuICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgIGlkPXtuYW1lfVxuICAgICAgICAgID48L1N0eWxlZFRleHRhcmVhPlxuICAgICAgICA8L1N0eWxlZFRleHRhcmVhU2tlbGV0b24+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkSW5wdXRDb250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAge0ljb25CZWZvcmV9XG4gICAgICAgIDxTdHlsZWRUZXh0YXJlYVxuICAgICAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgICAgICBoYXNJY29uQmVmb3JlPXshIUljb25CZWZvcmV9XG4gICAgICAgICAgaGFzSWNvbkFmdGVyPXshIUljb25BZnRlcn1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICBhcmlhLWludmFsaWQ9e2Vycm9yfVxuICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgICByb3dzPXtyb3dzfVxuICAgICAgICAgIGFyaWEtbXVsdGlsaW5lPXt0cnVlfVxuICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIGlkPXtuYW1lfVxuICAgICAgICA+PC9TdHlsZWRUZXh0YXJlYT5cbiAgICAgICAge0ljb25BZnRlcn1cbiAgICAgIDwvU3R5bGVkSW5wdXRDb250YWluZXI+XG4gICAgKTtcbiAgfVxuXG4gIGlmIChza2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkSW5wdXRTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICAgICAgaGFzSWNvbkJlZm9yZT17ZmFsc2V9XG4gICAgICAgICAgaGFzSWNvbkFmdGVyPXtmYWxzZX1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgIGFyaWEtaW52YWxpZD17ZXJyb3J9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgIGRpc2FibGVkPXt0cnVlfVxuICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9e3RydWV9XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICBpZD17bmFtZX1cbiAgICAgICAgPjwvU3R5bGVkSW5wdXQ+XG4gICAgICA8L1N0eWxlZElucHV0U2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZElucHV0Q29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICB7SWNvbkJlZm9yZX1cbiAgICAgIDxTdHlsZWRJbnB1dFxuICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICAgIGhhc0ljb25CZWZvcmU9eyEhSWNvbkJlZm9yZX1cbiAgICAgICAgaGFzSWNvbkFmdGVyPXshIUljb25BZnRlcn1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICBhcmlhLWludmFsaWQ9e2Vycm9yfVxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgYXJpYS1kaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIGlkPXtuYW1lfVxuICAgICAgPjwvU3R5bGVkSW5wdXQ+XG4gICAgICB7SWNvbkFmdGVyfVxuICAgIDwvU3R5bGVkSW5wdXRDb250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIElucHV0Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL2lucHV0L2lucHV0LmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJSW5wdXRUaGVtZSB9IGZyb20gXCIuLi9pbnB1dC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlSW5wdXRUaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIElucHV0Q29udGV4dCxcbik6IElJbnB1dFRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IGVycm9yQm9yZGVyQ29sb3IgPSBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwO1xuXG4gIGNvbnN0IFN0YW5kYXJkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VyZmFjZXMudGludF81MDAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgICB9LFxuICAgIGZvY3VzOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBFcnJvciA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICB9LFxuICAgIGZvY3VzOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBEaXNhYmxlZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICB9LFxuICAgIGZvY3VzOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGZvY3VzOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtJbnB1dENvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbSW5wdXRDb250ZXh0LkVSUk9SLCBFcnJvcl0sXG4gICAgW0lucHV0Q29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICAgIFtJbnB1dENvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElJbnB1dFRoZW1lIH0gZnJvbSBcIi4vaW5wdXQudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJSW5wdXRUaGVtZSB9PmBcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSW5wdXRJY29uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZElucHV0SWNvbkJlZm9yZUNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRJbnB1dEljb25Db250YWluZXIpYFxuICBsZWZ0OiAyNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0b3A6IDIwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSW5wdXRJY29uQWZ0ZXJDb250YWluZXIgPSBzdHlsZWQoU3R5bGVkSW5wdXRJY29uQ29udGFpbmVyKWBcbiAgcmlnaHQ6IDI0cHg7XG4gIGJvdHRvbTogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dDx7XG4gIHRoZW1lOiBJSW5wdXRUaGVtZTtcbiAgaGFzSWNvbkJlZm9yZTogYm9vbGVhbjtcbiAgaGFzSWNvbkFmdGVyOiBib29sZWFuO1xufT5gXG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzIGVhc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBwYWRkaW5nOiAxNHB4IDI0cHg7XG4gIHotaW5kZXg6IDI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0ljb25CZWZvcmUgJiZcbiAgICBjc3NgXG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgYH1cbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzSWNvbkFmdGVyICYmXG4gICAgY3NzYFxuICAgICAgcGFkZGluZy1yaWdodDogNDhweDtcbiAgICBgfVxuICAgIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmNvbG9yfTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9jdXMuYmFja2dyb3VuZH07XG4gICAgb3V0bGluZTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvY3VzLmJvcmRlcn07XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIH1cbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIH1cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZElucHV0U2tlbGV0b24gPSBzdHlsZWQoU3R5bGVkSW5wdXRDb250YWluZXIpPHtcbiAgdGhlbWU6IElJbnB1dFRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gID4gKiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRleHRhcmVhID0gc3R5bGVkLnRleHRhcmVhPHtcbiAgdGhlbWU6IElJbnB1dFRoZW1lO1xuICBoYXNJY29uQmVmb3JlOiBib29sZWFuO1xuICBoYXNJY29uQWZ0ZXI6IGJvb2xlYW47XG59PmBcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXMgZWFzZTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgcGFkZGluZzogMTRweCAyNHB4O1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIHJlc2l6ZTogbm9uZTtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzSWNvbkJlZm9yZSAmJlxuICAgIGNzc2BcbiAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcbiAgICBgfVxuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5oYXNJY29uQWZ0ZXIgJiZcbiAgICBjc3NgXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xuICAgIGB9XG4gICAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9jdXMuYmFja2dyb3VuZH07XG4gICAgb3V0bGluZTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvY3VzLmJvcmRlcn07XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIH1cbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIH1cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRleHRhcmVhU2tlbGV0b24gPSBzdHlsZWQoU3R5bGVkSW5wdXRDb250YWluZXIpPHtcbiAgdGhlbWU6IElJbnB1dFRoZW1lO1xufT5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gID4gKiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuYDtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEljb25Db250ZXh0LCBTaXplIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBJbnB1dEN0eCB9IGZyb20gXCIuLi9pbmRleFwiO1xuaW1wb3J0IHsgSW5wdXRJY29uUHJvcHMgfSBmcm9tIFwiLi4vaW5wdXQudHlwZXNcIjtcbmltcG9ydCB7IHVzZUlucHV0SWNvbkNvbnRleHQgfSBmcm9tIFwiLi4vaG9va3MvdXNlLWlucHV0Lmljb25cIjtcblxuZXhwb3J0IGNvbnN0IElucHV0SWNvbiA9ICh7IGljb24gfTogSW5wdXRJY29uUHJvcHMpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSW5wdXRDdHgpO1xuICBjb25zdCBJY29uQ29udGV4dDogSWNvbkNvbnRleHQgPSB1c2VJbnB1dEljb25Db250ZXh0KENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xuICAgICAgICBjb250ZXh0OiBJY29uQ29udGV4dCxcbiAgICAgICAgc2l6ZTogU2l6ZS5TTUFMTCxcbiAgICAgIH0pfVxuICAgIDwvPlxuICApO1xufTtcbiIsImltcG9ydCB7IENvbnRleHQgYXMgSWNvbkNvbnRleHQgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgSW5wdXRDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvaW5wdXQvaW5wdXQuZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUlucHV0SWNvbkNvbnRleHQgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBJbnB1dENvbnRleHQsXG4pOiBJY29uQ29udGV4dCA9PiB7XG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0lucHV0Q29udGV4dC5TVEFOREFSRCwgSWNvbkNvbnRleHQuREFSS10sXG4gICAgW0lucHV0Q29udGV4dC5FUlJPUiwgSWNvbkNvbnRleHQuREFSS10sXG4gICAgW0lucHV0Q29udGV4dC5ESVNBQkxFRCwgSWNvbkNvbnRleHQuRElTQUJMRURdLFxuICAgIFtJbnB1dENvbnRleHQuU0tFTEVUT04sIEljb25Db250ZXh0LkRJU0FCTEVEXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuZW51bXNcIjtcbmltcG9ydCB7IElMaW5rIH0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLnR5cGVzXCI7XG5pbXBvcnQgeyBMaW5rIGFzIEJhc2VMaW5rIH0gZnJvbSBcIkAvYXRvbXMvbGluay9jb21wb25lbnRzL2xpbmtcIjtcblxuY29uc3QgTGlua0N0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgTGlua0N0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KExpbmtDdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IExpbmsgPSAoe1xuICBpZCxcbiAgdGl0bGUsXG4gIGFyaWFMYWJlbCxcbiAgY2hpbGRyZW4sXG4gIGNvbnRleHQsXG4gIHdpdGhJY29uQmVmb3JlLFxuICB3aXRoSWNvbkFmdGVyLFxufTogSUxpbmspID0+IHtcbiAgY29uc3QgTGlua0NvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IExpbmtDdHhEZWZhdWx0O1xuXG4gIC8vIExpbmsgaXMganVzdCBhIHBsYWluIHVybFxuICByZXR1cm4gKFxuICAgIDxMaW5rQ3R4LlByb3ZpZGVyIHZhbHVlPXtMaW5rQ29udGV4dH0+XG4gICAgICA8QmFzZUxpbmtcbiAgICAgICAgaWQ9e2lkfVxuICAgICAgICB0aXRsZT17dGl0bGV9XG4gICAgICAgIGFyaWFMYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICB3aXRoSWNvbkJlZm9yZT17d2l0aEljb25CZWZvcmV9XG4gICAgICAgIHdpdGhJY29uQWZ0ZXI9e3dpdGhJY29uQWZ0ZXJ9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQmFzZUxpbms+XG4gICAgPC9MaW5rQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJTGlua0Jhc2UgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsudHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExpbmssXG4gIFN0eWxlZExpbmtJbm5lcixcbiAgU3R5bGVkTGlua1NrZWxldG9uLFxufSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMaW5rQ3R4IH0gZnJvbSBcIkAvYXRvbXMvbGlua1wiO1xuaW1wb3J0IHsgQ29udGV4dCwgUG9zaXRpb24gfSBmcm9tIFwiLi4vbGluay5lbnVtc1wiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgeyBMaW5rTGFiZWwgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2NvbXBvbmVudHMvbGluay5sYWJlbFwiO1xuaW1wb3J0IHsgTGlua0ljb24gfSBmcm9tIFwiQC9hdG9tcy9saW5rL2NvbXBvbmVudHMvbGluay5pY29uXCI7XG5pbXBvcnQgeyB1c2VMaW5rVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2hvb2tzL3VzZS1saW5rXCI7XG5cbmV4cG9ydCBjb25zdCBMaW5rID0gKHtcbiAgaWQsXG4gIHRpdGxlLFxuICBhcmlhTGFiZWwsXG4gIGNoaWxkcmVuLFxuICB3aXRoSWNvbkJlZm9yZSxcbiAgd2l0aEljb25BZnRlcixcbn06IElMaW5rQmFzZSkgPT4ge1xuICBjb25zdCBMaW5rQ29udGV4dCA9IHVzZUNvbnRleHQoTGlua0N0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlTGlua1RoZW1lKExpbmtDb250ZXh0KTtcblxuICBjb25zb2xlLmxvZyhUaGVtZSk7XG5cbiAgY29uc3QgSXNTa2VsZXRvbiA9IExpbmtDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuICBjb25zdCBMYWJlbCA9IGNoaWxkcmVuID8gPExpbmtMYWJlbD57Y2hpbGRyZW59PC9MaW5rTGFiZWw+IDogbnVsbDtcblxuICAvL3VzZUJ1dHRvbkljb25Db250ZXh0XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICBjb25zdCBJY29uQmVmb3JlU2tlbGV0b24gPSB3aXRoSWNvbkJlZm9yZSA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPExpbmtJY29uIGljb249e3dpdGhJY29uQmVmb3JlfSBwb3NpdGlvbj17UG9zaXRpb24uQkVGT1JFfSAvPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IEljb25BZnRlclNrZWxldG9uID0gd2l0aEljb25BZnRlciA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPExpbmtJY29uIGljb249e3dpdGhJY29uQWZ0ZXJ9IHBvc2l0aW9uPXtQb3NpdGlvbi5BRlRFUn0gLz5cbiAgICAgIDwvUGxhY2Vob2xkZXI+XG4gICAgKSA6IG51bGw7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExpbmtTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkTGlua0lubmVyPlxuICAgICAgICAgIHtJY29uQmVmb3JlU2tlbGV0b259XG4gICAgICAgICAge0xhYmVsfVxuICAgICAgICAgIHtJY29uQWZ0ZXJTa2VsZXRvbn1cbiAgICAgICAgPC9TdHlsZWRMaW5rSW5uZXI+XG4gICAgICA8L1N0eWxlZExpbmtTa2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgSWNvbkJlZm9yZSA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgIDxMaW5rSWNvbiBpY29uPXt3aXRoSWNvbkJlZm9yZX0gcG9zaXRpb249e1Bvc2l0aW9uLkJFRk9SRX0gLz5cbiAgKSA6IG51bGw7XG4gIGNvbnN0IEljb25BZnRlciA9IHdpdGhJY29uQWZ0ZXIgPyAoXG4gICAgPExpbmtJY29uIGljb249e3dpdGhJY29uQWZ0ZXJ9IHBvc2l0aW9uPXtQb3NpdGlvbi5BRlRFUn0gLz5cbiAgKSA6IG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkTGluayB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZExpbmtJbm5lcj5cbiAgICAgICAge0ljb25CZWZvcmV9XG4gICAgICAgIHtMYWJlbH1cbiAgICAgICAge0ljb25BZnRlcn1cbiAgICAgIDwvU3R5bGVkTGlua0lubmVyPlxuICAgIDwvU3R5bGVkTGluaz5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUxpbmtJY29uVGhlbWUsIElMaW5rVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExpbmtJbm5lciA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcbmV4cG9ydCBjb25zdCBTdHlsZWRMaW5rTGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbmA7XG5leHBvcnQgY29uc3QgU3R5bGVkTGlua0ljb25CZWZvcmUgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJTGlua0ljb25UaGVtZSB9PmBcbiAgbWFyZ2luOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUubWFyZ2lufTtcbiAgZGlzcGxheTogZmxleDtcbmA7XG5leHBvcnQgY29uc3QgU3R5bGVkTGlua0ljb25BZnRlciA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElMaW5rSWNvblRoZW1lIH0+YFxuICBtYXJnaW46ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXJnaW59O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExpbmsgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJTGlua1RoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIHRleHQtZGVjb3JhdGlvbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRleHREZWNvcmF0aW9ufTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMC42cztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIDpob3ZlciB7XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5jb2xvcn07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIudGV4dERlY29yYXRpb259O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGlua1NrZWxldG9uID0gc3R5bGVkKFN0eWxlZExpbmspPHtcbiAgdGhlbWU6IElMaW5rVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5gO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgTGlua0xhYmVsUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZExpbmtMYWJlbCB9IGZyb20gXCIuLi9saW5rLnN0eWxlc1wiO1xuXG5leHBvcnQgY29uc3QgTGlua0xhYmVsID0gKHsgY2hpbGRyZW4gfTogTGlua0xhYmVsUHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRMaW5rTGFiZWw+e2NoaWxkcmVufTwvU3R5bGVkTGlua0xhYmVsPjtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBJY29uQ29udGV4dCwgU2l6ZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgTGlua0N0eCB9IGZyb20gXCJAL2F0b21zL2xpbmtcIjtcbmltcG9ydCB7IHVzZUxpbmtJY29uQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xpbmsvaG9va3MvdXNlLWxpbmstaWNvblwiO1xuaW1wb3J0IHsgTGlua0ljb25Qcm9wcyB9IGZyb20gXCJAL2F0b21zL2xpbmsvbGluay50eXBlc1wiO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExpbmtJY29uQWZ0ZXIsXG4gIFN0eWxlZExpbmtJY29uQmVmb3JlLFxufSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IExpbmtJY29uID0gKHsgaWNvbiwgcG9zaXRpb24gfTogTGlua0ljb25Qcm9wcykgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChMaW5rQ3R4KTtcbiAgY29uc3QgSWNvbkNvbnRleHQ6IEljb25Db250ZXh0ID0gdXNlTGlua0ljb25Db250ZXh0KENvbnRleHQpO1xuXG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcblxuICBjb25zdCBCZWZvcmUgPSBcIjAgXCIgKyBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdICsgXCIgMCAwXCI7XG4gIGNvbnN0IEFmdGVyID0gXCIwIDAgMCBcIiArIFV0aWxpdHkuc3BhY2luZ1tcIjJcIl07XG5cbiAgcmV0dXJuIG1hdGNoKHBvc2l0aW9uLCBbXG4gICAgW1xuICAgICAgUG9zaXRpb24uQkVGT1JFLFxuICAgICAgPFN0eWxlZExpbmtJY29uQmVmb3JlIHRoZW1lPXt7IG1hcmdpbjogQmVmb3JlIH19PlxuICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcbiAgICAgICAgICBjb250ZXh0OiBJY29uQ29udGV4dCxcbiAgICAgICAgICBzaXplOiBTaXplLlNNQUxMLFxuICAgICAgICB9KX1cbiAgICAgIDwvU3R5bGVkTGlua0ljb25CZWZvcmU+LFxuICAgIF0sXG4gICAgW1xuICAgICAgUG9zaXRpb24uQUZURVIsXG4gICAgICA8U3R5bGVkTGlua0ljb25BZnRlciB0aGVtZT17eyBtYXJnaW46IEFmdGVyIH19PlxuICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcbiAgICAgICAgICBjb250ZXh0OiBJY29uQ29udGV4dCxcbiAgICAgICAgICBzaXplOiBTaXplLlNNQUxMLFxuICAgICAgICB9KX1cbiAgICAgIDwvU3R5bGVkTGlua0ljb25BZnRlcj4sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgQ29udGV4dCBhcyBJY29uQ29udGV4dCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBMaW5rQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xpbmsvbGluay5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlTGlua0ljb25Db250ZXh0ID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgTGlua0NvbnRleHQsXG4pOiBJY29uQ29udGV4dCA9PiB7XG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0xpbmtDb250ZXh0LlNUQU5EQVJELCBJY29uQ29udGV4dC5TVEFOREFSRF0sXG4gICAgW0xpbmtDb250ZXh0LlVJLCBJY29uQ29udGV4dC5EQVJLXSxcbiAgICBbTGlua0NvbnRleHQuU0tFTEVUT04sIEljb25Db250ZXh0LkRJU0FCTEVEXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xpbmsvbGluay5lbnVtc1wiO1xuaW1wb3J0IHsgSUxpbmtUaGVtZSB9IGZyb20gXCJAL2F0b21zL2xpbmsvbGluay50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUxpbmtUaGVtZSA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCk6IElMaW5rVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgY29uc29sZS5sb2coY29udGV4dCk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkubWQubm9ybWFsLFxuICAgICAgICBjb2xvcjogQ29sb3JzLnByaW1hcnkudGludF81MDAsXG4gICAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgICAgdGV4dERlY29yYXRpb246IFwidW5kZXJsaW5lXCIsXG4gICAgICAgIGhvdmVyOiB7XG4gICAgICAgICAgY29sb3I6IENvbG9ycy5wcmltYXJ5LnRpbnRfNjAwLFxuICAgICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuVUksXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgICAgdGV4dERlY29yYXRpb246IFwibm9uZVwiLFxuICAgICAgICBob3Zlcjoge1xuICAgICAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IFwidW5kZXJsaW5lXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TS0VMRVRPTixcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICAgICAgY29sb3I6IFNrZWxldG9uQmcsXG4gICAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgICBob3Zlcjoge1xuICAgICAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyBMaXN0UHJvcHMgfSBmcm9tIFwiLi9saXN0LnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vbGlzdC5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgTGlzdCBhcyBMaXN0Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9saXN0XCI7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSBcIkAvYXRvbXMvbGlzdC9jb21wb25lbnRzL2xpc3QuaXRlbVwiO1xuXG5jb25zdCBMaXN0Q3R4RGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBMaXN0Q3R4OiBSZWFjdC5Db250ZXh0PENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChMaXN0Q3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBMaXN0ID0gKHsgY29udGV4dCwgdHlwZSwgY2hpbGRyZW4gfTogTGlzdFByb3BzKSA9PiB7XG4gIGNvbnN0IExpc3RDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBMaXN0Q3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxMaXN0Q3R4LlByb3ZpZGVyIHZhbHVlPXtMaXN0Q29udGV4dH0+XG4gICAgICA8TGlzdENvbXBvbmVudCB0eXBlPXt0eXBlfT57Y2hpbGRyZW59PC9MaXN0Q29tcG9uZW50PlxuICAgIDwvTGlzdEN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbkxpc3QuSXRlbSA9IEl0ZW07XG4iLCJpbXBvcnQgeyBMaXN0Q3R4IH0gZnJvbSBcIkAvYXRvbXMvbGlzdFwiO1xuaW1wb3J0IHsgSUxpc3RUaGVtZSwgTGlzdFRoZW1lYWJsZVByb3BzIH0gZnJvbSBcIkAvYXRvbXMvbGlzdC9saXN0LnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIExpc3Rjb250ZXh0LCBUeXBlIH0gZnJvbSBcIkAvYXRvbXMvbGlzdC9saXN0LmVudW1zXCI7XG5pbXBvcnQgeyB1c2VMaXN0VGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9saXN0L2hvb2tzL3VzZS1saXN0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRPcmRlcmVkTGlzdCxcbiAgU3R5bGVkT3JkZXJlZExpc3RTa2VsZXRvbixcbiAgU3R5bGVkVW5vcmRlcmVkTGlzdCxcbiAgU3R5bGVkVW5vcmRlcmVkTGlzdFNrZWxldG9uLFxufSBmcm9tIFwiQC9hdG9tcy9saXN0L2xpc3Quc3R5bGVcIjtcblxuZXhwb3J0IGNvbnN0IExpc3QgPSAoeyB0eXBlLCBjaGlsZHJlbiB9OiBMaXN0VGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgTGlzdENvbnRleHQgPSB1c2VDb250ZXh0KExpc3RDdHgpO1xuICBjb25zdCBUaGVtZTogSUxpc3RUaGVtZSA9IHVzZUxpc3RUaGVtZShMaXN0Q29udGV4dCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSBMaXN0Q29udGV4dCA9PT0gTGlzdGNvbnRleHQuU0tFTEVUT047XG5cbiAgaWYgKHR5cGUgPT09IFR5cGUuTlVNQkVSRUQpIHtcbiAgICBpZiAoaXNTa2VsZXRvbikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZE9yZGVyZWRMaXN0U2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvU3R5bGVkT3JkZXJlZExpc3RTa2VsZXRvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIDxTdHlsZWRPcmRlcmVkTGlzdCB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZE9yZGVyZWRMaXN0PjtcbiAgfVxuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRVbm9yZGVyZWRMaXN0U2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRVbm9yZGVyZWRMaXN0U2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiA8U3R5bGVkVW5vcmRlcmVkTGlzdCB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZFVub3JkZXJlZExpc3Q+O1xufTtcbiIsImltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBMaXN0Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xpc3QvbGlzdC5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSUxpc3RUaGVtZSB9IGZyb20gXCIuLi9saXN0LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VMaXN0VGhlbWUgPSAoY29udGV4dDoga2V5b2YgdHlwZW9mIExpc3RDb250ZXh0KTogSUxpc3RUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICBiYWNrZ3JvdW5kOiBDb2xvcnMucHJpbWFyeS50aW50XzUwMCxcbiAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgcmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgY29uc3QgU2tlbGV0b24gPSB7XG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgcmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbTGlzdENvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbTGlzdENvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgSUxpc3RUaGVtZSB9IGZyb20gXCJAL2F0b21zL2xpc3QvbGlzdC50eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFVub3JkZXJlZExpc3QgPSBzdHlsZWQudWw8eyB0aGVtZTogSUxpc3RUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDI0cHg7XG5cbiAgJiBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDE0cHg7XG4gIH1cblxuICAmIGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE9yZGVyZWRMaXN0ID0gc3R5bGVkLm9sPHsgdGhlbWU6IElMaXN0VGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgY291bnRlci1yZXNldDogbXktbGlzdC1jb3VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDQwcHg7XG5cbiAgJiBsaSB7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IG15LWxpc3QtY291bnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTRweDtcbiAgfVxuXG4gICYgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogY291bnRlcihteS1saXN0LWNvdW50ZXIpO1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYgc3BhbiB7XG4gICAgcGFkZGluZy10b3A6IDhweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFVub3JkZXJlZExpc3RTa2VsZXRvbiA9IHN0eWxlZC51bDx7IHRoZW1lOiBJTGlzdFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjRweDtcblxuICAmIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTRweDtcbiAgfVxuXG4gICYgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gICAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgfVxuXG4gICYgc3BhbiB7XG4gICAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICAgIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE9yZGVyZWRMaXN0U2tlbGV0b24gPSBzdHlsZWQub2w8eyB0aGVtZTogSUxpc3RUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb3VudGVyLXJlc2V0OiBteS1saXN0LWNvdW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNDBweDtcblxuICAmIGxpIHtcbiAgICBjb3VudGVyLWluY3JlbWVudDogbXktbGlzdC1jb3VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxNHB4O1xuICB9XG5cbiAgJiBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBjb3VudGVyKG15LWxpc3QtY291bnRlcik7XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICAgIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYgc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMaXN0SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5saTx7IHRoZW1lOiBJTGlzdFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGlzdEl0ZW0gPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJTGlzdFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG5gO1xuIiwiaW1wb3J0IHsgTGlzdEN0eCB9IGZyb20gXCJAL2F0b21zL2xpc3RcIjtcbmltcG9ydCB7IElMaXN0VGhlbWUsIExpc3RJdGVtVGhlbWVhYmxlUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9saXN0L2xpc3QudHlwZXNcIjtcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgTGlzdGNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9saXN0L2xpc3QuZW51bXNcIjtcbmltcG9ydCB7IHVzZUxpc3RUaGVtZSB9IGZyb20gXCJAL2F0b21zL2xpc3QvaG9va3MvdXNlLWxpc3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExpc3RJdGVtLFxuICBTdHlsZWRMaXN0SXRlbUNvbnRhaW5lcixcbn0gZnJvbSBcIkAvYXRvbXMvbGlzdC9saXN0LnN0eWxlXCI7XG5cbmV4cG9ydCBjb25zdCBJdGVtID0gKHsgY2hpbGRyZW4gfTogTGlzdEl0ZW1UaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBMaXN0Q29udGV4dCA9IHVzZUNvbnRleHQoTGlzdEN0eCk7XG4gIGNvbnN0IFRoZW1lOiBJTGlzdFRoZW1lID0gdXNlTGlzdFRoZW1lKExpc3RDb250ZXh0KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IExpc3RDb250ZXh0ID09PSBMaXN0Y29udGV4dC5TS0VMRVRPTjtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRMaXN0SXRlbUNvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZExpc3RJdGVtIHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkTGlzdEl0ZW0+XG4gICAgPC9TdHlsZWRMaXN0SXRlbUNvbnRhaW5lcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUxvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28udHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28uZW51bXNcIjtcbmltcG9ydCB7IExvYWRMb2dvIH0gZnJvbSBcIkAvYXRvbXMvbG9nby9sb2dvLmxvYWRlclwiO1xuXG5jb25zdCBMb2dvQ3R4RGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBMb2dvQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoTG9nb0N0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgTG9nbyA9ICh7IHNyY3NldCwgY29udGV4dCwgYWx0LCBhcmlhTGFiZWwgfTogSUxvZ28pID0+IHtcbiAgY29uc3QgTG9nb0NvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IExvZ29DdHhEZWZhdWx0O1xuXG4gIGNvbnN0IExvZ28gPSBMb2FkTG9nbyh7XG4gICAgYWx0OiBhbHQsXG4gICAgYXJpYUxhYmVsOiBhcmlhTGFiZWwsXG4gICAgc3Jjc2V0OiBzcmNzZXQsXG4gIH0pO1xuXG4gIHJldHVybiA8TG9nb0N0eC5Qcm92aWRlciB2YWx1ZT17TG9nb0NvbnRleHR9PntMb2dvfTwvTG9nb0N0eC5Qcm92aWRlcj47XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElTdmdBc0xvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28udHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExvZ28sXG4gIFN0eWxlZExvZ29QYXRoLFxuICBTdHlsZWRMb2dvU2tlbGV0b24sXG4gIFN0eWxlZExvZ29XcmFwcGVyLFxufSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28uc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb2dvQ3R4IH0gZnJvbSBcIkAvYXRvbXMvbG9nb1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xvZ28vbG9nby5lbnVtc1wiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlck9ubHkgfSBmcm9tIFwiQC9iYXNlL3NyZWVuX3JlYWRlcl9vbmx5L3NjcmVlbl9yZWFkZXJfb25seVwiO1xuXG5leHBvcnQgY29uc3QgU3ZnQXNMb2dvID0gKHsgc2NyZWVuUmVhZGVyVGV4dCB9OiBJU3ZnQXNMb2dvKSA9PiB7XG4gIGNvbnN0IExvZ29Db250ZXh0ID0gdXNlQ29udGV4dChMb2dvQ3R4KTtcblxuICBjb25zdCBJc1NrZWxldG9uID0gTG9nb0NvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTG9nb1dyYXBwZXI+XG4gICAgICAgIDxTdHlsZWRMb2dvU2tlbGV0b24gd2lkdGg9XCI1MHB4XCIgaGVpZ2h0PVwiNTBweFwiIHZpZXdCb3g9XCIwIDAgNTAgNTBcIj5cbiAgICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICAgIG9wYWNpdHk9XCIwLjZcIlxuICAgICAgICAgICAgZD1cIk0zNS45NyAxMC4zNTQzQzQ1LjcyMTggMTEuMjE1NSA0Ni4yMjA2IDIzLjYzMyA0MS4wNzY4IDMyLjMyNTNDMzUuOTMzIDQxLjAxNzYgMjMuNTU1MSA0NC43NjQgMTQuNjgzIDQwLjkwMDhDNS44MTA5NCAzNy4wMzc3IDEuNTE4ODcgMjcuNzIxNCA1LjUxNzc4IDIzLjczMzNDMTAuMTgxOCAxOS4wODE4IDE4LjgzMDkgMjMuNTU4NyAyMy4yNzAxIDIyLjI5NTFDMjguMDA4NSAyMC45NDYzIDI2LjIxODIgOS40OTMwOCAzNS45NyAxMC4zNTQzWlwiXG4gICAgICAgICAgICBmaWxsPXtTa2VsZXRvbkJnfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgICBvcGFjaXR5PVwiMC4yXCJcbiAgICAgICAgICAgIGQ9XCJNNDIuODM2NCAzMC4xMTk4QzQ1LjMwMzEgMzkuMzY0OSAzMy40OTM5IDQ0LjAyMTcgMjMuMzcwMSA0Mi4yMzhDMTMuMjQ2MiA0MC40NTQzIDUuNDQ3MDIgMzAuMzU2MSA2LjE3MzQ0IDIwLjkwMzdDNi44OTk4NiAxMS40NTEzIDE0LjQzNSA0LjM2MDMgMTkuNjM0MSA2LjY4MzQ1QzI1LjY5NzkgOS4zOTI5OCAyNC4zMDQxIDE4Ljg0ODEgMjcuMDI0MSAyMi40OTY4QzI5LjkyNzQgMjYuMzkxNCA0MC4zNjk3IDIwLjg3NDggNDIuODM2NCAzMC4xMTk4WlwiXG4gICAgICAgICAgICBmaWxsPXtTa2VsZXRvbkJnfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgICBkPVwiTTcuOTIzMzcgMTMuMTU3NEM3LjcwNDE1IDEyLjcyOTYgNy45NDc2OSAxMi4xOTQ5IDguMjUyMTcgMTEuNjYwMkM4LjgwMDIxIDEwLjY5NzggMTAuMTE1NCA4Ljg3OTg0IDEzLjQwMzcgOC42NjU5NkMxNi42OTE5IDguNDUyMDggMTguNzc0NiAxMS4zMzk0IDE5LjEwMzQgMTIuMDg4QzE5LjQzMjIgMTIuODM2NiAxOC43NzQ1IDEzLjE1NzQgMTguNTU1NCAxMy4xNTc0QzE4LjExNjggMTMuMTU3NCAxNy41Njg5IDEyLjcyOTYgMTcuMjQwMSAxMi4xOTQ5QzE2LjU4MjMgMTEuMTI1NiAxNS41OTU5IDExLjAxODYgMTQuMTcxIDEwLjkxMTdDMTIuNzQ2MSAxMC44MDQ3IDEyLjMwNzYgMTEuMzM5NCAxMS40MzA3IDEyLjMwMTlDMTAuNzQzNyAxMy4wNTU5IDEwLjY2MzQgMTMuNjQ2MiA5Ljc4NjU3IDE0LjAxMjlDOS4wMTkzMSAxNC4zMzM3IDguMTQyNTggMTMuNTg1MSA3LjkyMzM3IDEzLjE1NzRaXCJcbiAgICAgICAgICAgIGZpbGw9e1NrZWxldG9uQmd9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICAgIGQ9XCJNMzcuMzg4NiAxMy4xNTc0QzM3LjYwNzkgMTIuNzI5NiAzNy4zNjQzIDEyLjE5NDkgMzcuMDU5OCAxMS42NjAyQzM2LjUxMTggMTAuNjk3OCAzNS4xOTY2IDguODc5ODQgMzEuOTA4MyA4LjY2NTk2QzI4LjYyMDEgOC40NTIwOCAyNi41Mzc0IDExLjMzOTQgMjYuMjA4NiAxMi4wODhDMjUuODc5OCAxMi44MzY2IDI2LjUzNzUgMTMuMTU3NCAyNi43NTY2IDEzLjE1NzRDMjcuMTk1MiAxMy4xNTc0IDI3Ljc0MzEgMTIuNzI5NiAyOC4wNzE5IDEyLjE5NDlDMjguNzI5NyAxMS4xMjU2IDI5LjcxNjEgMTEuMDE4NiAzMS4xNDEgMTAuOTExN0MzMi41NjU5IDEwLjgwNDcgMzMuMDA0NCAxMS4zMzk0IDMzLjg4MTMgMTIuMzAxOUMzNC41NjgzIDEzLjA1NTkgMzQuNjQ4NiAxMy42NDYyIDM1LjUyNTQgMTQuMDEyOUMzNi4yOTI3IDE0LjMzMzcgMzcuMTY5NCAxMy41ODUxIDM3LjM4ODYgMTMuMTU3NFpcIlxuICAgICAgICAgICAgZmlsbD17U2tlbGV0b25CZ31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRMb2dvUGF0aFxuICAgICAgICAgICAgZD1cIk0xMS40MzA3IDI4Ljg3NzRWMTkuODk0NUMxMS40MzA3IDE5LjQ2NjggMTEuNDc0NiAxOC4xODM1IDEzLjg0MjEgMTguMTgzNUMxNi4yMDk3IDE4LjE4MzUgMTcuMDIwOCAxOS40NjY4IDE3LjEzMDQgMjAuMTA4NFYyNS4zNDg0QzE3LjE2NjkgMjUuMDYzMiAxOC4yMjY1IDI0LjU0NjQgMTkuMjEyOSAyNC41OTk4QzIwLjc5MTMgMjQuNjg1NCAyMi4xMzU4IDI1LjcwNDkgMjIuNjEwOCAyNi4yMDM5QzIzLjEyMjMgMjUuNzQwNSAyNC40MDg0IDI0Ljc3MDkgMjUuNDYwNiAyNC41OTk4QzI2LjUxMjkgMjQuNDI4NyAyNy43MjU5IDI1LjA5ODkgMjguMjAwOCAyNS40NTUzQzI4LjIzNzQgMjQuMTM2NCAyOC4zMTA0IDIxLjE5OTIgMjguMzEwNCAyMC4wMDE1QzI4LjMxMDQgMTguNTA0MyAzMC43MjE4IDE4LjE4MzUgMzIuMDM3MSAxOC4xODM1QzMzLjA4OTQgMTguMTgzNSAzMy41NzE3IDE5LjM5NTUgMzMuNjgxMyAyMC4wMDE1VjI4Ljg3NzRDMzMuNjgxMyAzMi44MTI3IDMxLjc0NzggMzUuNDAwNiAzMC43MjE4IDM2LjM2M0MyOS43NzE5IDM3LjI1NDIgMjYuNTU2NyAzOS4wMzY1IDIyLjYxMDggMzkuMDM2NUMxOC42NjQ5IDM5LjAzNjUgMTYuODI0NCAzOC40MTUgMTQuNDk5OCAzNi4zNjNDMTIuMTk4IDM0LjMzMTIgMTEuNjEzNCAzMC43NjY2IDExLjQzMDcgMjguODc3NFpcIlxuICAgICAgICAgICAgZmlsbD17U2tlbGV0b25CZ31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRMb2dvUGF0aFxuICAgICAgICAgICAgZD1cIk0xNi4wMjIyIDI4LjI4MjlDMTUuOTM2NSAzMS45NjQ1IDE5LjU1OTEgMzMuOTU1MiAyMi4yMzg3IDM0LjU5NzNDMjQuNDE4MSAzMy45MTk1IDI4LjgyMjUgMzEuNjg1MSAyOC4yNDA4IDI4LjI4MjlDMjcuNDkwNSAyMy44OTUgMjIuNzc0NiAyNi4wMzU0IDIyLjIzODcgMjguMjgyOUMyMS4xNjY4IDI0Ljg1ODIgMTYuMTA4IDI0LjYwMTMgMTYuMDIyMiAyOC4yODI5WlwiXG4gICAgICAgICAgICBmaWxsPXtTa2VsZXRvbkJnfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3R5bGVkTG9nb1NrZWxldG9uPlxuICAgICAgICA8U2NyZWVuUmVhZGVyT25seSB0ZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSAvPlxuICAgICAgPC9TdHlsZWRMb2dvV3JhcHBlcj5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgU3VwcG9ydGluZyA9IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwO1xuICBjb25zdCBEYXJrID0gQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwO1xuICBjb25zdCBBY2NlbnQgPSBDb2xvcnMuYWNjZW50LnRpbnRfNTAwO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZExvZ29XcmFwcGVyPlxuICAgICAgPFN0eWxlZExvZ28gd2lkdGg9XCI1MHB4XCIgaGVpZ2h0PVwiNTBweFwiIHZpZXdCb3g9XCIwIDAgNTAgNTBcIj5cbiAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgb3BhY2l0eT1cIjAuNlwiXG4gICAgICAgICAgZD1cIk0zNS45NyAxMC4zNTQzQzQ1LjcyMTggMTEuMjE1NSA0Ni4yMjA2IDIzLjYzMyA0MS4wNzY4IDMyLjMyNTNDMzUuOTMzIDQxLjAxNzYgMjMuNTU1MSA0NC43NjQgMTQuNjgzIDQwLjkwMDhDNS44MTA5NCAzNy4wMzc3IDEuNTE4ODcgMjcuNzIxNCA1LjUxNzc4IDIzLjczMzNDMTAuMTgxOCAxOS4wODE4IDE4LjgzMDkgMjMuNTU4NyAyMy4yNzAxIDIyLjI5NTFDMjguMDA4NSAyMC45NDYzIDI2LjIxODIgOS40OTMwOCAzNS45NyAxMC4zNTQzWlwiXG4gICAgICAgICAgZmlsbD17U3VwcG9ydGluZ31cbiAgICAgICAgLz5cbiAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgb3BhY2l0eT1cIjAuMlwiXG4gICAgICAgICAgZD1cIk00Mi44MzY0IDMwLjExOThDNDUuMzAzMSAzOS4zNjQ5IDMzLjQ5MzkgNDQuMDIxNyAyMy4zNzAxIDQyLjIzOEMxMy4yNDYyIDQwLjQ1NDMgNS40NDcwMiAzMC4zNTYxIDYuMTczNDQgMjAuOTAzN0M2Ljg5OTg2IDExLjQ1MTMgMTQuNDM1IDQuMzYwMyAxOS42MzQxIDYuNjgzNDVDMjUuNjk3OSA5LjM5Mjk4IDI0LjMwNDEgMTguODQ4MSAyNy4wMjQxIDIyLjQ5NjhDMjkuOTI3NCAyNi4zOTE0IDQwLjM2OTcgMjAuODc0OCA0Mi44MzY0IDMwLjExOThaXCJcbiAgICAgICAgICBmaWxsPXtTdXBwb3J0aW5nfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICBkPVwiTTcuOTIzMzcgMTMuMTU3NEM3LjcwNDE1IDEyLjcyOTYgNy45NDc2OSAxMi4xOTQ5IDguMjUyMTcgMTEuNjYwMkM4LjgwMDIxIDEwLjY5NzggMTAuMTE1NCA4Ljg3OTg0IDEzLjQwMzcgOC42NjU5NkMxNi42OTE5IDguNDUyMDggMTguNzc0NiAxMS4zMzk0IDE5LjEwMzQgMTIuMDg4QzE5LjQzMjIgMTIuODM2NiAxOC43NzQ1IDEzLjE1NzQgMTguNTU1NCAxMy4xNTc0QzE4LjExNjggMTMuMTU3NCAxNy41Njg5IDEyLjcyOTYgMTcuMjQwMSAxMi4xOTQ5QzE2LjU4MjMgMTEuMTI1NiAxNS41OTU5IDExLjAxODYgMTQuMTcxIDEwLjkxMTdDMTIuNzQ2MSAxMC44MDQ3IDEyLjMwNzYgMTEuMzM5NCAxMS40MzA3IDEyLjMwMTlDMTAuNzQzNyAxMy4wNTU5IDEwLjY2MzQgMTMuNjQ2MiA5Ljc4NjU3IDE0LjAxMjlDOS4wMTkzMSAxNC4zMzM3IDguMTQyNTggMTMuNTg1MSA3LjkyMzM3IDEzLjE1NzRaXCJcbiAgICAgICAgICBmaWxsPXtEYXJrfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICBkPVwiTTM3LjM4ODYgMTMuMTU3NEMzNy42MDc5IDEyLjcyOTYgMzcuMzY0MyAxMi4xOTQ5IDM3LjA1OTggMTEuNjYwMkMzNi41MTE4IDEwLjY5NzggMzUuMTk2NiA4Ljg3OTg0IDMxLjkwODMgOC42NjU5NkMyOC42MjAxIDguNDUyMDggMjYuNTM3NCAxMS4zMzk0IDI2LjIwODYgMTIuMDg4QzI1Ljg3OTggMTIuODM2NiAyNi41Mzc1IDEzLjE1NzQgMjYuNzU2NiAxMy4xNTc0QzI3LjE5NTIgMTMuMTU3NCAyNy43NDMxIDEyLjcyOTYgMjguMDcxOSAxMi4xOTQ5QzI4LjcyOTcgMTEuMTI1NiAyOS43MTYxIDExLjAxODYgMzEuMTQxIDEwLjkxMTdDMzIuNTY1OSAxMC44MDQ3IDMzLjAwNDQgMTEuMzM5NCAzMy44ODEzIDEyLjMwMTlDMzQuNTY4MyAxMy4wNTU5IDM0LjY0ODYgMTMuNjQ2MiAzNS41MjU0IDE0LjAxMjlDMzYuMjkyNyAxNC4zMzM3IDM3LjE2OTQgMTMuNTg1MSAzNy4zODg2IDEzLjE1NzRaXCJcbiAgICAgICAgICBmaWxsPXtEYXJrfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICBkPVwiTTExLjQzMDcgMjguODc3NFYxOS44OTQ1QzExLjQzMDcgMTkuNDY2OCAxMS40NzQ2IDE4LjE4MzUgMTMuODQyMSAxOC4xODM1QzE2LjIwOTcgMTguMTgzNSAxNy4wMjA4IDE5LjQ2NjggMTcuMTMwNCAyMC4xMDg0VjI1LjM0ODRDMTcuMTY2OSAyNS4wNjMyIDE4LjIyNjUgMjQuNTQ2NCAxOS4yMTI5IDI0LjU5OThDMjAuNzkxMyAyNC42ODU0IDIyLjEzNTggMjUuNzA0OSAyMi42MTA4IDI2LjIwMzlDMjMuMTIyMyAyNS43NDA1IDI0LjQwODQgMjQuNzcwOSAyNS40NjA2IDI0LjU5OThDMjYuNTEyOSAyNC40Mjg3IDI3LjcyNTkgMjUuMDk4OSAyOC4yMDA4IDI1LjQ1NTNDMjguMjM3NCAyNC4xMzY0IDI4LjMxMDQgMjEuMTk5MiAyOC4zMTA0IDIwLjAwMTVDMjguMzEwNCAxOC41MDQzIDMwLjcyMTggMTguMTgzNSAzMi4wMzcxIDE4LjE4MzVDMzMuMDg5NCAxOC4xODM1IDMzLjU3MTcgMTkuMzk1NSAzMy42ODEzIDIwLjAwMTVWMjguODc3NEMzMy42ODEzIDMyLjgxMjcgMzEuNzQ3OCAzNS40MDA2IDMwLjcyMTggMzYuMzYzQzI5Ljc3MTkgMzcuMjU0MiAyNi41NTY3IDM5LjAzNjUgMjIuNjEwOCAzOS4wMzY1QzE4LjY2NDkgMzkuMDM2NSAxNi44MjQ0IDM4LjQxNSAxNC40OTk4IDM2LjM2M0MxMi4xOTggMzQuMzMxMiAxMS42MTM0IDMwLjc2NjYgMTEuNDMwNyAyOC44Nzc0WlwiXG4gICAgICAgICAgZmlsbD17RGFya31cbiAgICAgICAgLz5cbiAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgZD1cIk0xNi4wMjIyIDI4LjI4MjlDMTUuOTM2NSAzMS45NjQ1IDE5LjU1OTEgMzMuOTU1MiAyMi4yMzg3IDM0LjU5NzNDMjQuNDE4MSAzMy45MTk1IDI4LjgyMjUgMzEuNjg1MSAyOC4yNDA4IDI4LjI4MjlDMjcuNDkwNSAyMy44OTUgMjIuNzc0NiAyNi4wMzU0IDIyLjIzODcgMjguMjgyOUMyMS4xNjY4IDI0Ljg1ODIgMTYuMTA4IDI0LjYwMTMgMTYuMDIyMiAyOC4yODI5WlwiXG4gICAgICAgICAgZmlsbD17QWNjZW50fVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRMb2dvPlxuICAgICAgPFNjcmVlblJlYWRlck9ubHkgdGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gLz5cbiAgICA8L1N0eWxlZExvZ29XcmFwcGVyPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQnV0dG9uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRCdXR0b24gfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnN0eWxlXCI7XG5cbmNvbnN0IEJhc2VMb2dvU3ZnID0gc3R5bGVkLnN2Zy5hdHRycygocHJvcHMpID0+ICh7XG4gIHZlcnNpb246IFwiMS4xXCIsXG4gIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gIHhtbG5zWGxpbms6IFwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiLFxuICByb2xlOiBcImltZ1wiLFxufSkpYGA7XG5cbmNvbnN0IEJhc2VMb2dvSW1hZ2UgPSBzdHlsZWQuaW1nLmF0dHJzKChwcm9wcykgPT4gKHtcbiAgcm9sZTogXCJpbWdcIixcbn0pKWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZUxvZ29QYXRoID0gc3R5bGVkLnBhdGguYXR0cnMoe1xuICByb2xlOiBcInByZXNlbnRhdGlvblwiLFxufSlgYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExvZ28gPSBzdHlsZWQoQmFzZUxvZ29TdmcpPHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy53aWR0aH07XG4gIGhlaWdodDogJHsocHJvcHMpID0+IHByb3BzLmhlaWdodH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTG9nb0ltYWdlID0gc3R5bGVkKEJhc2VMb2dvSW1hZ2UpPHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG4gIHJhZGl1czogc3RyaW5nO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMud2lkdGh9O1xuICBoZWlnaHQ6ICR7KHByb3BzKSA9PiBwcm9wcy5oZWlnaHR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMucmFkaXVzfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMb2dvU2tlbGV0b24gPSBzdHlsZWQoU3R5bGVkTG9nbyk8e30+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTG9nb0ltYWdlU2tlbGV0b24gPSBzdHlsZWQuZGl2PHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG4gIGJhY2tncm91bmQ6IHN0cmluZztcbiAgcmFkaXVzOiBzdHJpbmc7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICB3aWR0aDogJHsocHJvcHMpID0+IHByb3BzLndpZHRofTtcbiAgaGVpZ2h0OiAkeyhwcm9wcykgPT4gcHJvcHMuaGVpZ2h0fTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMucmFkaXVzfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMb2dvUGF0aCA9IHN0eWxlZChCYXNlTG9nb1BhdGgpPHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTG9nb1dyYXBwZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWluLXdpZHRoOiA1MHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExvZ29JbWFnZVdyYXBwZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWluLXdpZHRoOiA1MHB4O1xuYDtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJSW1hZ2VBc0xvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28udHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExvZ29JbWFnZSxcbiAgU3R5bGVkTG9nb0ltYWdlU2tlbGV0b24sXG4gIFN0eWxlZExvZ29JbWFnZVdyYXBwZXIsXG59IGZyb20gXCJAL2F0b21zL2xvZ28vbG9nby5zdHlsZXNcIjtcbmltcG9ydCB7IExvZ29DdHggfSBmcm9tIFwiQC9hdG9tcy9sb2dvXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvbG9nby9sb2dvLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcblxuZXhwb3J0IGNvbnN0IEltYWdlQXNMb2dvID0gKHsgc3Jjc2V0LCBhcmlhTGFiZWwsIGFsdCB9OiBJSW1hZ2VBc0xvZ28pID0+IHtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgTG9nb0NvbnRleHQgPSB1c2VDb250ZXh0KExvZ29DdHgpO1xuXG4gIGNvbnN0IElzU2tlbGV0b24gPSBMb2dvQ29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICAgIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExvZ29JbWFnZVdyYXBwZXIgYXJpYS1sYWJlbD17YXJpYUxhYmVsfT5cbiAgICAgICAgPFN0eWxlZExvZ29JbWFnZVNrZWxldG9uXG4gICAgICAgICAgcmFkaXVzPXtSYWRpdXMubWR9XG4gICAgICAgICAgYmFja2dyb3VuZD17U2tlbGV0b25CZ31cbiAgICAgICAgICB3aWR0aD1cIjUwcHhcIlxuICAgICAgICAgIGhlaWdodD1cIjUwcHhcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9e2FsdH1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkTG9nb0ltYWdlV3JhcHBlcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkTG9nb0ltYWdlV3JhcHBlciBhcmlhLWxhYmVsPXthcmlhTGFiZWx9PlxuICAgICAgPFN0eWxlZExvZ29JbWFnZVxuICAgICAgICByYWRpdXM9e1JhZGl1cy5tZH1cbiAgICAgICAgd2lkdGg9XCI1MHB4XCJcbiAgICAgICAgaGVpZ2h0PVwiNTBweFwiXG4gICAgICAgIHNyY1NldD17c3Jjc2V0LnNyY3NldH1cbiAgICAgICAgc3JjPXtzcmNzZXQuc3JjfVxuICAgICAgICBhbHQ9e2FsdH1cbiAgICAgICAgaWQ9XCJpbWdcIlxuICAgICAgLz5cbiAgICA8L1N0eWxlZExvZ29JbWFnZVdyYXBwZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSUxvZ29Mb2FkIH0gZnJvbSBcIkAvYXRvbXMvbG9nby9sb2dvLnR5cGVzXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTdmdBc0xvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2NvbXBvbmVudHMvU3ZnQXNMb2dvXCI7XG5pbXBvcnQgeyBJbWFnZUFzTG9nbyB9IGZyb20gXCJAL2F0b21zL2xvZ28vY29tcG9uZW50cy9JbWFnZUFzTG9nb1wiO1xuXG5leHBvcnQgY29uc3QgTG9hZExvZ28gPSAoeyBzcmNzZXQsIGFyaWFMYWJlbCwgYWx0IH06IElMb2dvTG9hZCkgPT4ge1xuICBpZiAoc3Jjc2V0KSB7XG4gICAgcmV0dXJuIDxJbWFnZUFzTG9nbyBzcmNzZXQ9e3NyY3NldH0gYXJpYUxhYmVsPXthcmlhTGFiZWx9IGFsdD17YWx0fSAvPjtcbiAgfVxuXG4gIHJldHVybiA8U3ZnQXNMb2dvIHNjcmVlblJlYWRlclRleHQ9e2FyaWFMYWJlbH0gLz47XG59O1xuIiwiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL25vdGlmaWNhdGlvbi5lbnVtc1wiO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbiB9IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiBhcyBCYXNlTm90aWZpY2F0aW9uIH0gZnJvbSBcIkAvYXRvbXMvbm90aWZpY2F0aW9uL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uXCI7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbkN0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgTm90aWZpY2F0aW9uQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoTm90aWZpY2F0aW9uQ3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb24gPSAoeyBudW1iZXIsIGNvbnRleHQgfTogSU5vdGlmaWNhdGlvbikgPT4ge1xuICBjb25zdCBDb250YWluZXJDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBOb3RpZmljYXRpb25DdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPE5vdGlmaWNhdGlvbkN0eC5Qcm92aWRlciB2YWx1ZT17Q29udGFpbmVyQ29udGV4dH0+XG4gICAgICA8QmFzZU5vdGlmaWNhdGlvbiBudW1iZXI9e251bWJlcn0gLz5cbiAgICA8L05vdGlmaWNhdGlvbkN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvblRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTm90aWZpY2F0aW9uID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgdGhlbWU6IElOb3RpZmljYXRpb25UaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLnRoZW1lLnNpemV9OyAvKiBGaXhlZCB3aWR0aCBiYXNlZCBvbiB0aGUgZm9udC1zaXplIG9mIHRoZSBlbGVtZW50ICovXG4gIGhlaWdodDogJHsocHJvcHMpID0+XG4gICAgcHJvcHMudGhlbWUuc2l6ZX07IC8qIEZpeGVkIGhlaWdodCBiYXNlZCBvbiB0aGUgZm9udC1zaXplIG9mIHRoZSBlbGVtZW50ICovXG4gIGxpbmUtaGVpZ2h0OiAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy50aGVtZVxuICAgICAgLnNpemV9ICFpbXBvcnRhbnQ7IC8qIGluIHRoaXMgc3BlY2lhbCBjYXNlIHdlIHdhbnQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgbGluZSBoZWlnaHQgZnJvbSB0aGUgZm9udCwgc2luY2UgaXQgbmVlZHMgdG8gYmUgdGhlIHNhbWUgYXMgZGUgZml4ZWQgd2lkdGggYW5kIGhlaWdodCAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uTm90aWZpY2F0aW9uID0gc3R5bGVkKFN0eWxlZE5vdGlmaWNhdGlvbik8e1xuICB0aGVtZTogSU5vdGlmaWNhdGlvblRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgeyBJTm90aWZpY2F0aW9uQmFzZSB9IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24udHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZE5vdGlmaWNhdGlvbixcbiAgU3R5bGVkU2tlbGV0b25Ob3RpZmljYXRpb24sXG59IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25DdHggfSBmcm9tIFwiQC9hdG9tcy9ub3RpZmljYXRpb25cIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vbm90aWZpY2F0aW9uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VOb3RpZmljYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9ub3RpZmljYXRpb24vaG9va3MvdXNlLW5vdGlmaWNhdGlvblwiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5cbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb24gPSAoeyBudW1iZXIgfTogSU5vdGlmaWNhdGlvbkJhc2UpID0+IHtcbiAgY29uc3QgTm90aWZpY2F0aW9uQ29udGV4dCA9IHVzZUNvbnRleHQoTm90aWZpY2F0aW9uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VOb3RpZmljYXRpb24oTm90aWZpY2F0aW9uQ29udGV4dCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBOb3RpZmljYXRpb25Db250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuXG4gIC8qIFRoaXMgd2F5IHdlIHByZXZlbnQgdGhlIG51bWVyIGZyb20gZ29pbmcgb3ZlciB0aGUgcHJvdmlkZWQgc2l6ZSAqL1xuICBjb25zdCBkaXNwbGF5ID0gbnVtYmVyID4gOSA/IFwiKzlcIiA6IG51bWJlcjtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkU2tlbGV0b25Ob3RpZmljYXRpb24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFBsYWNlaG9sZGVyPntkaXNwbGF5fTwvUGxhY2Vob2xkZXI+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uTm90aWZpY2F0aW9uPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gPFN0eWxlZE5vdGlmaWNhdGlvbiB0aGVtZT17VGhlbWV9PntkaXNwbGF5fTwvU3R5bGVkTm90aWZpY2F0aW9uPjtcbn07XG4iLCJpbXBvcnQgeyBJTm90aWZpY2F0aW9uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL25vdGlmaWNhdGlvbi5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VOb3RpZmljYXRpb24gPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0LFxuKTogSU5vdGlmaWNhdGlvblRoZW1lID0+IHtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICAvKiBTaXplIG5lZWRzIHRvIGJlIEVNIGJhc2VkICovXG4gIC8qIFdlIGFkZCBpdCBoZXJlIHRvIHF1aWNrbHkgYWRkIGEgc2l6ZSBlbnVtIHByb3Agd2hlbiBuZWVkZWQuKi9cbiAgY29uc3Qgc2l6ZSA9IFwiMS44ZW1cIjtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtcbiAgICAgIENvbnRleHQuU1RBTkRBUkQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5kYW5nZXIudGludF81MDAsXG4gICAgICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkueHMubm9ybWFsLFxuICAgICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICAgIHNpemU6IHNpemUsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TS0VMRVRPTixcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMuZnVsbCxcbiAgICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICAgICAgZm9udDogRm9udHMucHJpbWFyeS54cy5ub3JtYWwsXG4gICAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgICAgICBzaXplOiBzaXplLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyBQaWNrUHJvcHMgfSBmcm9tIFwiLi9waWNrLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vcGljay5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUGljayBhcyBQaWNrQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9waWNrXCI7XG5cbmNvbnN0IFBpY2tDdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IFBpY2tDdHg6IFJlYWN0LkNvbnRleHQ8Q29udGV4dD4gPSBjcmVhdGVDb250ZXh0KFBpY2tDdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFBpY2sgPSAoe1xuICBjb250ZXh0LFxuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGFyaWFMYWJlbCxcbiAgbGFiZWwsXG4gIG5hbWUsXG4gIGNoZWNrZWQsXG4gIGRlZmF1bHRDaGVja2VkLFxuICBpY29uLFxufTogUGlja1Byb3BzKSA9PiB7XG4gIGNvbnN0IFBpY2tDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBQaWNrQ3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxQaWNrQ3R4LlByb3ZpZGVyIHZhbHVlPXtQaWNrQ29udGV4dH0+XG4gICAgICA8UGlja0NvbXBvbmVudFxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICBhcmlhTGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBpY29uPXtpY29ufVxuICAgICAgLz5cbiAgICA8L1BpY2tDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUGlja1RoZW1lYWJsZVByb3BzLCBJUGlja1RoZW1lIH0gZnJvbSBcIi4uL3BpY2sudHlwZXNcIjtcbmltcG9ydCB7IFBpY2tDdHggfSBmcm9tIFwiQC9hdG9tcy9waWNrXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIFBpY2tjb250ZXh0IH0gZnJvbSBcIi4uL3BpY2suZW51bXNcIjtcbmltcG9ydCB7IENvbnRleHQsIFNpemUsIFR5cGUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IHVzZVBpY2tUaGVtZSB9IGZyb20gXCIuLi9ob29rcy91c2UtcGlja1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkUGljayxcbiAgU3R5bGVkUGlja0NvbnRhaW5lcixcbiAgU3R5bGVkUGlja0NvbnRhaW5lclNrZWxldG9uLFxuICBTdHlsZWRQaWNrTGFiZWwsXG4gIFN0eWxlZFBpY2tMYWJlbFNrZWxldG9uLFxuICBTdHlsZWRQaWNrVmlzdWFsU2tlbGV0b24sXG4gIFN0eWxlZFZpc3VhbCxcbiAgU3R5bGVkVmlzdWFsQ29udGFpbmVyLFxufSBmcm9tIFwiLi4vcGljay5zdHlsZVwiO1xuaW1wb3J0IHsgRnJhbWUgfSBmcm9tIFwiLi4vLi4vZnJhbWVcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb2xvclZhcmlhbnQgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcblxuZXhwb3J0IGNvbnN0IFBpY2sgPSAoe1xuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGFyaWFMYWJlbCxcbiAgbGFiZWwsXG4gIG5hbWUsXG4gIGNoZWNrZWQsXG4gIGRlZmF1bHRDaGVja2VkLFxuICBpY29uLFxufTogUGlja1RoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IFBpY2tDb250ZXh0ID0gdXNlQ29udGV4dChQaWNrQ3R4KTtcbiAgY29uc3QgVGhlbWU6IElQaWNrVGhlbWUgPSB1c2VQaWNrVGhlbWUoUGlja0NvbnRleHQpO1xuICBjb25zdCBpc0Rpc2FibGVkID0gUGlja0NvbnRleHQgPT09IFBpY2tjb250ZXh0LkRJU0FCTEVEO1xuICBjb25zdCBpc1NrZWxldG9uID0gUGlja0NvbnRleHQgPT09IFBpY2tjb250ZXh0LlNLRUxFVE9OO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRQaWNrQ29udGFpbmVyU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZFBpY2tWaXN1YWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9IC8+XG4gICAgICAgIDxTdHlsZWRQaWNrTGFiZWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9PntsYWJlbH08L1N0eWxlZFBpY2tMYWJlbFNrZWxldG9uPlxuICAgICAgPC9TdHlsZWRQaWNrQ29udGFpbmVyU2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFBpY2tDb250YWluZXIgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH0gdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWRQaWNrXG4gICAgICAgIGRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBhcmlhLWNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZH1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRWaXN1YWxDb250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPEZyYW1lIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH0gYXJvdW5kPXtpY29ufSAvPlxuICAgICAgICA8U3R5bGVkVmlzdWFsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIHR5cGU9e1R5cGUuQ0hFQ0t9XG4gICAgICAgICAgICBzaXplPXtTaXplLk1FRElVTX1cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e2xhYmVsfVxuICAgICAgICAgICAgY29udGV4dD17Q29udGV4dC5MSUdIVH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZFZpc3VhbD5cbiAgICAgIDwvU3R5bGVkVmlzdWFsQ29udGFpbmVyPlxuICAgICAgPFN0eWxlZFBpY2tMYWJlbCB0aGVtZT17VGhlbWV9PntsYWJlbH08L1N0eWxlZFBpY2tMYWJlbD5cbiAgICA8L1N0eWxlZFBpY2tDb250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIFBpY2tDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvY2hvaWNlL2Nob2ljZS5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSVBpY2tUaGVtZSB9IGZyb20gXCIuLi9waWNrLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VQaWNrVGhlbWUgPSAoY29udGV4dDoga2V5b2YgdHlwZW9mIFBpY2tDb250ZXh0KTogSVBpY2tUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBlcnJvckJvcmRlckNvbG9yID0gQ29sb3JzLmRhbmdlci50aW50XzUwMDtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBFcnJvciA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGNvbnN0IERpc2FibGVkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMubGcsXG4gICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbUGlja0NvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbUGlja0NvbnRleHQuRVJST1IsIEVycm9yXSxcbiAgICBbUGlja0NvbnRleHQuRElTQUJMRUQsIERpc2FibGVkXSxcbiAgICBbUGlja0NvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElQaWNrVGhlbWUgfSBmcm9tIFwiLi9waWNrLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaWNrID0gc3R5bGVkLmlucHV0LmF0dHJzKHsgdHlwZTogXCJjaGVja2JveFwiIH0pPHtcbiAgdGhlbWU6IElQaWNrVGhlbWU7XG59PmBcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICY6Y2hlY2tlZCB+IHNwYW4ge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5jb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gICY6Y2hlY2tlZCB+IGRpdiA+IDpsYXN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlja0NvbnRhaW5lciA9IHN0eWxlZC5sYWJlbDx7XG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG4gIHRoZW1lOiBJUGlja1RoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgIGNzc2BcbiAgICAgICY6aG92ZXIgPiBzcGFuIHtcbiAgICAgICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIGB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlja0xhYmVsID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSVBpY2tUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgcGFkZGluZy1sZWZ0OiA2OHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIG1pbi1oZWlnaHQ6IDU4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJUGlja1RoZW1lIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRWaXN1YWwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElQaWNrVGhlbWUgfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnZpc3VhbFJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmJhY2tncm91bmR9O1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlja0NvbnRhaW5lclNrZWxldG9uID0gc3R5bGVkLmxhYmVsPHtcbiAgdGhlbWU6IElQaWNrVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA1OHB4O1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBpY2tWaXN1YWxTa2VsZXRvbiA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVBpY2tUaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudmlzdWFsUmFkaXVzfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlja0xhYmVsU2tlbGV0b24gPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJUGlja1RoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW4tbGVmdDogNjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBQaWxsIGFzIEJhc2VQaWxsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGxcIjtcbmltcG9ydCB7IElQaWxsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLmVudW1zXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9IGNyZWF0ZUNvbnRleHQoRGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBQaWxsID0gKHsgY29udGV4dCwgd2l0aEljb25CZWZvcmUsIGxhYmVsIH06IElQaWxsKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlUGlsbCBsYWJlbD17bGFiZWx9IHdpdGhJY29uQmVmb3JlPXt3aXRoSWNvbkJlZm9yZX0gLz5cbiAgICA8L0N0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVBpbGxCYXNlIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5pbXBvcnQgeyBDdHggfSBmcm9tIFwiQC9hdG9tcy9waWxsXCI7XG5pbXBvcnQgeyB1c2VQaWxsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9ob29rcy91c2UtcGlsbFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC5lbnVtc1wiO1xuaW1wb3J0IHsgU3R5bGVkUGlsbCwgU3R5bGVkU2tlbGV0b25QaWxsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnN0eWxlXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IFBpbGxJY29uIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGwuaWNvblwiO1xuaW1wb3J0IHsgUGlsbExhYmVsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGwubGFiZWxcIjtcblxuZXhwb3J0IGNvbnN0IFBpbGwgPSAoeyBsYWJlbCwgd2l0aEljb25CZWZvcmUgfTogSVBpbGxCYXNlKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KEN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlUGlsbChDb21wb25lbnRDb250ZXh0KTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgY29uc3QgSWNvbkJlZm9yZSA9IHdpdGhJY29uQmVmb3JlID8gPFBpbGxJY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPiA6IG51bGw7XG5cbiAgY29uc3QgTGFiZWwgPSA8UGlsbExhYmVsPntsYWJlbH08L1BpbGxMYWJlbD47XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICBjb25zdCBJY29uQmVmb3JlU2tlbGV0b24gPSB3aXRoSWNvbkJlZm9yZSA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPFBpbGxJY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IExhYmVsU2tlbGV0b24gPSAoXG4gICAgICA8UGxhY2Vob2xkZXI+XG4gICAgICAgIDxQaWxsTGFiZWw+e2xhYmVsfTwvUGlsbExhYmVsPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvblBpbGwgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAge0ljb25CZWZvcmVTa2VsZXRvbn1cbiAgICAgICAge0xhYmVsU2tlbGV0b259XG4gICAgICA8L1N0eWxlZFNrZWxldG9uUGlsbD5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkUGlsbCB0aGVtZT17VGhlbWV9PlxuICAgICAge0ljb25CZWZvcmV9XG4gICAgICB7TGFiZWx9XG4gICAgPC9TdHlsZWRQaWxsPlxuICApO1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9waWxsL3BpbGwuZW51bXNcIjtcbmltcG9ydCB7IElQaWxsVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9waWxsL3BpbGwudHlwZXNcIjtcbmltcG9ydCB7XG4gIHVzZVRoZW1lQ29sb3IsXG4gIHVzZVRoZW1lRm9udHMsXG4gIHVzZVRoZW1lUmFkaXVzLFxuICB1c2VUaGVtZVV0aWxpdHksXG59IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVBpbGwgPSAoY29udGV4dDoga2V5b2YgdHlwZW9mIENvbnRleHQpOiBJUGlsbFRoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20uYm9sZCxcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMuc20sXG4gICAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXJmYWNlcy50aW50XzUwMCxcbiAgICAgICAgcGFkZGluZzogVXRpbGl0eS5zcGFjaW5nW1wiMlwiXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20uYm9sZCxcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMuc20sXG4gICAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1tcIjJcIl0sXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJUGlsbFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5pbXBvcnQgeyBTcGFjaW5nSSB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlsbCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVBpbGxUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucGFkZGluZ307XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBpbGxJY29uID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgc3BhY2luZzogU3BhY2luZ0kgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogJHsocHJvcHMpID0+IHByb3BzLnNwYWNpbmdbXCIyXCJdfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaWxsTGFiZWwgPSBzdHlsZWQuZGl2YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblBpbGwgPSBzdHlsZWQoU3R5bGVkUGlsbCk8e1xuICB0aGVtZTogSVBpbGxUaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEN0eCwgQ3R4IGFzIFBpbGxDdHggfSBmcm9tIFwiQC9hdG9tcy9waWxsXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEljb25Db250ZXh0LCBTaXplIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBQaWxsSWNvblByb3BzIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VQaWxsSWNvbkNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9waWxsL2hvb2tzL3VzZS1waWxsLWljb25cIjtcbmltcG9ydCB7IFN0eWxlZFBpbGxJY29uIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnN0eWxlXCI7XG5pbXBvcnQgeyB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9waWxsL3BpbGwuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IFBpbGxJY29uID0gKHsgaWNvbiB9OiBQaWxsSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KFBpbGxDdHgpO1xuICBjb25zdCBJY29uQ29udGV4dDogSWNvbkNvbnRleHQgPSB1c2VQaWxsSWNvbkNvbnRleHQoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkUGlsbEljb24gc3BhY2luZz17VXRpbGl0eS5zcGFjaW5nfT5cbiAgICAgIHtSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xuICAgICAgICBjb250ZXh0OiBJY29uQ29udGV4dCxcbiAgICAgICAgc2l6ZTogU2l6ZS5TTUFMTCxcbiAgICAgIH0pfVxuICAgIDwvU3R5bGVkUGlsbEljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgQ29udGV4dCBhcyBJY29uQ29udGV4dCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBQaWxsQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuXG5leHBvcnQgY29uc3QgdXNlUGlsbEljb25Db250ZXh0ID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgUGlsbENvbnRleHQsXG4pOiBJY29uQ29udGV4dCA9PiB7XG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1BpbGxDb250ZXh0LlNUQU5EQVJELCBJY29uQ29udGV4dC5EQVJLXSxcbiAgICBbUGlsbENvbnRleHQuU0tFTEVUT04sIEljb25Db250ZXh0LkRJU0FCTEVEXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUGlsbExhYmVsUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9waWxsL3BpbGwudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZFBpbGxMYWJlbCB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC5zdHlsZVwiO1xuXG5leHBvcnQgY29uc3QgUGlsbExhYmVsID0gKHsgY2hpbGRyZW4gfTogUGlsbExhYmVsUHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRQaWxsTGFiZWw+e2NoaWxkcmVufTwvU3R5bGVkUGlsbExhYmVsPjtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUGluIGFzIEJhc2VQaW4gfSBmcm9tIFwiLi9jb21wb25lbnRzL3BpblwiO1xuaW1wb3J0IHsgSVBpbiB9IGZyb20gXCJAL2F0b21zL3Bpbi9waW4udHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi9waW4uZW51bXNcIjtcblxuY29uc3QgUGluQ3R4RGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBQaW5DdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChQaW5DdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFBpbiA9ICh7IGNvbnRleHQsIHR5cGUgfTogSVBpbikgPT4ge1xuICBjb25zdCBQaW5Db250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBQaW5DdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPFBpbkN0eC5Qcm92aWRlciB2YWx1ZT17UGluQ29udGV4dH0+XG4gICAgICA8QmFzZVBpbiB0eXBlPXt0eXBlfSAvPlxuICAgIDwvUGluQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElQaW5CYXNlIH0gZnJvbSBcIkAvYXRvbXMvcGluL3Bpbi50eXBlc1wiO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCIuLi9waW4uZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7XG4gIEJhc2VDbGlwUGF0aCxcbiAgQmFzZUNsaXBSZWN0LFxuICBCYXNlRGVmcyxcbiAgQmFzZVBpbkcsXG4gIFN0eWxlZFBpbixcbiAgU3R5bGVkUGluUGF0aCxcbiAgU3R5bGVkUGluU2hhZG93LFxuICBTdHlsZWRQaW5XcmFwcGVyLFxufSBmcm9tIFwiQC9hdG9tcy9waW4vcGluLnN0eWxlXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCBQaW4gPSAoeyB0eXBlIH06IElQaW5CYXNlKSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBjb2xvcnMgPSBtYXRjaCh0eXBlLCBbXG4gICAgW1xuICAgICAgVHlwZS5EQVlDQVJFLFxuICAgICAge1xuICAgICAgICBjb2xvcjE6IENvbG9ycy5hY2NlbnQudGludF81MDAsXG4gICAgICAgIGNvbG9yMjogQ29sb3JzLmFjY2VudC50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBUeXBlLkNISUxETUlOREVSLFxuICAgICAge1xuICAgICAgICBjb2xvcjE6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgICBjb2xvcjI6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIFR5cGUuQ09PUEVSQVRJVkUsXG4gICAgICB7XG4gICAgICAgIGNvbG9yMTogQ29sb3JzLmFjY2VudC50aW50XzUwMCxcbiAgICAgICAgY29sb3IyOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG5cbiAgY29uc3Qgd2lkdGggPSAyNDtcbiAgY29uc3Qgd2lkdGhQeCA9IHdpZHRoICsgXCJweFwiO1xuICBjb25zdCBoZWlnaHQgPSAzMjtcbiAgY29uc3QgaGVpZ2h0UHggPSBoZWlnaHQgKyBcInB4XCI7XG5cbiAgY29uc3Qgdmlld0JveCA9IFwiMCAwIFwiICsgd2lkdGggKyBcIiBcIiArIGhlaWdodDtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQaW5XcmFwcGVyPlxuICAgICAgPFN0eWxlZFBpbiB3aWR0aD17d2lkdGhQeH0gaGVpZ2h0PXtoZWlnaHRQeH0gdmlld0JveD17dmlld0JveH0+XG4gICAgICAgIDxCYXNlUGluRyBjbGlwUGF0aD1cInVybCgjY2xpcDBfMV8yNilcIj5cbiAgICAgICAgICA8U3R5bGVkUGluUGF0aCBkPVwiTTEyIDBIMFYzMkgxMlYwWlwiIGZpbGw9XCJub25lXCIgLz5cbiAgICAgICAgICA8U3R5bGVkUGluUGF0aFxuICAgICAgICAgICAgZD1cIk0xMiAwQzYuMTMzMzMgMCAwIDQuNTMzMzMgMCAxMkMwIDE5LjA2NjcgMTAuNjY2NyAyOS44NjY3IDExLjA2NjcgMzAuMjY2N0MxMS4zMzMzIDMwLjUzMzMgMTEuNiAzMC42NjY3IDEyIDMwLjY2NjdDMTIuNCAzMC42NjY3IDEyLjY2NjcgMzAuNTMzMyAxMi45MzMzIDMwLjI2NjdDMTMuMzMzMyAyOS44NjY3IDI0IDE5LjA2NjcgMjQgMTJDMjQgNC41MzMzMyAxNy44NjY3IDAgMTIgMFpNMTIgMTZDOS43MzMzMyAxNiA4IDE0LjI2NjcgOCAxMkM4IDkuNzMzMzMgOS43MzMzMyA4IDEyIDhDMTQuMjY2NyA4IDE2IDkuNzMzMzMgMTYgMTJDMTYgMTQuMjY2NyAxNC4yNjY3IDE2IDEyIDE2WlwiXG4gICAgICAgICAgICBmaWxsPXtjb2xvcnMuY29sb3IxfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQmFzZVBpbkc+XG4gICAgICAgIDxCYXNlUGluRyBjbGlwUGF0aD1cInVybCgjY2xpcDFfMV8yNilcIj5cbiAgICAgICAgICA8U3R5bGVkUGluUGF0aCBkPVwiTTI0IDBIMTJWMzJIMjRWMFpcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICAgICAgPFN0eWxlZFBpblBhdGhcbiAgICAgICAgICAgIGQ9XCJNMTIgMEM2LjEzMzMzIDAgMCA0LjUzMzMzIDAgMTJDMCAxOS4wNjY3IDEwLjY2NjcgMjkuODY2NyAxMS4wNjY3IDMwLjI2NjdDMTEuMzMzMyAzMC41MzMzIDExLjYgMzAuNjY2NyAxMiAzMC42NjY3QzEyLjQgMzAuNjY2NyAxMi42NjY3IDMwLjUzMzMgMTIuOTMzMyAzMC4yNjY3QzEzLjMzMzMgMjkuODY2NyAyNCAxOS4wNjY3IDI0IDEyQzI0IDQuNTMzMzMgMTcuODY2NyAwIDEyIDBaTTEyIDE2QzkuNzMzMzMgMTYgOCAxNC4yNjY3IDggMTJDOCA5LjczMzMzIDkuNzMzMzMgOCAxMiA4QzE0LjI2NjcgOCAxNiA5LjczMzMzIDE2IDEyQzE2IDE0LjI2NjcgMTQuMjY2NyAxNiAxMiAxNlpcIlxuICAgICAgICAgICAgZmlsbD17Y29sb3JzLmNvbG9yMn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0Jhc2VQaW5HPlxuICAgICAgICA8U3R5bGVkUGluUGF0aFxuICAgICAgICAgIGQ9XCJNMTcgMTNDMTcgMTUuNzYxNCAxNC43NjE0IDE4IDEyIDE4QzkuMjM4NTggMTggNyAxNS43NjE0IDcgMTNDNyAxMC4yMzg2IDkuMjM4NTggOCAxMiA4QzE0Ljc2MTQgOCAxNyAxMC4yMzg2IDE3IDEzWlwiXG4gICAgICAgICAgZmlsbD1cIndoaXRlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPEJhc2VEZWZzPlxuICAgICAgICAgIDxCYXNlQ2xpcFBhdGggaWQ9XCJjbGlwMF8xXzI2XCI+XG4gICAgICAgICAgICA8QmFzZUNsaXBSZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIzMlwiIGZpbGw9XCJub25lXCIgLz5cbiAgICAgICAgICA8L0Jhc2VDbGlwUGF0aD5cbiAgICAgICAgICA8QmFzZUNsaXBQYXRoIGlkPVwiY2xpcDFfMV8yNlwiPlxuICAgICAgICAgICAgPEJhc2VDbGlwUmVjdFxuICAgICAgICAgICAgICB3aWR0aD1cIjEyXCJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMzJcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMilcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0Jhc2VDbGlwUGF0aD5cbiAgICAgICAgPC9CYXNlRGVmcz5cbiAgICAgIDwvU3R5bGVkUGluPlxuICAgICAgPFN0eWxlZFBpblNoYWRvdz48L1N0eWxlZFBpblNoYWRvdz5cbiAgICA8L1N0eWxlZFBpbldyYXBwZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuY29uc3QgQmFzZVBpblN2ZyA9IHN0eWxlZC5zdmcuYXR0cnMoKHByb3BzKSA9PiAoe1xuICB2ZXJzaW9uOiBcIjEuMVwiLFxuICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICB4bWxuc1hsaW5rOiBcImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIixcbiAgcm9sZTogXCJpbWdcIixcbiAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIixcbn0pKWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZVBpblBhdGggPSBzdHlsZWQucGF0aC5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZVBpbkcgPSBzdHlsZWQuZy5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZURlZnMgPSBzdHlsZWQuZGVmcy5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZUNsaXBQYXRoID0gc3R5bGVkLmNsaXBQYXRoLmF0dHJzKHtcbiAgcm9sZTogXCJwcmVzZW50YXRpb25cIixcbn0pYGA7XG5cbmV4cG9ydCBjb25zdCBCYXNlQ2xpcFJlY3QgPSBzdHlsZWQucmVjdC5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGluID0gc3R5bGVkKEJhc2VQaW5TdmcpPHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy53aWR0aH07XG4gIGhlaWdodDogJHsocHJvcHMpID0+IHByb3BzLmhlaWdodH07XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxMHB4IDhweCByZ2IoMCAwIDAgLyAwLjA0KSlcbiAgICBkcm9wLXNoYWRvdygwIDRweCAzcHggcmdiKDAgMCAwIC8gMC4xKSk7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGluUGF0aCA9IHN0eWxlZChCYXNlUGluUGF0aCk8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaW5XcmFwcGVyID0gc3R5bGVkLnNwYW48e30+YFxuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGluU2hhZG93ID0gc3R5bGVkLnNwYW48e30+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDZweDtcbiAgYmFja2dyb3VuZDogIzg2ODY4NjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDZweDtcbiAgei1pbmRleDogLTE7XG4gIGZpbHRlcjogYmx1cigzcHgpO1xuYDtcbiIsImltcG9ydCB7IFJhZGlvUHJvcHMgfSBmcm9tIFwiLi9yYWRpby50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL3JhZGlvLmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBSYWRpbyBhcyBSYWRpb0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvcmFkaW9cIjtcblxuY29uc3QgUmFkaW9DdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IFJhZGlvQ3R4OiBSZWFjdC5Db250ZXh0PENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChSYWRpb0N0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgUmFkaW8gPSAoe1xuICBjb250ZXh0LFxuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGFyaWFMYWJlbCxcbiAgbGFiZWwsXG4gIG5hbWUsXG4gIGNoZWNrZWQsXG4gIGRlZmF1bHRDaGVja2VkLFxufTogUmFkaW9Qcm9wcykgPT4ge1xuICBjb25zdCBJbnB1dENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IFJhZGlvQ3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxSYWRpb0N0eC5Qcm92aWRlciB2YWx1ZT17SW5wdXRDb250ZXh0fT5cbiAgICAgIDxSYWRpb0NvbXBvbmVudFxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICBhcmlhTGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgLz5cbiAgICA8L1JhZGlvQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFJhZGlvLFxuICBTdHlsZWRSYWRpb0NvbnRhaW5lcixcbiAgU3R5bGVkUmFkaW9Db250YWluZXJTa2VsZXRvbixcbiAgU3R5bGVkUmFkaW9MYWJlbCxcbiAgU3R5bGVkUmFkaW9MYWJlbFNrZWxldG9uLFxuICBTdHlsZWRSYWRpb1Zpc3VhbCxcbiAgU3R5bGVkUmFkaW9WaXN1YWxTa2VsZXRvbixcbn0gZnJvbSBcIi4uL3JhZGlvLnN0eWxlXCI7XG5pbXBvcnQgeyBSYWRpb1RoZW1lYWJsZVByb3BzLCBJUmFkaW9UaGVtZSB9IGZyb20gXCIuLi9yYWRpby50eXBlc1wiO1xuaW1wb3J0IHsgdXNlUmFkaW9UaGVtZSB9IGZyb20gXCIuLi9ob29rcy91c2UtcmFkaW9cIjtcbmltcG9ydCB7IENvbnRleHQgYXMgUmFkaW9jb250ZXh0IH0gZnJvbSBcIi4uL3JhZGlvLmVudW1zXCI7XG5pbXBvcnQgeyBSYWRpb0N0eCB9IGZyb20gXCJAL2F0b21zL3JhZGlvXCI7XG5cbmV4cG9ydCBjb25zdCBSYWRpbyA9ICh7XG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG59OiBSYWRpb1RoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IFJhZGlvQ29udGV4dCA9IHVzZUNvbnRleHQoUmFkaW9DdHgpO1xuICBjb25zdCBUaGVtZTogSVJhZGlvVGhlbWUgPSB1c2VSYWRpb1RoZW1lKFJhZGlvQ29udGV4dCk7XG4gIGNvbnN0IGlzRGlzYWJsZWQgPSBSYWRpb0NvbnRleHQgPT09IFJhZGlvY29udGV4dC5ESVNBQkxFRDtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IFJhZGlvQ29udGV4dCA9PT0gUmFkaW9jb250ZXh0LlNLRUxFVE9OO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRSYWRpb0NvbnRhaW5lclNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRSYWRpb1Zpc3VhbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0gLz5cbiAgICAgICAgPFN0eWxlZFJhZGlvTGFiZWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9TdHlsZWRSYWRpb0xhYmVsU2tlbGV0b24+XG4gICAgICA8L1N0eWxlZFJhZGlvQ29udGFpbmVyU2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFJhZGlvQ29udGFpbmVyIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9IHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkUmFkaW9cbiAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIGFyaWEtZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRSYWRpb1Zpc3VhbCB0aGVtZT17VGhlbWV9IC8+XG4gICAgICA8U3R5bGVkUmFkaW9MYWJlbCB0aGVtZT17VGhlbWV9PntsYWJlbH08L1N0eWxlZFJhZGlvTGFiZWw+XG4gICAgPC9TdHlsZWRSYWRpb0NvbnRhaW5lcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSVJhZGlvVGhlbWUgfSBmcm9tIFwiLi9yYWRpby50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUmFkaW8gPSBzdHlsZWQuaW5wdXQuYXR0cnMoeyB0eXBlOiBcIlJhZGlvXCIgfSk8e1xuICB0aGVtZTogSVJhZGlvVGhlbWU7XG59PmBcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJhZGlvQ29udGFpbmVyID0gc3R5bGVkLmxhYmVsPHtcbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgdGhlbWU6IElSYWRpb1RoZW1lO1xufT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcblxuICAmIGlucHV0OmNoZWNrZWQgKyBkaXYge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmNvbnRlbnR9O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgICR7KHByb3BzKSA9PlxuICAgICAgIXByb3BzLmlzRGlzYWJsZWQgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYH1cblxuICAgIGlucHV0ICsgZGl2IHtcbiAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmNvbnRlbnR9O1xuICAgICAgfVxuICAgIH1cbiAgICBpbnB1dDpjaGVja2VkICsgZGl2IHtcbiAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5jb250ZW50fTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSYWRpb0NvbnRhaW5lclNrZWxldG9uID0gc3R5bGVkLmxhYmVsPHtcbiAgdGhlbWU6IElSYWRpb1RoZW1lO1xufT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSYWRpb1Zpc3VhbCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVJhZGlvVGhlbWUgfT5gXG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb250ZW50fTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUmFkaW9WaXN1YWxTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRSYWRpb1Zpc3VhbCk8e1xuICB0aGVtZTogSVJhZGlvVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJhZGlvTGFiZWwgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJUmFkaW9UaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJhZGlvTGFiZWxTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRSYWRpb0xhYmVsKTx7XG4gIHRoZW1lOiBJUmFkaW9UaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgPiAqIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5gO1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIFJhZGlvQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3JhZGlvL3JhZGlvLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJUmFkaW9UaGVtZSB9IGZyb20gXCIuLi9yYWRpby50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlUmFkaW9UaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIFJhZGlvQ29udGV4dCxcbik6IElSYWRpb1RoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IGVycm9yQm9yZGVyQ29sb3IgPSBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwO1xuXG4gIGNvbnN0IFN0YW5kYXJkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLnhzLFxuICB9O1xuXG4gIGNvbnN0IEVycm9yID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIGVycm9yQm9yZGVyQ29sb3IsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMueHMsXG4gIH07XG5cbiAgY29uc3QgRGlzYWJsZWQgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLnhzLFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy54cyxcbiAgfTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtSYWRpb0NvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbUmFkaW9Db250ZXh0LkVSUk9SLCBFcnJvcl0sXG4gICAgW1JhZGlvQ29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICAgIFtSYWRpb0NvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL3JlY29yZC5lbnVtc1wiO1xuaW1wb3J0IHsgSVJlY29yZCB9IGZyb20gXCJAL2F0b21zL3JlY29yZC9yZWNvcmQudHlwZXNcIjtcbmltcG9ydCB7IFJlY29yZCBhcyBCYXNlUmVjb3JkIH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL2NvbXBvbmVudHMvcmVjb3JkXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9IGNyZWF0ZUNvbnRleHQoRGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBSZWNvcmQgPSAoeyBjb250ZXh0LCBsYWJlbCwgdmFsdWUsIHdpdGhJY29uQmVmb3JlIH06IElSZWNvcmQpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcbiAgcmV0dXJuIChcbiAgICA8Q3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlUmVjb3JkIGxhYmVsPXtsYWJlbH0gdmFsdWU9e3ZhbHVlfSB3aXRoSWNvbkJlZm9yZT17d2l0aEljb25CZWZvcmV9IC8+XG4gICAgPC9DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVJlY29yZEJhc2UgfSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvcmVjb3JkLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VSZWNvcmQgfSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvaG9va3MvdXNlLXJlY29yZFwiO1xuaW1wb3J0IHsgQ3R4IH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3JlY29yZC5lbnVtc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkUmVjb3JkLFxuICBTdHlsZWRSZWNvcmRJY29uLFxuICBTdHlsZWRSZWNvcmRMYWJlbCxcbiAgU3R5bGVkUmVjb3JkTGFiZWxUZXh0LFxuICBTdHlsZWRSZWNvcmRWYWx1ZSxcbn0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL3JlY29yZC5zdHlsZVwiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgeyB1c2VSZWNvcmRMYWJlbCB9IGZyb20gXCJAL2F0b21zL3JlY29yZC9ob29rcy91c2UtcmVjb3JkLWxhYmVsXCI7XG5pbXBvcnQgeyB1c2VSZWNvcmRWYWx1ZSB9IGZyb20gXCJAL2F0b21zL3JlY29yZC9ob29rcy91c2UtcmVjb3JkLXZhbHVlXCI7XG5pbXBvcnQgeyBHcmlkIH0gZnJvbSBcIkAvbGF5b3V0cy9ncmlkXCI7XG5pbXBvcnQgeyBTcGFjaW5nIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5pbXBvcnQgeyB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IFJlY29yZCA9ICh7IGxhYmVsLCB2YWx1ZSwgd2l0aEljb25CZWZvcmUgfTogSVJlY29yZEJhc2UpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VSZWNvcmQoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IFRoZW1lTGFiZWwgPSB1c2VSZWNvcmRMYWJlbChDb21wb25lbnRDb250ZXh0KTtcbiAgY29uc3QgVGhlbWVWYWx1ZSA9IHVzZVJlY29yZFZhbHVlKENvbXBvbmVudENvbnRleHQpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgY29uc3QgSWNvbiA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgIElzU2tlbGV0b24gPyAoXG4gICAgICA8U3R5bGVkUmVjb3JkSWNvbiBzcGFjaW5nPXtVdGlsaXR5LnNwYWNpbmd9PlxuICAgICAgICA8UGxhY2Vob2xkZXI+e3dpdGhJY29uQmVmb3JlfTwvUGxhY2Vob2xkZXI+XG4gICAgICA8L1N0eWxlZFJlY29yZEljb24+XG4gICAgKSA6IChcbiAgICAgIDxTdHlsZWRSZWNvcmRJY29uIHNwYWNpbmc9e1V0aWxpdHkuc3BhY2luZ30+XG4gICAgICAgIHt3aXRoSWNvbkJlZm9yZX1cbiAgICAgIDwvU3R5bGVkUmVjb3JkSWNvbj5cbiAgICApXG4gICkgOiBudWxsO1xuXG4gIGNvbnN0IExhYmVsID0gSXNTa2VsZXRvbiA/IChcbiAgICA8U3R5bGVkUmVjb3JkTGFiZWxUZXh0PlxuICAgICAgPFBsYWNlaG9sZGVyPntsYWJlbH08L1BsYWNlaG9sZGVyPlxuICAgIDwvU3R5bGVkUmVjb3JkTGFiZWxUZXh0PlxuICApIDogKFxuICAgIDxTdHlsZWRSZWNvcmRMYWJlbFRleHQ+e2xhYmVsfTwvU3R5bGVkUmVjb3JkTGFiZWxUZXh0PlxuICApO1xuXG4gIGNvbnN0IFZhbHVlID0gSXNTa2VsZXRvbiA/IChcbiAgICA8U3R5bGVkUmVjb3JkVmFsdWUgdGhlbWU9e1RoZW1lVmFsdWV9PlxuICAgICAgPFBsYWNlaG9sZGVyPnt2YWx1ZX08L1BsYWNlaG9sZGVyPlxuICAgIDwvU3R5bGVkUmVjb3JkVmFsdWU+XG4gICkgOiAoXG4gICAgPFN0eWxlZFJlY29yZFZhbHVlIHRoZW1lPXtUaGVtZVZhbHVlfT57dmFsdWV9PC9TdHlsZWRSZWNvcmRWYWx1ZT5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRSZWNvcmQgdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxHcmlkIGRpcmVjdGlvbj17XCJyb3dcIn0gc21CcmVha3BvaW50PXsyODB9IGdhcD17U3BhY2luZy5TMTV9PlxuICAgICAgICA8R3JpZC5JdGVtIGluaXRpYWw9ezEyfSBzbT17XCJhdXRvXCJ9PlxuICAgICAgICAgIDxTdHlsZWRSZWNvcmRMYWJlbCB0aGVtZT17VGhlbWVMYWJlbH0+XG4gICAgICAgICAgICB7SWNvbn1cbiAgICAgICAgICAgIHtMYWJlbH1cbiAgICAgICAgICA8L1N0eWxlZFJlY29yZExhYmVsPlxuICAgICAgICA8L0dyaWQuSXRlbT5cbiAgICAgICAgPEdyaWQuSXRlbSBpbml0aWFsPXsxMn0gc209e1wiYXV0b1wifT5cbiAgICAgICAgICB7VmFsdWV9XG4gICAgICAgIDwvR3JpZC5JdGVtPlxuICAgICAgPC9HcmlkPlxuICAgIDwvU3R5bGVkUmVjb3JkPlxuICApO1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vcmVjb3JkLmVudW1zXCI7XG5pbXBvcnQgeyBJUmVjb3JkVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvcmVjb3JkLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VSZWNvcmQgPSAoY29udGV4dDoga2V5b2YgdHlwZW9mIENvbnRleHQpOiBJUmVjb3JkVGhlbWUgPT4ge1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5LnNtLm5vcm1hbCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHtcbiAgSVJlY29yZExhYmVsVGhlbWUsXG4gIElSZWNvcmRUaGVtZSxcbiAgSVJlY29yZFZhbHVlVGhlbWUsXG59IGZyb20gXCJAL2F0b21zL3JlY29yZC9yZWNvcmQudHlwZXNcIjtcbmltcG9ydCB7IFNwYWNpbmdJIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSZWNvcmQgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElSZWNvcmRUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSZWNvcmRJY29uID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgc3BhY2luZzogU3BhY2luZ0kgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgbWFyZ2luLXJpZ2h0OiAkeyhwcm9wcykgPT4gcHJvcHMuc3BhY2luZ1tcIjJcIl19O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJlY29yZExhYmVsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJUmVjb3JkTGFiZWxUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5hbmltYXRpb259O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJlY29yZExhYmVsVGV4dCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVJlY29yZExhYmVsVGhlbWUgfT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJlY29yZFZhbHVlID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJUmVjb3JkVmFsdWVUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5hbmltYXRpb259O1xuYDtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vcmVjb3JkLmVudW1zXCI7XG5pbXBvcnQgeyBJUmVjb3JkTGFiZWxUaGVtZSwgSVJlY29yZFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL3JlY29yZC50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVJlY29yZExhYmVsID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCxcbik6IElSZWNvcmRMYWJlbFRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzcwMCxcbiAgICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgICBhbmltYXRpb246IFwibm9uZVwiLFxuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuU0tFTEVUT04sXG4gICAgICB7XG4gICAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgICBhbmltYXRpb246IFwicHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZVwiLFxuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3JlY29yZC5lbnVtc1wiO1xuaW1wb3J0IHsgSVJlY29yZFZhbHVlVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvcmVjb3JkLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlUmVjb3JkVmFsdWUgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0LFxuKTogSVJlY29yZFZhbHVlVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTAwLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgICAgIGFuaW1hdGlvbjogXCJub25lXCIsXG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ub3JtYWwsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TS0VMRVRPTixcbiAgICAgIHtcbiAgICAgICAgY29sb3I6IFNrZWxldG9uQmcsXG4gICAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICAgIGFuaW1hdGlvbjogXCJwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlXCIsXG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ub3JtYWwsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTdHlsZWRHcmlkLCBTdHlsZWRHcmlkSXRlbSwgU3R5bGVkR3JpZENvbnRhaW5lciB9IGZyb20gXCIuL2dyaWQuc3R5bGVcIjtcbmltcG9ydCB7IEdyaWRJdGVtUHJvcHMsIEdyaWRQcm9wcywgU3R5bGVkR3JpZFByb3BzIH0gZnJvbSBcIi4vZ3JpZC50eXBlc1wiO1xuXG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuY29uc3QgR3JpZENvbnRleHQgPSBjcmVhdGVDb250ZXh0KHtcbiAgYnJlYWtwb2ludDoge1xuICAgIHNtOiBcIjY0MHB4XCIsXG4gICAgbWQ6IFwiNzY4cHhcIixcbiAgICBsZzogXCIxMDI0cHhcIixcbiAgICB4bDogXCIxMjgwcHhcIixcbiAgICB4eGw6IFwiMTUzNnB4XCIsXG4gIH0sXG4gIGdhcDogXCIwXCIsXG4gIGRpcmVjdGlvbjogXCJyb3dcIixcbiAgYWxpZ25JdGVtczogXCJmbGV4LXN0YXJ0XCIsXG4gIGp1c3RpZnk6IFwiZmxleC1zdGFydFwiLFxuICBpdGVtczogMCxcbn0pO1xuXG5leHBvcnQgY29uc3QgR3JpZCA9ICh7XG4gIGNoaWxkcmVuLFxuICBkaXJlY3Rpb24sXG4gIGFsaWduSXRlbXMsXG4gIGp1c3RpZnksXG4gIGdhcCxcbiAgc21CcmVha3BvaW50LFxuICBtZEJyZWFrcG9pbnQsXG4gIGxnQnJlYWtwb2ludCxcbiAgeGxCcmVha3BvaW50LFxuICB4eGxCcmVha3BvaW50LFxufTogR3JpZFByb3BzKSA9PiB7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcbiAgY29uc3QgZ2FwT3JkZWZhdWx0ID0gdGhlbWUudXRpbGl0eS5zcGFjaW5nW2dhcCB8fCAwXTtcbiAgY29uc3QgZGlyZWN0aW9uT3JEZWZhdWx0ID0gZGlyZWN0aW9uIHx8IFwicm93XCI7XG4gIGNvbnN0IGFsaWduSXRlbXNPckRlZmF1bHQgPSBhbGlnbkl0ZW1zIHx8IFwiZmxleC1zdGFydFwiO1xuICBjb25zdCBqdXN0aWZ5T3JEZWZhdWx0ID0ganVzdGlmeSB8fCBcImZsZXgtc3RhcnRcIjtcblxuICBjb25zdCBzdHlsZTogU3R5bGVkR3JpZFByb3BzID0ge1xuICAgIGRpcmVjdGlvbjogZGlyZWN0aW9uT3JEZWZhdWx0LFxuICAgIGFsaWduSXRlbXM6IGFsaWduSXRlbXNPckRlZmF1bHQsXG4gICAganVzdGlmeToganVzdGlmeU9yRGVmYXVsdCxcbiAgICBnYXA6IGdhcE9yZGVmYXVsdCxcbiAgfTtcblxuICBjb25zdCBjb3VudCA9IFJlYWN0LkNoaWxkcmVuLmNvdW50KGNoaWxkcmVuKTtcblxuICByZXR1cm4gKFxuICAgIDxHcmlkQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgYnJlYWtwb2ludDoge1xuICAgICAgICAgIHNtOiBzbUJyZWFrcG9pbnQgPyBzbUJyZWFrcG9pbnQgKyBcInB4XCIgOiBcIjY0MHB4XCIsXG4gICAgICAgICAgbWQ6IG1kQnJlYWtwb2ludCA/IG1kQnJlYWtwb2ludCArIFwicHhcIiA6IFwiNzY4cHhcIixcbiAgICAgICAgICBsZzogbGdCcmVha3BvaW50ID8gbGdCcmVha3BvaW50ICsgXCJweFwiIDogXCIxMDI0cHhcIixcbiAgICAgICAgICB4bDogeGxCcmVha3BvaW50ID8geGxCcmVha3BvaW50ICsgXCJweFwiIDogXCIxMjgwcHhcIixcbiAgICAgICAgICB4eGw6IHh4bEJyZWFrcG9pbnQgPyB4eGxCcmVha3BvaW50ICsgXCJweFwiIDogXCIxNTM2cHhcIixcbiAgICAgICAgfSxcbiAgICAgICAgZ2FwOiBnYXBPcmRlZmF1bHQsXG4gICAgICAgIGRpcmVjdGlvbjogZGlyZWN0aW9uT3JEZWZhdWx0LFxuICAgICAgICBhbGlnbkl0ZW1zOiBhbGlnbkl0ZW1zT3JEZWZhdWx0LFxuICAgICAgICBqdXN0aWZ5OiBqdXN0aWZ5T3JEZWZhdWx0LFxuICAgICAgICBpdGVtczogY291bnQsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxTdHlsZWRHcmlkQ29udGFpbmVyPlxuICAgICAgICA8U3R5bGVkR3JpZCBzdHlsZT17c3R5bGV9PntjaGlsZHJlbn08L1N0eWxlZEdyaWQ+XG4gICAgICA8L1N0eWxlZEdyaWRDb250YWluZXI+XG4gICAgPC9HcmlkQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IEl0ZW0gPSAoeyBpbml0aWFsLCBzbSwgbWQsIGxnLCB4bCwgeHhsLCBjaGlsZHJlbiB9OiBHcmlkSXRlbVByb3BzKSA9PiB7XG4gIGNvbnN0IHdpZHRoT3JEZWZhdWx0ID0gaW5pdGlhbCB8fCAxMjtcbiAgY29uc3Qgc21PckRlZmF1bHQgPSBzbSB8fCB3aWR0aE9yRGVmYXVsdDtcbiAgY29uc3QgbWRPckRlZmF1bHQgPSBtZCB8fCBzbU9yRGVmYXVsdDtcbiAgY29uc3QgbGdPckRlZmF1bHQgPSBsZyB8fCBtZE9yRGVmYXVsdDtcbiAgY29uc3QgeGxPckRlZmF1bHQgPSB4bCB8fCBsZ09yRGVmYXVsdDtcbiAgY29uc3QgeHhsT3JEZWZhdWx0ID0geHhsIHx8IHhsT3JEZWZhdWx0O1xuICBjb25zdCBncmlkID0gdXNlQ29udGV4dChHcmlkQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkR3JpZEl0ZW1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGluaXRpYWw6IHdpZHRoT3JEZWZhdWx0LFxuICAgICAgICBzbTogc21PckRlZmF1bHQsXG4gICAgICAgIG1kOiBtZE9yRGVmYXVsdCxcbiAgICAgICAgbGc6IGxnT3JEZWZhdWx0LFxuICAgICAgICB4bDogeGxPckRlZmF1bHQsXG4gICAgICAgIHh4bDogeHhsT3JEZWZhdWx0LFxuICAgICAgICBzbUJyZWFrcG9pbnQ6IGdyaWQuYnJlYWtwb2ludC5zbSxcbiAgICAgICAgbWRCcmVha3BvaW50OiBncmlkLmJyZWFrcG9pbnQubWQsXG4gICAgICAgIGxnQnJlYWtwb2ludDogZ3JpZC5icmVha3BvaW50LmxnLFxuICAgICAgICB4bEJyZWFrcG9pbnQ6IGdyaWQuYnJlYWtwb2ludC54bCxcbiAgICAgICAgeHhsQnJlYWtwb2ludDogZ3JpZC5icmVha3BvaW50Lnh4bCxcbiAgICAgICAgaW5pdGlhbFdpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIHdpZHRoT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIHdpZHRoT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICBzbVdpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIHNtT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIHNtT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICBtZFdpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIG1kT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIG1kT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICBsZ1dpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIGxnT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIGxnT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICB4bFdpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIHhsT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIHhsT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICB4eGxXaWR0aENvcnJlY3Rpb246XG4gICAgICAgICAgZ3JpZC5kaXJlY3Rpb24gPT09IFwicm93XCIgJiZcbiAgICAgICAgICB4eGxPckRlZmF1bHQgIT09IFwiYXV0b1wiICYmXG4gICAgICAgICAgeHhsT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TdHlsZWRHcmlkSXRlbT5cbiAgKTtcbn07XG5cbkdyaWQuSXRlbSA9IEl0ZW07XG4iLCJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgU3R5bGVkR3JpZEl0ZW1Qcm9wcywgU3R5bGVkR3JpZFByb3BzIH0gZnJvbSBcIi4vZ3JpZC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkR3JpZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgY29udGFpbmVyLW5hbWU6IGdyaWQ7XG5gO1xuZXhwb3J0IGNvbnN0IFN0eWxlZEdyaWQgPSBzdHlsZWQuZGl2PHsgc3R5bGU6IFN0eWxlZEdyaWRQcm9wcyB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogJHsocHJvcHMpID0+IHByb3BzLnN0eWxlLmRpcmVjdGlvbn07XG4gIGFsaWduLWl0ZW1zOiAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGUuYWxpZ25JdGVtc307XG4gIGp1c3RpZnktY29udGVudDogJHsocHJvcHMpID0+IHByb3BzLnN0eWxlLmp1c3RpZnl9O1xuICBnYXA6ICR7KHByb3BzKSA9PiBwcm9wcy5zdHlsZS5nYXB9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEdyaWRJdGVtID0gc3R5bGVkLmRpdjx7IHN0eWxlOiBTdHlsZWRHcmlkSXRlbVByb3BzIH0+YFxuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLXdpZHRoOiAwO1xuXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLnN0eWxlLmluaXRpYWwgPT09IFwiYXV0b1wiICYmXG4gICAgY3NzYFxuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBgfVxuICAkeyhwcm9wcykgPT5cbiAgICB0eXBlb2YgcHJvcHMuc3R5bGUuaW5pdGlhbCA9PT0gXCJudW1iZXJcIiAmJlxuICAgIGNzc2BcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgKDEwMCUgKiAke3Byb3BzLnN0eWxlLmluaXRpYWx9IC8gMTIpIC1cbiAgICAgICAgICAke3Byb3BzLnN0eWxlLmluaXRpYWxXaWR0aENvcnJlY3Rpb259XG4gICAgICApO1xuICAgIGB9XG5cbiAgQGNvbnRhaW5lciBncmlkIChtaW4td2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy5zdHlsZS5zbUJyZWFrcG9pbnR9KSB7XG4gICAgJHsocHJvcHMpID0+XG4gICAgICBwcm9wcy5zdHlsZS5zbSA9PT0gXCJhdXRvXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBgfVxuICAgICR7KHByb3BzKSA9PlxuICAgICAgdHlwZW9mIHByb3BzLnN0eWxlLnNtID09PSBcIm51bWJlclwiICYmXG4gICAgICBjc3NgXG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoXG4gICAgICAgICAgKDEwMCUgKiAke3Byb3BzLnN0eWxlLnNtfSAvIDEyKSAtICR7cHJvcHMuc3R5bGUuc21XaWR0aENvcnJlY3Rpb259XG4gICAgICAgICk7XG4gICAgICBgfVxuICB9XG4gIEBjb250YWluZXIgZ3JpZCAobWluLXdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGUubWRCcmVha3BvaW50fSkge1xuICAgICR7KHByb3BzKSA9PlxuICAgICAgcHJvcHMuc3R5bGUubWQgPT09IFwiYXV0b1wiICYmXG4gICAgICBjc3NgXG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgYH1cbiAgICAkeyhwcm9wcykgPT5cbiAgICAgIHR5cGVvZiBwcm9wcy5zdHlsZS5tZCA9PT0gXCJudW1iZXJcIiAmJlxuICAgICAgY3NzYFxuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICgxMDAlICogJHtwcm9wcy5zdHlsZS5tZH0gLyAxMikgLSAke3Byb3BzLnN0eWxlLm1kV2lkdGhDb3JyZWN0aW9ufVxuICAgICAgICApO1xuICAgICAgYH1cbiAgfVxuICBAY29udGFpbmVyIGdyaWQgKG1pbi13aWR0aDogJHsocHJvcHMpID0+IHByb3BzLnN0eWxlLmxnQnJlYWtwb2ludH0pIHtcbiAgICAkeyhwcm9wcykgPT5cbiAgICAgIHByb3BzLnN0eWxlLmxnID09PSBcImF1dG9cIiAmJlxuICAgICAgY3NzYFxuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGB9XG4gICAgJHsocHJvcHMpID0+XG4gICAgICB0eXBlb2YgcHJvcHMuc3R5bGUubGcgPT09IFwibnVtYmVyXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgICAoMTAwJSAqICR7cHJvcHMuc3R5bGUubGd9IC8gMTIpIC0gJHtwcm9wcy5zdHlsZS5sZ1dpZHRoQ29ycmVjdGlvbn1cbiAgICAgICAgKTtcbiAgICAgIGB9XG4gIH1cbiAgQGNvbnRhaW5lciBncmlkIChtaW4td2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy5zdHlsZS54bEJyZWFrcG9pbnR9KSB7XG4gICAgJHsocHJvcHMpID0+XG4gICAgICBwcm9wcy5zdHlsZS54bCA9PT0gXCJhdXRvXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBgfVxuICAgICR7KHByb3BzKSA9PlxuICAgICAgdHlwZW9mIHByb3BzLnN0eWxlLnhsID09PSBcIm51bWJlclwiICYmXG4gICAgICBjc3NgXG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoXG4gICAgICAgICAgKDEwMCUgKiAke3Byb3BzLnN0eWxlLnhsfSAvIDEyKSAtICR7cHJvcHMuc3R5bGUueGxXaWR0aENvcnJlY3Rpb259XG4gICAgICAgICk7XG4gICAgICBgfVxuICB9XG4gIEBjb250YWluZXIgZ3JpZCAobWluLXdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGUueHhsQnJlYWtwb2ludH0pIHtcbiAgICAkeyhwcm9wcykgPT5cbiAgICAgIHByb3BzLnN0eWxlLnh4bCA9PT0gXCJhdXRvXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBgfVxuICAgICR7KHByb3BzKSA9PlxuICAgICAgdHlwZW9mIHByb3BzLnN0eWxlLnh4bCA9PT0gXCJudW1iZXJcIiAmJlxuICAgICAgY3NzYFxuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICgxMDAlICogJHtwcm9wcy5zdHlsZS54eGx9IC8gMTIpIC0gJHtwcm9wcy5zdHlsZS54eGxXaWR0aENvcnJlY3Rpb259XG4gICAgICAgICk7XG4gICAgICBgfVxuICB9XG5gO1xuIiwiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVN0YXR1cywgSVN0YXR1c0NvbXBhY3QgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vc3RhdHVzLmVudW1zXCI7XG5pbXBvcnQgeyBTdGF0dXNDb21wYWN0IGFzIEJhc2VTdGF0dXNDb21wYWN0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL2NvbXBvbmVudHMvc3RhdHVzX2NvbXBhY3RcIjtcbmltcG9ydCB7IFN0YXR1cyBhcyBCYXNlU3RhdHVzIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL2NvbXBvbmVudHMvc3RhdHVzXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNFTkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFN0YXR1c0NvbXBhY3QgPSAoeyBjb250ZXh0IH06IElTdGF0dXNDb21wYWN0KSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlU3RhdHVzQ29tcGFjdCAvPlxuICAgIDwvQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFN0YXR1cyA9ICh7IGNvbnRleHQsIGxhYmVsIH06IElTdGF0dXMpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxDdHguUHJvdmlkZXIgdmFsdWU9e0NvbXBvbmVudENvbnRleHR9PlxuICAgICAgPEJhc2VTdGF0dXMgbGFiZWw9e2xhYmVsfSAvPlxuICAgIDwvQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFNrZWxldG9uU3RhdHVzLFxuICBTdHlsZWRTdGF0dXMsXG59IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMuc3R5bGVcIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlclwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuLi9zdGF0dXMuZW51bXNcIjtcbmltcG9ydCB7IElTdGF0dXNDb21wYWN0QmFzZSB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMudHlwZXNcIjtcbmltcG9ydCB7IEN0eCB9IGZyb20gXCJAL2F0b21zL3N0YXR1c1wiO1xuaW1wb3J0IHsgdXNlU3RhdHVzQ29tcGFjdCB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9ob29rcy91c2Utc3RhdHVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdGF0dXNDb21wYWN0ID0gKHsgY2hpbGRyZW4gfTogSVN0YXR1c0NvbXBhY3RCYXNlKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KEN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlU3RhdHVzQ29tcGFjdChDb21wb25lbnRDb250ZXh0KTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uU3RhdHVzIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxQbGFjZWhvbGRlcj57Y2hpbGRyZW59PC9QbGFjZWhvbGRlcj5cbiAgICAgIDwvU3R5bGVkU2tlbGV0b25TdGF0dXM+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiA8U3R5bGVkU3RhdHVzIHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkU3RhdHVzPjtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHtcbiAgSVN0YXR1c0xhYmVsVGV4dFRoZW1lLFxuICBJU3RhdHVzTGFiZWxUaGVtZSxcbiAgSVN0YXR1c1RoZW1lLFxufSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXMgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElTdGF0dXNUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25TdGF0dXMgPSBzdHlsZWQoU3R5bGVkU3RhdHVzKTx7XG4gIHRoZW1lOiBJU3RhdHVzVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFN0YXR1c0xhYmVsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJU3RhdHVzTGFiZWxUaGVtZSB9PmBcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXNMYWJlbEljb24gPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElTdGF0dXNMYWJlbFRoZW1lIH0+YFxuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXNMYWJlbFRleHQgPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElTdGF0dXNMYWJlbFRleHRUaGVtZTtcbn0+YFxuICBwYWRkaW5nOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucGFkZGluZ307XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25TdGF0dXNMYWJlbCA9IHN0eWxlZChTdHlsZWRTdGF0dXNMYWJlbCk8e1xuICB0aGVtZTogSVN0YXR1c0xhYmVsVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vc3RhdHVzLmVudW1zXCI7XG5pbXBvcnQgeyBJU3RhdHVzQ29tcGFjdFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VTdGF0dXNDb21wYWN0ID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCxcbik6IElTdGF0dXNDb21wYWN0VGhlbWUgPT4ge1xuICBjb25zdCBSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFNlbmRTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3NlbmRfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFByb2Nlc3NpbmdTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3Byb2Nlc3NpbmdfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMud2FybmluZy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgUHJvcG9zYWxTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3Byb3Bvc2FsX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLmluZm8udGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEFjY2VwdGVkU3RhdHVzID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInN0YXR1c19hY2NlcHRlZF9jb2xvclwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdWNjZXNzLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBSZWZ1c2VkU3RhdHVzID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInN0YXR1c19yZWZ1c2VkX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNFTkQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgICAgIGJhY2tncm91bmQ6IFNlbmRTdGF0dXMsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5QUk9DRVNTSU5HLFxuICAgICAge1xuICAgICAgICByYWRpdXM6IFJhZGl1cy5mdWxsLFxuICAgICAgICBiYWNrZ3JvdW5kOiBQcm9jZXNzaW5nU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuUFJPUE9TQUwsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgICAgIGJhY2tncm91bmQ6IFByb3Bvc2FsU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuQUNDRVBURUQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgICAgIGJhY2tncm91bmQ6IEFjY2VwdGVkU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuUkVGVVNFRCxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMuZnVsbCxcbiAgICAgICAgYmFja2dyb3VuZDogUmVmdXNlZFN0YXR1cyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICByYWRpdXM6IFJhZGl1cy5mdWxsLFxuICAgICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRTa2VsZXRvblN0YXR1c0xhYmVsLFxuICBTdHlsZWRTdGF0dXNMYWJlbCxcbiAgU3R5bGVkU3RhdHVzTGFiZWxJY29uLFxuICBTdHlsZWRTdGF0dXNMYWJlbFRleHQsXG59IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMuc3R5bGVcIjtcbmltcG9ydCB7IElTdGF0dXNCYXNlIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuaW1wb3J0IHsgQ3R4IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IHVzZVN0YXR1cyB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9ob29rcy91c2Utc3RhdHVzLWxhYmVsXCI7XG5pbXBvcnQgeyB1c2VTdGF0dXNJY29uIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL2hvb2tzL3VzZS1zdGF0dXMtaWNvblwiO1xuaW1wb3J0IHsgdXNlU3RhdHVzVGV4dCB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9ob29rcy91c2Utc3RhdHVzLXRleHRcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEljb25Db250ZXh0LCBUeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3N0YXR1cy5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuXG5leHBvcnQgY29uc3QgU3RhdHVzID0gKHsgbGFiZWwgfTogSVN0YXR1c0Jhc2UpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VTdGF0dXMoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IEljb25UaGVtZSA9IHVzZVN0YXR1c0ljb24oQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IFRleHRUaGVtZSA9IHVzZVN0YXR1c1RleHQoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBDb21wb25lbnRDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuXG4gIGNvbnN0IGljb24gPSBtYXRjaChDb21wb25lbnRDb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TRU5ELFxuICAgICAgPEljb24gdHlwZT17VHlwZS5SRURPfSBzY3JlZW5SZWFkZXJUZXh0PVwiXCIgY29udGV4dD17SWNvbkNvbnRleHQuREFSS30gLz4sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlBST0NFU1NJTkcsXG4gICAgICA8SWNvblxuICAgICAgICB0eXBlPXtUeXBlLklOX1BST0NFU1N9XG4gICAgICAgIHNjcmVlblJlYWRlclRleHQ9XCJcIlxuICAgICAgICBjb250ZXh0PXtJY29uQ29udGV4dC5EQVJLfVxuICAgICAgLz4sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlBST1BPU0FMLFxuICAgICAgPEljb25cbiAgICAgICAgdHlwZT17VHlwZS5DT01NRU5UfVxuICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PVwiXCJcbiAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuREFSS31cbiAgICAgIC8+LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5BQ0NFUFRFRCxcbiAgICAgIDxJY29uIHR5cGU9e1R5cGUuUkVET30gc2NyZWVuUmVhZGVyVGV4dD1cIlwiIGNvbnRleHQ9e0ljb25Db250ZXh0LkRBUkt9IC8+LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5SRUZVU0VELFxuICAgICAgPEljb24gdHlwZT17VHlwZS5SRURPfSBzY3JlZW5SZWFkZXJUZXh0PVwiXCIgY29udGV4dD17SWNvbkNvbnRleHQuREFSS30gLz4sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAgPEljb25cbiAgICAgICAgdHlwZT17VHlwZS5SRURPfVxuICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PVwiXCJcbiAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuRElTQUJMRUR9XG4gICAgICAvPixcbiAgICBdLFxuICBdKTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkU2tlbGV0b25TdGF0dXNMYWJlbCB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkU3RhdHVzTGFiZWxJY29uIHRoZW1lPXtJY29uVGhlbWV9PlxuICAgICAgICAgIDxQbGFjZWhvbGRlcj57aWNvbn08L1BsYWNlaG9sZGVyPlxuICAgICAgICA8L1N0eWxlZFN0YXR1c0xhYmVsSWNvbj5cbiAgICAgICAgPFN0eWxlZFN0YXR1c0xhYmVsVGV4dCB0aGVtZT17VGV4dFRoZW1lfT5cbiAgICAgICAgICA8UGxhY2Vob2xkZXI+e2xhYmVsfTwvUGxhY2Vob2xkZXI+XG4gICAgICAgIDwvU3R5bGVkU3RhdHVzTGFiZWxUZXh0PlxuICAgICAgPC9TdHlsZWRTa2VsZXRvblN0YXR1c0xhYmVsPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRTdGF0dXNMYWJlbCB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZFN0YXR1c0xhYmVsSWNvbiB0aGVtZT17SWNvblRoZW1lfT57aWNvbn08L1N0eWxlZFN0YXR1c0xhYmVsSWNvbj5cbiAgICAgIDxTdHlsZWRTdGF0dXNMYWJlbFRleHQgdGhlbWU9e1RleHRUaGVtZX0+e2xhYmVsfTwvU3R5bGVkU3RhdHVzTGFiZWxUZXh0PlxuICAgIDwvU3R5bGVkU3RhdHVzTGFiZWw+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuLi9zdGF0dXMuZW51bXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJU3RhdHVzVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLnR5cGVzXCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlU3RhdHVzID0gKGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0KTogSVN0YXR1c1RoZW1lID0+IHtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBJc1NrZWxldG9uID0gY29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICByZXR1cm4ge1xuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGJhY2tncm91bmQ6IElzU2tlbGV0b24gPyBTa2VsZXRvbkJnIDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgfTtcbn07XG4iLCJpbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3N0YXR1cy5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5pbXBvcnQgeyBJU3RhdHVzSWNvblRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlU3RhdHVzSWNvbiA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIENvbnRleHQsXG4pOiBJU3RhdHVzSWNvblRoZW1lID0+IHtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFNlbmRTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3NlbmRfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFByb2Nlc3NpbmdTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3Byb2Nlc3NpbmdfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMud2FybmluZy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgUHJvcG9zYWxTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3Byb3Bvc2FsX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLmluZm8udGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEFjY2VwdGVkU3RhdHVzID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInN0YXR1c19hY2NlcHRlZF9jb2xvclwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdWNjZXNzLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBSZWZ1c2VkU3RhdHVzID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInN0YXR1c19yZWZ1c2VkX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNFTkQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBTZW5kU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuUFJPQ0VTU0lORyxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMubWQgKyBcIiAwIDAgXCIgKyBSYWRpdXMubWQsXG4gICAgICAgIGJhY2tncm91bmQ6IFByb2Nlc3NpbmdTdGF0dXMsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5QUk9QT1NBTCxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMubWQgKyBcIiAwIDAgXCIgKyBSYWRpdXMubWQsXG4gICAgICAgIGJhY2tncm91bmQ6IFByb3Bvc2FsU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuQUNDRVBURUQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBBY2NlcHRlZFN0YXR1cyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlJFRlVTRUQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBSZWZ1c2VkU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuU0tFTEVUT04sXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3N0YXR1cy5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJU3RhdHVzVGV4dFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlU3RhdHVzVGV4dCA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIENvbnRleHQsXG4pOiBJU3RhdHVzVGV4dFRoZW1lID0+IHtcbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuXG4gIHJldHVybiB7XG4gICAgcGFkZGluZzogXCIwIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiNFwiXSxcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJVGVybSB9IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS5lbnVtc1wiO1xuaW1wb3J0IHsgVGVybSBhcyBCYXNlVGVybSB9IGZyb20gXCJAL2F0b21zL3Rlcm0vY29tcG9uZW50cy90ZXJtXCI7XG5pbXBvcnQgeyBDb2xvclZhcmlhbnQgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgRnJhbWVDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvZnJhbWUuZW51bXNcIjtcblxuY29uc3QgRGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFRlcm0gPSAoeyBjb250ZXh0LCBsYWJlbCwgZGVzY3JpcHRpb24sIGZyYW1lIH06IElUZXJtKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlVGVybSBsYWJlbD17bGFiZWx9IGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gZnJhbWU9e2ZyYW1lfSAvPlxuICAgIDwvQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJVGVybUJhc2UgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0udHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFNrZWxldG9uVGVybSxcbiAgU3R5bGVkU2tlbGV0b25UZXJtRGVzY3JpcHRpb24sXG4gIFN0eWxlZFRlcm0sXG4gIFN0eWxlZFRlcm1Db250ZW50LFxuICBTdHlsZWRUZXJtRGVzY3JpcHRpb24sXG4gIFN0eWxlZFRlcm1GcmFtZSxcbiAgU3R5bGVkVGVybUxhYmVsLFxufSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0uc3R5bGVcIjtcbmltcG9ydCB7IHVzZVRlcm0gfSBmcm9tIFwiQC9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtXCI7XG5pbXBvcnQgeyB1c2VUZXJtRnJhbWUgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtLWZyYW1lXCI7XG5pbXBvcnQgeyB1c2VUZXJtTGFiZWwgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtLWxhYmVsXCI7XG5pbXBvcnQgeyB1c2VUZXJtRGVzY3JpcHRpb24gfSBmcm9tIFwiQC9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtLWRlc2NyaXB0aW9uXCI7XG5cbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0uZW51bXNcIjtcbmltcG9ydCB7IEN0eCB9IGZyb20gXCJAL2F0b21zL3Rlcm1cIjtcbmltcG9ydCB7IENvbnRleHQgYXMgRnJhbWVDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvZnJhbWUuZW51bXNcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgUGxhaW5Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCBUZXJtID0gKHsgbGFiZWwsIGRlc2NyaXB0aW9uLCBmcmFtZSB9OiBJVGVybUJhc2UpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VUZXJtKENvbXBvbmVudENvbnRleHQpO1xuICBjb25zdCBUaGVtZUZyYW1lID0gdXNlVGVybUZyYW1lKENvbXBvbmVudENvbnRleHQpO1xuICBjb25zdCBUaGVtZUxhYmVsID0gdXNlVGVybUxhYmVsKENvbXBvbmVudENvbnRleHQpO1xuICBjb25zdCBUaGVtZURlc2NyaXB0aW9uID0gdXNlVGVybURlc2NyaXB0aW9uKENvbXBvbmVudENvbnRleHQpO1xuXG4gIGNvbnN0IElzU2tlbGV0b24gPSBDb21wb25lbnRDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uVGVybSB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkVGVybUZyYW1lIHRoZW1lPXtUaGVtZUZyYW1lfT5cbiAgICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGZyYW1lLCB7XG4gICAgICAgICAgICBjb250ZXh0OiBGcmFtZUNvbnRleHQuU0tFTEVUT04sXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvU3R5bGVkVGVybUZyYW1lPlxuICAgICAgICA8U3R5bGVkVGVybUNvbnRlbnQ+XG4gICAgICAgICAgPFN0eWxlZFRlcm1MYWJlbCB0aGVtZT17VGhlbWVMYWJlbH0+XG4gICAgICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGxhYmVsLCB7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IFBsYWluQ29udGV4dC5TS0VMRVRPTixcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvU3R5bGVkVGVybUxhYmVsPlxuICAgICAgICAgIDxTdHlsZWRTa2VsZXRvblRlcm1EZXNjcmlwdGlvbiB0aGVtZT17VGhlbWVEZXNjcmlwdGlvbn0+XG4gICAgICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGRlc2NyaXB0aW9uLCB7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IFBsYWluQ29udGV4dC5TS0VMRVRPTixcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvU3R5bGVkU2tlbGV0b25UZXJtRGVzY3JpcHRpb24+XG4gICAgICAgIDwvU3R5bGVkVGVybUNvbnRlbnQ+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uVGVybT5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkVGVybSB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZFRlcm1GcmFtZSB0aGVtZT17VGhlbWVGcmFtZX0+e2ZyYW1lfTwvU3R5bGVkVGVybUZyYW1lPlxuICAgICAgPFN0eWxlZFRlcm1Db250ZW50PlxuICAgICAgICA8U3R5bGVkVGVybUxhYmVsIHRoZW1lPXtUaGVtZUxhYmVsfT57bGFiZWx9PC9TdHlsZWRUZXJtTGFiZWw+XG4gICAgICAgIDxTdHlsZWRUZXJtRGVzY3JpcHRpb24gdGhlbWU9e1RoZW1lRGVzY3JpcHRpb259PlxuICAgICAgICAgIHtkZXNjcmlwdGlvbn1cbiAgICAgICAgPC9TdHlsZWRUZXJtRGVzY3JpcHRpb24+XG4gICAgICA8L1N0eWxlZFRlcm1Db250ZW50PlxuICAgIDwvU3R5bGVkVGVybT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHtcbiAgSVRlcm1EZXNjcmlwdGlvblRoZW1lLFxuICBJVGVybUZyYW1lVGhlbWUsXG4gIElUZXJtTGFiZWxUaGVtZSxcbiAgSVRlcm1UaGVtZSxcbn0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLnR5cGVzXCI7XG5pbXBvcnQgeyBTcGFjaW5nSSB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybSA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVRlcm1UaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1GcmFtZSA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7IHRoZW1lOiBJVGVybUZyYW1lVGhlbWUgfT5gXG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXJnaW59O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1Db250ZW50ID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJVGVybVRoZW1lIH0+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtTGFiZWwgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyB0aGVtZTogSVRlcm1MYWJlbFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIG1hcmdpbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1hcmdpbn07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybURlc2NyaXB0aW9uID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJVGVybURlc2NyaXB0aW9uVGhlbWU7XG59PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIG1hcmdpbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1hcmdpbn07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25UZXJtRGVzY3JpcHRpb24gPSBzdHlsZWQoU3R5bGVkVGVybURlc2NyaXB0aW9uKTx7XG4gIHRoZW1lOiBJVGVybVRoZW1lO1xufT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uVGVybSA9IHN0eWxlZChTdHlsZWRUZXJtKTx7XG4gIHRoZW1lOiBJVGVybVRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLmVudW1zXCI7XG5pbXBvcnQgeyBJVGVybVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlVGVybSA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCk6IElUZXJtVGhlbWUgPT4ge1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkubWQubm9ybWFsLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuU0tFTEVUT04sXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0uZW51bXNcIjtcbmltcG9ydCB7IElUZXJtRnJhbWVUaGVtZSB9IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlVGVybUZyYW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCxcbik6IElUZXJtRnJhbWVUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuICBjb25zdCBNYXJnaW4gPSBcIjAgXCIgKyBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdICsgXCIgMCAwXCI7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBtYXJnaW46IE1hcmdpbixcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICBtYXJnaW46IE1hcmdpbixcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS5lbnVtc1wiO1xuaW1wb3J0IHsgSVRlcm1MYWJlbFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VUZXJtTGFiZWwgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0LFxuKTogSVRlcm1MYWJlbFRoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgY29uc3QgTWFyZ2luID1cbiAgICBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdICtcbiAgICBcIiBcIiArXG4gICAgVXRpbGl0eS5zcGFjaW5nW1wiMlwiXSArXG4gICAgXCIgXCIgK1xuICAgIFV0aWxpdHkuc3BhY2luZ1tcIjJcIl0gK1xuICAgIFwiIFwiICtcbiAgICBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgbWFyZ2luOiBNYXJnaW4sXG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TS0VMRVRPTixcbiAgICAgIHtcbiAgICAgICAgbWFyZ2luOiBNYXJnaW4sXG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0uZW51bXNcIjtcbmltcG9ydCB7IElUZXJtRGVzY3JpcHRpb25UaGVtZSwgSVRlcm1UaGVtZSB9IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlVGVybURlc2NyaXB0aW9uID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCxcbik6IElUZXJtRGVzY3JpcHRpb25UaGVtZSA9PiB7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuICBjb25zdCBNYXJnaW4gPSBcIjAgMCAwIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiMlwiXTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtcbiAgICAgIENvbnRleHQuU1RBTkRBUkQsXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICAgIG1hcmdpbjogTWFyZ2luLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuU0tFTEVUT04sXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICAgIG1hcmdpbjogTWFyZ2luLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgVGVybWluYWwgYXMgQmFzZVRlcm1pbmFsIH0gZnJvbSBcIi4vY29tcG9uZW50cy90ZXJtaW5hbFwiO1xuaW1wb3J0IHsgSVRlcm1pbmFsIH0gZnJvbSBcIkAvYXRvbXMvdGVybWluYWwvdGVybWluYWwudHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi90ZXJtaW5hbC5lbnVtc1wiO1xuXG5jb25zdCBUZXJtaW5hbEN0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgVGVybWluYWxDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChUZXJtaW5hbEN0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgVGVybWluYWwgPSAoeyBjb250ZXh0IH06IElUZXJtaW5hbCkgPT4ge1xuICBjb25zdCBUZXJtaW5hbENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IFRlcm1pbmFsQ3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxUZXJtaW5hbEN0eC5Qcm92aWRlciB2YWx1ZT17VGVybWluYWxDb250ZXh0fT5cbiAgICAgIDxCYXNlVGVybWluYWwgLz5cbiAgICA8L1Rlcm1pbmFsQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtaW5hbCA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDEwcHggOHB4IHJnYigwIDAgMCAvIDAuMDQpKVxuICAgIGRyb3Atc2hhZG93KDAgNHB4IDNweCByZ2IoMCAwIDAgLyAwLjEpKTtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybWluYWxJbm5lciA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBiYWNrZ3JvdW5kOiAjZWI3MzIyO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybWluYWxPdXRlciA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzNSwgMTE1LCAzNCwgMC4yMik7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB6LWluZGV4OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGFuaW1hdGlvbjogcGluZyAxcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtaW5hbFdyYXBwZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1pbmFsTGFiZWwgPSBzdHlsZWQuc3Bhbjx7XG4gIGZvbnQ6IHN0cmluZztcbn0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogY2FsYygxMDAlICsgNXB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNlYjczMjI7XG4gIG1pbi13aWR0aDogNzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuMSksXG4gICAgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLmZvbnR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1pbmFsTGFiZWxDb250ZW50ID0gc3R5bGVkLnNwYW48e30+YFxuICBwYWRkaW5nOiA1cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtaW5hbExhYmVsQXJyb3cgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjZWI3MzIyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTVweDtcbiAgbGVmdDogY2FsYyg1MCUgLSA4cHgpO1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgI2ViNzMyMjtcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybWluYWxTaGFkb3cgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAzcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjODY4Njg2O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwcHg7XG4gIHotaW5kZXg6IC0xO1xuICBmaWx0ZXI6IGJsdXIoNHB4KTtcbmA7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJVGVybWluYWxCYXNlIH0gZnJvbSBcIkAvYXRvbXMvdGVybWluYWwvdGVybWluYWwudHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFRlcm1pbmFsLFxuICBTdHlsZWRUZXJtaW5hbElubmVyLFxuICBTdHlsZWRUZXJtaW5hbExhYmVsLFxuICBTdHlsZWRUZXJtaW5hbExhYmVsQXJyb3csXG4gIFN0eWxlZFRlcm1pbmFsTGFiZWxDb250ZW50LFxuICBTdHlsZWRUZXJtaW5hbE91dGVyLFxuICBTdHlsZWRUZXJtaW5hbFNoYWRvdyxcbiAgU3R5bGVkVGVybWluYWxXcmFwcGVyLFxufSBmcm9tIFwiQC9hdG9tcy90ZXJtaW5hbC90ZXJtaW5hbC5zdHlsZVwiO1xuaW1wb3J0IHsgdXNlVGhlbWVGb250cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgU3R5bGVkUGluU2hhZG93IH0gZnJvbSBcIkAvYXRvbXMvcGluL3Bpbi5zdHlsZVwiO1xuXG5leHBvcnQgY29uc3QgVGVybWluYWwgPSAoe306IElUZXJtaW5hbEJhc2UpID0+IHtcbiAgY29uc3Qgd2lkdGggPSAzMDtcbiAgY29uc3Qgd2lkdGhQeCA9IHdpZHRoICsgXCJweFwiO1xuICBjb25zdCBoZWlnaHQgPSAzMDtcbiAgY29uc3QgaGVpZ2h0UHggPSBoZWlnaHQgKyBcInB4XCI7XG5cbiAgY29uc3Qgdmlld0JveCA9IFwiMCAwIFwiICsgd2lkdGggKyBcIiBcIiArIGhlaWdodDtcblxuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFRlcm1pbmFsV3JhcHBlcj5cbiAgICAgIDxTdHlsZWRUZXJtaW5hbD5cbiAgICAgICAgPFN0eWxlZFRlcm1pbmFsSW5uZXIgLz5cbiAgICAgICAgPFN0eWxlZFRlcm1pbmFsT3V0ZXIgLz5cbiAgICAgIDwvU3R5bGVkVGVybWluYWw+XG4gICAgICA8U3R5bGVkVGVybWluYWxTaGFkb3c+PC9TdHlsZWRUZXJtaW5hbFNoYWRvdz5cbiAgICA8L1N0eWxlZFRlcm1pbmFsV3JhcHBlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBZZXNOb1Byb3BzIH0gZnJvbSBcIi4veWVzX25vLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4veWVzX25vLmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBZZXNObyBhcyBZZXNOb0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMveWVzX25vXCI7XG5cbmNvbnN0IFllc05vQ3R4RGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBZZXNOb0N0eDogUmVhY3QuQ29udGV4dDxDb250ZXh0PiA9IGNyZWF0ZUNvbnRleHQoWWVzTm9DdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFllc05vID0gKHtcbiAgY29udGV4dCxcbiAgb25DaGFuZ2UsXG4gIGFyaWFZZXNMYWJlbCxcbiAgYXJpYU5vTGFiZWwsXG4gIHllc0xhYmVsLFxuICBub0xhYmVsLFxuICBuYW1lLFxuICBkZWZhdWx0Q2hlY2tlZCxcbn06IFllc05vUHJvcHMpID0+IHtcbiAgY29uc3QgWWVzTm9Db250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBZZXNOb0N0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8WWVzTm9DdHguUHJvdmlkZXIgdmFsdWU9e1llc05vQ29udGV4dH0+XG4gICAgICA8WWVzTm9Db21wb25lbnRcbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgeWVzTGFiZWw9e3llc0xhYmVsfVxuICAgICAgICBub0xhYmVsPXtub0xhYmVsfVxuICAgICAgICBhcmlhWWVzTGFiZWw9e2FyaWFZZXNMYWJlbH1cbiAgICAgICAgYXJpYU5vTGFiZWw9e2FyaWFOb0xhYmVsfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZH1cbiAgICAgIC8+XG4gICAgPC9ZZXNOb0N0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBZZXNOb1RoZW1lYWJsZVByb3BzLCBJWWVzTm9UaGVtZSB9IGZyb20gXCIuLi95ZXNfbm8udHlwZXNcIjtcbmltcG9ydCB7IFllc05vQ3R4IH0gZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIFllc05vY29udGV4dCB9IGZyb20gXCIuLi95ZXNfbm8uZW51bXNcIjtcbmltcG9ydCB7IENvbnRleHQsIFNpemUsIFR5cGUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IHVzZVllc05vVGhlbWUgfSBmcm9tIFwiLi4vaG9va3MvdXNlLXllcy1ub1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkWWVzTm8sXG4gIFN0eWxlZFllc05vQ29udGFpbmVyLFxuICBTdHlsZWRZZXNOb0NvbnRhaW5lclNrZWxldG9uLFxuICBTdHlsZWRZZXNOb0xhYmVsLFxuICBTdHlsZWRZZXNOb0xhYmVsU2tlbGV0b24sXG4gIFN0eWxlZFllc05vVmlzdWFsU2tlbGV0b24sXG4gIFN0eWxlZFZpc3VhbCxcbiAgU3R5bGVkVmlzdWFsQ29udGFpbmVyLFxuICBTdHlsZWRZZXNOb1dyYXBwZXIsXG59IGZyb20gXCIuLi95ZXNfbm8uc3R5bGVcIjtcbmltcG9ydCB7IEZyYW1lIH0gZnJvbSBcIi4uLy4uL2ZyYW1lXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgQ29sb3JWYXJpYW50IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7XG4gIFR5cGUgYXMgRmlndXJlVHlwZSxcbiAgU2l6ZSBhcyBGaWd1cmVTaXplLFxufSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBZZXNObyA9ICh7XG4gIG9uQ2hhbmdlLFxuICBhcmlhWWVzTGFiZWwsXG4gIGFyaWFOb0xhYmVsLFxuICB5ZXNMYWJlbCxcbiAgbm9MYWJlbCxcbiAgbmFtZSxcbiAgZGVmYXVsdENoZWNrZWQsXG59OiBZZXNOb1RoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IFllc05vQ29udGV4dCA9IHVzZUNvbnRleHQoWWVzTm9DdHgpO1xuICBjb25zdCBUaGVtZTogSVllc05vVGhlbWUgPSB1c2VZZXNOb1RoZW1lKFllc05vQ29udGV4dCk7XG4gIGNvbnN0IGlzRGlzYWJsZWQgPSBZZXNOb0NvbnRleHQgPT09IFllc05vY29udGV4dC5ESVNBQkxFRDtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IFllc05vQ29udGV4dCA9PT0gWWVzTm9jb250ZXh0LlNLRUxFVE9OO1xuICBjb25zdCBbeWVzT3JObywgc2V0WWVzT3JOb10gPSB1c2VTdGF0ZTxib29sZWFuIHwgdW5kZWZpbmVkPihkZWZhdWx0Q2hlY2tlZCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgIG9uQ2hhbmdlKHllc09yTm8gYXMgYm9vbGVhbik7XG4gICAgfVxuICB9LCBbeWVzT3JOb10pO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRZZXNOb1dyYXBwZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZFllc05vQ29udGFpbmVyU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICA8U3R5bGVkWWVzTm9WaXN1YWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9IC8+XG4gICAgICAgICAgPFN0eWxlZFllc05vTGFiZWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgICAge3llc0xhYmVsfVxuICAgICAgICAgIDwvU3R5bGVkWWVzTm9MYWJlbFNrZWxldG9uPlxuICAgICAgICA8L1N0eWxlZFllc05vQ29udGFpbmVyU2tlbGV0b24+XG4gICAgICAgIDxTdHlsZWRZZXNOb0NvbnRhaW5lclNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgPFN0eWxlZFllc05vVmlzdWFsU2tlbGV0b24gdGhlbWU9e1RoZW1lfSAvPlxuICAgICAgICAgIDxTdHlsZWRZZXNOb0xhYmVsU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICAgIHtub0xhYmVsfVxuICAgICAgICAgIDwvU3R5bGVkWWVzTm9MYWJlbFNrZWxldG9uPlxuICAgICAgICA8L1N0eWxlZFllc05vQ29udGFpbmVyU2tlbGV0b24+XG4gICAgICA8L1N0eWxlZFllc05vV3JhcHBlcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkWWVzTm9XcmFwcGVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkWWVzTm9Db250YWluZXIgJGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9IHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRZZXNOb1xuICAgICAgICAgIGRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhWWVzTGFiZWx9XG4gICAgICAgICAgdmFsdWU9ezF9XG4gICAgICAgICAgY2hlY2tlZD17eWVzT3JObyA9PT0gdHJ1ZX1cbiAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gc2V0WWVzT3JObyh0cnVlKX1cbiAgICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICAgIC8+XG4gICAgICAgIDxTdHlsZWRWaXN1YWxDb250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICA8RnJhbWVcbiAgICAgICAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH1cbiAgICAgICAgICAgIGFyb3VuZD17XG4gICAgICAgICAgICAgIDxGaWd1cmVcbiAgICAgICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXt5ZXNMYWJlbH1cbiAgICAgICAgICAgICAgICBzaXplPXtGaWd1cmVTaXplLlNNQUxMfVxuICAgICAgICAgICAgICAgIHR5cGU9e0ZpZ3VyZVR5cGUuWUVTfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZFZpc3VhbCB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgICAgPEljb25cbiAgICAgICAgICAgICAgdHlwZT17VHlwZS5DSEVDS31cbiAgICAgICAgICAgICAgc2l6ZT17U2l6ZS5NRURJVU19XG4gICAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3llc0xhYmVsfVxuICAgICAgICAgICAgICBjb250ZXh0PXtDb250ZXh0LkxJR0hUfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1N0eWxlZFZpc3VhbD5cbiAgICAgICAgPC9TdHlsZWRWaXN1YWxDb250YWluZXI+XG4gICAgICAgIDxTdHlsZWRZZXNOb0xhYmVsIHRoZW1lPXtUaGVtZX0+e3llc0xhYmVsfTwvU3R5bGVkWWVzTm9MYWJlbD5cbiAgICAgIDwvU3R5bGVkWWVzTm9Db250YWluZXI+XG4gICAgICA8U3R5bGVkWWVzTm9Db250YWluZXIgJGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9IHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRZZXNOb1xuICAgICAgICAgIGRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTm9MYWJlbH1cbiAgICAgICAgICB2YWx1ZT17MH1cbiAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gc2V0WWVzT3JObyhmYWxzZSl9XG4gICAgICAgICAgY2hlY2tlZD17eWVzT3JObyA9PT0gZmFsc2V9XG4gICAgICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkVmlzdWFsQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgPEZyYW1lXG4gICAgICAgICAgICB0aW50PXtDb2xvclZhcmlhbnQuVElOVF8yMDB9XG4gICAgICAgICAgICBhcm91bmQ9e1xuICAgICAgICAgICAgICA8RmlndXJlXG4gICAgICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17bm9MYWJlbH1cbiAgICAgICAgICAgICAgICBzaXplPXtGaWd1cmVTaXplLlNNQUxMfVxuICAgICAgICAgICAgICAgIHR5cGU9e0ZpZ3VyZVR5cGUuTk99XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8U3R5bGVkVmlzdWFsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgICB0eXBlPXtUeXBlLkNIRUNLfVxuICAgICAgICAgICAgICBzaXplPXtTaXplLk1FRElVTX1cbiAgICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17eWVzTGFiZWx9XG4gICAgICAgICAgICAgIGNvbnRleHQ9e0NvbnRleHQuTElHSFR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvU3R5bGVkVmlzdWFsPlxuICAgICAgICA8L1N0eWxlZFZpc3VhbENvbnRhaW5lcj5cbiAgICAgICAgPFN0eWxlZFllc05vTGFiZWwgdGhlbWU9e1RoZW1lfT57bm9MYWJlbH08L1N0eWxlZFllc05vTGFiZWw+XG4gICAgICA8L1N0eWxlZFllc05vQ29udGFpbmVyPlxuICAgIDwvU3R5bGVkWWVzTm9XcmFwcGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7XG4gIHVzZVRoZW1lQ29sb3IsXG4gIHVzZVRoZW1lRm9udHMsXG4gIHVzZVRoZW1lUmFkaXVzLFxuICB1c2VUaGVtZVV0aWxpdHksXG59IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgWWVzTm9Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvY2hvaWNlL2Nob2ljZS5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSVllc05vVGhlbWUgfSBmcm9tIFwiLi4veWVzX25vLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VZZXNOb1RoZW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgWWVzTm9Db250ZXh0LFxuKTogSVllc05vVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCByYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCB1dGlsID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBlcnJvckJvcmRlckNvbG9yID0gQ29sb3JzLmRhbmdlci50aW50XzUwMDtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBnYXA6IHV0aWwuc3BhY2luZ1syXSxcbiAgfTtcblxuICBjb25zdCBFcnJvciA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICAgIGdhcDogdXRpbC5zcGFjaW5nWzJdLFxuICB9O1xuXG4gIGNvbnN0IERpc2FibGVkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBnYXA6IHV0aWwuc3BhY2luZ1syXSxcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMubGcsXG4gICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gICAgZ2FwOiB1dGlsLnNwYWNpbmdbMl0sXG4gIH07XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbWWVzTm9Db250ZXh0LlNUQU5EQVJELCBTdGFuZGFyZF0sXG4gICAgW1llc05vQ29udGV4dC5FUlJPUiwgRXJyb3JdLFxuICAgIFtZZXNOb0NvbnRleHQuRElTQUJMRUQsIERpc2FibGVkXSxcbiAgICBbWWVzTm9Db250ZXh0LlNLRUxFVE9OLCBTa2VsZXRvbl0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJWWVzTm9UaGVtZSB9IGZyb20gXCIuL3llc19uby50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWWVzTm8gPSBzdHlsZWQuaW5wdXQuYXR0cnMoeyB0eXBlOiBcIlJhZGlvXCIgfSk8e1xuICB0aGVtZTogSVllc05vVGhlbWU7XG59PmBcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICY6Y2hlY2tlZCB+IHNwYW4ge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5jb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gICY6Y2hlY2tlZCB+IGRpdiA+IDpsYXN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWWVzTm9Db250YWluZXIgPSBzdHlsZWQubGFiZWw8e1xuICAkaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgdGhlbWU6IElZZXNOb1RoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuJGlzRGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICAmOmhvdmVyID4gc3BhbiB7XG4gICAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICBgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFllc05vTGFiZWwgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJWWVzTm9UaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgcGFkZGluZy1sZWZ0OiA2OHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIG1pbi1oZWlnaHQ6IDU4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJWWVzTm9UaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA4cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJWWVzTm9UaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudmlzdWFsUmFkaXVzfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYmFja2dyb3VuZH07XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRZZXNOb0NvbnRhaW5lclNrZWxldG9uID0gc3R5bGVkLmxhYmVsPHtcbiAgdGhlbWU6IElZZXNOb1RoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNThweDtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRZZXNOb1dyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElZZXNOb1RoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmdhcH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWWVzTm9WaXN1YWxTa2VsZXRvbiA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVllc05vVGhlbWUgfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnZpc3VhbFJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFllc05vTGFiZWxTa2VsZXRvbiA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElZZXNOb1RoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW4tbGVmdDogNjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyBEZXRhaWxzUHJvcHMgfSBmcm9tIFwiLi9kZXRhaWxzLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vZGV0YWlscy5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRGV0YWlscyBhcyBEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9kZXRhaWxzXCI7XG5pbXBvcnQgeyBIZWFkZXIgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9jb21wb25lbnRzL2RldGFpbHMuaGVhZGVyXCI7XG5pbXBvcnQgeyBDb250ZW50IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvY29tcG9uZW50cy9kZXRhaWxzLmNvbnRlbnRcIjtcblxuY29uc3QgRGV0YWlsc0N0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgRGV0YWlsc0N0eDogUmVhY3QuQ29udGV4dDxDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoRGV0YWlsc0N0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgRGV0YWlscyA9ICh7IGNoaWxkcmVuLCBjb250ZXh0IH06IERldGFpbHNQcm9wcykgPT4ge1xuICBjb25zdCBEZXRhaWxzQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGV0YWlsc0N0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RGV0YWlsc0N0eC5Qcm92aWRlciB2YWx1ZT17RGV0YWlsc0NvbnRleHR9PlxuICAgICAgPERldGFpbHNDb21wb25lbnQ+e2NoaWxkcmVufTwvRGV0YWlsc0NvbXBvbmVudD5cbiAgICA8L0RldGFpbHNDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5EZXRhaWxzLkhlYWRlciA9IEhlYWRlcjtcbkRldGFpbHMuQ29udGVudCA9IENvbnRlbnQ7XG4iLCJpbXBvcnQgeyBJRGV0YWlsc1RoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy50eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERldGFpbHNDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElEZXRhaWxzVGhlbWUgfT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERldGFpbHNIZWFkZXIgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJRGV0YWlsc1RoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG4gIGhlaWdodDogNDBweDtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRpdGxlfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJiBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRGV0YWlsc0hlYWRlckljb24gPSBzdHlsZWQuc3Bhbjx7XG4gIHRoZW1lOiBJRGV0YWlsc1RoZW1lO1xuICAkaXNPcGVuOiBib29sZWFuO1xufT5gXG4gIHJvdGF0ZTogJHsocHJvcHMpID0+IChwcm9wcy4kaXNPcGVuID8gXCIwZGVnXCIgOiBcIi05MGRlZ1wiKX07XG4gIHRyYW5zaXRpb246IHJvdGF0ZSAwLjNzO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERldGFpbHNBY3Rpb25zID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJRGV0YWlsc1RoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREZXRhaWxzQ29udGVudCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSURldGFpbHNUaGVtZSB9PmBcbiAgcGFkZGluZy10b3A6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblRpdGxlID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSURldGFpbHNUaGVtZSB9PmBcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgRGV0YWlsc0NvbnRleHQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9kZXRhaWxzLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJRGV0YWlsc1RoZW1lIH0gZnJvbSBcIi4uL2RldGFpbHMudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZURldGFpbHNUaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIERldGFpbHNDb250ZXh0LFxuKTogSURldGFpbHNUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICAgIHRpdGxlOiBGb250cy5wcmltYXJ5Lm1kLmJvbGQsXG4gICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gIH07XG5cbiAgY29uc3QgU2tlbGV0b24gPSB7XG4gICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgICB0aXRsZTogRm9udHMuYWNjZW50LmxnLmJvbGQsXG4gICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gIH07XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbRGV0YWlsc0NvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbRGV0YWlsc0NvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgRGV0YWlsc0N0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzXCI7XG5pbXBvcnQgeyBTdHlsZWREZXRhaWxzQ29udGFpbmVyIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy5zdHlsZVwiO1xuaW1wb3J0IHtcbiAgRGV0YWlsc1RoZW1lYWJsZVByb3BzLFxuICBJRGV0YWlsc1RoZW1lLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9kZXRhaWxzLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VEZXRhaWxzVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9ob29rcy91c2UtZGV0YWlsc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgRGV0YWlscyA9ICh7IGNoaWxkcmVuIH06IERldGFpbHNUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBEZXRhaWxzQ29udGV4dCA9IHVzZUNvbnRleHQoRGV0YWlsc0N0eCk7XG4gIGNvbnN0IFRoZW1lOiBJRGV0YWlsc1RoZW1lID0gdXNlRGV0YWlsc1RoZW1lKERldGFpbHNDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWREZXRhaWxzQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkRGV0YWlsc0NvbnRhaW5lcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBBY2NvcmRlb25Qcm9wcyB9IGZyb20gXCIuL2FjY29yZGVvbi50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL2FjY29yZGVvbi5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEFjY29yZGVvbiBhcyBBY2NvcmRlb25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2FjY29yZGVvblwiO1xuaW1wb3J0IHsgSGVhZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vY29tcG9uZW50cy9hY2NvcmRlb24uaGVhZGVyXCI7XG5pbXBvcnQgeyBDb250ZW50IH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vY29tcG9uZW50cy9hY2NvcmRlb24uY29udGVudFwiO1xuXG5jb25zdCBBY2NvcmRlb25DdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5DTE9TRUQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBBY2NvcmRlb25DdHggPSBjcmVhdGVDb250ZXh0KCk7XG5cbmV4cG9ydCBjb25zdCBBY2NvcmRlb24gPSAoeyBjaGlsZHJlbiwgY29udGV4dCB9OiBBY2NvcmRlb25Qcm9wcykgPT4ge1xuICBjb25zdCBEZWZhdWx0QWNjb3JkZW9uQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogQWNjb3JkZW9uQ3R4RGVmYXVsdDtcbiAgY29uc3QgW0FjY29yZGVvbkNvbnRleHQsIHNldEFjY29yZGVvbkNvbnRleHRdID0gdXNlU3RhdGUoXG4gICAgRGVmYXVsdEFjY29yZGVvbkNvbnRleHQsXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8QWNjb3JkZW9uQ3R4LlByb3ZpZGVyIHZhbHVlPXt7IEFjY29yZGVvbkNvbnRleHQsIHNldEFjY29yZGVvbkNvbnRleHQgfX0+XG4gICAgICA8QWNjb3JkZW9uQ29tcG9uZW50PntjaGlsZHJlbn08L0FjY29yZGVvbkNvbXBvbmVudD5cbiAgICA8L0FjY29yZGVvbkN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbkFjY29yZGVvbi5IZWFkZXIgPSBIZWFkZXI7XG5BY2NvcmRlb24uQ29udGVudCA9IENvbnRlbnQ7XG4iLCJpbXBvcnQgeyBJQWNjb3JkZW9uVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24udHlwZXNcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRBY2NvcmRlb25Db250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElBY2NvcmRlb25UaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRBY2NvcmRlb25IZWFkZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElBY2NvcmRlb25UaGVtZSB9PmBcbiAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQWNjb3JkZW9uQm9keSA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUFjY29yZGVvblRoZW1lIH0+YFxuICBkaXNwbGF5OiBibG9jaztcbmA7XG5leHBvcnQgY29uc3QgU3R5bGVkQWNjb3JkZW9uQ29udGVudCA9IHN0eWxlZC5kaXY8eyAkaXNPcGVuOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LWhlaWdodDogJHsoeyAkaXNPcGVuIH0pID0+ICgkaXNPcGVuID8gXCIxMDAwcHhcIiA6IFwiMFwiKX07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIG9wYWNpdHk6ICR7KHsgJGlzT3BlbiB9KSA9PiAoJGlzT3BlbiA/IFwiMVwiIDogXCIwXCIpfTtcbmA7XG4iLCJpbXBvcnQgeyBBY2NvcmRlb25DdHggfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvblwiO1xuaW1wb3J0IHsgU3R5bGVkQWNjb3JkZW9uQ29udGFpbmVyIH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLnN0eWxlXCI7XG5pbXBvcnQgeyBBY2NvcmRlb25UaGVtZWFibGVQcm9wcyB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgQWNjb3JkZW9uID0gKHsgY2hpbGRyZW4gfTogQWNjb3JkZW9uVGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgQ2hvaWNlQ29udGV4dCA9IHVzZUNvbnRleHQoQWNjb3JkZW9uQ3R4KTtcblxuICByZXR1cm4gPFN0eWxlZEFjY29yZGVvbkNvbnRhaW5lcj57Y2hpbGRyZW59PC9TdHlsZWRBY2NvcmRlb25Db250YWluZXI+O1xufTtcbiIsImltcG9ydCB7IEFjY29yZGVvbkN0eCB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLmVudW1zXCI7XG5pbXBvcnQgeyBTdHlsZWRBY2NvcmRlb25IZWFkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uc3R5bGVcIjtcbmltcG9ydCB7IEFjY29yZGVvblRoZW1lYWJsZVByb3BzIH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBIZWFkZXIgPSAoeyBjaGlsZHJlbiB9OiBBY2NvcmRlb25UaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCB7IEFjY29yZGVvbkNvbnRleHQsIHNldEFjY29yZGVvbkNvbnRleHQgfTogYW55ID1cbiAgICB1c2VDb250ZXh0KEFjY29yZGVvbkN0eCk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQWNjb3JkZW9uSGVhZGVyXG4gICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgIHNldEFjY29yZGVvbkNvbnRleHQoXG4gICAgICAgICAgQWNjb3JkZW9uQ29udGV4dCA9PT0gQ29udGV4dC5PUEVOID8gQ29udGV4dC5DTE9TRUQgOiBDb250ZXh0Lk9QRU4sXG4gICAgICAgICk7XG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1N0eWxlZEFjY29yZGVvbkhlYWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBBY2NvcmRlb25DdHggfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvblwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi5lbnVtc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkQWNjb3JkZW9uQm9keSxcbiAgU3R5bGVkQWNjb3JkZW9uQ29udGVudCxcbn0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLnN0eWxlXCI7XG5pbXBvcnQgeyBBY2NvcmRlb25UaGVtZWFibGVQcm9wcyB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgQ29udGVudCA9ICh7IGNoaWxkcmVuIH06IEFjY29yZGVvblRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgQWNjb3JkZW9uQ29udGV4dCB9OiBhbnkgPSB1c2VDb250ZXh0KEFjY29yZGVvbkN0eCk7XG4gIGNvbnN0IGlzT3BlbiA9IEFjY29yZGVvbkNvbnRleHQgPT09IENvbnRleHQuT1BFTjtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRBY2NvcmRlb25Cb2R5PlxuICAgICAgPFN0eWxlZEFjY29yZGVvbkNvbnRlbnQgJGlzT3Blbj17aXNPcGVufT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRBY2NvcmRlb25Db250ZW50PlxuICAgIDwvU3R5bGVkQWNjb3JkZW9uQm9keT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBBY2NvcmRlb25DdHggfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvblwiO1xuaW1wb3J0IHsgRGV0YWlsc0N0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIERldGFpbHNjb250ZXh0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy5lbnVtc1wiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBBY2NDb250ZXh0IH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLmVudW1zXCI7XG5pbXBvcnQge1xuICBTdHlsZWREZXRhaWxzQWN0aW9ucyxcbiAgU3R5bGVkRGV0YWlsc0hlYWRlcixcbiAgU3R5bGVkRGV0YWlsc0hlYWRlckljb24sXG4gIFN0eWxlZFNrZWxldG9uVGl0bGUsXG59IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMuc3R5bGVcIjtcbmltcG9ydCB7XG4gIERldGFpbHNIZWFkZXJUaGVtZWFibGVQcm9wcyxcbiAgSURldGFpbHNUaGVtZSxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy50eXBlc1wiO1xuaW1wb3J0IHsgdXNlRGV0YWlsc1RoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvaG9va3MvdXNlLWRldGFpbHNcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBTaXplLCBUeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBIZWFkZXIgPSAoeyB0aXRsZSwgY2hpbGRyZW4gfTogRGV0YWlsc0hlYWRlclRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IERldGFpbHNDb250ZXh0ID0gdXNlQ29udGV4dChEZXRhaWxzQ3R4KTtcbiAgY29uc3QgVGhlbWU6IElEZXRhaWxzVGhlbWUgPSB1c2VEZXRhaWxzVGhlbWUoRGV0YWlsc0NvbnRleHQpO1xuICBjb25zdCB7IEFjY29yZGVvbkNvbnRleHQgfTogYW55ID0gdXNlQ29udGV4dChBY2NvcmRlb25DdHgpO1xuICBjb25zdCBpc09wZW4gPSBBY2NvcmRlb25Db250ZXh0ID09PSBBY2NDb250ZXh0Lk9QRU47XG4gIGNvbnN0IGlzU2tlbGV0b24gPSBEZXRhaWxzQ29udGV4dCA9PT0gRGV0YWlsc2NvbnRleHQuU0tFTEVUT047XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZERldGFpbHNIZWFkZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZERldGFpbHNIZWFkZXJJY29uIHRoZW1lPXtUaGVtZX0gJGlzT3Blbj17ZmFsc2V9PlxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBzaXplPXtTaXplLlNNQUxMfVxuICAgICAgICAgICAgdHlwZT17VHlwZS5DSEVWUk9OX0RPV059XG4gICAgICAgICAgICBjb250ZXh0PXtDb250ZXh0LkRJU0FCTEVEfVxuICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17dGl0bGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWREZXRhaWxzSGVhZGVySWNvbj5cbiAgICAgICAgPFN0eWxlZFNrZWxldG9uVGl0bGUgdGhlbWU9e1RoZW1lfT57dGl0bGV9PC9TdHlsZWRTa2VsZXRvblRpdGxlPlxuICAgICAgICA8U3R5bGVkRGV0YWlsc0FjdGlvbnM+e2NoaWxkcmVufTwvU3R5bGVkRGV0YWlsc0FjdGlvbnM+XG4gICAgICA8L1N0eWxlZERldGFpbHNIZWFkZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZERldGFpbHNIZWFkZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWREZXRhaWxzSGVhZGVySWNvbiB0aGVtZT17VGhlbWV9ICRpc09wZW49e2lzT3Blbn0+XG4gICAgICAgIDxJY29uXG4gICAgICAgICAgc2l6ZT17U2l6ZS5TTUFMTH1cbiAgICAgICAgICB0eXBlPXtUeXBlLkNIRVZST05fRE9XTn1cbiAgICAgICAgICBjb250ZXh0PXtDb250ZXh0LkRBUkt9XG4gICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17dGl0bGV9XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZERldGFpbHNIZWFkZXJJY29uPlxuICAgICAgPHNwYW4+e3RpdGxlfTwvc3Bhbj5cbiAgICAgIDxTdHlsZWREZXRhaWxzQWN0aW9ucz57Y2hpbGRyZW59PC9TdHlsZWREZXRhaWxzQWN0aW9ucz5cbiAgICA8L1N0eWxlZERldGFpbHNIZWFkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgRGV0YWlsc0N0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzXCI7XG5pbXBvcnQgeyBTdHlsZWREZXRhaWxzQ29udGVudCB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMuc3R5bGVcIjtcbmltcG9ydCB7XG4gIERldGFpbHNDb250ZW50VGhlbWVhYmxlUHJvcHMsXG4gIElEZXRhaWxzVGhlbWUsXG59IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMudHlwZXNcIjtcbmltcG9ydCB7IHVzZURldGFpbHNUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2hvb2tzL3VzZS1kZXRhaWxzXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBDb250ZW50ID0gKHsgY2hpbGRyZW4gfTogRGV0YWlsc0NvbnRlbnRUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBEZXRhaWxzQ29udGV4dCA9IHVzZUNvbnRleHQoRGV0YWlsc0N0eCk7XG4gIGNvbnN0IFRoZW1lOiBJRGV0YWlsc1RoZW1lID0gdXNlRGV0YWlsc1RoZW1lKERldGFpbHNDb250ZXh0KTtcblxuICByZXR1cm4gPFN0eWxlZERldGFpbHNDb250ZW50IHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkRGV0YWlsc0NvbnRlbnQ+O1xufTtcbiIsImltcG9ydCB7IEZhcVByb3BzIH0gZnJvbSBcIi4vZmFxLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vZmFxLmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGYXEgYXMgRmFxQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9mYXFcIjtcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvY29tcG9uZW50cy9mYXEuaGVhZGVyXCI7XG5pbXBvcnQgeyBDb250ZW50IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9jb21wb25lbnRzL2ZhcS5jb250ZW50XCI7XG5cbmNvbnN0IEZhcUN0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgRmFxQ3R4OiBSZWFjdC5Db250ZXh0PENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChGYXFDdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IEZhcSA9ICh7IGNoaWxkcmVuLCBjb250ZXh0IH06IEZhcVByb3BzKSA9PiB7XG4gIGNvbnN0IEZhcUNvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IEZhcUN0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RmFxQ3R4LlByb3ZpZGVyIHZhbHVlPXtGYXFDb250ZXh0fT5cbiAgICAgIDxGYXFDb21wb25lbnQ+e2NoaWxkcmVufTwvRmFxQ29tcG9uZW50PlxuICAgIDwvRmFxQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcblxuRmFxLkhlYWRlciA9IEhlYWRlcjtcbkZhcS5Db250ZW50ID0gQ29udGVudDtcbiIsImltcG9ydCB7IElGYXFUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvZmFxLnR5cGVzXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmFxQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJRmFxVGhlbWUgfT5gXG4gIGJvcmRlci10b3A6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ib3JkZXJ9O1xuICBib3JkZXItYm90dG9tOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYm9yZGVyfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGYXFIZWFkZXIgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJRmFxVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxNnB4O1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudGl0bGV9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGYXFIZWFkZXJJY29uID0gc3R5bGVkLnNwYW48e1xuICB0aGVtZTogSUZhcVRoZW1lO1xuICAkaXNPcGVuOiBib29sZWFuO1xufT5gXG4gIHJvdGF0ZTogJHsocHJvcHMpID0+IChwcm9wcy4kaXNPcGVuID8gXCIwZGVnXCIgOiBcIi05MGRlZ1wiKX07XG4gIHRyYW5zaXRpb246IHJvdGF0ZSAwLjNzO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZhcUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElGYXFUaGVtZSB9PmBcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25UaXRsZSA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElGYXFUaGVtZSB9PmBcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgRmFxQ29udGV4dCB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvZmFxLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJRmFxVGhlbWUgfSBmcm9tIFwiLi4vZmFxLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VGYXFUaGVtZSA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgRmFxQ29udGV4dCk6IElGYXFUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICAgIHRpdGxlOiBGb250cy5hY2NlbnQubGcuYm9sZCxcbiAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICAgIHJhZGl1czogcmFkaXVzLm1kLFxuICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICAgIHRpdGxlOiBGb250cy5hY2NlbnQubGcuYm9sZCxcbiAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgIHJhZGl1czogcmFkaXVzLm1kLFxuICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgfTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtGYXFDb250ZXh0LlNUQU5EQVJELCBTdGFuZGFyZF0sXG4gICAgW0ZhcUNvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgRmFxQ3R4IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcVwiO1xuaW1wb3J0IHsgU3R5bGVkRmFxQ29udGFpbmVyIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9mYXEuc3R5bGVcIjtcbmltcG9ydCB7IEZhcVRoZW1lYWJsZVByb3BzLCBJRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2ZhcS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2hvb2tzL3VzZS1mYXFcIjtcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IEZhcSA9ICh7IGNoaWxkcmVuIH06IEZhcVRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IEZhcUNvbnRleHQgPSB1c2VDb250ZXh0KEZhcUN0eCk7XG4gIGNvbnN0IFRoZW1lOiBJRmFxVGhlbWUgPSB1c2VGYXFUaGVtZShGYXFDb250ZXh0KTtcblxuICByZXR1cm4gPFN0eWxlZEZhcUNvbnRhaW5lciB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZEZhcUNvbnRhaW5lcj47XG59O1xuIiwiaW1wb3J0IHsgQWNjb3JkZW9uQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb25cIjtcbmltcG9ydCB7IEZhcUN0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXFcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgRmFxY29udGV4dCB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvZmFxLmVudW1zXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEFjY0NvbnRleHQgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uZW51bXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZEZhcUhlYWRlcixcbiAgU3R5bGVkRmFxSGVhZGVySWNvbixcbiAgU3R5bGVkU2tlbGV0b25UaXRsZSxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9mYXEuc3R5bGVcIjtcbmltcG9ydCB7IEZhcUhlYWRlclRoZW1lYWJsZVByb3BzLCBJRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2ZhcS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2hvb2tzL3VzZS1mYXFcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBTaXplLCBUeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBIZWFkZXIgPSAoeyB0aXRsZSB9OiBGYXFIZWFkZXJUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBGYXFDb250ZXh0ID0gdXNlQ29udGV4dChGYXFDdHgpO1xuICBjb25zdCBUaGVtZTogSUZhcVRoZW1lID0gdXNlRmFxVGhlbWUoRmFxQ29udGV4dCk7XG4gIGNvbnN0IHsgQWNjb3JkZW9uQ29udGV4dCB9OiBhbnkgPSB1c2VDb250ZXh0KEFjY29yZGVvbkN0eCk7XG4gIGNvbnN0IGlzT3BlbiA9IEFjY29yZGVvbkNvbnRleHQgPT09IEFjY0NvbnRleHQuT1BFTjtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IEZhcUNvbnRleHQgPT09IEZhcWNvbnRleHQuU0tFTEVUT047XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEZhcUhlYWRlciB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkU2tlbGV0b25UaXRsZSB0aGVtZT17VGhlbWV9Pnt0aXRsZX08L1N0eWxlZFNrZWxldG9uVGl0bGU+XG4gICAgICAgIDxTdHlsZWRGYXFIZWFkZXJJY29uIHRoZW1lPXtUaGVtZX0gJGlzT3Blbj17ZmFsc2V9PlxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBzaXplPXtTaXplLk1FRElVTX1cbiAgICAgICAgICAgIHR5cGU9e1R5cGUuQ0hFVlJPTl9ET1dOfVxuICAgICAgICAgICAgY29udGV4dD17Q29udGV4dC5ESVNBQkxFRH1cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3RpdGxlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3R5bGVkRmFxSGVhZGVySWNvbj5cbiAgICAgIDwvU3R5bGVkRmFxSGVhZGVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRGYXFIZWFkZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxzcGFuPnt0aXRsZX08L3NwYW4+XG4gICAgICA8U3R5bGVkRmFxSGVhZGVySWNvbiB0aGVtZT17VGhlbWV9ICRpc09wZW49e2lzT3Blbn0+XG4gICAgICAgIDxJY29uXG4gICAgICAgICAgc2l6ZT17U2l6ZS5NRURJVU19XG4gICAgICAgICAgdHlwZT17VHlwZS5DSEVWUk9OX0RPV059XG4gICAgICAgICAgY29udGV4dD17Q29udGV4dC5EQVJLfVxuICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3RpdGxlfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRGYXFIZWFkZXJJY29uPlxuICAgIDwvU3R5bGVkRmFxSGVhZGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IEZhcUN0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXFcIjtcbmltcG9ydCB7IFN0eWxlZEZhcUNvbnRlbnQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2ZhcS5zdHlsZVwiO1xuaW1wb3J0IHsgRmFxQ29udGVudFRoZW1lYWJsZVByb3BzLCBJRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2ZhcS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2hvb2tzL3VzZS1mYXFcIjtcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IENvbnRlbnQgPSAoeyBjaGlsZHJlbiB9OiBGYXFDb250ZW50VGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgRmFxQ29udGV4dCA9IHVzZUNvbnRleHQoRmFxQ3R4KTtcbiAgY29uc3QgVGhlbWU6IElGYXFUaGVtZSA9IHVzZUZhcVRoZW1lKEZhcUNvbnRleHQpO1xuXG4gIHJldHVybiA8U3R5bGVkRmFxQ29udGVudCB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZEZhcUNvbnRlbnQ+O1xufTtcbiIsImltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi9mZWF0dXJlcy5lbnVtc1wiO1xuaW1wb3J0IHsgSUZlYXR1cmVzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzL2ZlYXR1cmVzLnR5cGVzXCI7XG5pbXBvcnQgeyBGZWF0dXJlcyBhcyBCYXNlRmVhdHVyZXMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXMvY29tcG9uZW50cy9mZWF0dXJlc1wiO1xuXG5jb25zdCBEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPSBjcmVhdGVDb250ZXh0KERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZXMgPSAoeyBjb250ZXh0LCBjaGlsZHJlbiB9OiBJRmVhdHVyZXMpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxDdHguUHJvdmlkZXIgdmFsdWU9e0NvbXBvbmVudENvbnRleHR9PlxuICAgICAgPEJhc2VGZWF0dXJlcz57Y2hpbGRyZW59PC9CYXNlRmVhdHVyZXM+XG4gICAgPC9DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUZlYXR1cmVzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzL2hvb2tzL3VzZS1mZWF0dXJlXCI7XG5pbXBvcnQgeyBDdHggfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vZmVhdHVyZXMuZW51bXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZEZlYXR1cmVzLFxuICBTdHlsZWRGZWF0dXJlc0l0ZW0sXG4gIFN0eWxlZEZlYXR1cmVzSXRlbVNlcGVyYXRvcixcbiAgU3R5bGVkU2tlbGV0b25GZWF0dXJlcyxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzL2ZlYXR1cmVzLnN0eWxlXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IElGZWF0dXJlc0Jhc2UgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXMvZmVhdHVyZXMudHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgRmVhdHVyZUNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IEZlYXR1cmVzID0gKHsgY2hpbGRyZW4gfTogSUZlYXR1cmVzQmFzZSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZlYXR1cmVzKENvbXBvbmVudENvbnRleHQpO1xuICBjb25zdCBJc1NrZWxldG9uID0gQ29tcG9uZW50Q29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICBjb25zdCBjb3VudCA9IFJlYWN0LkNoaWxkcmVuLmNvdW50KGNoaWxkcmVuKTtcbiAgY29uc3QgZmVhdHVyZXMgPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIChjaGlsZCwgaW5kZXgpID0+IHtcbiAgICBpZiAoIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSkgcmV0dXJuIGNoaWxkO1xuXG4gICAgY29uc3QgZGl2aWRlciA9IChcbiAgICAgIDxTdHlsZWRGZWF0dXJlc0l0ZW1TZXBlcmF0b3I+IHwgPC9TdHlsZWRGZWF0dXJlc0l0ZW1TZXBlcmF0b3I+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRmVhdHVyZXNJdGVtPlxuICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KFxuICAgICAgICAgIGNoaWxkLFxuICAgICAgICAgIElzU2tlbGV0b24gPyB7IGNvbnRleHQ6IEZlYXR1cmVDb250ZXh0LlNLRUxFVE9OIH0gOiB7fSxcbiAgICAgICAgKX1cbiAgICAgICAge2luZGV4ICE9IGNvdW50IC0gMSAmJiBkaXZpZGVyfVxuICAgICAgPC9TdHlsZWRGZWF0dXJlc0l0ZW0+XG4gICAgKTtcbiAgfSk7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uRmVhdHVyZXMgdGhlbWU9e1RoZW1lfT57ZmVhdHVyZXN9PC9TdHlsZWRTa2VsZXRvbkZlYXR1cmVzPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gPFN0eWxlZEZlYXR1cmVzIHRoZW1lPXtUaGVtZX0+e2ZlYXR1cmVzfTwvU3R5bGVkRmVhdHVyZXM+O1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vZmVhdHVyZXMuZW51bXNcIjtcbmltcG9ydCB7IElGZWF0dXJlc1RoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzL2ZlYXR1cmVzLnR5cGVzXCI7XG5pbXBvcnQge1xuICB1c2VUaGVtZUNvbG9yLFxuICB1c2VUaGVtZUZvbnRzLFxuICB1c2VUaGVtZVJhZGl1cyxcbiAgdXNlVGhlbWVVdGlsaXR5LFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VGZWF0dXJlcyA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCk6IElGZWF0dXJlc1RoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG4gIGNvbnN0IFJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cmZhY2VzLnRpbnRfNTAwLFxuICAgICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbXCIzXCJdLFxuICAgICAgICByYWRpdXM6IFJhZGl1cy5zbSxcbiAgICAgICAgY29sb3I6IENvbG9ycy5zdXJmYWNlcy50aW50XzUwMCxcbiAgICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuU0tFTEVUT04sXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ub3JtYWwsXG4gICAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBTa2VsZXRvbkJnLFxuICAgICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbXCIzXCJdLFxuICAgICAgICByYWRpdXM6IFJhZGl1cy5zbSxcbiAgICAgICAgY29sb3I6IENvbG9ycy5zdXJmYWNlcy50aW50XzUwMCxcbiAgICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUZlYXR1cmVzVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXMvZmVhdHVyZXMudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZlYXR1cmVzID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJRmVhdHVyZXNUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDEwcHg7XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJvcmRlcn07XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5wYWRkaW5nfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGZWF0dXJlc0l0ZW0gPSBzdHlsZWQuc3Bhbjx7XG4gIHRoZW1lOiBJRmVhdHVyZXNUaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmVhdHVyZXNJdGVtU2VwZXJhdG9yID0gc3R5bGVkLnNwYW48e1xuICB0aGVtZTogSUZlYXR1cmVzVGhlbWU7XG59PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25GZWF0dXJlcyA9IHN0eWxlZChTdHlsZWRGZWF0dXJlcyk8e1xuICB0aGVtZTogSUZlYXR1cmVzVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi5lbnVtc1wiO1xuaW1wb3J0IHsgUHJvZmlsZU5hdmlnYXRpb25Qcm9wcyB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBQcm9maWxlTmF2aWdhdGlvbiBhcyBQcm9maWxlTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvcHJvZmlsZV9uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9jb21wb25lbnRzL3Byb2ZpbGVfbmF2aWdhdGlvbi5pdGVtXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9IGNyZWF0ZUNvbnRleHQoRGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlTmF2aWdhdGlvbiA9ICh7XG4gIGNvbnRleHQsXG4gIGNoaWxkcmVuLFxufTogUHJvZmlsZU5hdmlnYXRpb25Qcm9wcykgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPEN0eC5Qcm92aWRlciB2YWx1ZT17Q29tcG9uZW50Q29udGV4dH0+XG4gICAgICA8UHJvZmlsZU5hdmlnYXRpb25Db21wb25lbnQ+e2NoaWxkcmVufTwvUHJvZmlsZU5hdmlnYXRpb25Db21wb25lbnQ+XG4gICAgPC9DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5Qcm9maWxlTmF2aWdhdGlvbi5JdGVtID0gSXRlbTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vcHJvZmlsZV9uYXZpZ2F0aW9uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlUHJvZmlsZU5hdmlnYXRpb25UaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIENvbnRleHQsXG4pOiBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZSA9PiB7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLmJvbGQsXG4gICAgICAgIGNvdW50ZXJGb250OiBGb250LnByaW1hcnkueHMuYm9sZCxcbiAgICAgICAgaW5pdGlhbDoge1xuICAgICAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXJmYWNlcy50aW50XzIwMCxcbiAgICAgICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgICB9LFxuICAgICAgICBhY3RpdmU6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VyZmFjZXMudGludF81MDAsXG4gICAgICAgICAgY29sb3I6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuU0tFTEVUT04sXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ib2xkLFxuICAgICAgICBjb3VudGVyRm9udDogRm9udC5wcmltYXJ5LnhzLmJvbGQsXG4gICAgICAgIGluaXRpYWw6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZlOiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICAgIGNvbG9yOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElQcm9maWxlTmF2aWdhdGlvblRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZTtcbn0+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgcGFkZGluZzogNHB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiA4cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25Ta2VsZXRvbiA9IHN0eWxlZC5kaXY8e1xuICB0aGVtZTogSVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWU7XG59PmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIHBhZGRpbmc6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogOHB4O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICB3aWR0aDogMjEycHg7XG4gIH1cblxuICA+ICoge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkljb24gPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElQcm9maWxlTmF2aWdhdGlvblRoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtTGluayA9IHN0eWxlZC5hPHtcbiAgdGhlbWU6IElQcm9maWxlTmF2aWdhdGlvblRoZW1lO1xuICAkaXNBY3RpdmU6IGJvb2xlYW47XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIG1pbi1oZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLiRpc0FjdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5hY3RpdmUuYmFja2dyb3VuZFxuICAgICAgOiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+XG4gICAgcHJvcHMuJGlzQWN0aXZlID8gcHJvcHMudGhlbWUuYWN0aXZlLmNvbG9yIDogcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmFjdGl2ZS5iYWNrZ3JvdW5kfTtcbiAgfVxuXG4gICYgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7XG4gIHRoZW1lOiBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZTtcbiAgJGlzQWN0aXZlOiBib29sZWFuO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBtaW4taGVpZ2h0OiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy4kaXNBY3RpdmVcbiAgICAgID8gcHJvcHMudGhlbWUuYWN0aXZlLmJhY2tncm91bmRcbiAgICAgIDogcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLiRpc0FjdGl2ZSA/IHByb3BzLnRoZW1lLmFjdGl2ZS5jb2xvciA6IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5hY3RpdmUuYmFja2dyb3VuZH07XG4gIH1cblxuICAmID4gc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUNvdW50ZXIgPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElQcm9maWxlTmF2aWdhdGlvblRoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5hY3RpdmUuY29sb3J9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvdW50ZXJGb250fTtcbiAgcmlnaHQ6IC0ycHg7XG4gIHRvcDogLTJweDtcbmA7XG4iLCJpbXBvcnQgeyBDdHggfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyB1c2VQcm9maWxlTmF2aWdhdGlvblRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9ob29rcy91c2UtcHJvZmlsZS1uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24uZW51bXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uLFxuICBTdHlsZWRQcm9maWxlTmF2aWdhdGlvblNrZWxldG9uLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi5zdHlsZVwiO1xuaW1wb3J0IHsgUHJvZmlsZU5hdmlnYXRpb25UaGVtZWFibGVQcm9wcyB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlTmF2aWdhdGlvbiA9ICh7XG4gIGNoaWxkcmVuLFxufTogUHJvZmlsZU5hdmlnYXRpb25UaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChDdHgpO1xuICBjb25zdCB0aGVtZSA9IHVzZVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSBDb21wb25lbnRDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRQcm9maWxlTmF2aWdhdGlvblNrZWxldG9uXG4gICAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgID48L1N0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uU2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uIHRoZW1lPXt0aGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkUHJvZmlsZU5hdmlnYXRpb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgQ3R4IH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgdXNlUHJvZmlsZU5hdmlnYXRpb25UaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vaG9va3MvdXNlLXByb2ZpbGUtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtQ291bnRlciB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnN0eWxlXCI7XG5pbXBvcnQgeyBQcm9maWxlTmF2aWdhdGlvbkl0ZW1Db3VudGVyVGhlbWVhYmxlUHJvcHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgQ291bnRlciA9ICh7XG4gIGNvdW50LFxufTogUHJvZmlsZU5hdmlnYXRpb25JdGVtQ291bnRlclRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KEN0eCk7XG4gIGNvbnN0IHRoZW1lID0gdXNlUHJvZmlsZU5hdmlnYXRpb25UaGVtZShDb21wb25lbnRDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1Db3VudGVyIHRoZW1lPXt0aGVtZX0+XG4gICAgICB7Y291bnQgPiA5ID8gXCI5K1wiIDogY291bnR9XG4gICAgPC9TdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1Db3VudGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IEN0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb25cIjtcbmltcG9ydCB7IENvdW50ZXIgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvcHJvZmlsZV9uYXZpZ2F0aW9uLmNvdW50ZXJcIjtcbmltcG9ydCB7IHVzZVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2hvb2tzL3VzZS1wcm9maWxlLW5hdmlnYXRpb25cIjtcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24uZW51bXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSWNvbixcbiAgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtQnV0dG9uLFxuICBTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1MaW5rLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi5zdHlsZVwiO1xuaW1wb3J0IHsgUHJvZmlsZU5hdmlnYXRpb25JdGVtVGhlbWVhYmxlUHJvcHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IENvbnRleHQgYXMgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgSXRlbSA9ICh7XG4gIGljb24sXG4gIGxhYmVsLFxuICBvbkNsaWNrLFxuICBjb3VudCxcbiAgdHlwZSA9IEl0ZW1UeXBlLkxJTkssXG4gIGlzSGlnaGxpZ2h0ZWQsXG59OiBQcm9maWxlTmF2aWdhdGlvbkl0ZW1UaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChDdHgpO1xuICBjb25zdCB0aGVtZSA9IHVzZVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUoQ29tcG9uZW50Q29udGV4dCk7XG5cbiAgaWYgKHR5cGUgPT09IEl0ZW1UeXBlLkJVVFRPTikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtQnV0dG9uXG4gICAgICAgIHRpdGxlPXtsYWJlbH1cbiAgICAgICAgYXJpYS1sYWJlbD17bGFiZWx9XG4gICAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgICAgJGlzQWN0aXZlPXshIWlzSGlnaGxpZ2h0ZWR9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkljb24+XG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIHR5cGU9e2ljb259XG4gICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PVwiQWFubWVsZGVuXCJcbiAgICAgICAgICAgIGNvbnRleHQ9e2lzSGlnaGxpZ2h0ZWQgPyBJY29uQ3R4LlNVUFBPUlRJTkcgOiBJY29uQ3R4LkRBUkt9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRQcm9maWxlTmF2aWdhdGlvbkljb24+XG4gICAgICAgIHtpc0hpZ2hsaWdodGVkICYmIDxzcGFuPntsYWJlbH08L3NwYW4+fVxuICAgICAgICB7Y291bnQgJiYgPENvdW50ZXIgY291bnQ9e2NvdW50fSAvPn1cbiAgICAgIDwvU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtQnV0dG9uPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1MaW5rXG4gICAgICB0aXRsZT17bGFiZWx9XG4gICAgICBhcmlhLWxhYmVsPXtsYWJlbH1cbiAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgICRpc0FjdGl2ZT17ISFpc0hpZ2hsaWdodGVkfVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICA+XG4gICAgICA8U3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uPlxuICAgICAgICA8SWNvblxuICAgICAgICAgIHR5cGU9e2ljb259XG4gICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD1cIkFhbm1lbGRlblwiXG4gICAgICAgICAgY29udGV4dD17aXNIaWdobGlnaHRlZCA/IEljb25DdHguU1VQUE9SVElORyA6IEljb25DdHguREFSS31cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uPlxuICAgICAge2lzSGlnaGxpZ2h0ZWQgJiYgPHNwYW4+e2xhYmVsfTwvc3Bhbj59XG4gICAgICB7Y291bnQgJiYgPENvdW50ZXIgY291bnQ9e2NvdW50fSAvPn1cbiAgICA8L1N0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUxpbms+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL3JlY29yZHMuZW51bXNcIjtcbmltcG9ydCB7IElSZWNvcmRzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3JlY29yZHMvcmVjb3Jkcy50eXBlc1wiO1xuaW1wb3J0IHsgUmVjb3JkcyBhcyBCYXNlUmVjb3JkcyB9IGZyb20gXCJAL21vbGVjdWxlcy9yZWNvcmRzL2NvbXBvbmVudHMvcmVjb3Jkc1wiO1xuXG5jb25zdCBEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPSBjcmVhdGVDb250ZXh0KERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgUmVjb3JkcyA9ICh7IGNvbnRleHQsIGNoaWxkcmVuIH06IElSZWNvcmRzKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlUmVjb3Jkcz57Y2hpbGRyZW59PC9CYXNlUmVjb3Jkcz5cbiAgICA8L0N0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuLi9yZWNvcmRzLmVudW1zXCI7XG5pbXBvcnQgeyBJUmVjb3Jkc0Jhc2UgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcmVjb3Jkcy9yZWNvcmRzLnR5cGVzXCI7XG5pbXBvcnQgeyBDdHggfSBmcm9tIFwiQC9tb2xlY3VsZXMvcmVjb3Jkc1wiO1xuaW1wb3J0IHsgdXNlUmVjb3JkcyB9IGZyb20gXCJAL21vbGVjdWxlcy9yZWNvcmRzL2hvb2tzL3VzZS1yZWNvcmRzXCI7XG5pbXBvcnQgeyBHcmlkIH0gZnJvbSBcIkAvbGF5b3V0cy9ncmlkXCI7XG5pbXBvcnQgeyBTcGFjaW5nIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIFJlY29yZENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvcmVjb3JkLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBSZWNvcmRzID0gKHsgY2hpbGRyZW4gfTogSVJlY29yZHNCYXNlKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KEN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlUmVjb3JkcyhDb21wb25lbnRDb250ZXh0KTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgY29uc3QgcmVjb3JkcyA9IFJlYWN0LkNoaWxkcmVuLm1hcChjaGlsZHJlbiwgKGNoaWxkKSA9PiB7XG4gICAgaWYgKCFSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZCkpIHJldHVybiBjaGlsZDtcbiAgICByZXR1cm4gKFxuICAgICAgPEdyaWQuSXRlbT5cbiAgICAgICAge1JlYWN0LmNsb25lRWxlbWVudChcbiAgICAgICAgICBjaGlsZCxcbiAgICAgICAgICBJc1NrZWxldG9uID8geyBjb250ZXh0OiBSZWNvcmRDb250ZXh0LlNLRUxFVE9OIH0gOiB7fSxcbiAgICAgICAgKX1cbiAgICAgIDwvR3JpZC5JdGVtPlxuICAgICk7XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEdyaWQgZ2FwPXtTcGFjaW5nLlMzMH0gZGlyZWN0aW9uPXtcImNvbHVtblwifT5cbiAgICAgIHtyZWNvcmRzfVxuICAgIDwvR3JpZD5cbiAgKTtcbn07XG4iLCJpbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3JlY29yZHMuZW51bXNcIjtcbmltcG9ydCB7IElSZWNvcmRzVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcmVjb3Jkcy9yZWNvcmRzLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VSZWNvcmRzID0gKGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0KTogSVJlY29yZHNUaGVtZSA9PiB7XG4gIHJldHVybiB7fTtcbn07XG4iLCJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTdGF0dXNMaXN0IGFzIEJhc2VTdGF0dXNMaXN0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L2NvbXBvbmVudHMvc3RhdHVzX2xpc3RcIjtcbmltcG9ydCB7IElTdGF0dXNMaXN0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vc3RhdHVzX2xpc3QuZW51bXNcIjtcblxuY29uc3QgRGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFN0YXR1c0xpc3QgPSAoeyBjaGlsZHJlbiwgY29udGV4dCwgd2l0aENvdW50IH06IElTdGF0dXNMaXN0KSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlU3RhdHVzTGlzdCB3aXRoQ291bnQ9e3dpdGhDb3VudH0+e2NoaWxkcmVufTwvQmFzZVN0YXR1c0xpc3Q+XG4gICAgPC9DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgQ2hpbGRyZW4sIHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVN0YXR1c0xpc3RUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9zdGF0dXNfbGlzdC9ob29rcy91c2Utc3RhdHVzLWxpc3RcIjtcbmltcG9ydCB7IEN0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9zdGF0dXNfbGlzdFwiO1xuaW1wb3J0IHsgSVN0YXR1c0xpc3RCYXNlIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3N0YXR1c19saXN0LmVudW1zXCI7XG5pbXBvcnQge1xuICBTdHlsZWRTa2VsZXRvblN0YXR1c0xpc3QsXG4gIFN0eWxlZFN0YXR1c0xpc3QsXG4gIFN0eWxlZFN0YXR1c0xpc3RDb3VudCxcbiAgU3R5bGVkU3RhdHVzTGlzdEl0ZW1zLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvc3RhdHVzX2xpc3Qvc3RhdHVzX2xpc3Quc3R5bGVcIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkBzdG9yeWJvb2svY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXJcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgQ29udGFpbmVyQ29udGV4dCB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci5lbnVtc1wiO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci5lbnVtc1wiO1xuaW1wb3J0IHsgQ29sb3JWYXJpYW50LCBSYWRpdXMsIFNwYWNpbmcgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcblxuZXhwb3J0IGNvbnN0IFN0YXR1c0xpc3QgPSAoeyBjaGlsZHJlbiwgd2l0aENvdW50IH06IElTdGF0dXNMaXN0QmFzZSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZVN0YXR1c0xpc3RUaGVtZShDb21wb25lbnRDb250ZXh0KTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uU3RhdHVzTGlzdCB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8UGxhY2Vob2xkZXI+e2NoaWxkcmVufTwvUGxhY2Vob2xkZXI+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uU3RhdHVzTGlzdD5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgQ291bnQgPSB3aXRoQ291bnQgPyAoXG4gICAgPENvbnRhaW5lclxuICAgICAgbGlmdGVkPXtmYWxzZX1cbiAgICAgIHBhZGRpbmc9e1NwYWNpbmcuUzIwfVxuICAgICAgcmFkaXVzPXtSYWRpdXMuU019XG4gICAgICB0eXBlPXtUeXBlLk5PUk1BTH1cbiAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzUwfVxuICAgICAgZnVsbFdpZHRoPXtmYWxzZX1cbiAgICAgIGNvbnRleHQ9e0NvbnRhaW5lckNvbnRleHQuTkVVVFJBTH1cbiAgICA+XG4gICAgICA8U3R5bGVkU3RhdHVzTGlzdENvdW50IHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIHtDaGlsZHJlbi5jb3VudChjaGlsZHJlbil9XG4gICAgICA8L1N0eWxlZFN0YXR1c0xpc3RDb3VudD5cbiAgICA8L0NvbnRhaW5lcj5cbiAgKSA6IG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU3RhdHVzTGlzdCB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZFN0YXR1c0xpc3RJdGVtcz57Y2hpbGRyZW59PC9TdHlsZWRTdGF0dXNMaXN0SXRlbXM+XG4gICAgICB7Q291bnR9XG4gICAgPC9TdHlsZWRTdGF0dXNMaXN0PlxuICApO1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vc3RhdHVzX2xpc3QuZW51bXNcIjtcbmltcG9ydCB7IElTdGF0dXNMaXN0VGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvc3RhdHVzX2xpc3Qvc3RhdHVzX2xpc3QudHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVN0YXR1c0xpc3RUaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIENvbnRleHQsXG4pOiBJU3RhdHVzTGlzdFRoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5LnNtLFxuICAgICAgICBjb2xvcjogQ29sb3JzLnByaW1hcnkudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TS0VMRVRPTixcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5LnNtLFxuICAgICAgICBjb2xvcjogQ29sb3JzLnByaW1hcnkudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJU3RhdHVzTGlzdFRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXNMaXN0ID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJU3RhdHVzTGlzdFRoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNhbGMoNHB4ICogNCk7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFN0YXR1c0xpc3RJdGVtcyA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVN0YXR1c0xpc3RUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogNHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFN0YXR1c0xpc3RDb3VudCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVN0YXR1c0xpc3RUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25TdGF0dXNMaXN0ID0gc3R5bGVkKFN0eWxlZFN0YXR1c0xpc3QpPHtcbiAgdGhlbWU6IElTdGF0dXNMaXN0VGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQ29udGFpbmVyVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7IHRoZW1lOiBJQ29udGFpbmVyVGhlbWUgfT5gXG4gIGRpc3BsYXk6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5kaXNwbGF5fTtcbiAgbWluLXdpZHRoOiAxcHg7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJveC1zaGFkb3c6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5zaGFkb3d9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJvcmRlcn07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29udGFpbmVyUGFkZGluZyA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIHRoZW1lOiBJQ29udGFpbmVyVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW46ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5wYWRkaW5nfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvbkNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRDb250YWluZXIpLndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSUNvbnRhaW5lclRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgeyBJQ29udGFpbmVyVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIudHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQsIFR5cGUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIuZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lUmFkaXVzLCB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5pbXBvcnQge1xuICBDb2xvclZhcmlhbnRLZXksXG4gIFJhZGl1c0tleSxcbiAgU3BhY2luZ0tleSxcbn0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VDb250YWluZXIgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0LFxuICB0eXBlOiBUeXBlLFxuICBsaWZ0ZWQ6IGJvb2xlYW4sXG4gIHRpbnQ6IENvbG9yVmFyaWFudEtleSxcbiAgcmFkaXVzOiBSYWRpdXNLZXksXG4gIHBhZGRpbmc6IFNwYWNpbmdLZXksXG4gIGZ1bGxXaWR0aDogYm9vbGVhbixcbik6IElDb250YWluZXJUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVGhlbWVSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgUmFkaXVzQmFzZSA9IG1hdGNoKHJhZGl1cywgW1xuICAgIFtcInhzXCIsIHsgYmFzZTogVGhlbWVSYWRpdXMueHMsIHF1aXJreTogVGhlbWVSYWRpdXMuc20gfV0sXG4gICAgW1wic21cIiwgeyBiYXNlOiBUaGVtZVJhZGl1cy5zbSwgcXVpcmt5OiBUaGVtZVJhZGl1cy5tZCB9XSxcbiAgICBbXCJtZFwiLCB7IGJhc2U6IFRoZW1lUmFkaXVzLm1kLCBxdWlya3k6IFRoZW1lUmFkaXVzLmxnIH1dLFxuICAgIFtcImxnXCIsIHsgYmFzZTogVGhlbWVSYWRpdXMubGcsIHF1aXJreTogVGhlbWVSYWRpdXMueGwgfV0sXG4gICAgW1wieGxcIiwgeyBiYXNlOiBUaGVtZVJhZGl1cy54bCwgcXVpcmt5OiBUaGVtZVJhZGl1c1tcIjJ4bFwiXSB9XSxcbiAgICBbXCIyeGxcIiwgeyBiYXNlOiBUaGVtZVJhZGl1c1tcIjJ4bFwiXSwgcXVpcmt5OiBUaGVtZVJhZGl1c1tcIjN4bFwiXSB9XSxcbiAgICBbXG4gICAgICBcIjN4bFwiLFxuICAgICAge1xuICAgICAgICBiYXNlOiBUaGVtZVJhZGl1c1tcIjN4bFwiXSxcbiAgICAgICAgcXVpcmt5OiBcImNhbGMoXCIgKyBUaGVtZVJhZGl1c1tcIjN4bFwiXSArIFwiKiAxLjIpXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xuXG4gIGNvbnN0IGJvcmRlclJhZGl1cyA9IG1hdGNoKHR5cGUsIFtcbiAgICBbVHlwZS5OT1JNQUwsIFJhZGl1c0Jhc2UuYmFzZV0sXG4gICAgW1xuICAgICAgVHlwZS5RVUlSS1ksXG4gICAgICBSYWRpdXNCYXNlLmJhc2UgK1xuICAgICAgICBcIiBcIiArXG4gICAgICAgIFJhZGl1c0Jhc2UuYmFzZSArXG4gICAgICAgIFwiIFwiICtcbiAgICAgICAgUmFkaXVzQmFzZS5xdWlya3kgK1xuICAgICAgICBcIiBcIiArXG4gICAgICAgIFwiMFwiLFxuICAgIF0sXG4gIF0pO1xuXG4gIGNvbnN0IFNoYWRvdyA9IGxpZnRlZCA/IFwiMHB4IDRweCAyMHB4IDBweCAjQzlDOUM5NDBcIiA6IFwibm9uZVwiO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5ORVVUUkFMLFxuICAgICAge1xuICAgICAgICByYWRpdXM6IGJvcmRlclJhZGl1cyxcbiAgICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzW3RpbnRdLFxuICAgICAgICBzaGFkb3c6IFNoYWRvdyxcbiAgICAgICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICAgICAgZGlzcGxheTogZnVsbFdpZHRoID8gXCJmbGV4XCIgOiBcImlubGluZS1mbGV4XCIsXG4gICAgICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1twYWRkaW5nXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNVUkZBQ0UsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VyZmFjZXNbdGludF0sXG4gICAgICAgIHNoYWRvdzogU2hhZG93LFxuICAgICAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgICAgICBkaXNwbGF5OiBmdWxsV2lkdGggPyBcImZsZXhcIiA6IFwiaW5saW5lLWZsZXhcIixcbiAgICAgICAgcGFkZGluZzogVXRpbGl0eS5zcGFjaW5nW3BhZGRpbmddLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuUFJJTUFSWSxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBib3JkZXJSYWRpdXMsXG4gICAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5wcmltYXJ5W3RpbnRdLFxuICAgICAgICBzaGFkb3c6IFNoYWRvdyxcbiAgICAgICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICAgICAgZGlzcGxheTogZnVsbFdpZHRoID8gXCJmbGV4XCIgOiBcImlubGluZS1mbGV4XCIsXG4gICAgICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1twYWRkaW5nXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNVUFBPUlRJTkcsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZ1t0aW50XSxcbiAgICAgICAgc2hhZG93OiBTaGFkb3csXG4gICAgICAgIGJvcmRlcjogXCJub25lXCIsXG4gICAgICAgIGRpc3BsYXk6IGZ1bGxXaWR0aCA/IFwiZmxleFwiIDogXCJpbmxpbmUtZmxleFwiLFxuICAgICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbcGFkZGluZ10sXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5BQ0NFTlQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuYWNjZW50W3RpbnRdLFxuICAgICAgICBzaGFkb3c6IFNoYWRvdyxcbiAgICAgICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICAgICAgZGlzcGxheTogZnVsbFdpZHRoID8gXCJmbGV4XCIgOiBcImlubGluZS1mbGV4XCIsXG4gICAgICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1twYWRkaW5nXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICByYWRpdXM6IGJvcmRlclJhZGl1cyxcbiAgICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmFudFwiLFxuICAgICAgICBzaGFkb3c6IFNoYWRvdyxcbiAgICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIFNrZWxldG9uQmcsXG4gICAgICAgIGRpc3BsYXk6IGZ1bGxXaWR0aCA/IFwiZmxleFwiIDogXCJpbmxpbmUtZmxleFwiLFxuICAgICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbcGFkZGluZ10sXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCB7XG4gIFN0eWxlZENvbnRhaW5lcixcbiAgU3R5bGVkQ29udGFpbmVyUGFkZGluZyxcbiAgU3R5bGVkU2tlbGV0b25Db250YWluZXIsXG59IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci5zdHlsZVwiO1xuaW1wb3J0IHsgSUNvbnRhaW5lckJhc2UgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIudHlwZXNcIjtcbmltcG9ydCB7IHVzZUNvbnRhaW5lciB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2hvb2tzL3VzZS1jb250YWluZXJcIjtcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbnRhaW5lckN0eCB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXIvY29udGFpbmVyLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSAoe1xuICBjaGlsZHJlbixcbiAgdHlwZSxcbiAgbGlmdGVkLFxuICByYWRpdXMsXG4gIHBhZGRpbmcsXG4gIHRpbnQsXG4gIGZ1bGxXaWR0aCxcbn06IElDb250YWluZXJCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRhaW5lckNvbnRleHQgPSB1c2VDb250ZXh0KENvbnRhaW5lckN0eCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBDb250YWluZXJDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuICBjb25zdCBUaGVtZSA9IHVzZUNvbnRhaW5lcihcbiAgICBDb250YWluZXJDb250ZXh0LFxuICAgIHR5cGUsXG4gICAgbGlmdGVkLFxuICAgIHRpbnQsXG4gICAgcmFkaXVzLFxuICAgIHBhZGRpbmcsXG4gICAgZnVsbFdpZHRoLFxuICApO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvbkNvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkQ29udGFpbmVyUGFkZGluZyB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRDb250YWluZXJQYWRkaW5nPlxuICAgICAgPC9TdHlsZWRTa2VsZXRvbkNvbnRhaW5lcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkQ29udGFpbmVyUGFkZGluZyB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZENvbnRhaW5lclBhZGRpbmc+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSUNvbnRhaW5lciB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIGFzIEJhc2VDb250YWluZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb21wb25lbnRzL2NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQ29udGV4dCwgVHlwZSB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci5lbnVtc1wiO1xuXG5pbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29sb3JWYXJpYW50LCBSYWRpdXMsIFNwYWNpbmcgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcblxuY29uc3QgQ29udGFpbmVyQ3R4RGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuTkVVVFJBTDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IENvbnRhaW5lckN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KENvbnRhaW5lckN0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIHR5cGUgPSBUeXBlLk5PUk1BTCxcbiAgcmFkaXVzID0gUmFkaXVzLk1ELFxuICB0aW50ID0gQ29sb3JWYXJpYW50LlRJTlRfNTAwLFxuICBsaWZ0ZWQgPSB0cnVlLFxuICBwYWRkaW5nID0gU3BhY2luZy5TMjAsXG4gIGZ1bGxXaWR0aCA9IHRydWUsXG4gIGNvbnRleHQsXG59OiBJQ29udGFpbmVyKSA9PiB7XG4gIGNvbnN0IENvbnRhaW5lckNvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IENvbnRhaW5lckN0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyQ3R4LlByb3ZpZGVyIHZhbHVlPXtDb250YWluZXJDb250ZXh0fT5cbiAgICAgIDxCYXNlQ29udGFpbmVyXG4gICAgICAgIHR5cGU9e3R5cGV9XG4gICAgICAgIHRpbnQ9e3RpbnR9XG4gICAgICAgIGxpZnRlZD17bGlmdGVkfVxuICAgICAgICByYWRpdXM9e3JhZGl1c31cbiAgICAgICAgcGFkZGluZz17cGFkZGluZ31cbiAgICAgICAgZnVsbFdpZHRoPXtmdWxsV2lkdGh9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQmFzZUNvbnRhaW5lcj5cbiAgICA8L0NvbnRhaW5lckN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL21hcC5lbnVtc1wiO1xuaW1wb3J0IHsgSU1hcCB9IGZyb20gXCJAL29yZ2FuaXNtcy9tYXAvbWFwLnR5cGVzXCI7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gXCJAL29yZ2FuaXNtcy9tYXAvY29tcG9uZW50cy9tYXAubG9jYXRpb25cIjtcbmltcG9ydCB7IFJvdXRlIH0gZnJvbSBcIkAvb3JnYW5pc21zL21hcC9jb21wb25lbnRzL21hcC5yb3V0ZVwiO1xuaW1wb3J0IHsgR29vZ2xlQVBJQ29tcG9uZW50IH0gZnJvbSBcIkAvdXRpbHMvZ29vZ2xlX2FwaV9jb21wb25lbnRcIjtcbmltcG9ydCB7IHVzZU1hcHNMaWJyYXJ5IH0gZnJvbSBcIkB2aXMuZ2wvcmVhY3QtZ29vZ2xlLW1hcHNcIjtcblxuY29uc3QgRGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IE1hcCA9ICh7IGNvbnRleHQsIGNoaWxkcmVuIH06IElNYXApID0+IHtcbiAgY29uc3QgTWFwQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcbiAgcmV0dXJuIDxDdHguUHJvdmlkZXIgdmFsdWU9e01hcENvbnRleHR9PntjaGlsZHJlbn08L0N0eC5Qcm92aWRlcj47XG59O1xuXG5NYXAuTG9jYXRpb24gPSBMb2NhdGlvbjtcbk1hcC5Sb3V0ZSA9IFJvdXRlO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUxvY2F0aW9uQmFzZWRNYXBCYXNlLCBJUG9pbnRPbk1hcCB9IGZyb20gXCJAL29yZ2FuaXNtcy9tYXAvbWFwLnR5cGVzXCI7XG5pbXBvcnQge1xuICBBZHZhbmNlZE1hcmtlcixcbiAgQ29udHJvbFBvc2l0aW9uLFxuICBNYXAsXG59IGZyb20gXCJAdmlzLmdsL3JlYWN0LWdvb2dsZS1tYXBzXCI7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tIFwidXVpZFwiO1xuaW1wb3J0IHsgWm9vbSB9IGZyb20gXCJAL2F0b21zL21hcC96b29tXCI7XG5cbmV4cG9ydCBjb25zdCBMb2NhdGlvbiA9ICh7IHBvaW50cywgbWFwSWQsIG9yaWdpbiB9OiBJTG9jYXRpb25CYXNlZE1hcEJhc2UpID0+IHtcbiAgY29uc3QgZGVmYXVsdFpvb20gPSAxMTtcbiAgY29uc3QgbWF4Wm9vbSA9IDE1O1xuICBjb25zdCBtaW5ab29tID0gMTA7XG5cbiAgY29uc3QgbWFwUG9pbnRzID0gcG9pbnRzID8/IFtdO1xuXG4gIGNvbnN0IFN0eWxlID0ge1xuICAgIGZsZXg6IFwiYXV0b1wiLFxuICB9O1xuXG4gIGNvbnN0IG9uTWFya2VyQ2xpY2tlZCA9IGZ1bmN0aW9uIChcbiAgICBldmVudDogZ29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudCxcbiAgICBwb2ludDogSVBvaW50T25NYXAsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGNsaWNrZWQgPSB7XG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBwb2ludDogcG9pbnQsXG4gICAgfTtcblxuICAgIGNvbnNvbGUubG9nKGNsaWNrZWQpO1xuICB9O1xuXG4gIGNvbnN0IE9yaWdpbk1hcmtlciA9IChcbiAgICA8QWR2YW5jZWRNYXJrZXJcbiAgICAgIHBvc2l0aW9uPXtvcmlnaW4ubGF0TG5nfVxuICAgICAga2V5PXtvcmlnaW4ua2V5fVxuICAgICAgY2xpY2thYmxlPXt0cnVlfVxuICAgICAgb25DbGljaz17KGV2ZW50OiBnb29nbGUubWFwcy5NYXBNb3VzZUV2ZW50KSA9PlxuICAgICAgICBvbk1hcmtlckNsaWNrZWQoZXZlbnQsIG9yaWdpbilcbiAgICAgIH1cbiAgICA+XG4gICAgICB7b3JpZ2luLm1hcmtlcn1cbiAgICA8L0FkdmFuY2VkTWFya2VyPlxuICApO1xuXG4gIGNvbnN0IFBvaW50TWFya2VycyA9IG1hcFBvaW50cy5tYXAoKHBvaW50LCBpKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxBZHZhbmNlZE1hcmtlclxuICAgICAgICBwb3NpdGlvbj17cG9pbnQubGF0TG5nfVxuICAgICAgICBrZXk9e3BvaW50LmtleX1cbiAgICAgICAgY2xpY2thYmxlPXt0cnVlfVxuICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IGdvb2dsZS5tYXBzLk1hcE1vdXNlRXZlbnQpID0+XG4gICAgICAgICAgb25NYXJrZXJDbGlja2VkKGV2ZW50LCBtYXBQb2ludHNbaV0pXG4gICAgICAgIH1cbiAgICAgID5cbiAgICAgICAge3BvaW50Lm1hcmtlcn1cbiAgICAgIDwvQWR2YW5jZWRNYXJrZXI+XG4gICAgKTtcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8TWFwXG4gICAgICBpZD17dXVpZHY0KCl9XG4gICAgICBkZWZhdWx0Q2VudGVyPXtvcmlnaW4ubGF0TG5nfVxuICAgICAgZGVmYXVsdFpvb209ezExfVxuICAgICAgbWFwSWQ9e21hcElkfVxuICAgICAgZ2VzdHVyZUhhbmRsaW5nPXtcImNvb3BlcmF0aXZlXCJ9XG4gICAgICBkaXNhYmxlRGVmYXVsdFVJPXt0cnVlfVxuICAgICAgc3R5bGU9e1N0eWxlfVxuICAgID5cbiAgICAgIHtPcmlnaW5NYXJrZXJ9XG4gICAgICB7UG9pbnRNYXJrZXJzfVxuICAgICAgPFpvb21cbiAgICAgICAgcG9zaXRpb249e0NvbnRyb2xQb3NpdGlvbi5SSUdIVF9UT1B9XG4gICAgICAgIHBvc2l0aW9uT2Zmc2V0PXsxMH1cbiAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgbWluWm9vbT17bWluWm9vbX1cbiAgICAgIC8+XG4gICAgPC9NYXA+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFpvb20gYXMgQmFzZVpvb20gfSBmcm9tIFwiQC9hdG9tcy9tYXAvem9vbS9jb21wb25lbnRzL3pvb21cIjtcbmltcG9ydCB7IElab29tIH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb20vem9vbS50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL21hcC96b29tL3pvb20uZW51bXNcIjtcbmltcG9ydCB7IE1hcENvbnRyb2wsIHVzZU1hcCB9IGZyb20gXCJAdmlzLmdsL3JlYWN0LWdvb2dsZS1tYXBzXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9IGNyZWF0ZUNvbnRleHQoRGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBab29tID0gKHtcbiAgY29udGV4dCxcbiAgcG9zaXRpb25PZmZzZXQsXG4gIHBvc2l0aW9uLFxuICBtYXhab29tLFxuICBtaW5ab29tLFxufTogSVpvb20pID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcbiAgY29uc3QgbWFwID0gdXNlTWFwKCk7XG4gIGNvbnN0IG9mZnNldCA9IHBvc2l0aW9uT2Zmc2V0ID8/IDA7XG5cbiAgaWYgKCFtYXApIHtcbiAgICBjb25zb2xlLmxvZyhcIlRoaXMgY29tcG9uZW50IG5lZWRzIHRvIGJlIHVzZWQgaW5zaWRlIG9mIGEgTWFwXCIpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qgc3R5bGUgPSB7XG4gICAgcGFkZGluZzogb2Zmc2V0ICsgXCJweFwiLFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPE1hcENvbnRyb2wgcG9zaXRpb249e3Bvc2l0aW9ufT5cbiAgICAgIDxkaXYgc3R5bGU9e3N0eWxlfT5cbiAgICAgICAgPEN0eC5Qcm92aWRlciB2YWx1ZT17Q29tcG9uZW50Q29udGV4dH0+XG4gICAgICAgICAgPEJhc2Vab29tIG1hcD17bWFwfSBtYXhab29tPXttYXhab29tfSBtaW5ab29tPXttaW5ab29tfSAvPlxuICAgICAgICA8L0N0eC5Qcm92aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvTWFwQ29udHJvbD5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFpvb20sXG4gIFN0eWxlZFpvb21NaW51cyxcbiAgU3R5bGVkWm9vbVBsdXMsXG4gIFN0eWxlZFpvb21TZXBlcmF0b3IsXG59IGZyb20gXCJAL2F0b21zL21hcC96b29tL3pvb20uc3R5bGVcIjtcbmltcG9ydCB7IElab29tQmFzZSB9IGZyb20gXCJAL2F0b21zL21hcC96b29tL3pvb20udHlwZXNcIjtcbmltcG9ydCB7IHVzZVpvb20gfSBmcm9tIFwiQC9hdG9tcy9tYXAvem9vbS9ob29rcy91c2Utem9vbVwiO1xuaW1wb3J0IHsgQ3R4IH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb21cIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBUeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBab29tID0gKHsgbWFwLCBtYXhab29tLCBtaW5ab29tIH06IElab29tQmFzZSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZVpvb20oQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IGRlZmF1bHRab29tID0gbWFwLmdldFpvb20oKSA/PyAxMjtcblxuICBjb25zdCBbY3VycmVudFpvb20sIHNldEN1cnJlbnRab29tXSA9IHVzZVN0YXRlPG51bWJlcj4oZGVmYXVsdFpvb20pO1xuICBjb25zdCBbcGx1c0F2YWlsYWJsZSwgc2V0UGx1c0F2YWlsYWJsZV0gPSB1c2VTdGF0ZTxib29sZWFuPihcbiAgICBkZWZhdWx0Wm9vbSA8PSBtYXhab29tLFxuICApO1xuICBjb25zdCBbbWludXNBdmFpbGFibGUsIHNldE1pbnVzQXZhaWxhYmxlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KFxuICAgIGRlZmF1bHRab29tID49IG1pblpvb20sXG4gICk7XG5cbiAgY29uc3Qgc2V0QXZhaWxhYmxlID0gKHVwZGF0ZTogbnVtYmVyKSA9PiB7XG4gICAgaWYgKHVwZGF0ZSA+PSBtYXhab29tKSB7XG4gICAgICBzZXRQbHVzQXZhaWxhYmxlKGZhbHNlKTtcbiAgICAgIHNldE1pbnVzQXZhaWxhYmxlKHRydWUpO1xuICAgIH0gZWxzZSBpZiAodXBkYXRlIDw9IG1pblpvb20pIHtcbiAgICAgIHNldFBsdXNBdmFpbGFibGUodHJ1ZSk7XG4gICAgICBzZXRNaW51c0F2YWlsYWJsZShmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFBsdXNBdmFpbGFibGUodHJ1ZSk7XG4gICAgICBzZXRNaW51c0F2YWlsYWJsZSh0cnVlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25DbGlja1BsdXMgPSAoKSA9PiB7XG4gICAgaWYgKHBsdXNBdmFpbGFibGUpIHtcbiAgICAgIGNvbnN0IHVwZGF0ZSA9IGN1cnJlbnRab29tID49IG1heFpvb20gPyBtYXhab29tIDogY3VycmVudFpvb20gKyAxO1xuICAgICAgc2V0Q3VycmVudFpvb20odXBkYXRlKTtcbiAgICAgIHNldEF2YWlsYWJsZSh1cGRhdGUpO1xuICAgICAgbWFwLnNldFpvb20odXBkYXRlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25DbGlja01pbnVzID0gKCkgPT4ge1xuICAgIGlmIChtaW51c0F2YWlsYWJsZSkge1xuICAgICAgY29uc3QgdXBkYXRlID0gY3VycmVudFpvb20gPD0gbWluWm9vbSA/IG1pblpvb20gOiBjdXJyZW50Wm9vbSAtIDE7XG4gICAgICBzZXRDdXJyZW50Wm9vbSh1cGRhdGUpO1xuICAgICAgc2V0QXZhaWxhYmxlKHVwZGF0ZSk7XG4gICAgICBtYXAuc2V0Wm9vbSh1cGRhdGUpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRab29tIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkWm9vbVBsdXMgb25DbGljaz17b25DbGlja1BsdXN9PlxuICAgICAgICA8SWNvblxuICAgICAgICAgIHR5cGU9e1R5cGUuQUREfVxuICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e1wiXCJ9XG4gICAgICAgICAgY29udGV4dD17cGx1c0F2YWlsYWJsZSA/IENvbnRleHQuREFSSyA6IENvbnRleHQuRElTQUJMRUR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZFpvb21QbHVzPlxuICAgICAgPFN0eWxlZFpvb21TZXBlcmF0b3IgLz5cbiAgICAgIDxTdHlsZWRab29tTWludXMgb25DbGljaz17b25DbGlja01pbnVzfT5cbiAgICAgICAgPEljb25cbiAgICAgICAgICB0eXBlPXtUeXBlLk1JTlVTfVxuICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e1wiXCJ9XG4gICAgICAgICAgY29udGV4dD17bWludXNBdmFpbGFibGUgPyBDb250ZXh0LkRBUksgOiBDb250ZXh0LkRJU0FCTEVEfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRab29tTWludXM+XG4gICAgPC9TdHlsZWRab29tPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJWm9vbVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb20vem9vbS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWm9vbSA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVpvb21UaGVtZSB9PmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwO1xuICBib3gtc2hhZG93OlxuICAgIDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSxcbiAgICAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjEpO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFpvb21TZXBlcmF0b3IgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElab29tVGhlbWUgfT5gXG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZTRlNGU0O1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRab29tUGx1cyA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVpvb21UaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWm9vbU1pbnVzID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJWm9vbVRoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblpvb20gPSBzdHlsZWQoU3R5bGVkWm9vbSk8e1xuICB0aGVtZTogSVpvb21UaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuIiwiaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL21hcC96b29tL3pvb20uZW51bXNcIjtcbmltcG9ydCB7IElab29tVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9tYXAvem9vbS96b29tLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2Vab29tID0gKGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0KTogSVpvb21UaGVtZSA9PiB7XG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0NvbnRleHQuU1RBTkRBUkQsIHt9XSxcbiAgICBbQ29udGV4dC5TS0VMRVRPTiwge31dLFxuICBdKTtcbn07XG4iLCJleHBvcnQgZW51bSBDb250ZXh0IHtcbiAgU1RBTkRBUkQgPSBcIlNUQU5EQVJEXCIsXG59XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJUG9pbnRPbk1hcCwgSVJvdXRlQmFzZWRNYXBCYXNlIH0gZnJvbSBcIkAvb3JnYW5pc21zL21hcC9tYXAudHlwZXNcIjtcbmltcG9ydCB7XG4gIEFkdmFuY2VkTWFya2VyLFxuICBDb250cm9sUG9zaXRpb24sXG4gIE1hcCxcbiAgdXNlTWFwLFxuICB1c2VNYXBzTGlicmFyeSxcbn0gZnJvbSBcIkB2aXMuZ2wvcmVhY3QtZ29vZ2xlLW1hcHNcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gXCJ1dWlkXCI7XG5pbXBvcnQgeyBab29tIH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb21cIjtcblxuZXhwb3J0IGNvbnN0IFJvdXRlID0gKHtcbiAgZGVzdGluYXRpb24sXG4gIG1hcElkLFxuICBvcmlnaW4sXG4gIGRpcmVjdGlvbnMsXG59OiBJUm91dGVCYXNlZE1hcEJhc2UpID0+IHtcbiAgY29uc3QgZGVmYXVsdFpvb20gPSAxMTtcbiAgY29uc3QgbWF4Wm9vbSA9IDE1O1xuICBjb25zdCBtaW5ab29tID0gMTA7XG5cbiAgY29uc3QgU3R5bGUgPSB7XG4gICAgZmxleDogXCJhdXRvXCIsXG4gIH07XG5cbiAgY29uc3QgUm91dGVzID0gKCkgPT4ge1xuICAgIGNvbnN0IG1hcCA9IHVzZU1hcCgpO1xuICAgIGNvbnN0IHJvdXRlc0xpYnJhcnkgPSB1c2VNYXBzTGlicmFyeShcInJvdXRlc1wiKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIXJvdXRlc0xpYnJhcnkgfHwgIW1hcCkgcmV0dXJuO1xuICAgICAgY29uc3QgZGlyZWN0aW9uc1JlbmRlcmVyID0gbmV3IHJvdXRlc0xpYnJhcnkuRGlyZWN0aW9uc1JlbmRlcmVyKHtcbiAgICAgICAgbWFwOiBtYXAsXG4gICAgICAgIGRyYWdnYWJsZTogdHJ1ZSxcbiAgICAgICAgaGlkZVJvdXRlTGlzdDogdHJ1ZSxcbiAgICAgICAgcG9seWxpbmVPcHRpb25zOiB7XG4gICAgICAgICAgc3Ryb2tlQ29sb3I6IFwiI0VCNzMyMlwiLFxuICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDAuMixcbiAgICAgICAgICBzdHJva2VXZWlnaHQ6IDgsXG4gICAgICAgICAgZ2VvZGVzaWM6IHRydWUsXG4gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLFxuICAgICAgICAgIGRyYWdnYWJsZTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIG1hcmtlck9wdGlvbnM6IHtcbiAgICAgICAgICBpY29uOiB7XG4gICAgICAgICAgICBwYXRoOiBcIk0xNiA4QzE2IDEyLjQxODMgMTIuNDE4MyAxNiA4IDE2QzMuNTgxNzIgMTYgMCAxMi40MTgzIDAgOEMwIDMuNTgxNzIgMy41ODE3MiAwIDggMEMxMi40MTgzIDAgMTYgMy41ODE3MiAxNiA4WlwiLFxuICAgICAgICAgICAgZmlsbENvbG9yOiBcIiNFQjczMjJcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3Ryb2tlV2VpZ2h0OiAwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGRpcmVjdGlvbnNSZW5kZXJlci5zZXREaXJlY3Rpb25zKGRpcmVjdGlvbnMpO1xuICAgIH0sIFtyb3V0ZXNMaWJyYXJ5LCBtYXBdKTtcblxuICAgIHJldHVybiA8PjwvPjtcbiAgfTtcblxuICBjb25zdCBvbk1hcmtlckNsaWNrZWQgPSBmdW5jdGlvbiAoXG4gICAgZXZlbnQ6IGdvb2dsZS5tYXBzLk1hcE1vdXNlRXZlbnQsXG4gICAgcG9pbnQ6IElQb2ludE9uTWFwLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjbGlja2VkID0ge1xuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgcG9pbnQ6IHBvaW50LFxuICAgIH07XG5cbiAgICBjb25zb2xlLmxvZyhjbGlja2VkKTtcbiAgfTtcblxuICBjb25zdCBPcmlnaW5NYXJrZXIgPSAoXG4gICAgPEFkdmFuY2VkTWFya2VyXG4gICAgICBwb3NpdGlvbj17b3JpZ2luLmxhdExuZ31cbiAgICAgIGtleT17b3JpZ2luLmtleX1cbiAgICAgIGNsaWNrYWJsZT17dHJ1ZX1cbiAgICAgIG9uQ2xpY2s9eyhldmVudDogZ29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudCkgPT5cbiAgICAgICAgb25NYXJrZXJDbGlja2VkKGV2ZW50LCBvcmlnaW4pXG4gICAgICB9XG4gICAgPlxuICAgICAge29yaWdpbi5tYXJrZXJ9XG4gICAgPC9BZHZhbmNlZE1hcmtlcj5cbiAgKTtcblxuICBjb25zdCBEZXN0aW5hdGlvbk1hcmtlciA9IChcbiAgICA8QWR2YW5jZWRNYXJrZXJcbiAgICAgIHBvc2l0aW9uPXtkZXN0aW5hdGlvbi5sYXRMbmd9XG4gICAgICBrZXk9e2Rlc3RpbmF0aW9uLmtleX1cbiAgICAgIGNsaWNrYWJsZT17dHJ1ZX1cbiAgICAgIG9uQ2xpY2s9eyhldmVudDogZ29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudCkgPT5cbiAgICAgICAgb25NYXJrZXJDbGlja2VkKGV2ZW50LCBkZXN0aW5hdGlvbilcbiAgICAgIH1cbiAgICA+XG4gICAgICB7ZGVzdGluYXRpb24ubWFya2VyfVxuICAgIDwvQWR2YW5jZWRNYXJrZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TWFwXG4gICAgICBpZD17dXVpZHY0KCl9XG4gICAgICBkZWZhdWx0Q2VudGVyPXtvcmlnaW4ubGF0TG5nfVxuICAgICAgZGVmYXVsdFpvb209e2RlZmF1bHRab29tfVxuICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICBtYXBJZD17bWFwSWR9XG4gICAgICBnZXN0dXJlSGFuZGxpbmc9e1wiY29vcGVyYXRpdmVcIn1cbiAgICAgIGRpc2FibGVEZWZhdWx0VUk9e3RydWV9XG4gICAgICBzdHlsZT17U3R5bGV9XG4gICAgPlxuICAgICAgPFJvdXRlcyAvPlxuICAgICAgPFpvb21cbiAgICAgICAgcG9zaXRpb249e0NvbnRyb2xQb3NpdGlvbi5SSUdIVF9UT1B9XG4gICAgICAgIHBvc2l0aW9uT2Zmc2V0PXsxMH1cbiAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgbWluWm9vbT17bWluWm9vbX1cbiAgICAgIC8+XG4gICAgPC9NYXA+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIFByb3BzV2l0aENoaWxkcmVuLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQmFja2Ryb3AgYXMgQmFzZUJhY2tkcm9wIH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcC9jb21wb25lbnRzL2JhY2tkcm9wXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBJQmFja2Ryb3AsIElCYWNrZHJvcE1hbmFnZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wL2JhY2tkcm9wLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBCYWNrZHJvcCA9ICh7IG9uQ2xpY2sgfTogSUJhY2tkcm9wKSA9PiB7XG4gIHJldHVybiBjcmVhdGVQb3J0YWwoPEJhc2VCYWNrZHJvcCBvbkNsaWNrPXtvbkNsaWNrfSAvPiwgZG9jdW1lbnQuYm9keSk7XG59O1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQmFja2Ryb3BNYW5hZ2VyQ3R4OiBSZWFjdC5Db250ZXh0PHtcbiAgYmFja2Ryb3BwZWQ6IGJvb2xlYW47XG4gIHNldEJhY2tkcm9wcGVkOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxib29sZWFuPj47XG59PiA9IGNyZWF0ZUNvbnRleHQoe1xuICBiYWNrZHJvcHBlZDogZmFsc2UsXG4gIHNldEJhY2tkcm9wcGVkOiAoKSA9PiB7fSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQmFja2Ryb3BNYW5hZ2VyID0gKHsgY2hpbGRyZW4sIG9uQ2xpY2sgfTogSUJhY2tkcm9wTWFuYWdlcikgPT4ge1xuICBjb25zdCBbYmFja2Ryb3BwZWQsIHNldEJhY2tkcm9wcGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCB2YWx1ZSA9IHsgYmFja2Ryb3BwZWQsIHNldEJhY2tkcm9wcGVkIH07XG5cbiAgcmV0dXJuIChcbiAgICA8QmFja2Ryb3BNYW5hZ2VyQ3R4LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8QmFja2Ryb3Agb25DbGljaz17b25DbGlja30gLz5cbiAgICA8L0JhY2tkcm9wTWFuYWdlckN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUJhY2tkcm9wVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wL2JhY2tkcm9wLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCYWNrZHJvcCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUJhY2tkcm9wVGhlbWUgfT5gXG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBwb2ludGVyLWV2ZW50czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnBvaW50ZXJFdmVudHN9O1xuICB6LWluZGV4OiA4O1xuYDtcbiIsImltcG9ydCB7IFN0eWxlZEJhY2tkcm9wIH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcC9iYWNrZHJvcC5zdHlsZVwiO1xuaW1wb3J0IHsgQmFja2Ryb3BNYW5hZ2VyQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcFwiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUJhY2tkcm9wQmFzZSB9IGZyb20gXCJAL2xheW91dHMvYmFja2Ryb3AvYmFja2Ryb3AudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IEJhY2tkcm9wID0gKHsgb25DbGljayB9OiBJQmFja2Ryb3BCYXNlKSA9PiB7XG4gIGNvbnN0IHsgYmFja2Ryb3BwZWQsIHNldEJhY2tkcm9wcGVkIH0gPSB1c2VDb250ZXh0KEJhY2tkcm9wTWFuYWdlckN0eCk7XG5cbiAgY29uc3QgVGhlbWVWaXNpYmxlID0ge1xuICAgIGJhY2tncm91bmQ6IFwiIzc4N0I3ODREXCIsXG4gICAgcG9pbnRlckV2ZW50czogXCJhdXRvXCIsXG4gIH07XG5cbiAgY29uc3QgVGhlbWVIaWRkZW4gPSB7XG4gICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEJhY2tkcm9wXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgdGhlbWU9e2JhY2tkcm9wcGVkID8gVGhlbWVWaXNpYmxlIDogVGhlbWVIaWRkZW59XG4gICAgLz5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBCbHVyIGFzIEJhc2VCbHVyIH0gZnJvbSBcIkAvbGF5b3V0cy9ibHVyL2NvbXBvbmVudHMvYmx1clwiO1xuXG5leHBvcnQgY29uc3QgQmx1ciA9ICh7IGNoaWxkcmVuIH06IFByb3BzV2l0aENoaWxkcmVuKSA9PiB7XG4gIHJldHVybiA8QmFzZUJsdXIgY2hpbGRyZW49e2NoaWxkcmVufSAvPjtcbn07XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBCbHVyQ3R4OiBSZWFjdC5Db250ZXh0PHtcbiAgYmx1cnJlZDogYm9vbGVhbjtcbiAgc2V0Qmx1cnJlZDogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248Ym9vbGVhbj4+O1xufT4gPSBjcmVhdGVDb250ZXh0KHtcbiAgYmx1cnJlZDogZmFsc2UsXG4gIHNldEJsdXJyZWQ6ICgpID0+IHt9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBCbHVyTWFuYWdlciA9ICh7IGNoaWxkcmVuIH06IFByb3BzV2l0aENoaWxkcmVuKSA9PiB7XG4gIGNvbnN0IFtibHVycmVkLCBzZXRCbHVycmVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgdmFsdWUgPSB7IGJsdXJyZWQsIHNldEJsdXJyZWQgfTtcblxuICByZXR1cm4gKFxuICAgIDxCbHVyQ3R4LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICA8Qmx1cj57Y2hpbGRyZW59PC9CbHVyPlxuICAgIDwvQmx1ckN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQmx1ckN0eCB9IGZyb20gXCJAL2xheW91dHMvYmx1clwiO1xuaW1wb3J0IHsgU3R5bGVkQmx1ciB9IGZyb20gXCJAL2xheW91dHMvYmx1ci9ibHVyLnN0eWxlXCI7XG5cbmV4cG9ydCBjb25zdCBCbHVyID0gKHsgY2hpbGRyZW4gfTogUHJvcHNXaXRoQ2hpbGRyZW4pID0+IHtcbiAgY29uc3QgeyBibHVycmVkLCBzZXRCbHVycmVkIH0gPSB1c2VDb250ZXh0KEJsdXJDdHgpO1xuXG4gIGNvbnN0IFRoZW1lQmx1cnJlZCA9IHtcbiAgICBmaWx0ZXI6IFwiYmx1cigxcHgpO1wiLFxuICB9O1xuXG4gIGNvbnN0IFRoZW1lRGVmYXVsdCA9IHtcbiAgICBmaWx0ZXI6IFwibm9uZVwiLFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEJsdXIgdGhlbWU9e2JsdXJyZWQgPyBUaGVtZUJsdXJyZWQgOiBUaGVtZURlZmF1bHR9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvU3R5bGVkQmx1cj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUJhY2tkcm9wVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wL2JhY2tkcm9wLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCbHVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQmFja2Ryb3BUaGVtZSB9PmBcbiAgKiB7XG4gICAgZmlsdGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZmlsdGVyfTtcbiAgfVxuYDtcbiIsImltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi9jb2xsYXBzYWJsZS5lbnVtc1wiO1xuaW1wb3J0IHsgSUNvbGxhcHNhYmxlIH0gZnJvbSBcIkAvbGF5b3V0cy9jb2xsYXBzYWJsZS9jb2xsYXBzYWJsZS50eXBlc1wiO1xuaW1wb3J0IHsgQ29sbGFwc2FibGUgYXMgQmFzZUNvbGxhcHNhYmxlIH0gZnJvbSBcIkAvbGF5b3V0cy9jb2xsYXBzYWJsZS9jb21wb25lbnRzL2NvbGxhcHNhYmxlXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ29sbGFwc2FibGVDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IENvbGxhcHNhYmxlID0gKHtcbiAgY29udGV4dCxcbiAgY29udGVudCxcbiAgYWRkaXRpb25hbCxcbiAgd2l0aENvbnRlbnRFeHBhbmQsXG4gIHdpdGhDb250ZW50Q29sbGFwc2UsXG59OiBJQ29sbGFwc2FibGUpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzYWJsZUN0eC5Qcm92aWRlciB2YWx1ZT17Q29tcG9uZW50Q29udGV4dH0+XG4gICAgICA8QmFzZUNvbGxhcHNhYmxlXG4gICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XG4gICAgICAgIGFkZGl0aW9uYWw9e2FkZGl0aW9uYWx9XG4gICAgICAgIHdpdGhDb250ZW50RXhwYW5kPXt3aXRoQ29udGVudEV4cGFuZH1cbiAgICAgICAgd2l0aENvbnRlbnRDb2xsYXBzZT17d2l0aENvbnRlbnRDb2xsYXBzZX1cbiAgICAgIC8+XG4gICAgPC9Db2xsYXBzYWJsZUN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUNvbGxhcHNhYmxlU2Vjb25kYXJ5VGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbGxhcHNhYmxlL2NvbGxhcHNhYmxlLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb2xsYXBzYWJsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb2xsYXBzYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1zaHJpbms6IDE7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG4gIHotaW5kZXg6IDE7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29sbGFwc2FibGVBZGRpdGlvbmFsID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJQ29sbGFwc2FibGVTZWNvbmRhcnlUaGVtZTtcbn0+YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1zaHJpbms6IDE7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIHRyYW5zZm9ybTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRyYW5zZm9ybX07XG4gIG1heC13aWR0aDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1heFdpZHRofTtcbiAgei1pbmRleDogMjtcbiAgb3BhY2l0eTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm9wYWNpdHl9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbGxhcHNhYmxlRXhwYW5kQ29udGVudEFjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICBsZWZ0OiAxMHB4O1xuICB6LWluZGV4OiAzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29sbGFwc2FibGVDb2xsYXBzZUNvbnRlbnRBY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHotaW5kZXg6IDM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbmA7XG4iLCJpbXBvcnQgeyBJQ29sbGFwc2FibGVCYXNlIH0gZnJvbSBcIkAvbGF5b3V0cy9jb2xsYXBzYWJsZS9jb2xsYXBzYWJsZS50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkQ29sbGFwc2FibGUsXG4gIFN0eWxlZENvbGxhcHNhYmxlQWRkaXRpb25hbCxcbiAgU3R5bGVkQ29sbGFwc2FibGVDb2xsYXBzZUNvbnRlbnRBY3Rpb24sXG4gIFN0eWxlZENvbGxhcHNhYmxlQ29udGVudCxcbiAgU3R5bGVkQ29sbGFwc2FibGVFeHBhbmRDb250ZW50QWN0aW9uLFxufSBmcm9tIFwiQC9sYXlvdXRzL2NvbGxhcHNhYmxlL2NvbGxhcHNhYmxlLnN0eWxlXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBDb2xsYXBzYWJsZSA9ICh7XG4gIGNvbnRlbnQsXG4gIGFkZGl0aW9uYWwsXG4gIHdpdGhDb250ZW50RXhwYW5kLFxuICB3aXRoQ29udGVudENvbGxhcHNlLFxufTogSUNvbGxhcHNhYmxlQmFzZSkgPT4ge1xuICBjb25zdCBbaXNDb250ZW50RXhwYW5kZWQsIHNldENvbnRlbnRFeHBhbmRlZF0gPVxuICAgIFJlYWN0LnVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdCBkb0V4cGFuZENvbnRlbnQgPSAoKSA9PiB7XG4gICAgc2V0Q29udGVudEV4cGFuZGVkKHRydWUpO1xuICB9O1xuXG4gIGNvbnN0IGRvQ29sbGFwc2VDb250ZW50ID0gKCkgPT4ge1xuICAgIHNldENvbnRlbnRFeHBhbmRlZChmYWxzZSk7XG4gIH07XG5cbiAgY29uc3QgQ29udGVudEV4cGFuZGVkVGhlbWUgPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVgoMTAwJSk7XCIsXG4gICAgbWF4V2lkdGg6IFwiMFwiLFxuICAgIG9wYWNpdHk6IDAsXG4gIH07XG5cbiAgY29uc3QgQ29udGVudENvbGxhcHNlZFRoZW1lID0ge1xuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDAlKTtcIixcbiAgICBtYXhXaWR0aDogXCIxMDAlXCIsXG4gICAgb3BhY2l0eTogMSxcbiAgfTtcblxuICBjb25zdCBDb2xsYXBzZUNvbnRlbnQgPSB3aXRoQ29udGVudENvbGxhcHNlID8gKFxuICAgIDxTdHlsZWRDb2xsYXBzYWJsZUNvbGxhcHNlQ29udGVudEFjdGlvbiBvbkNsaWNrPXtkb0NvbGxhcHNlQ29udGVudH0+XG4gICAgICB7d2l0aENvbnRlbnRDb2xsYXBzZX1cbiAgICA8L1N0eWxlZENvbGxhcHNhYmxlQ29sbGFwc2VDb250ZW50QWN0aW9uPlxuICApIDogbnVsbDtcblxuICBjb25zdCBFeHBhbmRDb250ZW50ID0gKFxuICAgIDxTdHlsZWRDb2xsYXBzYWJsZUV4cGFuZENvbnRlbnRBY3Rpb24gb25DbGljaz17ZG9FeHBhbmRDb250ZW50fT5cbiAgICAgIHt3aXRoQ29udGVudEV4cGFuZH1cbiAgICA8L1N0eWxlZENvbGxhcHNhYmxlRXhwYW5kQ29udGVudEFjdGlvbj5cbiAgKTtcblxuICBjb25zdCBDb250ZW50ID0gKFxuICAgIDxTdHlsZWRDb2xsYXBzYWJsZUNvbnRlbnQ+e2NvbnRlbnR9PC9TdHlsZWRDb2xsYXBzYWJsZUNvbnRlbnQ+XG4gICk7XG5cbiAgY29uc3QgQWRkaXRpb25hbCA9IChcbiAgICA8U3R5bGVkQ29sbGFwc2FibGVBZGRpdGlvbmFsXG4gICAgICB0aGVtZT17aXNDb250ZW50RXhwYW5kZWQgPyBDb250ZW50RXhwYW5kZWRUaGVtZSA6IENvbnRlbnRDb2xsYXBzZWRUaGVtZX1cbiAgICA+XG4gICAgICB7aXNDb250ZW50RXhwYW5kZWQgPyBudWxsIDogRXhwYW5kQ29udGVudH1cbiAgICAgIHthZGRpdGlvbmFsfVxuICAgIDwvU3R5bGVkQ29sbGFwc2FibGVBZGRpdGlvbmFsPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbGxhcHNhYmxlPlxuICAgICAge0NvbnRlbnR9XG4gICAgICB7aXNDb250ZW50RXhwYW5kZWQgPyBDb2xsYXBzZUNvbnRlbnQgOiBudWxsfVxuICAgICAge0FkZGl0aW9uYWx9XG4gICAgPC9TdHlsZWRDb2xsYXBzYWJsZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IEJhY2tkcm9wTWFuYWdlciB9IGZyb20gXCJAL2xheW91dHMvYmFja2Ryb3BcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi9kcmF3ZXIuZW51bXNcIjtcbmltcG9ydCB7IElEcmF3ZXIsIElEcmF3ZXJNYW5hZ2VyIH0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXIvZHJhd2VyLnR5cGVzXCI7XG5pbXBvcnQgeyBEcmF3ZXIgYXMgQmFzZURyYXdlciB9IGZyb20gXCJAL2xheW91dHMvZHJhd2VyL2NvbXBvbmVudHMvZHJhd2VyXCI7XG5jb25zdCBEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPSBjcmVhdGVDb250ZXh0KERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgRHJhd2VyID0gKHsgY29udGV4dCwgY2hpbGRyZW4gfTogSURyYXdlcikgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBEZWZhdWx0O1xuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPEN0eC5Qcm92aWRlciB2YWx1ZT17Q29tcG9uZW50Q29udGV4dH0+XG4gICAgICA8QmFzZURyYXdlciBjaGlsZHJlbj17Y2hpbGRyZW59IC8+XG4gICAgPC9DdHguUHJvdmlkZXI+LFxuICAgIGRvY3VtZW50LmJvZHksXG4gICk7XG59O1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgRHJhd2VyTWFuYWdlckN0eDogUmVhY3QuQ29udGV4dDx7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHNldFZpc2libGU6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPGJvb2xlYW4+Pjtcbn0+ID0gY3JlYXRlQ29udGV4dCh7XG4gIHZpc2libGU6IGZhbHNlLFxuICBzZXRWaXNpYmxlOiAoKSA9PiB7fSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRHJhd2VyTWFuYWdlciA9ICh7IGNoaWxkcmVuLCBkcmF3ZXIgfTogSURyYXdlck1hbmFnZXIpID0+IHtcbiAgY29uc3QgW3Zpc2libGUsIHNldFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB2YWx1ZSA9IHsgdmlzaWJsZSwgc2V0VmlzaWJsZSB9O1xuXG4gIHJldHVybiAoXG4gICAgPERyYXdlck1hbmFnZXJDdHguUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIDxCYWNrZHJvcE1hbmFnZXIgb25DbGljaz17KCkgPT4gc2V0VmlzaWJsZShmYWxzZSl9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDxEcmF3ZXI+e2RyYXdlcn08L0RyYXdlcj5cbiAgICAgIDwvQmFja2Ryb3BNYW5hZ2VyPlxuICAgIDwvRHJhd2VyTWFuYWdlckN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBCYWNrZHJvcE1hbmFnZXJDdHggfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wXCI7XG5pbXBvcnQgeyBCbHVyQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9ibHVyXCI7XG5pbXBvcnQgeyBJRHJhd2VyQmFzZSB9IGZyb20gXCJAL2xheW91dHMvZHJhd2VyL2RyYXdlci50eXBlc1wiO1xuaW1wb3J0IHsgRHJhd2VyTWFuYWdlckN0eCB9IGZyb20gXCJAL2xheW91dHMvZHJhd2VyXCI7XG5pbXBvcnQge1xuICBTdHlsZWREcmF3ZXIsXG4gIFN0eWxlZERyYXdlckNvbnRlbnQsXG4gIFN0eWxlZERyYXdlckhlYWRlcixcbn0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXIvZHJhd2VyLnN0eWxlXCI7XG5cbmV4cG9ydCBjb25zdCBEcmF3ZXIgPSAoeyBjaGlsZHJlbiB9OiBJRHJhd2VyQmFzZSkgPT4ge1xuICBjb25zdCB7IHZpc2libGUsIHNldFZpc2libGUgfSA9IHVzZUNvbnRleHQoRHJhd2VyTWFuYWdlckN0eCk7XG4gIGNvbnN0IHsgc2V0QmFja2Ryb3BwZWQgfSA9IHVzZUNvbnRleHQoQmFja2Ryb3BNYW5hZ2VyQ3R4KTtcbiAgY29uc3QgeyBzZXRCbHVycmVkIH0gPSB1c2VDb250ZXh0KEJsdXJDdHgpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZpc2libGUpIHtcbiAgICAgIHNldEJsdXJyZWQodHJ1ZSk7XG4gICAgICBzZXRCYWNrZHJvcHBlZCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0Qmx1cnJlZChmYWxzZSk7XG4gICAgICBzZXRCYWNrZHJvcHBlZChmYWxzZSk7XG4gICAgfVxuICB9LCBbdmlzaWJsZV0pO1xuXG4gIGNvbnN0IFRoZW1lVmlzaWJsZSA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgwKTtcIixcbiAgICBtYXhXaWR0aDogXCIxMDAlXCIsXG4gIH07XG5cbiAgY29uc3QgVGhlbWVIaWRkZW4gPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVgoMTAwdmgpO1wiLFxuICAgIG1heFdpZHRoOiBcIjBcIixcbiAgfTtcblxuICBjb25zdCBjbG9zZURyYXdlciA9ICgpID0+IHtcbiAgICBzZXRWaXNpYmxlKGZhbHNlKTtcbiAgICBzZXRCYWNrZHJvcHBlZChmYWxzZSk7XG4gICAgc2V0Qmx1cnJlZChmYWxzZSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRHJhd2VyIHRoZW1lPXt2aXNpYmxlID8gVGhlbWVWaXNpYmxlIDogVGhlbWVIaWRkZW59PlxuICAgICAgPFN0eWxlZERyYXdlckhlYWRlcj5cbiAgICAgICAgPGRpdiBvbkNsaWNrPXtjbG9zZURyYXdlcn0+Q2xvc2U8L2Rpdj5cbiAgICAgIDwvU3R5bGVkRHJhd2VySGVhZGVyPlxuICAgICAgPFN0eWxlZERyYXdlckNvbnRlbnQ+e2NoaWxkcmVufTwvU3R5bGVkRHJhd2VyQ29udGVudD5cbiAgICA8L1N0eWxlZERyYXdlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSU92ZXJsYXlUaGVtZSB9IGZyb20gXCJAL2xheW91dHMvb3ZlcmxheS9vdmVybGF5LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREcmF3ZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElPdmVybGF5VGhlbWUgfT5gXG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiA4NXZ3O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6ICNmZmZkZjg7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHMgZWFzZTtcbiAgdHJhbnNmb3JtOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudHJhbnNmb3JtfTtcbiAgbWF4LXdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUubWF4V2lkdGh9O1xuICBib3gtc2hhZG93OlxuICAgIDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksXG4gICAgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgei1pbmRleDogOTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB3aGl0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREcmF3ZXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAjZmJmOWY1O1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREcmF3ZXJDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbWluLWhlaWdodDogMTAwJTtcbmA7XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IHsgQmFja2Ryb3BNYW5hZ2VyIH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcFwiO1xuaW1wb3J0IHsgSU1vZGFsLCBJTW9kYWxNYW5hZ2VyIH0gZnJvbSBcIkAvbGF5b3V0cy9tb2RhbC9tb2RhbC50eXBlc1wiO1xuaW1wb3J0IHsgTW9kYWwgYXMgQmFzZU1vZGFsIH0gZnJvbSBcIkAvbGF5b3V0cy9tb2RhbC9jb21wb25lbnRzL21vZGFsXCI7XG5cbmV4cG9ydCBjb25zdCBNb2RhbCA9ICh7IGNoaWxkcmVuIH06IElNb2RhbCkgPT4ge1xuICByZXR1cm4gY3JlYXRlUG9ydGFsKDxCYXNlTW9kYWwgY2hpbGRyZW49e2NoaWxkcmVufSAvPiwgZG9jdW1lbnQuYm9keSk7XG59O1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgTW9kYWxNYW5hZ2VyQ3R4OiBSZWFjdC5Db250ZXh0PHtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgc2V0VmlzaWJsZTogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248Ym9vbGVhbj4+O1xufT4gPSBjcmVhdGVDb250ZXh0KHtcbiAgdmlzaWJsZTogZmFsc2UsXG4gIHNldFZpc2libGU6ICgpID0+IHt9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBNb2RhbE1hbmFnZXIgPSAoeyBjaGlsZHJlbiwgbW9kYWwgfTogSU1vZGFsTWFuYWdlcikgPT4ge1xuICBjb25zdCBbdmlzaWJsZSwgc2V0VmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHZhbHVlID0geyB2aXNpYmxlLCBzZXRWaXNpYmxlIH07XG5cbiAgcmV0dXJuIChcbiAgICA8TW9kYWxNYW5hZ2VyQ3R4LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICA8QmFja2Ryb3BNYW5hZ2VyIG9uQ2xpY2s9eygpID0+IHNldFZpc2libGUoZmFsc2UpfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8TW9kYWw+e21vZGFsfTwvTW9kYWw+XG4gICAgICA8L0JhY2tkcm9wTWFuYWdlcj5cbiAgICA8L01vZGFsTWFuYWdlckN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRPdmVybGF5LFxuICBTdHlsZWRPdmVybGF5Q29udGVudCxcbiAgU3R5bGVkT3ZlcmxheUhlYWRlcixcbiAgU3R5bGVkT3ZlcmxheUhlYWRlckFyZWEsXG4gIFN0eWxlZE92ZXJsYXlIZWFkZXJDbG9zZSxcbn0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkuc3R5bGVcIjtcbmltcG9ydCB7IE92ZXJsYXlNYW5hZ2VyQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5XCI7XG5pbXBvcnQgeyBJT3ZlcmxheUJhc2UgfSBmcm9tIFwiQC9sYXlvdXRzL292ZXJsYXkvb3ZlcmxheS50eXBlc1wiO1xuaW1wb3J0IHsgQmFja2Ryb3BNYW5hZ2VyQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcFwiO1xuaW1wb3J0IHsgQmx1ckN0eCB9IGZyb20gXCJAL2xheW91dHMvYmx1clwiO1xuaW1wb3J0IHsgSU1vZGFsQmFzZSB9IGZyb20gXCJAL2xheW91dHMvbW9kYWwvbW9kYWwudHlwZXNcIjtcbmltcG9ydCB7IE1vZGFsTWFuYWdlckN0eCB9IGZyb20gXCJAL2xheW91dHMvbW9kYWxcIjtcbmltcG9ydCB7XG4gIFN0eWxlZE1vZGFsLFxuICBTdHlsZWRNb2RhbENvbnRlbnQsXG4gIFN0eWxlZE1vZGFsSGVhZGVyLFxuICBTdHlsZWRNb2RhbEhlYWRlckNsb3NlLFxufSBmcm9tIFwiQC9sYXlvdXRzL21vZGFsL21vZGFsLnN0eWxlXCI7XG5pbXBvcnQgeyBDbGlja0F3YXkgfSBmcm9tIFwiQC91dGlscy9jbGlja2F3YXlcIjtcblxuZXhwb3J0IGNvbnN0IE1vZGFsID0gKHsgY2hpbGRyZW4gfTogSU1vZGFsQmFzZSkgPT4ge1xuICBjb25zdCB7IHZpc2libGUsIHNldFZpc2libGUgfSA9IHVzZUNvbnRleHQoTW9kYWxNYW5hZ2VyQ3R4KTtcbiAgY29uc3QgeyBzZXRCYWNrZHJvcHBlZCB9ID0gdXNlQ29udGV4dChCYWNrZHJvcE1hbmFnZXJDdHgpO1xuICBjb25zdCB7IHNldEJsdXJyZWQgfSA9IHVzZUNvbnRleHQoQmx1ckN0eCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmlzaWJsZSkge1xuICAgICAgc2V0Qmx1cnJlZCh0cnVlKTtcbiAgICAgIHNldEJhY2tkcm9wcGVkKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRCbHVycmVkKGZhbHNlKTtcbiAgICAgIHNldEJhY2tkcm9wcGVkKGZhbHNlKTtcbiAgICB9XG4gIH0sIFt2aXNpYmxlXSk7XG5cbiAgY29uc3QgVGhlbWVWaXNpYmxlID0ge1xuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XCIsXG4gICAgbWF4SGVpZ2h0OiBcIjEwMCVcIixcbiAgfTtcblxuICBjb25zdCBUaGVtZUhpZGRlbiA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgxMDB2aCkgdHJhbnNsYXRlWCgtNTAlKTtcIixcbiAgICBtYXhIZWlnaHQ6IFwiMFwiLFxuICB9O1xuXG4gIGNvbnN0IGNsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgc2V0VmlzaWJsZShmYWxzZSk7XG4gICAgc2V0QmFja2Ryb3BwZWQoZmFsc2UpO1xuICAgIHNldEJsdXJyZWQoZmFsc2UpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZE1vZGFsIHRoZW1lPXt2aXNpYmxlID8gVGhlbWVWaXNpYmxlIDogVGhlbWVIaWRkZW59PlxuICAgICAgPFN0eWxlZE1vZGFsSGVhZGVyPlxuICAgICAgICA8U3R5bGVkTW9kYWxIZWFkZXJDbG9zZSBvbkNsaWNrPXtjbG9zZU1vZGFsfT5cbiAgICAgICAgICBDbG9zZVxuICAgICAgICA8L1N0eWxlZE1vZGFsSGVhZGVyQ2xvc2U+XG4gICAgICA8L1N0eWxlZE1vZGFsSGVhZGVyPlxuICAgICAgPFN0eWxlZE1vZGFsQ29udGVudD57Y2hpbGRyZW59PC9TdHlsZWRNb2RhbENvbnRlbnQ+XG4gICAgPC9TdHlsZWRNb2RhbD5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSU1vZGFsVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL21vZGFsL21vZGFsLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSU1vZGFsVGhlbWUgfT5gXG4gIGhlaWdodDogNTB2aDtcbiAgd2lkdGg6IDUwdnc7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudHJhbnNmb3JtfTtcbiAgbWF4LWhlaWdodDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1heEhlaWdodH07XG4gIGJhY2tncm91bmQ6ICNmZmZkZjg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuMSksXG4gICAgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgei1pbmRleDogOTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZDogI2Y2ZjJlOTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtaW4taGVpZ2h0OiA1MnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsSGVhZGVyQ2xvc2UgPSBzdHlsZWQuZGl2YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbENvbnRlbnQgPSBzdHlsZWQuZGl2YGA7XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IE92ZXJsYXkgYXMgQmFzZU92ZXJsYXkgfSBmcm9tIFwiQC9sYXlvdXRzL292ZXJsYXkvY29tcG9uZW50cy9vdmVybGF5XCI7XG5pbXBvcnQgeyBJT3ZlcmxheSwgSU92ZXJsYXlNYW5hZ2VyIH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkudHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi9vdmVybGF5LmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBCYWNrZHJvcE1hbmFnZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9IGNyZWF0ZUNvbnRleHQoRGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBPdmVybGF5ID0gKHsgY29udGV4dCwgY2hpbGRyZW4sIGhlYWRlciwgY2xvc2UgfTogSU92ZXJsYXkpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxDdHguUHJvdmlkZXIgdmFsdWU9e0NvbXBvbmVudENvbnRleHR9PlxuICAgICAgPEJhc2VPdmVybGF5IGNoaWxkcmVuPXtjaGlsZHJlbn0gaGVhZGVyPXtoZWFkZXJ9IGNsb3NlPXtjbG9zZX0gLz5cbiAgICA8L0N0eC5Qcm92aWRlcj4sXG4gICAgZG9jdW1lbnQuYm9keSxcbiAgKTtcbn07XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBPdmVybGF5TWFuYWdlckN0eDogUmVhY3QuQ29udGV4dDx7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHNldFZpc2libGU6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPGJvb2xlYW4+Pjtcbn0+ID0gY3JlYXRlQ29udGV4dCh7XG4gIHZpc2libGU6IGZhbHNlLFxuICBzZXRWaXNpYmxlOiAoKSA9PiB7fSxcbn0pO1xuXG5leHBvcnQgY29uc3QgT3ZlcmxheU1hbmFnZXIgPSAoe1xuICBjaGlsZHJlbixcbiAgb3ZlcmxheSxcbiAgaGVhZGVyLFxuICBjbG9zZSxcbn06IElPdmVybGF5TWFuYWdlcikgPT4ge1xuICBjb25zdCBbdmlzaWJsZSwgc2V0VmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgdmFsdWUgPSB7IHZpc2libGUsIHNldFZpc2libGUgfTtcblxuICByZXR1cm4gKFxuICAgIDxPdmVybGF5TWFuYWdlckN0eC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PlxuICAgICAgPEJhY2tkcm9wTWFuYWdlcj5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8T3ZlcmxheSBoZWFkZXI9e2hlYWRlcn0gY2xvc2U9e2Nsb3NlfT5cbiAgICAgICAgICB7b3ZlcmxheX1cbiAgICAgICAgPC9PdmVybGF5PlxuICAgICAgPC9CYWNrZHJvcE1hbmFnZXI+XG4gICAgPC9PdmVybGF5TWFuYWdlckN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRPdmVybGF5LFxuICBTdHlsZWRPdmVybGF5Q29udGVudCxcbiAgU3R5bGVkT3ZlcmxheUhlYWRlcixcbiAgU3R5bGVkT3ZlcmxheUhlYWRlckFyZWEsXG4gIFN0eWxlZE92ZXJsYXlIZWFkZXJDbG9zZSxcbn0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkuc3R5bGVcIjtcbmltcG9ydCB7IE92ZXJsYXlNYW5hZ2VyQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5XCI7XG5pbXBvcnQgeyBJT3ZlcmxheUJhc2UgfSBmcm9tIFwiQC9sYXlvdXRzL292ZXJsYXkvb3ZlcmxheS50eXBlc1wiO1xuaW1wb3J0IHsgQmFja2Ryb3BNYW5hZ2VyQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcFwiO1xuaW1wb3J0IHsgQmx1ckN0eCB9IGZyb20gXCJAL2xheW91dHMvYmx1clwiO1xuXG5leHBvcnQgY29uc3QgT3ZlcmxheSA9ICh7IGNoaWxkcmVuLCBoZWFkZXIsIGNsb3NlIH06IElPdmVybGF5QmFzZSkgPT4ge1xuICBjb25zdCB7IHZpc2libGUsIHNldFZpc2libGUgfSA9IHVzZUNvbnRleHQoT3ZlcmxheU1hbmFnZXJDdHgpO1xuICBjb25zdCB7IHNldEJhY2tkcm9wcGVkIH0gPSB1c2VDb250ZXh0KEJhY2tkcm9wTWFuYWdlckN0eCk7XG4gIGNvbnN0IHsgc2V0Qmx1cnJlZCB9ID0gdXNlQ29udGV4dChCbHVyQ3R4KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICBzZXRCbHVycmVkKHRydWUpO1xuICAgICAgc2V0QmFja2Ryb3BwZWQodHJ1ZSk7XG4gICAgfVxuICB9LCBbdmlzaWJsZV0pO1xuXG4gIGNvbnN0IFRoZW1lVmlzaWJsZSA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgzcHgpO1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG4gIH07XG5cbiAgY29uc3QgVGhlbWVIaWRkZW4gPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoMTAwdmgpO1wiLFxuICAgIG1heEhlaWdodDogXCIwXCIsXG4gIH07XG5cbiAgY29uc3QgY2xvc2VPdmVybGF5ID0gKCkgPT4ge1xuICAgIHNldFZpc2libGUoZmFsc2UpO1xuICAgIHNldEJhY2tkcm9wcGVkKGZhbHNlKTtcbiAgICBzZXRCbHVycmVkKGZhbHNlKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRPdmVybGF5IHRoZW1lPXt2aXNpYmxlID8gVGhlbWVWaXNpYmxlIDogVGhlbWVIaWRkZW59PlxuICAgICAgPFN0eWxlZE92ZXJsYXlIZWFkZXI+XG4gICAgICAgIDxTdHlsZWRPdmVybGF5SGVhZGVyQXJlYT57aGVhZGVyfTwvU3R5bGVkT3ZlcmxheUhlYWRlckFyZWE+XG4gICAgICAgIDxTdHlsZWRPdmVybGF5SGVhZGVyQ2xvc2Ugb25DbGljaz17Y2xvc2VPdmVybGF5fT5cbiAgICAgICAgICB7Y2xvc2V9XG4gICAgICAgIDwvU3R5bGVkT3ZlcmxheUhlYWRlckNsb3NlPlxuICAgICAgPC9TdHlsZWRPdmVybGF5SGVhZGVyPlxuICAgICAgPFN0eWxlZE92ZXJsYXlDb250ZW50Pnt2aXNpYmxlID8gY2hpbGRyZW4gOiA8PjwvPn08L1N0eWxlZE92ZXJsYXlDb250ZW50PlxuICAgIDwvU3R5bGVkT3ZlcmxheT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSU92ZXJsYXlUaGVtZSB9IGZyb20gXCJAL2xheW91dHMvb3ZlcmxheS9vdmVybGF5LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRPdmVybGF5ID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJT3ZlcmxheVRoZW1lIH0+YFxuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogI2ZmZmRmODtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIHRyYW5zZm9ybTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRyYW5zZm9ybX07XG4gIG1heC1oZWlnaHQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXhIZWlnaHR9O1xuICBib3gtc2hhZG93OlxuICAgIDAgLTFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLFxuICAgIDAgLTFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xuICB6LWluZGV4OiA5O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgd2hpdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkT3ZlcmxheUhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICNmNmYyZTk7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBwYWRkaW5nOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkT3ZlcmxheUhlYWRlckFyZWEgPSBzdHlsZWQuZGl2YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRPdmVybGF5SGVhZGVyQ2xvc2UgPSBzdHlsZWQuZGl2YFxuICBjdXJzb3I6IHBvaW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkT3ZlcmxheUNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAjZmZmZGY4O1xuYDtcbiIsImltcG9ydCBSZWFjdCwgeyBSZWFjdEVsZW1lbnQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEFQSVByb3ZpZGVyIH0gZnJvbSBcIkB2aXMuZ2wvcmVhY3QtZ29vZ2xlLW1hcHNcIjtcbmltcG9ydCB7IElHb29nbGVBcGlDb21wb25lbnQgfSBmcm9tIFwiQC91dGlscy9nb29nbGVfYXBpX2NvbXBvbmVudC9nb29nbGVfYXBpX2NvbXBvbmVudC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgR29vZ2xlQVBJQ29tcG9uZW50ID0gKHtcbiAgY2hpbGRyZW4sXG4gIGFwaUtleSxcbiAgb25Mb2FkLFxufTogSUdvb2dsZUFwaUNvbXBvbmVudCk6IFJlYWN0RWxlbWVudCA9PiB7XG4gIHJldHVybiAoXG4gICAgPEFQSVByb3ZpZGVyIGFwaUtleT17YXBpS2V5fSBvbkxvYWQ9e29uTG9hZH0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9BUElQcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgUHJvcHNXaXRoQ2hpbGRyZW4sXG4gIHVzZUVmZmVjdCxcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlTWFwc0xpYnJhcnkgfSBmcm9tIFwiQHZpcy5nbC9yZWFjdC1nb29nbGUtbWFwc1wiO1xuXG5jb25zdCBEZWZhdWx0ID0gbnVsbDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEdvb2dsZUFwaVNlcnZpY2VDdHg6IFJlYWN0LkNvbnRleHQ8Z29vZ2xlLm1hcHMuRGlyZWN0aW9uc1NlcnZpY2UgfCBudWxsPiA9XG4gIGNyZWF0ZUNvbnRleHQoRGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBHb29nbGVBcGlTZXJ2aWNlRGlyZWN0aW9ucyA9ICh7IGNoaWxkcmVuIH06IFByb3BzV2l0aENoaWxkcmVuKSA9PiB7XG4gIGNvbnN0IFtzZXJ2aWNlLCBzZXRTZXJ2aWNlXSA9IHVzZVN0YXRlPGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNTZXJ2aWNlIHwgbnVsbD4oXG4gICAgbnVsbCxcbiAgKTtcbiAgY29uc3Qgcm91dGVzTGlicmFyeSA9IHVzZU1hcHNMaWJyYXJ5KFwicm91dGVzXCIpO1xuXG4gIC8vIEluaXRpYWxpemUgZGlyZWN0aW9uIHNlcnZpY2UgYW5kIHJlbmRlcmVyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFyb3V0ZXNMaWJyYXJ5KSByZXR1cm47XG4gICAgc2V0U2VydmljZShuZXcgcm91dGVzTGlicmFyeS5EaXJlY3Rpb25zU2VydmljZSgpKTtcbiAgfSwgW3JvdXRlc0xpYnJhcnldKTtcblxuICByZXR1cm4gKFxuICAgIDxHb29nbGVBcGlTZXJ2aWNlQ3R4LlByb3ZpZGVyIHZhbHVlPXtzZXJ2aWNlfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0dvb2dsZUFwaVNlcnZpY2VDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiLyoqIEFkZCBhbGwgY29tcG9uZW50cyB5b3Ugd2FudCB0byBleHBvcnQgaGVyZSAqKi9cblxuLy8gQmFkZ2VcbmV4cG9ydCB7IEJhZGdlLCBCYWRnZUNvbnRleHQsIEJhZGdlVHlwZSB9IGZyb20gXCIuL2F0b21zL2JhZGdlXCI7XG5leHBvcnQgdHlwZSB7IElCYWRnZSB9IGZyb20gXCIuL2F0b21zL2JhZGdlXCI7XG5cbmV4cG9ydCB7IEJyYW5kIH0gZnJvbSBcIi4vYXRvbXMvYnJhbmRcIjtcbmV4cG9ydCB7IEJ1dHRvbiB9IGZyb20gXCIuL2F0b21zL2J1dHRvblwiO1xuZXhwb3J0IHsgQ2hlY2tib3ggfSBmcm9tIFwiLi9hdG9tcy9jaGVja2JveFwiO1xuZXhwb3J0IHsgQ2hvaWNlIH0gZnJvbSBcIi4vYXRvbXMvY2hvaWNlXCI7XG5leHBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vYXRvbXMvZmVhdHVyZVwiO1xuZXhwb3J0IHsgRnJhbWUgfSBmcm9tIFwiLi9hdG9tcy9mcmFtZVwiO1xuZXhwb3J0IHsgSGVhZGluZyB9IGZyb20gXCIuL2F0b21zL2hlYWRpbmdcIjtcbmV4cG9ydCB7IEluZm9ybWF0aW9uIH0gZnJvbSBcIi4vYXRvbXMvaW5mb3JtYXRpb25cIjtcbmV4cG9ydCB7IElucHV0IH0gZnJvbSBcIi4vYXRvbXMvaW5wdXRcIjtcbmV4cG9ydCB7IExpbmsgfSBmcm9tIFwiLi9hdG9tcy9saW5rXCI7XG5leHBvcnQgeyBMaXN0IH0gZnJvbSBcIi4vYXRvbXMvbGlzdFwiO1xuZXhwb3J0IHsgTG9nbyB9IGZyb20gXCIuL2F0b21zL2xvZ29cIjtcbmV4cG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gXCIuL2F0b21zL25vdGlmaWNhdGlvblwiO1xuZXhwb3J0IHsgUGljayB9IGZyb20gXCIuL2F0b21zL3BpY2tcIjtcbmV4cG9ydCB7IFBpbGwgfSBmcm9tIFwiLi9hdG9tcy9waWxsXCI7XG5leHBvcnQgeyBQaW4gfSBmcm9tIFwiLi9hdG9tcy9waW5cIjtcbmV4cG9ydCB7IFBsYWluVGV4dCB9IGZyb20gXCIuL2F0b21zL3BsYWludGV4dFwiO1xuZXhwb3J0IHsgUmFkaW8gfSBmcm9tIFwiLi9hdG9tcy9yYWRpb1wiO1xuZXhwb3J0IHsgUmVjb3JkIH0gZnJvbSBcIi4vYXRvbXMvcmVjb3JkXCI7XG5leHBvcnQgeyBTdGF0dXMsIFN0YXR1c0NvbXBhY3QgfSBmcm9tIFwiLi9hdG9tcy9zdGF0dXNcIjtcbmV4cG9ydCB7IFRlcm0gfSBmcm9tIFwiLi9hdG9tcy90ZXJtXCI7XG5leHBvcnQgeyBUZXJtaW5hbCB9IGZyb20gXCIuL2F0b21zL3Rlcm1pbmFsXCI7XG5leHBvcnQgeyBZZXNObyB9IGZyb20gXCIuL2F0b21zL3llc19ub1wiO1xuXG5leHBvcnQgeyBEZXRhaWxzIH0gZnJvbSBcIi4vbW9sZWN1bGVzL2RldGFpbHNcIjtcbmV4cG9ydCB7IEZhcSB9IGZyb20gXCIuL21vbGVjdWxlcy9mYXFcIjtcbmV4cG9ydCB7IEZlYXR1cmVzIH0gZnJvbSBcIi4vbW9sZWN1bGVzL2ZlYXR1cmVzXCI7XG5leHBvcnQgeyBQcm9maWxlTmF2aWdhdGlvbiB9IGZyb20gXCIuL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb25cIjtcbmV4cG9ydCB7IFJlY29yZHMgfSBmcm9tIFwiLi9tb2xlY3VsZXMvcmVjb3Jkc1wiO1xuZXhwb3J0IHsgU3RhdHVzTGlzdCB9IGZyb20gXCIuL21vbGVjdWxlcy9zdGF0dXNfbGlzdFwiO1xuXG5leHBvcnQgeyBNYXAgfSBmcm9tIFwiLi9vcmdhbmlzbXMvbWFwXCI7XG5cbmV4cG9ydCB7XG4gIEJhY2tkcm9wLFxuICBCYWNrZHJvcE1hbmFnZXIsXG4gIEJhY2tkcm9wTWFuYWdlckN0eCxcbn0gZnJvbSBcIi4vbGF5b3V0cy9iYWNrZHJvcFwiO1xuZXhwb3J0IHsgQmx1ciwgQmx1ck1hbmFnZXIsIEJsdXJDdHggfSBmcm9tIFwiLi9sYXlvdXRzL2JsdXJcIjtcbmV4cG9ydCB7IENvbGxhcHNhYmxlIH0gZnJvbSBcIi4vbGF5b3V0cy9jb2xsYXBzYWJsZVwiO1xuZXhwb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4vbGF5b3V0cy9jb250YWluZXJcIjtcbmV4cG9ydCB7IERyYXdlciwgRHJhd2VyTWFuYWdlciwgRHJhd2VyTWFuYWdlckN0eCB9IGZyb20gXCIuL2xheW91dHMvZHJhd2VyXCI7XG5leHBvcnQgeyBHcmlkIH0gZnJvbSBcIi4vbGF5b3V0cy9ncmlkXCI7XG5leHBvcnQgeyBNb2RhbCwgTW9kYWxNYW5hZ2VyLCBNb2RhbE1hbmFnZXJDdHggfSBmcm9tIFwiLi9sYXlvdXRzL21vZGFsXCI7XG5leHBvcnQgeyBPdmVybGF5LCBPdmVybGF5TWFuYWdlciwgT3ZlcmxheU1hbmFnZXJDdHggfSBmcm9tIFwiLi9sYXlvdXRzL292ZXJsYXlcIjtcblxuZXhwb3J0IHsgSWNvbiB9IGZyb20gXCIuL3VpL2ljb25cIjtcbmV4cG9ydCB7IEZpZ3VyZSB9IGZyb20gXCIuL3VpL2ZpZ3VyZVwiO1xuXG5leHBvcnQgeyBHb29nbGVBUElDb21wb25lbnQgfSBmcm9tIFwiLi91dGlscy9nb29nbGVfYXBpX2NvbXBvbmVudFwiO1xuZXhwb3J0IHsgR29vZ2xlQXBpU2VydmljZURpcmVjdGlvbnMgfSBmcm9tIFwiLi91dGlscy9nb29nbGVfbWFwcy9kaXJlY3Rpb25zXCI7XG5cbi8qKiBSZS1leHBvcnQgaXRlbXMgZnJvbSBUYWNreSBzbyB1c2VyIG9mIHRoZSBjb21wb25lbnQgbGlicmFyeSBhcmUgbm90IGRpcmVjdGx5IHRpZWQgdG8gVGFja3kgKiovXG5leHBvcnQgdHlwZSB7IFRoZW1lSSB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuZXhwb3J0IHsgQnVpbGRQcm92aWRlcnNUcmVlIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcblxuZXhwb3J0IHtcbiAgVGhlbWVDdHgsXG4gIFRoZW1lTW9kZSxcbiAgU3R5bGVQcm92aWRlckFuaW1hdGlvbixcbiAgU3R5bGVQcm92aWRlckZvbnRGYWNlLFxuICBTdHlsZVByb3ZpZGVyUHJlRmxpZ2h0LFxuICBTdHlsZVByb3ZpZGVyUm91dGVyLFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbiJdfQ==
1649
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9iYWRnZS9jb21wb25lbnRzL2JhZGdlLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvaW5kZXgudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5hbGVydC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzLnRzeCIsIi4uL3NyYy9iYXNlL3NyZWVuX3JlYWRlcl9vbmx5L3NjcmVlbl9yZWFkZXJfb25seS5zdHlsZXMudHN4IiwiLi4vc3JjL2Jhc2Uvc3JlZW5fcmVhZGVyX29ubHkvc2NyZWVuX3JlYWRlcl9vbmx5LnRzeCIsIi4uL3NyYy91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmUudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lLnRzIiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5iaW4uc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuY2FsZW5kYXIuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuY2hlY2suc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuY2hpbGQuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuY29pbnMuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuZmFjZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5mYW1pbHkuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuZmF2b3JpdGUuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuZm9sZGVyLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmZvbGxvd3VwLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmlkZWEuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUubGlrZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5tYXAuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUubW9uZXkuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUub2ZmZXIuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUucGFzc3BvcnQuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUucGFzc3dvcmQuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUucGluLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLnNlYXJjaC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5zZXR0aW5nLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLnN0YXIuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuYWRkLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmFwcGxpY2F0aW9uLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmJhYnkuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuYm9va21hcmsuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuY2FuY2VsLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmNvbnZlcnNhdGlvbi5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5kYWQuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuZGF0ZXRpbWUuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuaG9tZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5pbmZvcm1hdGlvbi5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5tb20uc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUubWFpbC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5uby5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5maWxlLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLnllcy5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5ub3RlLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmZlbmNlLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmJ1aWxkaW5nLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL2ZpZ3VyZS5sb2FkZXIudHN4IiwiLi4vc3JjL2F0b21zL2ZyYW1lL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9mcmFtZS9jb21wb25lbnRzL2ZyYW1lLnRzeCIsIi4uL3NyYy9hdG9tcy9mcmFtZS9ob29rcy91c2UtZnJhbWUudHMiLCIuLi9zcmMvYXRvbXMvZnJhbWUvZnJhbWUuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIudHN4IiwiLi4vc3JjL2F0b21zL2JhZGdlL2JhZGdlLmVudW1zLnRzIiwiLi4vc3JjL2F0b21zL2JhZGdlL2JhZGdlLmNvbnRleHQudHN4IiwiLi4vc3JjL2F0b21zL2JhZGdlL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9icmFuZC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvYnJhbmQvY29tcG9uZW50cy9icmFuZC50c3giLCIuLi9zcmMvYXRvbXMvYnJhbmQvYnJhbmQuc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9wbGFpbnRleHQvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL3BsYWludGV4dC9jb21wb25lbnRzL3BsYWludGV4dC50c3giLCIuLi9zcmMvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC5zdHlsZXMudHN4IiwiLi4vc3JjL2F0b21zL3BsYWludGV4dC9ob29rcy91c2UtcGxhaW50ZXh0LnRzIiwiLi4vc3JjL2F0b21zL2J1dHRvbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvYnV0dG9uL2NvbXBvbmVudHMvYnV0dG9uLmljb24udHN4IiwiLi4vc3JjL2F0b21zL2J1dHRvbi9ob29rcy91c2UtYnV0dG9uLmljb24udHMiLCIuLi9zcmMvYXRvbXMvYnV0dG9uL2J1dHRvbi5zdHlsZS50c3giLCIuLi9zcmMvYmFzZS9idXR0b24vYnV0dG9uLnN0eWxlcy50c3giLCIuLi9zcmMvYXRvbXMvYnV0dG9uL2NvbXBvbmVudHMvYnV0dG9uLmxhYmVsLnRzeCIsIi4uL3NyYy9hdG9tcy9idXR0b24vY29tcG9uZW50cy9idXR0b24udHN4IiwiLi4vc3JjL2F0b21zL2J1dHRvbi9ob29rcy91c2UtYnV0dG9uLnRzIiwiLi4vc3JjL2F0b21zL2NoZWNrYm94L2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9jaGVja2JveC9jb21wb25lbnRzL2NoZWNrYm94LnRzeCIsIi4uL3NyYy9hdG9tcy9jaGVja2JveC9jaGVja2JveC5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvY2hlY2tib3gvaG9va3MvdXNlLWNoZWNrYm94LnRzIiwiLi4vc3JjL3VpL2ljb24vaW5kZXgudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmFkZC5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vaWNvbi5zdHlsZXMudHN4IiwiLi4vc3JjL3VpL2ljb24vY29tcG9uZW50cy9pY29uLnRzeCIsIi4uL3NyYy91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lLnRzIiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmFycm93LWxlZnQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5hcnJvdy1yaWdodC5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmJhYnkuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jYW5jZWwuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jaGVjay5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmNoZXZyb24tZG93bi5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmNoZXZyb24tdXAuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5kaXN0YW5jZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmRvY3VtZW50LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uZWRpdC5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmV1cm8uc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5mYXZvcml0ZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLm1hcC5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLm1lbnUuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5waW4uc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5wcm9maWxlLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24ucmVkby5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLnNlbmQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi50cmFuc2xhdGlvbi5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmNvbW1lbnQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5pbi1wcm9jZXNzLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24ubWludXMuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jb2xsYXBzZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmNoZXZyb24tcmlnaHQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jaGV2cm9uLWxlZnQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL2ljb24ubG9hZGVyLnRzeCIsIi4uL3NyYy9hdG9tcy9jaG9pY2UvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2Nob2ljZS9jb21wb25lbnRzL2Nob2ljZS50c3giLCIuLi9zcmMvYXRvbXMvY2hvaWNlL2hvb2tzL3VzZS1jaG9pY2UudHN4IiwiLi4vc3JjL2F0b21zL2Nob2ljZS9jaG9pY2Uuc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvY29tcG9uZW50cy9mZWF0dXJlLnRzeCIsIi4uL3NyYy9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUuc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvaG9va3MvdXNlLWZlYXR1cmUudHMiLCIuLi9zcmMvYXRvbXMvZmVhdHVyZS9jb21wb25lbnRzL2ZlYXR1cmUubGFiZWwudHN4IiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvY29tcG9uZW50cy9mZWF0dXJlLmljb24udHN4IiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvaG9va3MvdXNlLWZlYXR1cmUtaWNvbi50cyIsIi4uL3NyYy9hdG9tcy9oZWFkaW5nL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9oZWFkaW5nL2NvbXBvbmVudHMvaGVhZGluZy50c3giLCIuLi9zcmMvYXRvbXMvaGVhZGluZy9oZWFkaW5nLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9pbmZvcm1hdGlvbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvaW5mb3JtYXRpb24vY29tcG9uZW50cy9pbmZvcm1hdGlvbi50c3giLCIuLi9zcmMvYXRvbXMvaW5mb3JtYXRpb24vaG9va3MvdXNlLWluZm9ybWF0aW9uLnRzIiwiLi4vc3JjL2F0b21zL2luZm9ybWF0aW9uL2luZm9ybWF0aW9uLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9pbnB1dC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvaW5wdXQvY29tcG9uZW50cy9pbnB1dC50c3giLCIuLi9zcmMvYXRvbXMvaW5wdXQvaG9va3MvdXNlLWlucHV0LnRzIiwiLi4vc3JjL2F0b21zL2lucHV0L2lucHV0LnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9pbnB1dC9jb21wb25lbnRzL2lucHV0Lmljb24udHN4IiwiLi4vc3JjL2F0b21zL2lucHV0L2hvb2tzL3VzZS1pbnB1dC5pY29uLnRzIiwiLi4vc3JjL2F0b21zL2xpbmsvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2xpbmsvY29tcG9uZW50cy9saW5rLnRzeCIsIi4uL3NyYy9hdG9tcy9saW5rL2xpbmsuc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9saW5rL2NvbXBvbmVudHMvbGluay5sYWJlbC50c3giLCIuLi9zcmMvYXRvbXMvbGluay9jb21wb25lbnRzL2xpbmsuaWNvbi50c3giLCIuLi9zcmMvYXRvbXMvbGluay9ob29rcy91c2UtbGluay1pY29uLnRzIiwiLi4vc3JjL2F0b21zL2xpbmsvaG9va3MvdXNlLWxpbmsudHMiLCIuLi9zcmMvYXRvbXMvbGlzdC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvbGlzdC9jb21wb25lbnRzL2xpc3QudHN4IiwiLi4vc3JjL2F0b21zL2xpc3QvaG9va3MvdXNlLWxpc3QudHN4IiwiLi4vc3JjL2F0b21zL2xpc3QvbGlzdC5zdHlsZS50cyIsIi4uL3NyYy9hdG9tcy9saXN0L2NvbXBvbmVudHMvbGlzdC5pdGVtLnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2NvbXBvbmVudHMvU3ZnQXNMb2dvLnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2xvZ28uc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2NvbXBvbmVudHMvSW1hZ2VBc0xvZ28udHN4IiwiLi4vc3JjL2F0b21zL2xvZ28vbG9nby5sb2FkZXIudHN4IiwiLi4vc3JjL2F0b21zL25vdGlmaWNhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zdHlsZXMudHN4IiwiLi4vc3JjL2F0b21zL25vdGlmaWNhdGlvbi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi50c3giLCIuLi9zcmMvYXRvbXMvbm90aWZpY2F0aW9uL2hvb2tzL3VzZS1ub3RpZmljYXRpb24udHMiLCIuLi9zcmMvYXRvbXMvcGljay9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcGljay9jb21wb25lbnRzL3BpY2sudHN4IiwiLi4vc3JjL2F0b21zL3BpY2svaG9va3MvdXNlLXBpY2sudHN4IiwiLi4vc3JjL2F0b21zL3BpY2svcGljay5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvcGlsbC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGwudHN4IiwiLi4vc3JjL2F0b21zL3BpbGwvaG9va3MvdXNlLXBpbGwudHMiLCIuLi9zcmMvYXRvbXMvcGlsbC9waWxsLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9waWxsL2NvbXBvbmVudHMvcGlsbC5pY29uLnRzeCIsIi4uL3NyYy9hdG9tcy9waWxsL2hvb2tzL3VzZS1waWxsLWljb24udHMiLCIuLi9zcmMvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGwubGFiZWwudHN4IiwiLi4vc3JjL2F0b21zL3Bpbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcGluL2NvbXBvbmVudHMvcGluLnRzeCIsIi4uL3NyYy9hdG9tcy9waW4vcGluLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9yYWRpby9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcmFkaW8vY29tcG9uZW50cy9yYWRpby50c3giLCIuLi9zcmMvYXRvbXMvcmFkaW8vcmFkaW8uc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL3JhZGlvL2hvb2tzL3VzZS1yYWRpby50cyIsIi4uL3NyYy9hdG9tcy9yZWNvcmQvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL3JlY29yZC9jb21wb25lbnRzL3JlY29yZC50c3giLCIuLi9zcmMvYXRvbXMvcmVjb3JkL2hvb2tzL3VzZS1yZWNvcmQudHMiLCIuLi9zcmMvYXRvbXMvcmVjb3JkL3JlY29yZC5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvcmVjb3JkL2hvb2tzL3VzZS1yZWNvcmQtbGFiZWwudHMiLCIuLi9zcmMvYXRvbXMvcmVjb3JkL2hvb2tzL3VzZS1yZWNvcmQtdmFsdWUudHMiLCIuLi9zcmMvbGF5b3V0cy9ncmlkL2luZGV4LnRzeCIsIi4uL3NyYy9sYXlvdXRzL2dyaWQvZ3JpZC5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvc3RhdHVzL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvY29tcG9uZW50cy9zdGF0dXNfY29tcGFjdC50c3giLCIuLi9zcmMvYXRvbXMvc3RhdHVzL3N0YXR1cy5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvc3RhdHVzL2hvb2tzL3VzZS1zdGF0dXMudHMiLCIuLi9zcmMvYXRvbXMvc3RhdHVzL2NvbXBvbmVudHMvc3RhdHVzLnRzeCIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvaG9va3MvdXNlLXN0YXR1cy1sYWJlbC50cyIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvaG9va3MvdXNlLXN0YXR1cy1pY29uLnRzIiwiLi4vc3JjL2F0b21zL3N0YXR1cy9ob29rcy91c2Utc3RhdHVzLXRleHQudHMiLCIuLi9zcmMvYXRvbXMvdGVybS9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvdGVybS9jb21wb25lbnRzL3Rlcm0udHN4IiwiLi4vc3JjL2F0b21zL3Rlcm0vdGVybS5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvdGVybS9ob29rcy91c2UtdGVybS50cyIsIi4uL3NyYy9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtLWZyYW1lLnRzIiwiLi4vc3JjL2F0b21zL3Rlcm0vaG9va3MvdXNlLXRlcm0tbGFiZWwudHMiLCIuLi9zcmMvYXRvbXMvdGVybS9ob29rcy91c2UtdGVybS1kZXNjcmlwdGlvbi50cyIsIi4uL3NyYy9hdG9tcy90ZXJtaW5hbC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvdGVybWluYWwvdGVybWluYWwuc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL3Rlcm1pbmFsL2NvbXBvbmVudHMvdGVybWluYWwudHN4IiwiLi4vc3JjL2F0b21zL3llc19uby9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMveWVzX25vL2NvbXBvbmVudHMveWVzX25vLnRzeCIsIi4uL3NyYy9hdG9tcy95ZXNfbm8vaG9va3MvdXNlLXllcy1uby50c3giLCIuLi9zcmMvYXRvbXMveWVzX25vL3llc19uby5zdHlsZS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2RldGFpbHMvaW5kZXgudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMuc3R5bGUudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9kZXRhaWxzL2hvb2tzL3VzZS1kZXRhaWxzLnRzIiwiLi4vc3JjL21vbGVjdWxlcy9kZXRhaWxzL2NvbXBvbmVudHMvZGV0YWlscy50c3giLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vaW5kZXgudHN4IiwiLi4vc3JjL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi5zdHlsZS50c3giLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vY29tcG9uZW50cy9hY2NvcmRlb24udHN4IiwiLi4vc3JjL2xheW91dHMvYWNjb3JkZW9uL2NvbXBvbmVudHMvYWNjb3JkZW9uLmhlYWRlci50c3giLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vY29tcG9uZW50cy9hY2NvcmRlb24uY29udGVudC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2RldGFpbHMvY29tcG9uZW50cy9kZXRhaWxzLmhlYWRlci50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2RldGFpbHMvY29tcG9uZW50cy9kZXRhaWxzLmNvbnRlbnQudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9mYXEvaW5kZXgudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9mYXEvZmFxLnN0eWxlLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZmFxL2hvb2tzL3VzZS1mYXEudHMiLCIuLi9zcmMvbW9sZWN1bGVzL2ZhcS9jb21wb25lbnRzL2ZhcS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZhcS9jb21wb25lbnRzL2ZhcS5oZWFkZXIudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9mYXEvY29tcG9uZW50cy9mYXEuY29udGVudC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZlYXR1cmVzL2luZGV4LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZmVhdHVyZXMvY29tcG9uZW50cy9mZWF0dXJlcy50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZlYXR1cmVzL2hvb2tzL3VzZS1mZWF0dXJlLnRzIiwiLi4vc3JjL21vbGVjdWxlcy9mZWF0dXJlcy9mZWF0dXJlcy5zdHlsZS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9ob29rcy91c2UtcHJvZmlsZS1uYXZpZ2F0aW9uLnRzIiwiLi4vc3JjL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnN0eWxlLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvcHJvZmlsZV9uYXZpZ2F0aW9uLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvcHJvZmlsZV9uYXZpZ2F0aW9uLmNvdW50ZXIudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vY29tcG9uZW50cy9wcm9maWxlX25hdmlnYXRpb24uaXRlbS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3JlY29yZHMvaW5kZXgudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9yZWNvcmRzL2NvbXBvbmVudHMvcmVjb3Jkcy50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3JlY29yZHMvaG9va3MvdXNlLXJlY29yZHMudHMiLCIuLi9zcmMvbW9sZWN1bGVzL3N0YXR1c19saXN0L2luZGV4LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvc3RhdHVzX2xpc3QvY29tcG9uZW50cy9zdGF0dXNfbGlzdC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3N0YXR1c19saXN0L2hvb2tzL3VzZS1zdGF0dXMtbGlzdC50cyIsIi4uL3NyYy9tb2xlY3VsZXMvc3RhdHVzX2xpc3Qvc3RhdHVzX2xpc3Quc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci5zdHlsZS50c3giLCIuLi9zcmMvbGF5b3V0cy9jb250YWluZXIvaG9va3MvdXNlLWNvbnRhaW5lci50cyIsIi4uL3NyYy9sYXlvdXRzL2NvbnRhaW5lci9jb21wb25lbnRzL2NvbnRhaW5lci50c3giLCIuLi9zcmMvbGF5b3V0cy9jb250YWluZXIvaW5kZXgudHN4IiwiLi4vc3JjL29yZ2FuaXNtcy9tYXAvaW5kZXgudHN4IiwiLi4vc3JjL29yZ2FuaXNtcy9tYXAvY29tcG9uZW50cy9tYXAubG9jYXRpb24udHN4IiwiLi4vc3JjL2F0b21zL21hcC96b29tL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9tYXAvem9vbS9jb21wb25lbnRzL3pvb20udHN4IiwiLi4vc3JjL2F0b21zL21hcC96b29tL3pvb20uc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL21hcC96b29tL2hvb2tzL3VzZS16b29tLnRzIiwiLi4vc3JjL2F0b21zL21hcC96b29tL3pvb20uZW51bXMudHMiLCIuLi9zcmMvb3JnYW5pc21zL21hcC9jb21wb25lbnRzL21hcC5yb3V0ZS50c3giLCIuLi9zcmMvbGF5b3V0cy9iYWNrZHJvcC9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9iYWNrZHJvcC9iYWNrZHJvcC5zdHlsZS50c3giLCIuLi9zcmMvbGF5b3V0cy9iYWNrZHJvcC9jb21wb25lbnRzL2JhY2tkcm9wLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2JsdXIvaW5kZXgudHN4IiwiLi4vc3JjL2xheW91dHMvYmx1ci9jb21wb25lbnRzL2JsdXIudHN4IiwiLi4vc3JjL2xheW91dHMvYmx1ci9ibHVyLnN0eWxlLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2NvbGxhcHNhYmxlL2luZGV4LnRzeCIsIi4uL3NyYy9sYXlvdXRzL2NvbGxhcHNhYmxlL2NvbGxhcHNhYmxlLnN0eWxlLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2NvbGxhcHNhYmxlL2NvbXBvbmVudHMvY29sbGFwc2FibGUudHN4IiwiLi4vc3JjL2xheW91dHMvZHJhd2VyL2luZGV4LnRzeCIsIi4uL3NyYy9sYXlvdXRzL2RyYXdlci9jb21wb25lbnRzL2RyYXdlci50c3giLCIuLi9zcmMvbGF5b3V0cy9kcmF3ZXIvZHJhd2VyLnN0eWxlLnRzeCIsIi4uL3NyYy9sYXlvdXRzL21vZGFsL2luZGV4LnRzeCIsIi4uL3NyYy9sYXlvdXRzL21vZGFsL2NvbXBvbmVudHMvbW9kYWwudHN4IiwiLi4vc3JjL2xheW91dHMvbW9kYWwvbW9kYWwuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvb3ZlcmxheS9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9vdmVybGF5L2NvbXBvbmVudHMvb3ZlcmxheS50c3giLCIuLi9zcmMvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkuc3R5bGUudHN4IiwiLi4vc3JjL3V0aWxzL2dvb2dsZV9hcGlfY29tcG9uZW50L2luZGV4LnRzeCIsIi4uL3NyYy91dGlscy9nb29nbGVfbWFwcy9kaXJlY3Rpb25zL2luZGV4LnRzeCIsIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJ1c2VDb250ZXh0IiwiQ29sb3IiLCJDb2xvclZhcmlhbnQiLCJjcmVhdGVDb250ZXh0Iiwic3R5bGVkIiwiQmFzZUZpZ3VyZVN2ZyIsInByb3BzIiwiQmFzZUZpZ3VyZVBhdGgiLCJTdHlsZWRGaWd1cmUiLCJTdHlsZWRGaWd1cmVQYXRoIiwiU3R5bGVkRmlndXJlV3JhcHBlciIsIlN0eWxlZFNjcmVlblJlYWRlck9ubHkiLCJqc3giLCJTY3JlZW5SZWFkZXJPbmx5IiwidGV4dCIsImpzeHMiLCJGaWd1cmUiLCJzY3JlZW5SZWFkZXJUZXh0Iiwic2l6ZSIsImNoaWxkcmVuIiwidXNlVGhlbWVDb2xvciIsIkxvb2t1cEFkZGl0aW9uYWxDb2xvciIsIm1hdGNoIiwidXNlRmlndXJlVGhlbWUiLCJjb250ZXh0IiwiQ29sb3JzIiwiU3Ryb2tlIiwiUHJpbWFyeSIsIlN1cHBvcnRpbmciLCJBY2NlbnQiLCJTa2VsZXRvbkJnIiwiQWxlcnQiLCJDb250ZXh0IiwiRmlndXJlQ3R4IiwiVGhlbWUiLCJCaW4iLCJDYWxlbmRhciIsIkNoZWNrIiwiQ2hpbGQiLCJDb2lucyIsIkZhY2UiLCJGYW1pbHkiLCJ0aXRsZSIsIkZhdm9yaXRlIiwiRm9sZGVyIiwiRm9sbG93VXAiLCJJZGVhIiwiTGlrZSIsIk1hcCIsIk1vbmV5IiwiT2ZmZXIiLCJQYXNzcG9ydCIsIlBhc3N3b3JkIiwiUGluIiwiU2VhcmNoIiwiU2V0dGluZyIsIlN0YXIiLCJBZGQiLCJBcHBsaWNhdGlvbiIsIkJhYnkiLCJCb29rbWFyayIsIkNhbmNlbCIsIkNvbnZlcnNhdGlvbiIsIkRhZCIsIkRhdGVUaW1lIiwiSG9tZSIsIkluZm9ybWF0aW9uIiwiTW9tIiwiTWFpbCIsIk5vIiwiRmlsZSIsIlllcyIsIk5vdGUiLCJGZW5jZSIsIkZpZ3VyZUNvbnRleHQiLCJJc1NrZWxldG9uIiwiQnVpbGRpbmciLCJGcmFnbWVudCIsIkxvYWRGaWd1cmUiLCJ0eXBlIiwiRmlndXJlU2l6ZSIsIkZpZ3VyZUN0eERlZmF1bHQiLCJ1c2VUaGVtZVJhZGl1cyIsInVzZVRoZW1lVXRpbGl0eSIsIm9yRGVmYXVsdCIsInVzZUZyYW1lIiwidGludCIsImNvbG9yIiwic3BsaXQiLCJUaGVtZVJhZGl1cyIsIlV0aWxpdHkiLCJib3JkZXJSYWRpdXMiLCJCYWNrZ3JvdW5kIiwic3BsaXRCYWNrZ3JvdW5kIiwiU3R5bGVkRnJhbWUiLCJwcm9wIiwiU3R5bGVkRnJhbWVQYWRkaW5nIiwiU3R5bGVkU2tlbGV0b25GcmFtZSIsIlN0eWxlZFBsYWNlaG9sZGVyIiwiUGxhY2Vob2xkZXIiLCJGcmFtZSIsImFyb3VuZCIsIkNvbXBvbmVudENvbnRleHQiLCJGcmFtZUN0eCIsIkRlZmF1bHQiLCJCYWRnZUNvbnRleHQiLCJCYWRnZVR5cGUiLCJCYWRnZUN0eERlZmF1bHQiLCJCYWRnZUN0eCIsIkJhZGdlIiwiUmVhY3QiLCJTdHlsZWRCcmFuZFdyYXBwZXIiLCJTdHlsZWRCcmFuZFRhZ0xpbmVXcmFwcGVyIiwiU3R5bGVkQnJhbmRMYWJlbCIsIlN0eWxlZEJyYW5kU2tlbGV0b25MYWJlbCIsIlN0eWxlZFBsYWluVGV4dCIsIlN0eWxlZFNrZWxldG9uUGxhaW5UZXh0IiwiU3R5bGVkU2tlbGV0b25QbGFpblRleHRMaW5lIiwidXNlVGhlbWVGb250cyIsInVzZVBsYWluVGV4dCIsIkZvbnRzIiwiUmFkaXVzIiwiU3RhbmRhcmQiLCJTa2VsZXRvbiIsIlBsYWluVGV4dCIsImZvbnQiLCJmb250V2VpZ2h0IiwidGV4dERlY29yYXRpb24iLCJQbGFpblR4dENvbnRleHQiLCJQbGFpblR4dEN0eCIsImNzc1RleHREZWNvcmF0aW9uIiwiY3NzRm9udCIsIlR5cG9ncmFwaHlGb250IiwiVHlwb2dyYXBoeUZvbnRzIiwiVHlwb2dyYXBoeUZvbnRXZWlnaHQiLCJQbGFpblR4dEN0eERlZmF1bHQiLCJCcmFuZCIsImxvZ28iLCJuYW1lIiwiYXJpYUxhYmVsIiwiQnJhbmRDdHgiLCJCcmFuZEN0eERlZmF1bHQiLCJCcmFuZENvbnRleHQiLCJ1c2VCdXR0b25JY29uQ29udGV4dCIsIkJ1dHRvbkljb24iLCJpY29uIiwiQnV0dG9uQ3R4IiwiSWNvbkNvbnRleHQiLCJjc3MiLCJiYXNlQnV0dG9uU3R5bGVzIiwiYmFzZUJ1dHRvbklubmVyU3R5bGVzIiwiQnV0dG9uTmF2aWdhdGlvbiIsIkJ1dHRvbiIsIkJ1dHRvbklubmVyIiwiQnV0dG9uTGFiZWwiLCJTdHlsZWRCdXR0b24iLCJTdHlsZWRCdXR0b25OYXZpZ2F0aW9uIiwiU3R5bGVkQnV0dG9uU2tlbGV0b24iLCJTdHlsZWRCdXR0b25Jbm5lciIsIlN0eWxlZEJ1dHRvbkxhYmVsIiwidXNlQnV0dG9uVGhlbWUiLCJCdG5EaXNhYmxlZEJnIiwiQnRuRGlzYWJsZWRDb2xvciIsIkJ0bkluaXRpYWxCZ1ByaW1hcnkiLCJCdG5Ib3ZlckJnUHJpbWFyeSIsIkJ0bkluaXRpYWxDb2xvclByaW1hcnkiLCJCdG5Ib3ZlckNvbG9yUHJpbWFyeSIsIkJ0bkluaXRpYWxCZ1NlY29uZGFyeSIsIkJ0bkhvdmVyQmdTZWNvbmRhcnkiLCJCdG5Jbml0aWFsQ29sb3JTZWNvbmRhcnkiLCJCdG5Ib3ZlckNvbG9yU2Vjb25kYXJ5IiwiQnRuSW5pdGlhbEJnU3VwcG9ydGluZyIsIkJ0bkhvdmVyQmdTdXBwb3J0aW5nIiwiQnRuSW5pdGlhbENvbG9yU3VwcG9ydGluZyIsIkJ0bkhvdmVyQ29sb3JTdXBwb3J0aW5nIiwiVWkiLCJOb25lIiwiTG93IiwiTWVkaXVtIiwiSGlnaCIsIkRpc2FibGVkIiwiaWQiLCJvbkNsaWNrIiwid2l0aEljb25CZWZvcmUiLCJ3aXRoSWNvbkFmdGVyIiwiQnRuQ29udGV4dCIsIklzRGlzYWJsZWQiLCJJc05hdmlnYXRpb24iLCJMYWJlbCIsIkljb25CZWZvcmUiLCJJY29uQWZ0ZXIiLCJodG1sVHlwZSIsIkJ1dHRvbkN0eERlZmF1bHQiLCJTdHlsZWRDaGVja2JveCIsIlN0eWxlZENoZWNrYm94Q29udGFpbmVyIiwiU3R5bGVkQ2hlY2tib3hDb250YWluZXJTa2VsZXRvbiIsIlN0eWxlZENoZWNrYm94VmlzdWFsIiwiU3R5bGVkQ2hlY2tib3hWaXN1YWxTa2VsZXRvbiIsIlN0eWxlZENoZWNrYm94TGFiZWwiLCJTdHlsZWRDaGVja2JveExhYmVsU2tlbGV0b24iLCJ1c2VDaGVja2JveFRoZW1lIiwicmFkaXVzIiwic2tlbGV0b25CZ0NvbG9yIiwiZXJyb3JCb3JkZXJDb2xvciIsIkVycm9yIiwiQmFzZUljb25TdmciLCJCYXNlSWNvblBhdGgiLCJTdHlsZWRJY29uIiwiU3R5bGVkSWNvblBhdGgiLCJTdHlsZWRJY29uV3JhcHBlciIsIkljb24iLCJ1c2VJY29uVGhlbWUiLCJJY29uSW5pdGlhbENvbG9yUHJpbWFyeSIsIkljb25Jbml0aWFsQ29sb3JTdXBwb3J0aW5nIiwiSWNvbkluaXRpYWxDb2xvckRhcmsiLCJJY29uSW5pdGlhbENvbG9yTGlnaHQiLCJJY29uRGlzYWJsZWRDb2xvciIsIkljb25DdHgiLCJBcnJvd0xlZnQiLCJBcnJvd1JpZ2h0IiwiQ2hldnJvbkRvd24iLCJDaGV2cm9uVXAiLCJEaXN0YW5jZSIsIkRvY3VtZW50IiwiRWRpdCIsIkV1cm8iLCJNZW51IiwiUHJvZmlsZSIsIlJlZG8iLCJTZW5kIiwiVHJhbnNsYXRpb24iLCJDb21tZW50IiwiSW5Qcm9jZXNzIiwiTWludXMiLCJDb2xsYXBzZSIsIkNoZXZyb25SaWdodCIsIkNoZXZyb25MZWZ0IiwiTG9hZEljb24iLCJJY29uU2l6ZSIsIkljb25DdHhEZWZhdWx0IiwiQ2hlY2tib3giLCJvbkNoYW5nZSIsInZhbHVlIiwibGFiZWwiLCJjaGVja2VkIiwiZGVmYXVsdENoZWNrZWQiLCJDaGVja2JveENvbnRleHQiLCJDaGVja2JveEN0eCIsImlzRGlzYWJsZWQiLCJDaGVja2JveEN0eERlZmF1bHQiLCJJbnB1dENvbnRleHQiLCJ1c2VDaG9pY2VUaGVtZSIsIlN0eWxlZENob2ljZSIsIlN0eWxlZENob2ljZUNvbnRhaW5lciIsIlN0eWxlZENob2ljZUxhYmVsIiwiU3R5bGVkVmlzdWFsQ29udGFpbmVyIiwiU3R5bGVkVmlzdWFsIiwiU3R5bGVkQ2hvaWNlQ29udGFpbmVyU2tlbGV0b24iLCJTdHlsZWRDaG9pY2VWaXN1YWxTa2VsZXRvbiIsIlN0eWxlZENob2ljZUxhYmVsU2tlbGV0b24iLCJDaG9pY2UiLCJDaG9pY2VDb250ZXh0IiwiQ2hvaWNlQ3R4IiwiQ2hvaWNlQ3R4RGVmYXVsdCIsIlN0eWxlZEZlYXR1cmUiLCJTdHlsZWRTa2VsZXRvbkZlYXR1cmUiLCJTdHlsZWRGZWF0dXJlTGFiZWwiLCJTdHlsZWRGZWF0dXJlSWNvbiIsInVzZUZlYXR1cmUiLCJGb250IiwiRmVhdHVyZUxhYmVsIiwidXNlRmVhdHVyZUljb25Db250ZXh0IiwiRmVhdHVyZUljb24iLCJDdHgiLCJNYXJnaW4iLCJGZWF0dXJlIiwiU3R5bGVkSDEiLCJTdHlsZWRIMiIsIlN0eWxlZEgzIiwiU3R5bGVkSDQiLCJTdHlsZWRINSIsIlN0eWxlZEg2IiwiSGVhZGluZyIsIkhlYWRpbmdDdHgiLCJIMSIsIkgyIiwiSDMiLCJINCIsIkg1IiwiSDYiLCJIZWFkaW5nQ3R4RGVmYXVsdCIsIkhlYWRpbmdDb250ZXh0IiwidXNlSW5mb3JtYXRpb24iLCJTdHlsZWRJbmZvcm1hdGlvbiIsIlN0eWxlZEluZm9ybWF0aW9uVmlzdWFsIiwiU3R5bGVkSW5mb3JtYXRpb25UZXh0IiwiU3R5bGVkU2tlbGV0b25JbmZvcm1hdGlvbiIsImZyYW1lIiwiVmlzdWFsIiwidXNlSW5wdXRUaGVtZSIsIlN0eWxlZElucHV0Q29udGFpbmVyIiwiU3R5bGVkSW5wdXRJY29uQ29udGFpbmVyIiwiU3R5bGVkSW5wdXRJY29uQmVmb3JlQ29udGFpbmVyIiwiU3R5bGVkSW5wdXRJY29uQWZ0ZXJDb250YWluZXIiLCJTdHlsZWRJbnB1dCIsIlN0eWxlZElucHV0U2tlbGV0b24iLCJTdHlsZWRUZXh0YXJlYSIsIlN0eWxlZFRleHRhcmVhU2tlbGV0b24iLCJ1c2VJbnB1dEljb25Db250ZXh0IiwiSW5wdXRJY29uIiwiSW5wdXRDdHgiLCJJbnB1dCIsImRlZmF1bHRWYWx1ZSIsIm9uQmx1ciIsInBsYWNlaG9sZGVyIiwibXVsdGlsaW5lIiwicm93cyIsImVycm9yIiwiZGlzYWJsZWQiLCJza2VsZXRvbiIsIklucHV0Q3R4RGVmYXVsdCIsIlN0eWxlZExpbmtJbm5lciIsIlN0eWxlZExpbmtMYWJlbCIsIlN0eWxlZExpbmtJY29uQmVmb3JlIiwiU3R5bGVkTGlua0ljb25BZnRlciIsIlN0eWxlZExpbmsiLCJTdHlsZWRMaW5rU2tlbGV0b24iLCJMaW5rTGFiZWwiLCJ1c2VMaW5rSWNvbkNvbnRleHQiLCJMaW5rSWNvbiIsInBvc2l0aW9uIiwiTGlua0N0eCIsIkJlZm9yZSIsIkFmdGVyIiwidXNlTGlua1RoZW1lIiwiTGluayIsIkxpbmtDb250ZXh0IiwiSWNvbkJlZm9yZVNrZWxldG9uIiwiSWNvbkFmdGVyU2tlbGV0b24iLCJMaW5rQ3R4RGVmYXVsdCIsInVzZUxpc3RUaGVtZSIsIlN0eWxlZFVub3JkZXJlZExpc3QiLCJTdHlsZWRPcmRlcmVkTGlzdCIsIlN0eWxlZFVub3JkZXJlZExpc3RTa2VsZXRvbiIsIlN0eWxlZE9yZGVyZWRMaXN0U2tlbGV0b24iLCJTdHlsZWRMaXN0SXRlbUNvbnRhaW5lciIsIlN0eWxlZExpc3RJdGVtIiwiTGlzdCIsIkxpc3RDb250ZXh0IiwiTGlzdEN0eCIsImlzU2tlbGV0b24iLCJJdGVtIiwiTGlzdEN0eERlZmF1bHQiLCJCYXNlTG9nb1N2ZyIsIkJhc2VMb2dvSW1hZ2UiLCJCYXNlTG9nb1BhdGgiLCJTdHlsZWRMb2dvIiwiU3R5bGVkTG9nb0ltYWdlIiwiU3R5bGVkTG9nb1NrZWxldG9uIiwiU3R5bGVkTG9nb0ltYWdlU2tlbGV0b24iLCJTdHlsZWRMb2dvUGF0aCIsIlN0eWxlZExvZ29XcmFwcGVyIiwiU3R5bGVkTG9nb0ltYWdlV3JhcHBlciIsIlN2Z0FzTG9nbyIsIkxvZ29DdHgiLCJEYXJrIiwiSW1hZ2VBc0xvZ28iLCJzcmNzZXQiLCJhbHQiLCJMb2FkTG9nbyIsIkxvZ29DdHhEZWZhdWx0IiwiTG9nbyIsIkxvZ29Db250ZXh0IiwiU3R5bGVkTm90aWZpY2F0aW9uIiwiU3R5bGVkU2tlbGV0b25Ob3RpZmljYXRpb24iLCJ1c2VOb3RpZmljYXRpb24iLCJOb3RpZmljYXRpb24iLCJudW1iZXIiLCJOb3RpZmljYXRpb25Db250ZXh0IiwiTm90aWZpY2F0aW9uQ3R4IiwiZGlzcGxheSIsIk5vdGlmaWNhdGlvbkN0eERlZmF1bHQiLCJDb250YWluZXJDb250ZXh0IiwidXNlUGlja1RoZW1lIiwiU3R5bGVkUGljayIsIlN0eWxlZFBpY2tDb250YWluZXIiLCJTdHlsZWRQaWNrTGFiZWwiLCJTdHlsZWRQaWNrQ29udGFpbmVyU2tlbGV0b24iLCJTdHlsZWRQaWNrVmlzdWFsU2tlbGV0b24iLCJTdHlsZWRQaWNrTGFiZWxTa2VsZXRvbiIsIlBpY2siLCJQaWNrQ29udGV4dCIsIlBpY2tDdHgiLCJQaWNrQ3R4RGVmYXVsdCIsInVzZVBpbGwiLCJTdHlsZWRQaWxsIiwiU3R5bGVkUGlsbEljb24iLCJTdHlsZWRQaWxsTGFiZWwiLCJTdHlsZWRTa2VsZXRvblBpbGwiLCJ1c2VQaWxsSWNvbkNvbnRleHQiLCJQaWxsSWNvbiIsIlBpbGxMYWJlbCIsIlBpbGwiLCJCYXNlUGluU3ZnIiwiQmFzZVBpblBhdGgiLCJCYXNlUGluRyIsIkJhc2VEZWZzIiwiQmFzZUNsaXBQYXRoIiwiQmFzZUNsaXBSZWN0IiwiU3R5bGVkUGluIiwiU3R5bGVkUGluUGF0aCIsIlN0eWxlZFBpbldyYXBwZXIiLCJTdHlsZWRQaW5TaGFkb3ciLCJjb2xvcnMiLCJ3aWR0aCIsIndpZHRoUHgiLCJoZWlnaHQiLCJoZWlnaHRQeCIsInZpZXdCb3giLCJQaW5DdHhEZWZhdWx0IiwiUGluQ3R4IiwiUGluQ29udGV4dCIsIlN0eWxlZFJhZGlvIiwiU3R5bGVkUmFkaW9Db250YWluZXIiLCJTdHlsZWRSYWRpb0NvbnRhaW5lclNrZWxldG9uIiwiU3R5bGVkUmFkaW9WaXN1YWwiLCJTdHlsZWRSYWRpb1Zpc3VhbFNrZWxldG9uIiwiU3R5bGVkUmFkaW9MYWJlbCIsIlN0eWxlZFJhZGlvTGFiZWxTa2VsZXRvbiIsInVzZVJhZGlvVGhlbWUiLCJSYWRpbyIsIlJhZGlvQ29udGV4dCIsIlJhZGlvQ3R4IiwiUmFkaW9DdHhEZWZhdWx0IiwidXNlUmVjb3JkIiwiU3R5bGVkUmVjb3JkIiwiU3R5bGVkUmVjb3JkSWNvbiIsIlN0eWxlZFJlY29yZExhYmVsIiwiU3R5bGVkUmVjb3JkTGFiZWxUZXh0IiwiU3R5bGVkUmVjb3JkVmFsdWUiLCJ1c2VSZWNvcmRMYWJlbCIsInVzZVJlY29yZFZhbHVlIiwiU3R5bGVkR3JpZENvbnRhaW5lciIsIlN0eWxlZEdyaWQiLCJTdHlsZWRHcmlkSXRlbSIsInVzZVRoZW1lIiwiR3JpZENvbnRleHQiLCJHcmlkIiwiZGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImp1c3RpZnkiLCJnYXAiLCJzbUJyZWFrcG9pbnQiLCJtZEJyZWFrcG9pbnQiLCJsZ0JyZWFrcG9pbnQiLCJ4bEJyZWFrcG9pbnQiLCJ4eGxCcmVha3BvaW50IiwiZ2FwT3JkZWZhdWx0IiwiZGlyZWN0aW9uT3JEZWZhdWx0IiwiYWxpZ25JdGVtc09yRGVmYXVsdCIsImp1c3RpZnlPckRlZmF1bHQiLCJzdHlsZSIsImNvdW50IiwiaW5pdGlhbCIsInNtIiwibWQiLCJsZyIsInhsIiwieHhsIiwid2lkdGhPckRlZmF1bHQiLCJzbU9yRGVmYXVsdCIsIm1kT3JEZWZhdWx0IiwibGdPckRlZmF1bHQiLCJ4bE9yRGVmYXVsdCIsInh4bE9yRGVmYXVsdCIsImdyaWQiLCJTcGFjaW5nIiwiUmVjb3JkIiwiVGhlbWVMYWJlbCIsIlRoZW1lVmFsdWUiLCJWYWx1ZSIsIlN0eWxlZFN0YXR1cyIsIlN0eWxlZFNrZWxldG9uU3RhdHVzIiwiU3R5bGVkU3RhdHVzTGFiZWwiLCJTdHlsZWRTdGF0dXNMYWJlbEljb24iLCJTdHlsZWRTdGF0dXNMYWJlbFRleHQiLCJTdHlsZWRTa2VsZXRvblN0YXR1c0xhYmVsIiwidXNlU3RhdHVzQ29tcGFjdCIsIlNlbmRTdGF0dXMiLCJQcm9jZXNzaW5nU3RhdHVzIiwiUHJvcG9zYWxTdGF0dXMiLCJBY2NlcHRlZFN0YXR1cyIsIlJlZnVzZWRTdGF0dXMiLCJTdGF0dXNDb21wYWN0IiwidXNlU3RhdHVzIiwidXNlU3RhdHVzSWNvbiIsInVzZVN0YXR1c1RleHQiLCJTdGF0dXMiLCJJY29uVGhlbWUiLCJUZXh0VGhlbWUiLCJTdHlsZWRUZXJtIiwiU3R5bGVkVGVybUZyYW1lIiwiU3R5bGVkVGVybUNvbnRlbnQiLCJTdHlsZWRUZXJtTGFiZWwiLCJTdHlsZWRUZXJtRGVzY3JpcHRpb24iLCJTdHlsZWRTa2VsZXRvblRlcm1EZXNjcmlwdGlvbiIsIlN0eWxlZFNrZWxldG9uVGVybSIsInVzZVRlcm0iLCJ1c2VUZXJtRnJhbWUiLCJ1c2VUZXJtTGFiZWwiLCJ1c2VUZXJtRGVzY3JpcHRpb24iLCJUZXJtIiwiZGVzY3JpcHRpb24iLCJUaGVtZUZyYW1lIiwiVGhlbWVEZXNjcmlwdGlvbiIsIlN0eWxlZFRlcm1pbmFsIiwiU3R5bGVkVGVybWluYWxJbm5lciIsIlN0eWxlZFRlcm1pbmFsT3V0ZXIiLCJTdHlsZWRUZXJtaW5hbFdyYXBwZXIiLCJTdHlsZWRUZXJtaW5hbExhYmVsIiwiU3R5bGVkVGVybWluYWxMYWJlbENvbnRlbnQiLCJTdHlsZWRUZXJtaW5hbExhYmVsQXJyb3ciLCJTdHlsZWRUZXJtaW5hbFNoYWRvdyIsIlRlcm1pbmFsIiwiVGVybWluYWxDdHhEZWZhdWx0IiwiVGVybWluYWxDdHgiLCJUZXJtaW5hbENvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZVllc05vVGhlbWUiLCJ1dGlsIiwiU3R5bGVkWWVzTm8iLCJTdHlsZWRZZXNOb0NvbnRhaW5lciIsIlN0eWxlZFllc05vTGFiZWwiLCJTdHlsZWRZZXNOb0NvbnRhaW5lclNrZWxldG9uIiwiU3R5bGVkWWVzTm9XcmFwcGVyIiwiU3R5bGVkWWVzTm9WaXN1YWxTa2VsZXRvbiIsIlN0eWxlZFllc05vTGFiZWxTa2VsZXRvbiIsIlllc05vIiwiYXJpYVllc0xhYmVsIiwiYXJpYU5vTGFiZWwiLCJ5ZXNMYWJlbCIsIm5vTGFiZWwiLCJZZXNOb0NvbnRleHQiLCJZZXNOb0N0eCIsInllc09yTm8iLCJzZXRZZXNPck5vIiwiWWVzTm9DdHhEZWZhdWx0IiwiU3R5bGVkRGV0YWlsc0NvbnRhaW5lciIsIlN0eWxlZERldGFpbHNIZWFkZXIiLCJTdHlsZWREZXRhaWxzSGVhZGVySWNvbiIsIlN0eWxlZERldGFpbHNBY3Rpb25zIiwiU3R5bGVkRGV0YWlsc0NvbnRlbnQiLCJTdHlsZWRTa2VsZXRvblRpdGxlIiwidXNlRGV0YWlsc1RoZW1lIiwiRGV0YWlscyIsIkRldGFpbHNDb250ZXh0IiwiRGV0YWlsc0N0eCIsIlN0eWxlZEFjY29yZGVvbkNvbnRhaW5lciIsIlN0eWxlZEFjY29yZGVvbkhlYWRlciIsIlN0eWxlZEFjY29yZGVvbkJvZHkiLCJTdHlsZWRBY2NvcmRlb25Db250ZW50IiwiJGlzT3BlbiIsIkFjY29yZGVvbiIsIkFjY29yZGVvbkN0eCIsIkhlYWRlciIsIkFjY29yZGVvbkNvbnRleHQiLCJzZXRBY2NvcmRlb25Db250ZXh0IiwiQ29udGVudCIsImlzT3BlbiIsIkFjY29yZGVvbkN0eERlZmF1bHQiLCJEZWZhdWx0QWNjb3JkZW9uQ29udGV4dCIsIkRldGFpbHNDdHhEZWZhdWx0IiwiU3R5bGVkRmFxQ29udGFpbmVyIiwiU3R5bGVkRmFxSGVhZGVyIiwiU3R5bGVkRmFxSGVhZGVySWNvbiIsIlN0eWxlZEZhcUNvbnRlbnQiLCJ1c2VGYXFUaGVtZSIsIkZhcSIsIkZhcUNvbnRleHQiLCJGYXFDdHgiLCJGYXFDdHhEZWZhdWx0IiwidXNlRmVhdHVyZXMiLCJTdHlsZWRGZWF0dXJlcyIsIlN0eWxlZEZlYXR1cmVzSXRlbSIsIlN0eWxlZEZlYXR1cmVzSXRlbVNlcGVyYXRvciIsIlN0eWxlZFNrZWxldG9uRmVhdHVyZXMiLCJGZWF0dXJlcyIsImZlYXR1cmVzIiwiY2hpbGQiLCJpbmRleCIsImRpdmlkZXIiLCJ1c2VQcm9maWxlTmF2aWdhdGlvblRoZW1lIiwiU3R5bGVkUHJvZmlsZU5hdmlnYXRpb24iLCJTdHlsZWRQcm9maWxlTmF2aWdhdGlvblNrZWxldG9uIiwiU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uIiwiU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtTGluayIsIlN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUJ1dHRvbiIsIlN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUNvdW50ZXIiLCJQcm9maWxlTmF2aWdhdGlvbiIsInRoZW1lIiwiQ291bnRlciIsImlzSGlnaGxpZ2h0ZWQiLCJ1c2VSZWNvcmRzIiwiUmVjb3JkcyIsInJlY29yZHMiLCJDaGlsZHJlbiIsInVzZVN0YXR1c0xpc3RUaGVtZSIsIlN0eWxlZFN0YXR1c0xpc3QiLCJTdHlsZWRTdGF0dXNMaXN0SXRlbXMiLCJTdHlsZWRTdGF0dXNMaXN0Q291bnQiLCJTdHlsZWRTa2VsZXRvblN0YXR1c0xpc3QiLCJTdHlsZWRDb250YWluZXIiLCJTdHlsZWRDb250YWluZXJQYWRkaW5nIiwiU3R5bGVkU2tlbGV0b25Db250YWluZXIiLCJ1c2VDb250YWluZXIiLCJsaWZ0ZWQiLCJwYWRkaW5nIiwiZnVsbFdpZHRoIiwiUmFkaXVzQmFzZSIsIlNoYWRvdyIsIkNvbnRhaW5lciIsIkNvbnRhaW5lckN0eCIsIkNvbnRhaW5lckN0eERlZmF1bHQiLCJTdGF0dXNMaXN0Iiwid2l0aENvdW50IiwiQ291bnQiLCJBZHZhbmNlZE1hcmtlciIsIkNvbnRyb2xQb3NpdGlvbiIsInV1aWR2NCIsIlN0eWxlZFpvb20iLCJTdHlsZWRab29tU2VwZXJhdG9yIiwiU3R5bGVkWm9vbVBsdXMiLCJTdHlsZWRab29tTWludXMiLCJTdHlsZWRTa2VsZXRvblpvb20iLCJ1c2Vab29tIiwiWm9vbSIsIm1hcCIsIm1heFpvb20iLCJtaW5ab29tIiwiZGVmYXVsdFpvb20iLCJjdXJyZW50Wm9vbSIsInNldEN1cnJlbnRab29tIiwicGx1c0F2YWlsYWJsZSIsInNldFBsdXNBdmFpbGFibGUiLCJtaW51c0F2YWlsYWJsZSIsInNldE1pbnVzQXZhaWxhYmxlIiwic2V0QXZhaWxhYmxlIiwidXBkYXRlIiwib25DbGlja1BsdXMiLCJvbkNsaWNrTWludXMiLCJNYXBDb250cm9sIiwidXNlTWFwIiwicG9zaXRpb25PZmZzZXQiLCJvZmZzZXQiLCJMb2NhdGlvbiIsInBvaW50cyIsIm1hcElkIiwib3JpZ2luIiwibWFwUG9pbnRzIiwiU3R5bGUiLCJvbk1hcmtlckNsaWNrZWQiLCJldmVudCIsInBvaW50IiwiT3JpZ2luTWFya2VyIiwiUG9pbnRNYXJrZXJzIiwiaSIsInVzZU1hcHNMaWJyYXJ5IiwiUm91dGUiLCJkZXN0aW5hdGlvbiIsImRpcmVjdGlvbnMiLCJSb3V0ZXMiLCJyb3V0ZXNMaWJyYXJ5IiwiRGVzdGluYXRpb25NYXJrZXIiLCJNYXBDb250ZXh0IiwiU3R5bGVkQmFja2Ryb3AiLCJCYWNrZHJvcCIsImJhY2tkcm9wcGVkIiwic2V0QmFja2Ryb3BwZWQiLCJCYWNrZHJvcE1hbmFnZXJDdHgiLCJjcmVhdGVQb3J0YWwiLCJCYWNrZHJvcE1hbmFnZXIiLCJTdHlsZWRCbHVyIiwiQmx1ciIsImJsdXJyZWQiLCJzZXRCbHVycmVkIiwiQmx1ckN0eCIsIkJsdXJNYW5hZ2VyIiwiU3R5bGVkQ29sbGFwc2FibGUiLCJTdHlsZWRDb2xsYXBzYWJsZUNvbnRlbnQiLCJTdHlsZWRDb2xsYXBzYWJsZUFkZGl0aW9uYWwiLCJTdHlsZWRDb2xsYXBzYWJsZUV4cGFuZENvbnRlbnRBY3Rpb24iLCJTdHlsZWRDb2xsYXBzYWJsZUNvbGxhcHNlQ29udGVudEFjdGlvbiIsIkNvbGxhcHNhYmxlIiwiY29udGVudCIsImFkZGl0aW9uYWwiLCJ3aXRoQ29udGVudEV4cGFuZCIsIndpdGhDb250ZW50Q29sbGFwc2UiLCJpc0NvbnRlbnRFeHBhbmRlZCIsInNldENvbnRlbnRFeHBhbmRlZCIsIkNvbGxhcHNhYmxlQ3R4IiwiU3R5bGVkRHJhd2VyIiwiU3R5bGVkRHJhd2VySGVhZGVyIiwiU3R5bGVkRHJhd2VyQ29udGVudCIsIkRyYXdlciIsInZpc2libGUiLCJzZXRWaXNpYmxlIiwiRHJhd2VyTWFuYWdlckN0eCIsIkRyYXdlck1hbmFnZXIiLCJkcmF3ZXIiLCJTdHlsZWRNb2RhbCIsIlN0eWxlZE1vZGFsSGVhZGVyIiwiU3R5bGVkTW9kYWxIZWFkZXJDbG9zZSIsIlN0eWxlZE1vZGFsQ29udGVudCIsIk1vZGFsIiwiTW9kYWxNYW5hZ2VyQ3R4IiwiTW9kYWxNYW5hZ2VyIiwibW9kYWwiLCJTdHlsZWRPdmVybGF5IiwiU3R5bGVkT3ZlcmxheUhlYWRlciIsIlN0eWxlZE92ZXJsYXlIZWFkZXJBcmVhIiwiU3R5bGVkT3ZlcmxheUhlYWRlckNsb3NlIiwiU3R5bGVkT3ZlcmxheUNvbnRlbnQiLCJPdmVybGF5IiwiaGVhZGVyIiwiY2xvc2UiLCJPdmVybGF5TWFuYWdlckN0eCIsIk92ZXJsYXlNYW5hZ2VyIiwib3ZlcmxheSIsIkFQSVByb3ZpZGVyIiwiR29vZ2xlQVBJQ29tcG9uZW50IiwiYXBpS2V5Iiwib25Mb2FkIiwiR29vZ2xlQXBpU2VydmljZUN0eCIsIkdvb2dsZUFwaVNlcnZpY2VEaXJlY3Rpb25zIiwic2VydmljZSIsInNldFNlcnZpY2UiLCJUaGVtZUJ1aWxkZXIiLCJCdWlsZFByb3ZpZGVyc1RyZWUiLCJUaGVtZUN0eCIsIlRoZW1lTW9kZSIsIlN0eWxlUHJvdmlkZXJBbmltYXRpb24iLCJTdHlsZVByb3ZpZGVyRm9udEZhY2UiLCJTdHlsZVByb3ZpZGVyUHJlRmxpZ2h0IiwiU3R5bGVQcm92aWRlclJvdXRlciJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBZ0IsY0FBQUEsT0FBa0IsUUFHbEMsT0FBUyxTQUFBQyxHQUFPLGdCQUFBQyxPQUFvQiwwQkNIcEMsT0FBZ0IsaUJBQUFDLE9BQXFCLFFDQXJDLE9BQWdCLGNBQUFILE9BQWtCLFFDQWxDLE9BQU9JLE9BQVksb0JBRW5CLElBQU1DLEdBQWdCRCxHQUFPLElBQUksTUFBT0UsSUFBVyxDQUNqRCxRQUFTLE1BQ1QsTUFBTyw2QkFDUCxXQUFZLCtCQUNaLEtBQU0sTUFDTixjQUFlLE1BQ2pCLEVBQUUsSUFFV0MsR0FBaUJILEdBQU8sS0FBSyxNQUFNLENBQzlDLEtBQU0sY0FDUixDQUFDLElBRVlJLEdBQWVKLEdBQU9DLEVBQWE7QUFBQTtBQUFBLFdBS3BDQyxHQUFVQSxFQUFNLEtBQUs7QUFBQSxZQUNwQkEsR0FBVUEsRUFBTSxNQUFNO0FBQUEsRUFHdEJHLEVBQW1CTCxHQUFPRyxFQUFjLElBRXhDRyxHQUFzQk4sR0FBTztBQUFBO0FBQUE7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QkFBQUMsR0FDQSwwQkFBQUMsR0FDQSx1QkFBQUMsT0FDSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJQmFkZ2VCYXNlIH0gZnJvbSBcIkAvYXRvbXMvYmFkZ2UvYmFkZ2UudHlwZXNcIjtcbmltcG9ydCB7IEJhZGdlQ29udGV4dCwgQmFkZ2VUeXBlIH0gZnJvbSBcIkAvYXRvbXMvYmFkZ2VcIjtcbmltcG9ydCB7IENvbG9yLCBDb2xvclZhcmlhbnQgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgU2l6ZSwgVHlwZSBhcyBGaWd1cmVUeXBlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBGcmFtZUNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZS9mcmFtZS5lbnVtc1wiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBGaWd1cmVDb250ZXh0IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5lbnVtc1wiO1xuaW1wb3J0IHsgRnJhbWUgfSBmcm9tIFwiLi4vLi4vZnJhbWVcIjtcbmltcG9ydCB7IEJhZGdlQ3R4IH0gZnJvbSBcIkAvYXRvbXMvYmFkZ2UvYmFkZ2UuY29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgQmFkZ2UgPSAoeyB0eXBlLCBzY3JlZW5SZWFkZXJUZXh0IH06IElCYWRnZUJhc2UpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoQmFkZ2VDdHgpO1xuICBjb25zdCBJc1NrZWxldG9uID0gQ29tcG9uZW50Q29udGV4dCA9PT0gQmFkZ2VDb250ZXh0LlNLRUxFVE9OO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIG1hdGNoKHR5cGUsIFtcbiAgICAgIFtcbiAgICAgICAgQmFkZ2VUeXBlLkRBWUNBUkUsXG4gICAgICAgIDxGcmFtZVxuICAgICAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH1cbiAgICAgICAgICBjb250ZXh0PXtGcmFtZUNvbnRleHQuU0tFTEVUT059XG4gICAgICAgICAgYXJvdW5kPXtcbiAgICAgICAgICAgIDxGaWd1cmVcbiAgICAgICAgICAgICAgc2l6ZT17U2l6ZS5NRURJVU19XG4gICAgICAgICAgICAgIHR5cGU9e0ZpZ3VyZVR5cGUuRkVOQ0V9XG4gICAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9XG4gICAgICAgICAgICAgIGNvbnRleHQ9e0ZpZ3VyZUNvbnRleHQuU0tFTEVUT059XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH1cbiAgICAgICAgLz4sXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICBCYWRnZVR5cGUuQ0hJTERNSU5ERVIsXG4gICAgICAgIDxGcmFtZVxuICAgICAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH1cbiAgICAgICAgICBjb250ZXh0PXtGcmFtZUNvbnRleHQuU0tFTEVUT059XG4gICAgICAgICAgYXJvdW5kPXtcbiAgICAgICAgICAgIDxGaWd1cmVcbiAgICAgICAgICAgICAgc2l6ZT17U2l6ZS5NRURJVU19XG4gICAgICAgICAgICAgIHR5cGU9e0ZpZ3VyZVR5cGUuQlVJTERJTkd9XG4gICAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9XG4gICAgICAgICAgICAgIGNvbnRleHQ9e0ZpZ3VyZUNvbnRleHQuU0tFTEVUT059XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH1cbiAgICAgICAgLz4sXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICBCYWRnZVR5cGUuQ09PUEVSQVRJVkUsXG4gICAgICAgIDxGcmFtZVxuICAgICAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH1cbiAgICAgICAgICBjb250ZXh0PXtGcmFtZUNvbnRleHQuU0tFTEVUT059XG4gICAgICAgICAgYXJvdW5kPXtcbiAgICAgICAgICAgIDxGaWd1cmVcbiAgICAgICAgICAgICAgc2l6ZT17U2l6ZS5NRURJVU19XG4gICAgICAgICAgICAgIHR5cGU9e0ZpZ3VyZVR5cGUuQlVJTERJTkd9XG4gICAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9XG4gICAgICAgICAgICAgIGNvbnRleHQ9e0ZpZ3VyZUNvbnRleHQuU0tFTEVUT059XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH1cbiAgICAgICAgLz4sXG4gICAgICBdLFxuICAgIF0pO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKHR5cGUsIFtcbiAgICBbXG4gICAgICBCYWRnZVR5cGUuREFZQ0FSRSxcbiAgICAgIDxGcmFtZVxuICAgICAgICB0aW50PXtDb2xvclZhcmlhbnQuVElOVF8yMDB9XG4gICAgICAgIGNvbnRleHQ9e0ZyYW1lQ29udGV4dC5TVEFOREFSRH1cbiAgICAgICAgY29sb3I9e0NvbG9yLkFDQ0VOVH1cbiAgICAgICAgYXJvdW5kPXtcbiAgICAgICAgICA8RmlndXJlXG4gICAgICAgICAgICBzaXplPXtTaXplLk1FRElVTX1cbiAgICAgICAgICAgIHR5cGU9e0ZpZ3VyZVR5cGUuQlVJTERJTkd9XG4gICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIC8+LFxuICAgIF0sXG4gICAgW1xuICAgICAgQmFkZ2VUeXBlLkNISUxETUlOREVSLFxuICAgICAgPEZyYW1lXG4gICAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH1cbiAgICAgICAgY29udGV4dD17RnJhbWVDb250ZXh0LlNUQU5EQVJEfVxuICAgICAgICBjb2xvcj17Q29sb3IuU1VQUE9SVElOR31cbiAgICAgICAgYXJvdW5kPXtcbiAgICAgICAgICA8RmlndXJlXG4gICAgICAgICAgICBzaXplPXtTaXplLk1FRElVTX1cbiAgICAgICAgICAgIHR5cGU9e0ZpZ3VyZVR5cGUuRkVOQ0V9XG4gICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIC8+LFxuICAgIF0sXG4gICAgW1xuICAgICAgQmFkZ2VUeXBlLkNPT1BFUkFUSVZFLFxuICAgICAgPEZyYW1lXG4gICAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH1cbiAgICAgICAgY29udGV4dD17RnJhbWVDb250ZXh0LlNUQU5EQVJEfVxuICAgICAgICBjb2xvcj17Q29sb3IuQUNDRU5UfVxuICAgICAgICBzcGxpdD17Q29sb3IuU1VQUE9SVElOR31cbiAgICAgICAgYXJvdW5kPXtcbiAgICAgICAgICA8RmlndXJlXG4gICAgICAgICAgICBzaXplPXtTaXplLk1FRElVTX1cbiAgICAgICAgICAgIHR5cGU9e0ZpZ3VyZVR5cGUuQlVJTERJTkd9XG4gICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIC8+LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBMb2FkRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5sb2FkZXJcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmVudW1zXCI7XG5pbXBvcnQgeyBJRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuXG5jb25zdCBGaWd1cmVDdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEZpZ3VyZUN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KEZpZ3VyZUN0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgRmlndXJlID0gKHsgc2l6ZSwgdHlwZSwgc2NyZWVuUmVhZGVyVGV4dCwgY29udGV4dCB9OiBJRmlndXJlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IEZpZ3VyZUN0eERlZmF1bHQ7XG5cbiAgY29uc3QgRmlndXJlID0gTG9hZEZpZ3VyZSh7XG4gICAgc2l6ZTogc2l6ZSxcbiAgICB0eXBlOiB0eXBlLFxuICAgIHNjcmVlblJlYWRlclRleHQ6IHNjcmVlblJlYWRlclRleHQsXG4gIH0pO1xuXG4gIHJldHVybiA8RmlndXJlQ3R4LlByb3ZpZGVyIHZhbHVlPXtDb250ZXh0fT57RmlndXJlfTwvRmlndXJlQ3R4LlByb3ZpZGVyPjtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBBbGVydCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQwLjA4MjEgMS45ODE3MUMzMy45OTgxIDEuOTgxNzEgMjQuODkxNiAyLjE1NzIxIDI3LjkxNDEgMjcuODM4N0MzMC45MzY2IDUzLjUyMDIgMzcuMDQwMSA1My42NTY3IDQwLjA4MjEgNTMuNjU2N0M0My4xMjQxIDUzLjY1NjcgNDkuMjA4MSA1My42NTY3IDUyLjI1MDEgMjcuNzk5N0M1NS4yOTIxIDEuOTQyNzEgNDYuMTY2MSAxLjk4MTcxIDQwLjA4MjEgMS45ODE3MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMwLjk1NjEgNjguOTA1N0MzMC45NTYxIDcwLjEwNDIgMzEuMTkyMSA3MS4yOTA5IDMxLjY1MDcgNzIuMzk4MUMzMi4xMDk0IDczLjUwNTMgMzIuNzgxNiA3NC41MTEzIDMzLjYyOSA3NS4zNTg4QzM0LjQ3NjQgNzYuMjA2MiAzNS40ODI1IDc2Ljg3ODQgMzYuNTg5NyA3Ny4zMzdDMzcuNjk2OSA3Ny43OTU3IDM4Ljg4MzYgNzguMDMxNyA0MC4wODIxIDc4LjAzMTdDNDEuMjgwNSA3OC4wMzE3IDQyLjQ2NzIgNzcuNzk1NyA0My41NzQ0IDc3LjMzN0M0NC42ODE2IDc2Ljg3ODQgNDUuNjg3NyA3Ni4yMDYyIDQ2LjUzNTEgNzUuMzU4OEM0Ny4zODI1IDc0LjUxMTMgNDguMDU0OCA3My41MDUzIDQ4LjUxMzQgNzIuMzk4MUM0OC45NzIgNzEuMjkwOSA0OS4yMDgxIDcwLjEwNDIgNDkuMjA4MSA2OC45MDU3QzQ5LjIwODEgNjcuNzA3MyA0OC45NzIgNjYuNTIwNiA0OC41MTM0IDY1LjQxMzNDNDguMDU0OCA2NC4zMDYxIDQ3LjM4MjUgNjMuMzAwMSA0Ni41MzUxIDYyLjQ1MjdDNDUuNjg3NyA2MS42MDUyIDQ0LjY4MTYgNjAuOTMzIDQzLjU3NDQgNjAuNDc0NEM0Mi40NjcyIDYwLjAxNTggNDEuMjgwNSA1OS43Nzk3IDQwLjA4MjEgNTkuNzc5N0MzOC44ODM2IDU5Ljc3OTcgMzcuNjk2OSA2MC4wMTU4IDM2LjU4OTcgNjAuNDc0NEMzNS40ODI1IDYwLjkzMyAzNC40NzY0IDYxLjYwNTIgMzMuNjI5IDYyLjQ1MjdDMzIuNzgxNiA2My4zMDAxIDMyLjEwOTQgNjQuMzA2MSAzMS42NTA3IDY1LjQxMzNDMzEuMTkyMSA2Ni41MjA2IDMwLjk1NjEgNjcuNzA3MyAzMC45NTYxIDY4LjkwNTdaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Mi4zMjQ2IDcuOTY4MjFDNDQuMjc0NiA4LjI4MDIxIDQ2LjM0MTYgMTEuMTg1NyA0Ni40OTc2IDE0LjYzNzJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MS42NDIxIDY0LjQ3OTJDNDIuMjI5NiA2NC40Mzk4IDQyLjgxMTMgNjQuNjE2MiA0My4yNzggNjQuOTc1MkM0My43NDQ4IDY1LjMzNDMgNDQuMDY0NCA2NS44NTEzIDQ0LjE3NzEgNjYuNDI5MlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuY29uc3QgQmFzZUZpZ3VyZVN2ZyA9IHN0eWxlZC5zdmcuYXR0cnMoKHByb3BzKSA9PiAoe1xuICB2ZXJzaW9uOiBcIjEuMVwiLFxuICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICB4bWxuc1hsaW5rOiBcImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIixcbiAgcm9sZTogXCJpbWdcIixcbiAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIixcbn0pKWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZUZpZ3VyZVBhdGggPSBzdHlsZWQucGF0aC5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmlndXJlID0gc3R5bGVkKEJhc2VGaWd1cmVTdmcpPHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy53aWR0aH07XG4gIGhlaWdodDogJHsocHJvcHMpID0+IHByb3BzLmhlaWdodH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmlndXJlUGF0aCA9IHN0eWxlZChCYXNlRmlndXJlUGF0aCk8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGaWd1cmVXcmFwcGVyID0gc3R5bGVkLnNwYW48e30+YFxuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5gO1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNjcmVlblJlYWRlck9ubHkgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuYDtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFN0eWxlZFNjcmVlblJlYWRlck9ubHkgfSBmcm9tIFwiLi9zY3JlZW5fcmVhZGVyX29ubHkuc3R5bGVzXCI7XG5pbXBvcnQgeyBTY3JlZW5SZWFkZXJPbmx5UHJvcHMgfSBmcm9tIFwiQC9iYXNlL3NyZWVuX3JlYWRlcl9vbmx5L3NjcmVlbl9yZWFkZXJfb25seS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU2NyZWVuUmVhZGVyT25seSA9ICh7IHRleHQgfTogU2NyZWVuUmVhZGVyT25seVByb3BzKSA9PiB7XG4gIHJldHVybiA8U3R5bGVkU2NyZWVuUmVhZGVyT25seT57dGV4dH08L1N0eWxlZFNjcmVlblJlYWRlck9ubHk+O1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlck9ubHkgfSBmcm9tIFwiQC9iYXNlL3NyZWVuX3JlYWRlcl9vbmx5L3NjcmVlbl9yZWFkZXJfb25seVwiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlLCBTdHlsZWRGaWd1cmVXcmFwcGVyIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlU3ZnIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgRmlndXJlID0gKHtcbiAgc2NyZWVuUmVhZGVyVGV4dCxcbiAgc2l6ZSxcbiAgY2hpbGRyZW4sXG59OiBJRmlndXJlQmFzZVN2ZykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRGaWd1cmVXcmFwcGVyPlxuICAgICAgPFN0eWxlZEZpZ3VyZSB3aWR0aD17c2l6ZX0gaGVpZ2h0PXtzaXplfSB2aWV3Qm94PVwiMCAwIDgwIDgwXCI+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvU3R5bGVkRmlndXJlPlxuICAgICAgPFNjcmVlblJlYWRlck9ubHkgdGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gLz5cbiAgICA8L1N0eWxlZEZpZ3VyZVdyYXBwZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgSUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VGaWd1cmVUaGVtZSA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCk6IElGaWd1cmVUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBTdHJva2UgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiZmlndXJlX3N0cm9rZVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgfSk7XG5cbiAgY29uc3QgUHJpbWFyeSA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJmaWd1cmVfcHJpbWFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5wcmltYXJ5LnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImZpZ3VyZV9zdXBwb3J0aW5nXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEFjY2VudCA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJmaWd1cmVfYWNjZW50XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLmFjY2VudC50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBzdHJva2U6IFN0cm9rZSxcbiAgICAgICAgcHJpbWFyeTogUHJpbWFyeSxcbiAgICAgICAgc3VwcG9ydGluZzogU3VwcG9ydGluZyxcbiAgICAgICAgYWNjZW50OiBBY2NlbnQsXG4gICAgICAgIGRhbmdlcjogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgICAgICAgc3VjY2VzczogQ29sb3JzLnN1Y2Nlc3MudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5JTlZFUlRFRCxcbiAgICAgIHtcbiAgICAgICAgc3Ryb2tlOiBTdHJva2UsXG4gICAgICAgIHByaW1hcnk6IFN1cHBvcnRpbmcsXG4gICAgICAgIHN1cHBvcnRpbmc6IEFjY2VudCxcbiAgICAgICAgYWNjZW50OiBQcmltYXJ5LFxuICAgICAgICBkYW5nZXI6IENvbG9ycy5kYW5nZXIudGludF81MDAsXG4gICAgICAgIHN1Y2Nlc3M6IENvbG9ycy5zdWNjZXNzLnRpbnRfNTAwLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuQUNDRU5ULFxuICAgICAge1xuICAgICAgICBzdHJva2U6IFN0cm9rZSxcbiAgICAgICAgcHJpbWFyeTogQWNjZW50LFxuICAgICAgICBzdXBwb3J0aW5nOiBQcmltYXJ5LFxuICAgICAgICBhY2NlbnQ6IFN1cHBvcnRpbmcsXG4gICAgICAgIGRhbmdlcjogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgICAgICAgc3VjY2VzczogQ29sb3JzLnN1Y2Nlc3MudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TS0VMRVRPTixcbiAgICAgIHtcbiAgICAgICAgc3Ryb2tlOiBTa2VsZXRvbkJnLFxuICAgICAgICBwcmltYXJ5OiBTa2VsZXRvbkJnLFxuICAgICAgICBzdXBwb3J0aW5nOiBTa2VsZXRvbkJnLFxuICAgICAgICBhY2NlbnQ6IFNrZWxldG9uQmcsXG4gICAgICAgIGRhbmdlcjogU2tlbGV0b25CZyxcbiAgICAgICAgc3VjY2VzczogU2tlbGV0b25CZyxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQmluID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzQuMjAzMSAyMi4wNDA1Qzc0LjI3MTYgMTkuODYzMiA3My42NTMxIDE3LjcxOTYgNzIuNDM1IDE1LjkxMzZDNzEuMjE3IDE0LjEwNzYgNjkuNDYxNCAxMi43MzA4IDY3LjQxNzEgMTEuOTc4NUM2MS4xNjE4IDEwLjcwNDYgNTQuODA2IDkuOTg2ODIgNDguNDI0MSA5LjgzMzQ4QzQ4LjI4MDIgOC4yNzQ4NCA0Ny45ODYzIDYuNzMzNzIgNDcuNTQ2NiA1LjIzMTQ4QzQ2LjI3OTEgMS45NTU0OCA0My40MzIxIDEuOTc0OTggNDAuMDAwMSAxLjk3NDk4QzM2LjU2ODEgMS45NzQ5OCAzMy43MjExIDEuOTc0OTggMzIuNDUzNiA1LjIzMTQ4QzMyLjAxMzkgNi43MzM3MiAzMS43MjAxIDguMjc0ODQgMzEuNTc2MSA5LjgzMzQ4QzI1LjE5NDIgOS45ODY4MiAxOC44Mzg0IDEwLjcwNDYgMTIuNTgzMSAxMS45Nzg1QzEwLjUzODggMTIuNzMwOCA4Ljc4MzE5IDE0LjEwNzYgNy41NjUxOSAxNS45MTM2QzYuMzQ3MTggMTcuNzE5NiA1LjcyODU5IDE5Ljg2MzIgNS43OTcxMSAyMi4wNDA1QzUuNjgxODQgMjMuODgyOSA2LjE2OTM5IDI1LjcxMjkgNy4xODYwOCAyNy4yNTM3QzguMjAyNzcgMjguNzk0NiA5LjY5MzM2IDI5Ljk2MjcgMTEuNDMyNiAzMC41ODE1QzExLjMyNjQgMzUuMDI5MSAxMS41MjE5IDM5LjQ3ODggMTIuMDE3NiA0My45QzEzLjIyNjYgNTQuODIgMTYuMjg4MSA3MC4wODg1IDE4LjIzODEgNzIuOTE2QzIxLjM1ODEgNzcuMzgxNSAzMC44MzUxIDc4LjAyNSA0MC4wMDAxIDc4LjAyNUM0OS4xNjUxIDc4LjAyNSA1OC42NDIxIDc3LjM4MTUgNjEuNzYyMSA3Mi44MzhDNjMuNzEyMSA3MC4wMTA1IDY2Ljc3MzYgNTQuNzQyIDY3Ljk4MjYgNDMuODIyQzY4LjQ3NDggMzkuNDI2NiA2OC42NzAzIDM1LjAwMzEgNjguNTY3NiAzMC41ODE1QzcwLjMwNjkgMjkuOTYyNyA3MS43OTc1IDI4Ljc5NDYgNzIuODE0MSAyNy4yNTM3QzczLjgzMDggMjUuNzEyOSA3NC4zMTg0IDIzLjg4MjkgNzQuMjAzMSAyMi4wNDA1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjAuNSAzMC44MzVDMjYuOTgzOCAzMS40MDAxIDMzLjQ5MjYgMzEuNjI3OSA0MCAzMS41MTc1QzQ2LjUzOTkgMzEuNjMxMyA1My4wODEzIDMxLjQwMzUgNTkuNTk3NSAzMC44MzVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMwLjY3OTIgNDMuOUMzMC40OTE1IDQ3LjAwMTUgMzAuNTY5OCA1MC4xMTM0IDMwLjkxMzIgNTMuMjAxNUMzMS4wODQ5IDU2LjI5MzYgMzEuNTE1NCA1OS4zNjU4IDMyLjIwMDIgNjIuMzg2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OS4yNDMgNDMuOUM0OS40MzA3IDQ3LjAwMTUgNDkuMzUyNCA1MC4xMTM0IDQ5LjAwOSA1My4yMDE1QzQ4Ljg2NDEgNTYuMjk3OSA0OC40NTk3IDU5LjM3NjcgNDcuOCA2Mi40MDU1XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OC4xOTM2IDE2LjZDNjIuNjM5NiAxNi42IDY0Ljg2MjYgMTYuNiA2Ny4wNjYxIDE5LjcwMDVcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ2FsZW5kYXIgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Mi41ODQ2IDE4LjcyMjNDNzAuMjMyOCAxNi41NTkgNjcuMzIwNyAxNS4wOTk2IDY0LjE4MDEgMTQuNTEwM0M2NC4xMjg3IDEyLjIwMzQgNjMuODY3NiA5LjkwNTkzIDYzLjQwMDEgNy42NDYzQzYzLjAxNiA2LjQ0NTYgNjIuMjYwNCA1LjM5Nzk5IDYxLjI0MjIgNC42NTQ2OEM2MC4yMjQgMy45MTEzNyA1OC45OTYgMy41MTA4MSA1Ny43MzUzIDMuNTEwODFDNTYuNDc0NyAzLjUxMDgxIDU1LjI0NjcgMy45MTEzNyA1NC4yMjg1IDQuNjU0NjhDNTMuMjEwMyA1LjM5Nzk5IDUyLjQ1NDcgNi40NDU2IDUyLjA3MDYgNy42NDYzQzUxLjY5NCA5LjE3NDI5IDUxLjQ2NTUgMTAuNzM1IDUxLjM4ODEgMTIuMzA2OEM0Ny4yNzM2IDExLjg3NzggNDMuMjU2NiAxMS42NjMzIDQwLjA3ODEgMTEuNjYzM0MzNi44OTk2IDExLjY2MzMgMzIuODgyNiAxMS44Nzc4IDI4Ljc2ODEgMTIuMzA2OEMyOC42OTA3IDEwLjczNSAyOC40NjIyIDkuMTc0MjkgMjguMDg1NiA3LjY0NjNDMjcuNzMzNCA2LjQzMjM3IDI2Ljk4OTggNS4zNjg4NyAyNS45NzA3IDQuNjIxMjNDMjQuOTUxNSAzLjg3MzU5IDIzLjcxMzggMy40ODM3NCAyMi40NTAxIDMuNTEyM0MyMS4xNTQ3IDMuNDU1NjUgMTkuODc3MyAzLjgzMDk0IDE4LjgxODQgNC41NzkyMkMxNy43NTk1IDUuMzI3NSAxNi45NzkyIDYuNDA2MzYgMTYuNjAwMSA3LjY0NjNDMTYuMTMyNiA5LjkwNTkzIDE1Ljg3MTUgMTIuMjAzNCAxNS44MjAxIDE0LjUxMDNDMTIuNjc5NSAxNS4wOTk2IDkuNzY3NDIgMTYuNTU5IDcuNDE1NiAxOC43MjIzQzUuMTE0NiAyMS41NDk4IDEuOTc1MSAzMy43NzYzIDEuOTc1MSA0NC4yNDc4QzEuOTc1MSA1NC43MTkzIDUuMTE0NiA2Ni45NDU4IDcuNDE1NiA2OS43MzQzQzEwLjg2NzEgNzMuOTQ2MyAyOS41MDkxIDc2LjgzMjMgNDAuMDAwMSA3Ni44MzIzQzUwLjQ5MTEgNzYuODMyMyA2OS4xMzMxIDczLjk0NjMgNzIuNTg0NiA2OS43MzQzQzc0Ljg4NTYgNjYuOTQ1OCA3OC4wMjUxIDU0LjcxOTMgNzguMDI1MSA0NC4yNDc4Qzc4LjAyNTEgMzMuNzc2MyA3NC44ODU2IDIxLjU0OTggNzIuNTg0NiAxOC43MjIzWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjAuMjYwNCA2My41NzIzQzY0LjA0MzQgNjEuMjEyOCA2NC40NTI5IDU2LjE0MjggNjQuNDUyOSA0Ni45Nzc4QzY0LjQ1MjkgMzcuODEyOCA2NC4wNDM0IDMyLjc2MjMgNjAuMjYwNCAzMC4zODMzQzU4LjMxMDQgMjguMDIzOCA0OC4zMjY0IDI3LjQxOTMgMzkuOTk5OSAyNy40MTkzQzMxLjY3MzQgMjcuNDE5MyAyMS42MTE0IDI4LjAwNDMgMTkuNzM5NCAzMC40MjIzQzE1Ljk1NjQgMzIuODAxMyAxNS41NDY5IDM3Ljg1MTggMTUuNTQ2OSA0Ny4wMTY4QzE1LjU0NjkgNTYuMTgxOCAxNS45NTY0IDYxLjI1MTggMTkuNzM5NCA2My42MTEzQzIxLjY4OTQgNjUuOTkwMyAzMS42NzM0IDY2LjU3NTMgMzkuOTk5OSA2Ni41NzUzQzQ4LjMyNjQgNjYuNTc1MyA1OC4zODg0IDY1LjkzMTggNjAuMjYwNCA2My41NzIzWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMi4yMDAzIDMyLjcyMzNDMzIuMjAwMyAzMi43MjMzIDMxLjY3MzggMzguNDE3MyAzMS42NzM4IDQ2Ljk1ODNDMzEuNjczOCA1NS40OTkzIDMyLjIwMDMgNjEuMjEyOCAzMi4yMDAzIDYxLjIxMjhcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ3LjgwMDMgNjEuMjEyOEM0Ny44MDAzIDYxLjIxMjggNDguMzI2OCA1NS41MTg4IDQ4LjMyNjggNDYuOTU4M0M0OC4zMjY4IDM4LjM5NzggNDcuODAwMyAzMi43MjMzIDQ3LjgwMDMgMzIuNzIzM1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTcuMjk2NiA0MC4yODkzQzU3LjI5NjYgNDAuMjg5MyA1MC4zNzQxIDM5LjUyODggNDAuMDAwMSAzOS41Mjg4QzI5LjYyNjEgMzkuNTI4OCAyMi43MDM2IDQwLjI4OTMgMjIuNzAzNiA0MC4yODkzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMi43MDM2IDUzLjYyNzNDMjIuNzAzNiA1My42MjczIDI5LjYyNjEgNTQuMzg3OCA0MC4wMDAxIDU0LjM4NzhDNTAuMzc0MSA1NC4zODc4IDU3LjI5NjYgNTMuNjI3MyA1Ny4yOTY2IDUzLjYyNzNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTYyLjE3MTQgMTkuNDQzOEM2OS41NjE5IDIxLjUxMDggNjguOTk2NCAyMi42NjEzIDY5Ljk3MTQgMjUuNjA1OFwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IENoZWNrID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzMuMTUwMSA5LjI2ODA1QzY5LjQ2NDYgNi40NjAwNSA2NC40NzI2IDQuNjI3MDUgNTkuNTAwMSA5LjI2ODA1QzU2LjUzNjEgMTEuMjE4MSA0OC40NDM2IDE5LjAxODEgMzkuNTcxMSAzMC43MTgxQzM3LjI1MDYgMzMuNzk5MSAzNS4wNDcxIDM2LjcyNDEgMzMuMDM4NiAzOS40NzM2QzI1Ljc0NTYgMzMuOTM1NiAxOS45OTMxIDMwLjAxNjEgMTcuNjE0MSAyOS43MjM2QzEzLjU3NzYgMjguMTYzNiA5LjIwOTU3IDMyLjU1MTEgNi40MDE1NyAzNi4yMzY2QzMuNTkzNTcgMzkuOTIyMSAwLjM3NjA2NiA0NS4xMjg2IDIuOTUwMDcgNDguNTgwMUMzLjg2NjU3IDUwLjgwMzEgOS4wNTM1NyA1NS40NjM2IDE2LjM0NjYgNjEuMDIxMUMyNS4xMDIxIDY3LjY3MDYgMzEuNDIwMSA3Mi43MjExIDM1LjEyNTEgNzMuMTg5MUM0MC43OTk2IDc1LjM5MjYgNDQuODc1MSA2OC42ODQ2IDYxLjE5NjYgNDcuMTM3MUM3MC4wNjkxIDM1LjQzNzEgNzUuNzI0MSAyNS42ODcxIDc2Ljc5NjYgMjIuMzkxNkM3OS44Mzg2IDE2LjM4NTYgNzYuNzM4MSAxMi4wNzYxIDczLjE1MDEgOS4yNjgwNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU2LjY5MjEgMTguMzM1NUM1OS44OTAxIDE0Ljc0NzUgNjIuODU0MSAxMS4zNTQ1IDY1LjU2NDYgMTEuMDYyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IENoaWxkID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTguNTk2IDQ2LjU1MkM2My40MTI1IDQyLjEwNiA2NS44NSAzNS40MzcgNjUuODUgMjcuMzI1QzY1Ljg1IDEyLjExNSA1Ny40MDY1IDEuOTc0OTggNDAuNSAxLjk3NDk4QzIzLjU5MzUgMS45NzQ5OCAxNS4xNSAxMi4xMTUgMTUuMTUgMjcuMzI1QzE1LjE1IDM1LjQzNyAxNy41ODc1IDQyLjEwNiAyMi40MDQgNDYuNTUyQzE1LjcxNTUgNTEuNDI3IDEyLjM0MiA1OS41IDEyLjM0MiA2OS41ODE1QzEyLjM0MiA3NS4yMjM1IDIxLjcyOCA3OC4wMzggNDAuNSA3OC4wMjVDNTkuMjcyIDc4LjAxMiA2OC42NTggNzUuMTk3NSA2OC42NTggNjkuNTgxNUM2OC42NTggNTkuNSA2NS4yODQ1IDUxLjQyNyA1OC41OTYgNDYuNTUyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDkuODYwMSA5LjIwOTQ3QzUyLjM1NDcgMTAuMDcyNiA1NC41MyAxMS42NyA1Ni4xMDAxIDEzLjc5MlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQxLjQxNjUgMS45NzQ5OEMzOS4xMDk4IDIuNjE1ODIgMzcuMTE5NSA0LjA4Mjk1IDM1LjgyNDkgNi4wOTY3OUMzNC41MzAzIDguMTEwNjMgMzQuMDIxOSAxMC41MzA0IDM0LjM5NjUgMTIuODk1QzM1LjQxMDUgMTguMTAxNSA0NC4zMDI1IDE3LjQzODUgNDMuMjMgMTEuOTk4QzQyLjY2NDUgOS4yMDk0OCAzOS41ODM1IDEwLjYzMyAzOS41ODM1IDEwLjYzM1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjYuNDAxNiAyNS45MjFDMjYuNDAxNiAyNy4wNDMyIDI2Ljg0NzQgMjguMTE5NSAyNy42NDEgMjguOTEzMUMyOC40MzQ1IDI5LjcwNjYgMjkuNTEwOCAzMC4xNTI1IDMwLjYzMzEgMzAuMTUyNUMzMS43NTU0IDMwLjE1MjUgMzIuODMxNyAyOS43MDY2IDMzLjYyNTIgMjguOTEzMUMzNC40MTg4IDI4LjExOTUgMzQuODY0NiAyNy4wNDMyIDM0Ljg2NDYgMjUuOTIxQzM0Ljg2NDYgMjQuNzk4NyAzNC40MTg4IDIzLjcyMjQgMzMuNjI1MiAyMi45Mjg4QzMyLjgzMTcgMjIuMTM1MyAzMS43NTU0IDIxLjY4OTUgMzAuNjMzMSAyMS42ODk1QzI5LjUxMDggMjEuNjg5NSAyOC40MzQ1IDIyLjEzNTMgMjcuNjQxIDIyLjkyODhDMjYuODQ3NCAyMy43MjI0IDI2LjQwMTYgMjQuNzk4NyAyNi40MDE2IDI1LjkyMVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Ni4xMzU1IDI1LjkyMUM0Ni4xMzU1IDI3LjA0MzIgNDYuNTgxMyAyOC4xMTk1IDQ3LjM3NDkgMjguOTEzMUM0OC4xNjg0IDI5LjcwNjYgNDkuMjQ0NyAzMC4xNTI1IDUwLjM2NyAzMC4xNTI1QzUxLjQ4OTMgMzAuMTUyNSA1Mi41NjU2IDI5LjcwNjYgNTMuMzU5MSAyOC45MTMxQzU0LjE1MjcgMjguMTE5NSA1NC41OTg1IDI3LjA0MzIgNTQuNTk4NSAyNS45MjFDNTQuNTk4NSAyNC43OTg3IDU0LjE1MjcgMjMuNzIyNCA1My4zNTkxIDIyLjkyODhDNTIuNTY1NiAyMi4xMzUzIDUxLjQ4OTMgMjEuNjg5NSA1MC4zNjcgMjEuNjg5NUM0OS4yNDQ3IDIxLjY4OTUgNDguMTY4NCAyMi4xMzUzIDQ3LjM3NDkgMjIuOTI4OEM0Ni41ODEzIDIzLjcyMjQgNDYuMTM1NSAyNC43OTg3IDQ2LjEzNTUgMjUuOTIxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMyLjA1NjYgMzUuNzY4NEMzNC40MTg1IDM3LjczMzcgMzcuNDMxMSAzOC43NDI1IDQwLjUwMDEgMzguNTk1OUM0My41NjkyIDM4Ljc0MjUgNDYuNTgxOCAzNy43MzM3IDQ4Ljk0MzYgMzUuNzY4NFwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDAuNSA1Mi42NzVDMzYuOTgxMyA1Mi42ODYxIDMzLjQ4MiA1Mi4xNTM0IDMwLjEyNiA1MS4wOTU1QzI5LjUzNzYgNTIuNDgzNiAyOS4yMzI2IDUzLjk3NTMgMjkuMjI5IDU1LjQ4M0MyOS4yMjkgNjEuNzIzIDMyLjk5MjUgNjYuNzU0IDQwLjUgNjYuNzU0QzQ4LjAwNzUgNjYuNzU0IDUxLjc3MSA2MS43MjMgNTEuNzcxIDU1LjQ4M0M1MS43Njc0IDUzLjk3NTMgNTEuNDYyNSA1Mi40ODM2IDUwLjg3NCA1MS4wOTU1QzQ3LjUxOCA1Mi4xNTM0IDQ0LjAxODcgNTIuNjg2MSA0MC41IDUyLjY3NVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBDb2lucyA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY3LjU4NTkgMTEuODA2MUM2Ny4yNjc1IDExLjM3NTUgNjAuMzIyNiAxLjk0MDYxIDM5LjE4NzUgMS45NDA2MUMxOC4wNTI3IDEuOTQwNjEgMTEuMTA3NiAxMS4zNzU1IDEwLjc4OTMgMTEuODA2MUM4LjQxMTkgMTQuNzI2NCA3LjU1MDc4IDI3LjQ5MzQgNy41NTA3OCAzOC40NDQ1QzcuNTUwNzggNDkuMzk1OCA4LjQxMTkgNjIuMTYyOSAxMC43ODkzIDY1LjA4MzJDMTEuMTA3NiA2NS41MTM2IDE4LjA1MjcgNzQuOTQ4NSAzOS4xODc1IDc0Ljk0ODVDNjAuMzIyNiA3NC45NDg1IDY3LjI2NzUgNjUuNTg4NSA2Ny41ODU5IDY1LjA4MzJDNjkuOTYzMiA2Mi4xNjI5IDcwLjgyNDMgNDkuMzk1OCA3MC44MjQzIDM4LjQ0NDVDNzAuODI0MyAyNy40OTM0IDY5Ljk2MzIgMTQuNzI2NCA2Ny41ODU5IDExLjgwNjFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01NC4wMTM3IDguMzgwNDlDNTYuMjU3NiA4Ljk5MjE3IDU4LjM3OTIgOS45ODY0MSA2MC4yODQ4IDExLjMxOTVcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY0LjQyMjEgMjEuNDA5NEM1OS45MTA3IDI1Ljk5NTggNTEuNDg2NyAyOC43MTAyIDM5LjE4NzUgMjguNzEwMkMyNi44ODg2IDI4LjcxMDIgMTguNDY0NiAyNS45OTU4IDEzLjkzNDQgMjEuNDA5NFwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjQuNDIyMSAzOC40NDQ1QzU5LjkxMDcgNDMuMDMxIDUxLjQ4NjcgNDUuNzQ1MyAzOS4xODc1IDQ1Ljc0NTNDMjYuODg4NiA0NS43NDUzIDE4LjQ2NDYgNDMuMDMxIDEzLjkzNDQgMzguNDQ0NVwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjQuNDIyMSA1My4wNDYxQzU5LjkxMDcgNTcuNjMyNiA1MS40ODY3IDYwLjM0NjkgMzkuMTg3NSA2MC4zNDY5QzI2Ljg4ODYgNjAuMzQ2OSAxOC40NjQ2IDU3LjYzMjYgMTMuOTM0NCA1My4wNDYxXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNi4zMjcgMTQuNzI2NkMyNi4zMjcgMTYuMDE3NSAyNy42ODE5IDE3LjI1NTQgMzAuMDkzOCAxOC4xNjgyQzMyLjUwNTYgMTkuMDgxIDM1Ljc3NjcgMTkuNTkzOCAzOS4xODc1IDE5LjU5MzhDNDIuNTk4NCAxOS41OTM4IDQ1Ljg2OTggMTkuMDgxIDQ4LjI4MTYgMTguMTY4MkM1MC42OTMxIDE3LjI1NTQgNTIuMDQ4MyAxNi4wMTc1IDUyLjA0ODMgMTQuNzI2NkM1Mi4wNDgzIDEzLjQzNTcgNTAuNjkzMSAxMi4xOTc3IDQ4LjI4MTYgMTEuMjg1QzQ1Ljg2OTggMTAuMzcyMiA0Mi41OTg0IDkuODU5MzggMzkuMTg3NSA5Ljg1OTM4QzM1Ljc3NjcgOS44NTkzOCAzMi41MDU2IDEwLjM3MjIgMzAuMDkzOCAxMS4yODVDMjcuNjgxOSAxMi4xOTc3IDI2LjMyNyAxMy40MzU3IDI2LjMyNyAxNC43MjY2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBGYWNlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoIGQ9XCJNODAgMEgwVjgwSDgwVjBaXCIgZmlsbD1cIiNGRkZcIiAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Mi41IDkuNUM2OS4yNiAzLjg0IDUyLjU2IDEgNDAgMUMyNy40NCAxIDEwLjc2IDMuODQgNy41IDkuNUM0LjI0IDEyLjM0IDEgMjcuNDYgMSA0MEMxIDUyLjU0IDQuMjQgNjcuNjYgNy41IDcwLjVDMTAuNzYgNzYuMTYgMjcuNSA3OSA0MCA3OUM1Mi41IDc5IDY5LjI2IDc2LjE2IDcyLjUgNzAuNUM3NS43NiA2Ny42NiA3OSA1Mi41IDc5IDQwQzc5IDI3LjUgNzUuNzYgMTIuMzQgNzIuNSA5LjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNCA0MEMxNCA0Ni44OTU2IDE2LjczOTMgNTMuNTA4OCAyMS42MTUyIDU4LjM4NDhDMjYuNDkxMiA2My4yNjA4IDMzLjEwNDQgNjYgNDAgNjZDNDYuODk1NiA2NiA1My41MDg4IDYzLjI2MDggNTguMzg0OCA1OC4zODQ4QzYzLjI2MDggNTMuNTA4OCA2NiA0Ni44OTU2IDY2IDQwQzY2IDMzLjEwNDQgNjMuMjYwOCAyNi40OTEyIDU4LjM4NDggMjEuNjE1MkM1My41MDg4IDE2LjczOTMgNDYuODk1NiAxNCA0MCAxNEMzMy4xMDQ0IDE0IDI2LjQ5MTIgMTYuNzM5MyAyMS42MTUyIDIxLjYxNTJDMTYuNzM5MyAyNi40OTEyIDE0IDMzLjEwNDQgMTQgNDBaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI3IDQ5Ljc2QzI3IDQ5Ljc2IDMwLjI0IDUzIDQwIDUzQzQ5Ljc2IDUzIDUzIDQ5Ljc2IDUzIDQ5Ljc2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMy43NCAzNS4xMkMyMy43NCAzNi40MTQyIDI0LjI1NDIgMzcuNjU1NCAyNS4xNjk0IDM4LjU3MDZDMjYuMDg0NCAzOS40ODU4IDI3LjMyNTggNDAgMjguNjIgNDBDMjkuOTE0MiA0MCAzMS4xNTU0IDM5LjQ4NTggMzIuMDcwNiAzOC41NzA2QzMyLjk4NTggMzcuNjU1NCAzMy41IDM2LjQxNDIgMzMuNSAzNS4xMkMzMy41IDMzLjgyNTggMzIuOTg1OCAzMi41ODQ0IDMyLjA3MDYgMzEuNjY5NEMzMS4xNTU0IDMwLjc1NDIgMjkuOTE0MiAzMC4yNCAyOC42MiAzMC4yNEMyNy4zMjU4IDMwLjI0IDI2LjA4NDQgMzAuNzU0MiAyNS4xNjk0IDMxLjY2OTRDMjQuMjU0MiAzMi41ODQ0IDIzLjc0IDMzLjgyNTggMjMuNzQgMzUuMTJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDYuNSAzNS4xMkM0Ni41IDM2LjQxNDIgNDcuMDE0MiAzNy42NTU0IDQ3LjkyOTQgMzguNTcwNkM0OC44NDQ0IDM5LjQ4NTggNTAuMDg1OCA0MCA1MS4zOCA0MEM1Mi42NzQyIDQwIDUzLjkxNTYgMzkuNDg1OCA1NC44MzA2IDM4LjU3MDZDNTUuNzQ1OCAzNy42NTU0IDU2LjI2IDM2LjQxNDIgNTYuMjYgMzUuMTJDNTYuMjYgMzMuODI1OCA1NS43NDU4IDMyLjU4NDQgNTQuODMwNiAzMS42Njk0QzUzLjkxNTYgMzAuNzU0MiA1Mi42NzQyIDMwLjI0IDUxLjM4IDMwLjI0QzUwLjA4NTggMzAuMjQgNDguODQ0NCAzMC43NTQyIDQ3LjkyOTQgMzEuNjY5NEM0Ny4wMTQyIDMyLjU4NDQgNDYuNSAzMy44MjU4IDQ2LjUgMzUuMTJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTkuODYwMiA5LjU2MDA2QzY3LjE4MDIgMTEuNTYwMSA2Ny4xODAyIDEyLjE2MDEgNjkuMjQwMiAxNy4yNjAxXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVQcm9wcyB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEZhbWlseSA9ICh7IHRpdGxlLCBzaXplIH06IElGaWd1cmVQcm9wcykgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSB0aXRsZT17dGl0bGV9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02NS40MTcgMjguMTgzM0M2OC4zMzkzIDI1LjY2OSA2OS43NzkyIDIxLjgzOSA2OS4yMzcxIDE4LjAyMjJDNjguNzIxMyAxMC45MzYxIDY0LjQ0MyA2LjU2MjI5IDU2LjU1NDcgNy4wNTg3NkM0OC42NjYzIDcuNTU1MjMgNDUuMDk0OSAxMi42MzYgNDUuNTkxNCAxOS43MjIxQzQ1LjU2MDIgMjMuNTgzNCA0Ny41MTUgMjcuMTkwMiA1MC43Njc1IDI5LjI3MkM0NC4yNzM2IDMyLjEzNjkgNDEuMzcwNCAzOC4yNjc5IDQxLjk0MzMgNDYuMTc1NEM0Mi4yODcxIDUwLjg5MyA0OC4xODkgNTIuMDU4MSA1OS43NDQ1IDUxLjIxNzdDNzEuMyA1MC4zNzcyIDc2LjkzNDMgNDguMzkxIDc2LjYyODcgNDMuNTc3OEM3NS45OTgzIDM1Ljc0NjggNzIuMjU0OSAzMC4wOTMzIDY1LjQxNyAyOC4xODMzWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OS45MTY1IDEwLjU3MzJDNjEuMzM1NSAxMC45NTEyIDYyLjYwMyAxMS43NTg1IDYzLjU0NTUgMTIuODg0NFwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUyLjYyMDEgMjMuNTAzOUM1NC4xNjg2IDI0LjQxMjQgNTUuOTkzMiAyNC43MzEyIDU3Ljc1OCAyNC40MDE1QzU5LjU0ODUgMjQuNDczIDYxLjMwNDggMjMuODk2NiA2Mi43MDQ5IDIyLjc3ODFcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUwLjkzOTUgMTcuNzczOEM1MC45MzQ4IDE5LjIyOTQgNTIuNTA3NSAyMC4xNDQyIDUzLjc3MDUgMTkuNDIwNUM1NC4zNjAzIDE5LjA4MjQgNTQuNzIzNCAxOC40NTM3IDU0LjcyMTEgMTcuNzczOEM1NC43MjU4IDE2LjMxODMgNTMuMTUzMSAxNS40MDMzIDUxLjg5MDEgMTYuMTI3MkM1MS4zMDAyIDE2LjQ2NTEgNTAuOTM3MSAxNy4wOTQgNTAuOTM5NSAxNy43NzM4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU5Ljc4MjcgMTcuMTQzNUM1OS43NzggMTguNTk5MiA2MS4zNTA3IDE5LjUxNCA2Mi42MTM3IDE4Ljc5MDFDNjMuMjAzNiAxOC40NTIyIDYzLjU2NjUgMTcuODIzNSA2My41NjQ0IDE3LjE0MzVDNjMuNTY5IDE1LjY4NzkgNjEuOTk2NCAxNC43NzMxIDYwLjczMzQgMTUuNDk3QzYwLjE0MzUgMTUuODM0OSA1OS43ODA0IDE2LjQ2MzYgNTkuNzgyNyAxNy4xNDM1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI4Ljc2NDIgNDUuOTQ2MkMzMi4xODMyIDQ1LjAxMDIgMzMuMjkwOSA0NC4wMzYyIDMyLjM1NDkgNDMuMTAwMkMzMC44MjY5IDQxLjY0ODYgMzAuNDQ0OSAzOC40OTcyIDMwLjIxNTggMzUuMzY0N0MyOS40MTM2IDI2Ljg2NTIgMjQuNjk1OSAyMS41OTM4IDE2LjM2ODUgMjIuMzc2OUM4LjA0MDk5IDIzLjE2IDQuMzczNjIgMjkuMjMzNyA1LjE5NDk2IDM3LjY1NjdDNS41MDA1MiA0MC44MDgzIDUuNzg2OTggNDMuOTU5NyA0LjU0NTYxIDQ1LjY1OTVDMy44MDA3MSA0Ni42OTExIDUuMDgwMyA0Ny41Njk2IDguNjEzODkgNDcuNzk4OUM0LjA4NzE2IDUxLjE0MTIgMi4xNTgwMyA1Ni42MDM5IDIuODgzODIgNjMuMzA3OEMzLjM0MjI2IDY4LjAyNTYgOS4yNjMyNCA2OS4wMzc5IDIwLjc5OTYgNjcuOTQ5MkMzMi4zMzYgNjYuODYwNSAzNy45ODk1IDY0LjcyMTQgMzcuNTExOSA2MC4wMDM1QzM2Ljc4NjEgNTMuMzM3NyAzMy44NDQ3IDQ4LjM3MTggMjguNzY0MiA0NS45NDYyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjAuMzc5NCAyNS42ODEyQzIxLjgwMTEgMjYuMDM0NSAyMy4wODA3IDI2LjgxNDMgMjQuMDQ2NiAyNy45MTU5XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTMuMDA2OCA0MC40ODM1QzE0LjU3MjMgNDEuMzY2MSAxNi40MDY5IDQxLjY0NDUgMTguMTYzOCA0MS4yNjY2QzE5Ljk1NjEgNDEuMjk4NCAyMS42OTk1IDQwLjY4MTIgMjMuMDcyMyAzOS41Mjg2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMS4xOTI0IDM0Ljc1MzVDMTEuMTg3NyAzNi4yMDkyIDEyLjc2MDQgMzcuMTI0IDE0LjAyMzQgMzYuNDAwM0MxNC42MTMzIDM2LjA2MjIgMTQuOTc2NCAzNS40MzM1IDE0Ljk3NCAzNC43NTM1QzE0Ljk3ODcgMzMuMjk3OSAxMy40MDYgMzIuMzgzMSAxMi4xNDMgMzMuMTA3QzExLjU1MzEgMzMuNDQ0OSAxMS4xOTAxIDM0LjA3MzYgMTEuMTkyNCAzNC43NTM1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIwLjAxNjYgMzMuOTMyMkMyMC4wMTE5IDM1LjM4NzkgMjEuNTg0OCAzNi4zMDI2IDIyLjg0NzYgMzUuNTc5QzIzLjQzNzUgMzUuMjQwOSAyMy44MDA2IDM0LjYxMjIgMjMuNzk4MiAzMy45MzIyQzIzLjgwMjkgMzIuNDc2NyAyMi4yMzAzIDMxLjU2MTggMjAuOTY3MiAzMi4yODU2QzIwLjM3NzQgMzIuNjIzNiAyMC4wMTQ1IDMzLjI1MjQgMjAuMDE2NiAzMy45MzIyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTcuNzM1MzUgNDguNjIwMUM5LjE0NzM1IDQ3LjcwODMgMTAuNjk0MyA0Ny4wMjUgMTIuMzE5NCA0Ni41OTU2TDcuNzM1MzUgNDguNjIwMVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03LjczNTM1IDQ4LjYyMDFDOS4xNDczNSA0Ny43MDgzIDEwLjY5NDMgNDcuMDI1IDEyLjMxOTQgNDYuNTk1NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuNzc2MyA0Ni41MTkxQzI4LjMyMTggNDUuNjE2MSAyNi42MDkzIDQ1LjIxOTggMjQuOTA1OCA0NS4zOTIyTDI5Ljc3NjMgNDYuNTE5MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS43NzYzIDQ2LjUxOTFDMjguMzIxOCA0NS42MTYxIDI2LjYwOTMgNDUuMjE5OCAyNC45MDU4IDQ1LjM5MjJcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3Ljg5MTcgNTkuNjIxNkM2MC45ODkzIDU3LjA2MTYgNjIuODUwOCA1My4zMDQgNjMuMDEwNSA0OS4yODg3QzYzLjg3IDQwLjc4OTMgNTkuNzA2MiAzNC42NTgxIDUwLjI3MDcgMzMuNzIyM0M0MC44MzUzIDMyLjc4NjUgMzUuNTQ0NyAzOC4wNTc5IDM0LjcwNDUgNDYuNDYxOEMzNC4wNzAxIDUwLjQyODMgMzUuMTUzNiA1NC40Nzc1IDM3LjY4NDEgNTcuNTk3MUMzMy42NzMxIDU5Ljk0NjUgMzEuMzQyOSA2NC4yNjMgMzAuNzY5OCA2OS44OTc1QzMwLjUwMjUgNzMuMDQyNiAzNS41ODk1IDc1LjE2MjYgNDYuMDMwNyA3Ni4yNTc2QzU2LjQ3MTkgNzcuMzUyNiA2MS44NzA4IDc2LjMwODUgNjIuMjI3NCA3My4xMjUzQzYyLjgzODUgNjcuNDE0NCA2MS4zNjc4IDYyLjcxNTkgNTcuODkxNyA1OS42MjE2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTUuMTk4NyAzOC4yODdDNTYuNTI1OSAzOC45MTA0IDU3LjYzMTcgMzkuOTIzIDU4LjM2OTIgNDEuMTkwM1wiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUwLjc4NjMgMzMuNzYwNUM0OC4wNDQ0IDM0LjI0OTIgNDYuMTAwNSAzNi43MDk5IDQ2LjI1OTYgMzkuNDkwNEM0Ni41MjcxIDQyLjQ1MDkgNTEuNTMxMiA0Mi41ODQ2IDUxLjI0NDggMzkuNDkwNEM1MS4wNzI4IDM3LjkwNSA0OS4zMzQ3IDM4LjUxNjQgNDkuMzM0NyAzOC41MTY0XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MS4wNjQ1IDQ2LjUzODNDNDEuMDU5NCA0OC4zNjE1IDQzLjAyOTcgNDkuNTA2NiA0NC42MTEzIDQ4LjU5OTZDNDUuMzQ5NCA0OC4xNzYzIDQ1LjgwMzcgNDcuMzg5MyA0NS44MDE0IDQ2LjUzODNDNDUuODA2NSA0NC43MTUgNDMuODM2MiA0My41NyA0Mi4yNTQ1IDQ0LjQ3N0M0MS41MTY1IDQ0LjkwMDUgNDEuMDYyMSA0NS42ODczIDQxLjA2NDUgNDYuNTM4M1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Mi4wODU1IDQ3LjY0NjFDNTIuMDgwMiA0OS40NjkzIDU0LjA1MDUgNTAuNjE0NCA1NS42MzIxIDQ5LjcwNzRDNTYuMzcwMiA0OS4yODQxIDU2LjgyNDUgNDguNDk3MSA1Ni44MjIyIDQ3LjY0NjFDNTYuODI3NSA0NS44MjI4IDU0Ljg1NyA0NC42Nzc4IDUzLjI3NTUgNDUuNTg0N0M1Mi41MzczIDQ2LjAwODMgNTIuMDgyOSA0Ni43OTUxIDUyLjA4NTUgNDcuNjQ2MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00My43Mzg4IDUyLjExNTVDNDQuOTUzMiA1My4zNDA5IDQ2LjU4MDkgNTQuMDY5NiA0OC4zMDM3IDU0LjE1OTFDNTAuMDEyMyA1NC40MTgyIDUxLjc1NiA1NC4wMyA1My4xOTMzIDUzLjA3MDRcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ3LjQ0NDIgNjIuMDI4M0M0NS40Njg5IDYxLjg0MjcgNDMuNTM1MSA2MS4zNDY0IDQxLjcxNDQgNjAuNTU3NkM0MS4zMTYgNjEuMzEyMyA0MS4wNjMyIDYyLjEzNTIgNDAuOTY5NSA2Mi45ODMyQzQwLjM0NjQgNjYuNTU5NyA0My4wNjk0IDY5Ljg0NTcgNDYuNjk5MyA2OS44OTc1QzUwLjI3NTggNzAuNTIwNiA1My41NjE2IDY3Ljc5NzYgNTMuNjEzNCA2NC4xNjc1QzUzLjY3MzEgNjMuMzM4OSA1My41NjI2IDYyLjUwNyA1My4yODg4IDYxLjcyMjdDNTEuMzY3OCA2Mi4xMjQyIDQ5LjM5NjYgNjIuMjI3MiA0Ny40NDQyIDYyLjAyODNaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM1LjMzNDcgMy40Mjk3NUMzNC4xODE3IDMuNTI3NDQgMzMuMDk5OCA0LjAyNzgxIDMyLjI3ODcgNC44NDMxMUMzMS4yNzg3IDQuMzA5NzggMzAuMTI2MSA0LjEzNDQ4IDI5LjAxMjYgNC4zNDY2NEMyNi4yNjU1IDQuNDU1MDYgMjQuMzE4NCA3LjA2OTgxIDI1LjAwMTcgOS43MzI3M0MyNS42MzE5IDE0LjA0OTQgMzAuMDYzMSAxNi40NzUxIDMzLjM4NjUgMTcuNjc4NEMzMy44OTI1IDE3Ljg3MDUgMzQuNDYxMyAxNy43OTExIDM0Ljg5NTQgMTcuNDY4MkMzNy43MjIzIDE1LjM0ODEgNDEuMjc0OCAxMS43MzgzIDQwLjYyNTUgNy40NDA5QzQwLjQ5MDcgNC43NTA2OCAzNy45NjE0IDIuODMzMDUgMzUuMzM0NyAzLjQyOTc1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzQuOTY2OCA1OC44NTc3Qzc0LjMzNTkgNTguNjg4MiA3My42Njc3IDU4LjcyMTYgNzMuMDU2OCA1OC45NTMxQzcyLjYxOTIgNTguNDIyMyA3Mi4wMTIxIDU4LjA1ODIgNzEuMzM3OCA1Ny45MjE3QzY5Ljc4NjYgNTcuMzQ0OSA2OC4wOTg3IDU4LjM0NjQgNjcuODYxOCA1OS45ODQ0QzY3LjIxMjIgNjIuNTQzOCA2OS4xMjIyIDY0LjkzMTQgNzAuNjg4NSA2Ni4zODI5QzcwLjkyNCA2Ni42MDI1IDcxLjI1NzcgNjYuNjgyMyA3MS41NjcxIDY2LjU5M0M3My42NDkgNjYuMDc3NCA3Ni40NTY2IDY0LjkxMjMgNzcuMTA1OSA2Mi4zNTI5Qzc3LjY4NDEgNjAuNzcwOCA3Ni42Mzg3IDU5LjA2MjggNzQuOTY2OCA1OC44NTc3WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTAuODEwNSAxMi44ODQ0QzEwLjgxMDUgMTUuMjgwOSAxMy40MDQ4IDE2Ljc3ODcgMTUuNDgwNCAxNS41ODA0QzE2LjQ0MzcgMTUuMDI0MyAxNy4wMzcxIDEzLjk5NjYgMTcuMDM3MSAxMi44ODQ0QzE3LjAzNzEgMTAuNDg3NiAxNC40NDI2IDguOTg5ODIgMTIuMzY3MiAxMC4xODgxQzExLjQwMzkgMTAuNzQ0MiAxMC44MTA1IDExLjc3MjEgMTAuODEwNSAxMi44ODQ0WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBGYXZvcml0ZSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUzLjIwMDIgOS4wMjAxNUM0OC40NjE3IDguODAyNiA0My43OTg3IDEwLjM1MjIgNDAuMDAwMSAxMy40MDY5QzM2LjIwMTYgMTAuMzUyMiAzMS41Mzg2IDguODAyNiAyNi44MDAxIDkuMDIwMTVDMTMuNiA5LjAyMDE1IDcgMTcuNTM4OCA3IDMwLjMxNjZDNyA0OS45NTY3IDIzLjkyMzEgNjMuNTcxOCAzNi44MTg2IDcxLjEyNTlDMzcuNzk0MiA3MS42OTg4IDM4Ljg4ODMgNzIgNDAuMDAwMSA3MkM0MS4xMTIgNzIgNDIuMjA2MSA3MS42OTg4IDQzLjE4MTcgNzEuMTI1OUM1Ni4xNjE4IDYzLjU3MTggNzMgNDkuOTU2NyA3MyAzMC4zMTY2QzczIDE3LjUzODggNjYuNDAwMiA5LjAyMDE1IDUzLjIwMDIgOS4wMjAxNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU0IDE3LjA4ODVDNjEuMzY3IDE2LjM2NTIgNjMuOTQwMyAyMC4yMzI5IDY1IDIzXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgRm9sZGVyID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzIuMiA3LjMzOTk4QzcwLjIgNC42MTk5OCA2Mi4wNiAzLjQ3OTk4IDU1IDMuNDc5OThDNDcuOTQgMy40Nzk5OCAzOS40IDQuMzE5OTggMzcuOCA3LjMzOTk4QzM3LjEyODQgNy44NTgyOCAzNi41NzQ0IDguNTEzMDggMzYuMTc0NiA5LjI2MTE4QzM1Ljc3NDYgMTAuMDA5MyAzNS41MzggMTAuODMzNyAzNS40OCAxMS42OEMyNi41NiAxMiAxOC4yIDEzLjAyIDE2LjI0IDE1LjE4QzE0LjI4IDE2LjI2IDEyLjkgMTkgMTIgMjIuNkMxMC4yMTggMjIuNzcwNiA4LjUwNjQ0IDIzLjM4MjQgNy4wMiAyNC4zOEMyIDI2Ljg0IDEgMzkuNDIgMSA0OC44OEMxIDU4LjM0IDEuOTQgNzAuODggNyA3My40QzkuNSA3NS44NCAyMyA3Ni41MiAzNC4wMiA3Ni41MkgzOS4zNkg0NC41MkM1Ni4xNCA3Ni41MiA3MC4xNCA3NS43MiA3Mi43OCA3Mi44NEM3OCA3MCA3OSA1NS4xNiA3OSA0NEM3OSAxOS4xNiA3My44NiA5LjUzOTk4IDcyLjIgNy4zMzk5OFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEyIDIyLjZDMTAuODExMiAzNS4zMjI4IDEwLjc0NDMgNDguMTI1NCAxMS44IDYwLjg2TDEyIDIyLjZaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTIgMjIuNkMxMC44MTEyIDM1LjMyMjggMTAuNzQ0MyA0OC4xMjU0IDExLjggNjAuODZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU2LjUgOS42OTk5NkM2Mi4zNiA5Ljc5OTk2IDY2Ljg2IDEwLjE2IDY3LjU4IDEyLjY0XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBGb2xsb3dVcCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY0LjAyODEgNjQuNTc2N0M2OC40NDEyIDYzLjYxMTggNjkuMjIwOSA1OC42MDY5IDY5LjIyMDkgNTQuNzkwNEM2OS4yMjA5IDUwLjk3MzkgNjguMzUyOSA0Ni4xMDg4IDY0LjAyODEgNDUuMTE2MkM2MS44NTEgNDQuMTM3NiA1MC4xODU4IDQzLjE1OSA0MC40OTE3IDQzLjE1OUMzMC43OTc2IDQzLjE1OSAxOS4xOTEyIDQ0LjEzNzYgMTYuOTU1MyA0NS4xMTYyQzEyLjYzMDUgNDYuMTA4OCAxMS44MDY3IDUxLjA4NTcgMTEuODA2NyA1NC44NDYzQzExLjgwNjcgNTguNjA2OSAxMi42MzA1IDYzLjYxMTggMTYuOTk5NCA2NC42MzIyQzE5LjE5MTIgNjUuNjEwOCAzMC44NDE4IDY2LjU4OTQgNDAuNTM1OSA2Ni41ODk0QzUwLjIyOTkgNjYuNTg5NCA2MS44MDY5IDY1LjU1NTMgNjQuMDI4MSA2NC41NzY3WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjQuMDI4MSAzNy42MTcyQzY4LjQ0MTIgMzYuNjUyNiA2OS4yMjA5IDMxLjY0NzcgNjkuMjIwOSAyNy44MzEyQzY5LjIyMDkgMjQuMDE0NyA2OC4zOTcxIDE5LjA2NTcgNjQuMDI4MSAxOC4wNDUyQzYxLjg1MSAxNy4wNjY2IDUwLjE4NTggMTYuMDg4IDQwLjQ5MTcgMTYuMDg4QzMwLjc5NzcgMTYuMDg4IDE5LjE5MTIgMTcuMDY2NiAxNi45NTUzIDE4LjA0NTJDMTIuNTQyMyAxOS4wMDk4IDExLjc2MjcgMjQuMDE0NyAxMS43NjI3IDI3LjgzMTJDMTEuNzYyNyAzMS42NDc3IDEyLjYzMDUgMzYuNjI0NiAxNi45NTUzIDM3LjYxNzJDMTkuMTQ3MSAzOC41OTU4IDMwLjc5NzcgMzkuNTc0NCA0MC40OTE3IDM5LjU3NDRDNTAuMTg1OCAzOS41NzQ0IDYxLjgwNjkgMzguNTk1OCA2NC4wMjgxIDM3LjYxNzJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNy45NTU2IDI3Ljc3NUMxNy45NTU2IDI5LjMyNDggMTguNjAzNCAzMC44MTEyIDE5Ljc1NjYgMzEuOTA3MUMyMC45MDk4IDMzLjAwMyAyMi40NzM3IDMzLjYxODcgMjQuMTA0NSAzMy42MTg3QzI1LjczNTMgMzMuNjE4NyAyNy4yOTkzIDMzLjAwMyAyOC40NTI0IDMxLjkwNzFDMjkuNjA1NiAzMC44MTEyIDMwLjI1MzQgMjkuMzI0OCAzMC4yNTM0IDI3Ljc3NUMzMC4yNTM0IDI2LjIyNTIgMjkuNjA1NiAyNC43Mzg4IDI4LjQ1MjQgMjMuNjQyOUMyNy4yOTkzIDIyLjU0NyAyNS43MzUzIDIxLjkzMTQgMjQuMTA0NSAyMS45MzE0QzIyLjQ3MzcgMjEuOTMxNCAyMC45MDk4IDIyLjU0NyAxOS43NTY2IDIzLjY0MjlDMTguNjAzNCAyNC43Mzg4IDE3Ljk1NTYgMjYuMjI1MiAxNy45NTU2IDI3Ljc3NVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTAuNzMgNTUuMDM1OUM1MC43MyA1Ni41ODU4IDUxLjM3NzggNTguMDcyMSA1Mi41MzEgNTkuMTY4QzUzLjY4NDIgNjAuMjYzOSA1NS4yNDgxIDYwLjg3OTYgNTYuODc4OSA2MC44Nzk2QzU4LjUwOTcgNjAuODc5NiA2MC4wNzM3IDYwLjI2MzkgNjEuMjI2OCA1OS4xNjhDNjIuMzggNTguMDcyMSA2My4wMjc4IDU2LjU4NTggNjMuMDI3OCA1NS4wMzU5QzYzLjAyNzggNTMuNDg2MSA2Mi4zOCA1MS45OTk4IDYxLjIyNjggNTAuOTAzOUM2MC4wNzM3IDQ5LjgwNzkgNTguNTA5NyA0OS4xOTIzIDU2Ljg3ODkgNDkuMTkyM0M1NS4yNDgxIDQ5LjE5MjMgNTMuNjg0MiA0OS44MDc5IDUyLjUzMSA1MC45MDM5QzUxLjM3NzggNTEuOTk5OCA1MC43MyA1My40ODYxIDUwLjczIDU1LjAzNTlaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTYwLjU4NiAyMC44NDA5QzYzLjc0ODcgMjEuNTk1OCA2My45OTg4IDIxLjgzMzUgNjQuNjkwMiAyNC4yNjZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQxLjMwMDkgNDYuNjIwMkM0NC43NTc4IDQ2LjYyMDIgNDcuNTA4NiA0Ni42MjAyIDQ5LjE0MTUgNDYuODAyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00NS4zMzMzIDE0Ljg3NkM0NS4zMzMzIDE2LjM2NjUgNDYuMDAwNiAxNy43OTU5IDQ3LjE4ODQgMTguODQ5OUM0OC4zNzYxIDE5LjkwMzggNDkuOTg3IDIwLjQ5NTkgNTEuNjY2NyAyMC40OTU5QzUzLjM0NjMgMjAuNDk1OSA1NC45NTczIDE5LjkwMzggNTYuMTQ1MSAxOC44NDk5QzU3LjMzMjggMTcuNzk1OSA1OCAxNi4zNjY1IDU4IDE0Ljg3NkM1OCAxMy4zODU1IDU3LjMzMjggMTEuOTU2MSA1Ni4xNDUxIDEwLjkwMjJDNTQuOTU3MyA5Ljg0ODI3IDUzLjM0NjMgOS4yNTYyIDUxLjY2NjcgOS4yNTYyQzQ5Ljk4NyA5LjI1NjIgNDguMzc2MSA5Ljg0ODI3IDQ3LjE4ODQgMTAuOTAyMkM0Ni4wMDA2IDExLjk1NjEgNDUuMzMzMyAxMy4zODU1IDQ1LjMzMzMgMTQuODc2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBJZGVhID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzAuODU2NSA3LjE3MThDMzAuODcwNCA4LjU0MjMgMzEuMTU1IDkuODUzOTEgMzEuNjQ3NSAxMC44MTgxQzMxLjg5MTQgMTEuMjk1NCAzMi4xNzkgMTEuNjczMiAzMi40OTM5IDExLjkyOTdDMzIuODA4OCAxMi4xODYyIDMzLjE0NDkgMTIuMzE2NSAzMy40ODMgMTIuMzEzQzMzLjgyMSAxMi4zMDk1IDM0LjE1NDQgMTIuMTcyNCAzNC40NjQgMTEuOTA5NUMzNC43NzM3IDExLjY0NjcgMzUuMDUzNSAxMS4yNjMxIDM1LjI4NzcgMTAuNzgwOEMzNS41MjE4IDEwLjI5ODUgMzUuNzA1NyA5LjcyNjkxIDM1LjgyODcgOS4wOTg2OEMzNS45NTE3IDguNDcwMzcgMzYuMDExNCA3Ljc5Nzc2IDM2LjAwNDUgNy4xMTkxNUMzNS45OTA2IDUuNzQ4NjQgMzUuNzA2MSA0LjQzNzA0IDM1LjIxMzUgMy40NzI4OEMzNC43MjEgMi41MDg3MyAzNC4wNjA4IDEuOTcwOTkgMzMuMzc4MSAxLjk3Nzk3QzMyLjY5NTQgMS45ODQ5NSAzMi4wNDYyIDIuNTM2MDggMzEuNTczNCAzLjUxMDExQzMxLjEwMDQgNC40ODQxNCAzMC44NDI2IDUuODAxMyAzMC44NTY1IDcuMTcxOFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMy45NjM4IDE1Ljk4NjFDMTQuMzg0OSAxNi41MjY4IDE0Ljg1NjMgMTcuMDIxNCAxNS4zNTA2IDE3LjQ0MTVDMTUuODQ0OCAxNy44NjE2IDE2LjM1MjEgMTguMTk4NiAxNi44NDMgMTguNDMzQzE3LjMzMzggMTguNjY3MyAxNy43OTgzIDE4Ljc5NDIgMTguMjA5NSAxOC44MDY0QzE4LjYyMDYgMTguODE4NiAxOC45NzAyIDE4LjcxNTggMTkuMjM3OSAxOC41MDRDMTkuNTA1NSAxOC4yOTIxIDE5LjY4NiAxNy45NzU1IDE5Ljc2ODcgMTcuNTcyNkMxOS44NTE0IDE3LjE2OTYgMTkuODM0NiAxNi42ODg0IDE5LjcxOTUgMTYuMTU2OEMxOS42MDQzIDE1LjYyNTIgMTkuMzkzIDE1LjA1NCAxOS4wOTc5IDE0LjQ3NjNDMTguODAyOCAxMy44OTg2IDE4LjQyOTcgMTMuMzI2MSAxOC4wMDA0IDEyLjc5MkMxNy41NzkzIDEyLjI1MTQgMTcuMTA3OSAxMS43NTY2IDE2LjYxMzcgMTEuMzM2NUMxNi4xMTk0IDEwLjkxNjQgMTUuNjEyMSAxMC41Nzk0IDE1LjEyMTMgMTAuMzQ1MUMxNC42MzA1IDEwLjExMDggMTQuMTY2IDkuOTgzODMgMTMuNzU0OCA5Ljk3MTY4QzEzLjM0MzcgOS45NTk0NSAxMi45OTQxIDEwLjA2MjMgMTIuNzI2NCAxMC4yNzQxQzEyLjQ1ODcgMTAuNDg1OSAxMi4yNzgyIDEwLjgwMjUgMTIuMTk1NSAxMS4yMDU1QzEyLjExMjkgMTEuNjA4NCAxMi4xMjk2IDEyLjA4OTggMTIuMjQ0OCAxMi42MjEzQzEyLjM1OTkgMTMuMTUyOCAxMi41NzEyIDEzLjcyNDEgMTIuODY2NCAxNC4zMDE4QzEzLjE2MTUgMTQuODc5NCAxMy41MzQ2IDE1LjQ1MiAxMy45NjM4IDE1Ljk4NjFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNOC44NjgzOCAzNS40OTE4QzkuNTQ2OTkgMzUuNTM5MiAxMC4yMjM2IDM1LjUxOTYgMTAuODU5NSAzNS40MzQxQzExLjQ5NTUgMzUuMzQ4NSAxMi4wNzg0IDM1LjE5ODggMTIuNTc0OCAzNC45OTMzQzEzLjA3MTMgMzQuNzg3OCAxMy40NzE4IDM0LjUzMDcgMTMuNzUzMiAzNC4yMzY2QzE0LjAzNDYgMzMuOTQyNSAxNC4xOTE2IDMzLjYxNzEgMTQuMjE1MSAzMy4yNzkxQzE0LjIzODggMzIuOTQxIDE0LjEyODQgMzIuNTk3IDEzLjg5MDUgMzIuMjY2NUMxMy42NTI2IDMxLjkzNjEgMTMuMjkxOCAzMS42MjU3IDEyLjgyODUgMzEuMzUzMkMxMi4zNjU0IDMxLjA4MDUgMTEuODA4OSAzMC44NTEyIDExLjE5MSAzMC42Nzc5QzEwLjU3MzEgMzAuNTA0OCA5LjkwNTc2IDMwLjM5MTIgOS4yMjcyMiAzMC4zNDM4QzguNTQ4NjEgMzAuMjk2MyA3Ljg3MjA3IDMwLjMxNTkgNy4yMzYwOSAzMC40MDE0QzYuNjAwMTMgMzAuNDg2OSA2LjAxNzI3IDMwLjYzNjcgNS41MjA3OCAzMC44NDIyQzUuMDI0MjkgMzEuMDQ3NiA0LjYyMzg5IDMxLjMwNDggNC4zNDI0MyAzMS41OTg5QzQuMDYwOTggMzEuODkzMSAzLjkwMzk5IDMyLjIxODQgMy44ODA0MyAzMi41NTY1QzMuODU2ODggMzIuODk0NSAzLjk2NzIxIDMzLjIzODUgNC4yMDUxMiAzMy41Njg5QzQuNDQzMDUgMzMuODk5NCA0LjgwMzg5IDM0LjIwOTggNS4yNjcwNyAzNC40ODI0QzUuNzMwMjUgMzQuNzU0OSA2LjI4NjY4IDM0Ljk4NDQgNi45MDQ2IDM1LjE1NzVDNy41MjI1MiAzNS4zMzA4IDguMTg5ODQgMzUuNDQ0MyA4Ljg2ODM4IDM1LjQ5MThaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDguODY0NyAxNi4xMkM0OS4xNDA4IDE2LjMyMTUgNDkuNDkxOCAxNi40MDg2IDQ5Ljg5NzIgMTYuMzc2NUM1MC4zMDI3IDE2LjM0NDMgNTAuNzU0NSAxNi4xOTM1IDUxLjIyNjQgMTUuOTMyN0M1MS42OTgyIDE1LjY3MiA1Mi4xODA2IDE1LjMwNjUgNTIuNjQ1NSAxNC44NTc4QzUzLjExMDMgMTQuNDA5IDUzLjU0ODQgMTMuODg1OCA1My45MzQgMTMuMzE4N0M1NC4zMTk2IDEyLjc1MTYgNTQuNjQ1MiAxMi4xNTIgNTQuODkxNyAxMS41NTQ4QzU1LjEzODIgMTAuOTU3NSA1NS4zMDA3IDEwLjM3NDYgNTUuMzY5OCA5LjgzOTk5QzU1LjQzODggOS4zMDUzOCA1NS40MTMgOC44Mjk4NCA1NS4yOTM4IDguNDQwOTlDNTUuMTc0NiA4LjA1MjE1IDU0Ljk2NDUgNy43NTc3NiA1NC42NzU3IDcuNTc1MTJDNTQuMzk5NiA3LjM3MzcyIDU0LjA0ODYgNy4yODY1NSA1My42NDMyIDcuMzE4NzFDNTMuMjM3NyA3LjM1MDg2IDUyLjc4NTkgNy41MDE3MSA1Mi4zMTQgNy43NjI0NUM1MS44NDIyIDguMDIzMTUgNTEuMzU5OCA4LjM4ODYxIDUwLjg5NDkgOC44MzczOEM1MC40MzAxIDkuMjg2MTUgNDkuOTkyIDkuODA5MzggNDkuNjA2NCAxMC4zNzY1QzQ5LjIyMDggMTAuOTQzNSA0OC44OTUyIDExLjU0MzEgNDguNjQ4NyAxMi4xNDA0QzQ4LjQwMjIgMTIuNzM3NyA0OC4yMzk3IDEzLjMyMDYgNDguMTcwNiAxMy44NTUxQzQ4LjEwMTYgMTQuMzg5OCA0OC4xMjc1IDE0Ljg2NTMgNDguMjQ2NiAxNS4yNTQxQzQ4LjM2NTggMTUuNjQzIDQ4LjU3NTkgMTUuOTM3NCA0OC44NjQ3IDE2LjEyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3LjY0NzggMjUuOTczNkM1Ny43NDEgMjYuMzAxNiA1Ny45NjM0IDI2LjU4NjUgNTguMzAxOSAyNi44MTE4QzU4LjY0MDQgMjcuMDM3IDU5LjA4ODMgMjcuMTk4IDU5LjYxOTYgMjcuMjg1NUM2MC4xNTA5IDI3LjM3MzEgNjAuNzU1MSAyNy4zODUzIDYxLjM5NjkgMjcuMzIxNkM2Mi4wMzg4IDI3LjI1NzggNjIuNzA1NiAyNy4xMTk0IDYzLjM1ODYgMjYuOTE0M0M2NC4wMTE2IDI2LjcwOTIgNjQuNjM3OCAyNi40NDE1IDY1LjIwMDkgMjYuMTI2OEM2NS43NjQgMjUuODEyMSA2Ni4yNTI3IDI1LjQ1NjYgNjYuNjM4NyAyNS4wODFDNjcuMDI0NiAyNC43MDU0IDY3LjMwMDIgMjQuMzE3MSA2Ny40NDkyIDIzLjkzODhDNjcuNTk4MiAyMy41NjA0IDY3LjYxNzggMjMuMTk5NSA2Ny41MDY5IDIyLjg3N0M2Ny40MTM3IDIyLjU0ODkgNjcuMTkxMyAyMi4yNjQxIDY2Ljg1MjggMjIuMDM4OEM2Ni41MTQzIDIxLjgxMzYgNjYuMDY2NCAyMS42NTI2IDY1LjUzNTEgMjEuNTY1MUM2NS4wMDM4IDIxLjQ3NzUgNjQuMzk5NiAyMS40NjUzIDYzLjc1NzggMjEuNTI5QzYzLjExNTkgMjEuNTkyOCA2Mi40NDkyIDIxLjczMTIgNjEuNzk2MSAyMS45MzYzQzYxLjE0MzEgMjIuMTQxNCA2MC41MTY4IDIyLjQwOTEgNTkuOTUzOCAyMi43MjM4QzU5LjM5MDcgMjMuMDM4NSA1OC45MDIgMjMuMzk0IDU4LjUxNjEgMjMuNzY5NkM1OC4xMzAxIDI0LjE0NTIgNTcuODU0NiAyNC41MzM1IDU3LjcwNTUgMjQuOTExOEM1Ny41NTY1IDI1LjI5MDIgNTcuNTM2OCAyNS42NTExIDU3LjY0NzggMjUuOTczNlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ni4zNjA2IDM3LjYyMDlDNDMuMTU5MSAzNy42MjA5IDM2LjU2ODEgNDQuNTA0NSAzNi41NjgxIDU0LjgzOTVDMzYuNTY4MSA2MS40Njk1IDM5LjMxNzYgNjYuNjc1OSA0NC43NTgxIDY5LjU2MTlDNDMuNzQ0MSA3Mi45OTM5IDQxLjI0ODEgNzUuMDIxOSA0My40NTE2IDc3LjIyNTRDNDQuODc1MSA3OC42NDkyIDUzLjM3NzEgNzguODYzMSA1Ni4yNjMxIDcyLjAzODVINTYuMzYwNkM2OS41NjIxIDcyLjAzODUgNzYuMTcyNiA2NS4xMzU1IDc2LjE3MjYgNTQuODE5OUM3Ni4xNzI2IDQ0LjUwNDUgNjkuNTYyMSAzNy42MjA5IDU2LjM2MDYgMzcuNjIwOVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjMuMTA3NyA0MS43NzQzQzY1LjE2NTkgNDIuMjEwMyA2Ny4wNTA5IDQzLjI0MDkgNjguNTI4NyA0NC43MzgzXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Mi44NzAyIDQwLjExNjhDNTUuNDYzOCAzMC41NDI0IDUxLjcxOTcgMjIuNjgzOCA0MC43NjA3IDE5LjcxOThDMjkuODAxNyAxNi43NTU4IDIyLjYyNTggMjEuNjY5OCAyMC4wMTI4IDMxLjIwNTRDMTguMzU1MiAzNy4zNjc0IDIwLjgxMjIgNDMuNjQ2NCAyMy40NjQyIDQ4LjUyMTRDMjQuMTUxOSA0OS43ODY1IDI0LjQ3NTggNTEuMjE3NCAyNC40MDAyIDUyLjY1NTRDMjMuOTQzNyA1Mi43NDM4IDIzLjUyMDMgNTIuOTU2MSAyMy4xNzY0IDUzLjI2OTFDMjIuODMyNSA1My41ODIxIDIyLjU4MTIgNTMuOTgzNyAyMi40NTAyIDU0LjQyOThDMjIuMzE5NiA1NC45MjUzIDIyLjM0NzIgNTUuNDQ5MSAyMi41Mjg5IDU1LjkyODFDMjIuNzEwOCA1Ni40MDcxIDIzLjAzNzggNTYuODE3NCAyMy40NjQyIDU3LjEwMTRDMjIuNTQ3OCA2Mi42NTg4IDI0LjM2MTIgNjUuMjMyOCAyOC4wNjYyIDY2LjI0NjhDMzEuNzcxMiA2Ny4yNjA4IDM0LjYzNzggNjUuOTM0OCAzNi42NjU4IDYwLjY2OThDMzcuMTczNyA2MC42NDU4IDM3LjY2MDkgNjAuNDYxMSAzOC4wNTcgNjAuMTQyMUMzOC40NTMxIDU5LjgyMzEgMzguNzM3NSA1OS4zODY1IDM4Ljg2OTIgNTguODk1NEMzOC45ODkgNTguNDQ1MiAzOC45NzkzIDU3Ljk3MDMgMzguODQxMyA1Ny41MjUzQzM4LjcwMzQgNTcuMDgwNCAzOC40NDI3IDU2LjY4MzMgMzguMDg5MiA1Ni4zNzk4QzM4Ljc3OTIgNTUuMTAxNSAzOS44MTI1IDU0LjA0MTEgNDEuMDcyOCA1My4zMTg0QzQ1Ljg1MDIgNTAuNDUxOCA1MS4xOTMyIDQ2LjI3ODggNTIuODcwMiA0MC4xMTY4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOC43ODc1IDUzLjk2MTlDMzAuNTAxOSA1NC4yMDcxIDMyLjE3ODkgNTQuNjY1NyAzMy43Nzk1IDU1LjMyNjlcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjcuNzM0OCA1Ny44MjNDMjkuNDU0MiA1OC4wNjQyIDMxLjEzNzMgNTguNTE2MSAzMi43NDYyIDU5LjE2ODVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzEuMTI3NyAzNy4yMzA4QzMxLjEyNzcgMzcuMjMwOCAzMC43MTgyIDM4LjA2OTIgMzEuNjE1MiA0MS4yNDc4QzMxLjkzNDYgNDIuNDE2MiAzMi4zOTI5IDQzLjU0MjIgMzIuOTgwMiA0NC42MDE4QzMzLjE4NDUgNDQuOTEyOSAzMy40OTU4IDQ1LjEzODQgMzMuODU1MiA0NS4yMzU0QzM0LjIxNDUgNDUuMzMyNSAzNC41OTcgNDUuMjk0MyAzNC45MzAyIDQ1LjEyODJDMzUuOTgzNiA0NC41MjE5IDM2Ljk1MzggNDMuNzgxMiAzNy44MTYyIDQyLjkyNDhDMzguODM1MSA0Mi4wMTMxIDM5LjY2OTIgNDAuOTE0MiA0MC4yNzMyIDM5LjY4NzhDNDAuMzcwOCAzOS4zODAyIDQwLjM1ODEgMzkuMDQ4MyA0MC4yMzcgMzguNzQ5MkM0MC4xMTU5IDM4LjQ1MDEgMzkuODk0MiAzOC4yMDI4IDM5LjYxMDIgMzguMDQ5OEMzOC41MDU2IDM3LjQ0MTggMzcuMzI1MyAzNi45ODI4IDM2LjEwMDIgMzYuNjg0OEMzNC45MzM4IDM2LjMzODcgMzMuNzI4MiAzNi4xNDIxIDMyLjUxMjIgMzYuMDk5OEMzMi4xOTQ3IDM2LjEwMDYgMzEuODg2OSAzNi4yMDkxIDMxLjYzOSAzNi40MDc0QzMxLjM5MTEgMzYuNjA1OCAzMS4yMTc4IDM2Ljg4MjIgMzEuMTQ3MiAzNy4xOTE4TDMxLjEyNzcgMzcuMjMwOFpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMy44MzgyIDQ1LjIwNjZMMzMuMDk3MiA0OC4wMTQ2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00NS45NDc2IDI2LjIzMjdDNDcuMjY0MyAyNy4xMzY4IDQ4LjI3MTYgMjguNDIzMiA0OC44MzM2IDI5LjkxODJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgTGlrZSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc0LjUxNTMgNTEuNDg2Qzc5LjM1MTMgNDkuOTg0MyA3OS4xNTYzIDQwLjI3MzMgNzQuMTY0MyAzOS4wMDZDNzcuNjkzNyAzNy41MDQzIDc1LjI5NTMgMjkuNjA2OSA3MS4xNDE3IDI4LjIwMjlDNjUuMTE3NyAyNy4zNDMgNTkuMDUwMyAyNi44MjIyIDUyLjk2NzcgMjYuNjQyOUM1NC4zNTEzIDIyLjgzOTcgNTUuNDA4IDE4LjkyNTUgNTYuMTI2NyAxNC45NDI5QzU2LjUzMjcgMTMuMTg3NCA1Ni4zMzM3IDExLjM0NjQgNTUuNTYyIDkuNzE4MjdDNTQuNzkwMyA4LjA5MDEgNTMuNDkxMyA2Ljc3MDMzIDUxLjg3NTcgNS45NzI5QzQ5LjE2NTMgNC4zNzM5IDQ0Ljc5NzMgNC4zMzQ5IDQzLjA4MTMgNS44NTU5QzQwLjk3NTMgNi45MDg5IDM1LjU1NDMgMTMuNTE5NCAyOS42NDU4IDIzLjY3ODlDMjYuMzQ3NyAyNS45Nzc0IDIzLjIzMTUgMjguNTI2NCAyMC4zMjQ4IDMxLjMwMzRDMTcuODUzNSAzMC4wNjM2IDE1LjA4MTMgMjkuNTQ5NyAxMi4zMjk4IDI5LjgyMTRDOC42NDQzIDI5LjgyMTQgMy43NDk4IDMwLjU4MTkgMi44OTE4MSAzMy45MzZDMS45OTQ4MSAzNS42MzIzIDEuODU4MzEgNDQuNTI0MyAyLjA1MzMxIDUxLjg3NkMyLjI0ODMxIDU5LjIyNzMgMi44OTE4MSA2OC4xIDQuMDAzMyA2OS43MzhDNC45MDAzIDczLjE1MDMgOS44NTMzIDczLjQ2MjMgMTMuNTM4OCA3My4zNjVDMTYuMzY2MyA3My4zNjUgMTkuODc2MyA3Mi44NTggMjEuNzY3OCA3MS4xODFDMjEuOTg5OSA3MS4zOTE3IDIyLjIzMTQgNzEuNTgxIDIyLjQ4OTMgNzEuNzQ2M0MyNC45MDczIDczLjM2NSAzNS43ODgzIDc1LjQ1MTMgNDQuOTkyMyA3NS4xOThDNjAuOTA0MyA3NC43NDkzIDY2LjkxMDMgNzMuNDgyIDY4LjA4MDMgNzMuMTExM0M3NC4zNTkzIDcxLjE2MTMgNzMuNzM1MyA2My43OTAzIDcyLjEzNjMgNjIuNjc5Qzc1Ljg5OTcgNjIuMDM1MyA3Ny43MzI3IDUzLjkyMzMgNzQuNTE1MyA1MS40ODZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OC43NTU3IDEwLjU1NUM1MS40MjczIDExLjYyNzUgNTAuODgxMyAxNC40NTUgNTAuMjc2NyAxNi4xNzFcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIxLjM5NzMgMzkuNDM1M0MyMi4xMzgzIDQyLjgyODMgMjMuMDE1OCA1OC43NDAzIDIyLjA3OTggNjMuNTc2M1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzUuNDkwNyAzNy42OTkzQzc0LjUxNTcgMzkuMTgxMyA3MS4zMTc3IDM5LjI3OSA3MS4zMTc3IDM5LjI3OUM3Mi43MTczIDM5LjE0MjMgNzQuMTMgMzkuMjU0MyA3NS40OTA3IDM5LjYxMDNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Ni4xMTQzIDUwLjU1Qzc1LjM3MzMgNTEuNDg2IDcyLjIxNDMgNTEuMDU3IDcyLjIxNDMgNTEuMDU3QzcyLjIxNDMgNTEuMDU3IDc0Ljg0NyA1MS4yOTEgNzUuNjI3IDUyLjc3M1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTczLjg5MTMgNjEuNzQzQzczLjE3NyA2Mi4xNjE3IDcyLjM4MzcgNjIuNDI4IDcxLjU2MTcgNjIuNTI1QzcwLjczOTMgNjIuNjIyMyA2OS45MDYgNjIuNTQ4NyA2OS4xMTM3IDYyLjMwODdDNjkuMTEzNyA2Mi4zMDg3IDcyLjEzNjMgNjIuNjc5IDczLjAxMzcgNjQuMDgzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBNYXAgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NS4zOTI3IDguNjcxNDhDNzQuMjIyNyA2Ljc5OTQ5IDY3Ljk4MjcgOC43ODM4MSA2Mi44MTUgMTAuNjU1OEM1OC42MDMgMTIuMTcyMSA1My43MDg3IDE0LjExOSA1MS40MDc3IDE2LjI3MThDNDkuMTA2NyAxNC4xMTkgNDQuMjEyIDEyLjE3MjEgNDAgMTAuNjU1OEMzNi4zNTA3IDkuMjUzOTIgMzIuNTA3NyA4LjM3MSAyOC41OTI2IDguMDM1QzI0LjY3NzUgOC4zNzEgMjAuODM0NSA5LjI1MzkyIDE3LjE4NTEgMTAuNjU1OEMxMi4wMTc2IDEyLjUyNzggNS43Nzc2IDE0Ljk5ODggNC42MDc2IDE3Ljc1MDdDMi4yNjc2IDIwLjkzMzEgMS45NzUxIDM3LjUzNzYgMS45NzUxIDQ2LjU0MjFDMS45NzUxIDU1LjU0NjIgMi4yNjc2IDcxLjk0NSA0LjYwNzYgNzMuNDQyNkM1Ljc3NzYgNzUuMzE0NiAxMi4wMTc2IDczLjMzMDIgMTcuMTg1MSA3MS40NTgyQzIxLjM5NzEgNjkuOTQyMSAyNi4yOTE2IDY3Ljk5NTIgMjguNTkyNiA2NS44NDIyQzMwLjg5MzYgNjcuOTk1MiAzNS43ODggNjkuOTQyMSA0MCA3MS40NTgyQzQzLjY0OTMgNzIuODYwMiA0Ny40OTI3IDczLjc0MyA1MS40MDc3IDc0LjA3OUM1NS4zMjI3IDczLjc0MyA1OS4xNjU3IDcyLjg2MDIgNjIuODE1IDcxLjQ1ODJDNjcuOTgyNyA2OS41ODYyIDc0LjIyMjcgNjcuMTE1MiA3NS4zOTI3IDY0LjM2MzVDNzcuNzMyNyA2MS4xODExIDc4LjAyNSA0NC41NzYzIDc4LjAyNSAzNS41NzIyQzc4LjAyNSAyNi41Njc4IDc3LjczMjcgMTAuMTY5MSA3NS4zOTI3IDguNjcxNDhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOC4zIDU1LjA5N1YyMS4wMjY2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MS43IDYxLjA4NzdWMjcuMDE3MlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjYuMzI1IDE1Ljg2QzcxLjI5NzMgMTMuNzQ0NyA3MS4wODMgMTIuNDkwNCA3MS4wODMgMjIuNzg2NFwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBNb25leSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUzLjk4MTUgNDcuNDEwMUM1Ni4yNDM1IDQzLjkxOTYgNTMuODg0IDM2Ljc2MzEgNTEuMTkzIDMxLjM2MTZDNDguNTAyIDI1Ljk2MDEgNDQuMTkyNSAxOS43OTgxIDQwIDE5LjUwNTZDMzcuNTIzNSAxOS4zNDk2IDI4LjE0NCAyMy4xNzE2IDIwLjUgMjYuOTkzNkMxMi44NTYgMzAuODE1NiA0LjIzNzA0IDM1Ljk4MzEgMi45NTAwNCAzOC4wNTAxQzAuNjEwMDQgNDEuNTYwMSAyLjk1MDA0IDQ4LjczNjEgNS42NjA1NCA1NC4xMTgxQzguMzcxMDQgNTkuNTAwMSAxMi43IDY1LjcwMTEgMTYuODM0IDY1Ljk3NDFDMTkuMzEwNSA2Ni4xNDk2IDI4LjY3MDUgNjIuMzI3NiAzNi4zMzQgNTguNTA1NkM0My45OTc1IDU0LjY4MzYgNTIuNjM2IDQ5LjQ5NjYgNTMuOTgxNSA0Ny40MTAxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzQuNDgxNSAyOC4zQzM1LjIyODQgMjkuNTkyNiAzNi40MTc4IDMwLjU3MTIgMzcuODMgMzEuMDU1MUMzOS4yNDIyIDMxLjUzOSA0MC43ODE5IDMxLjQ5NTQgNDIuMTY0NSAzMC45MzI2QzQ0LjAxODUgMzMuMzQwNSA0NS4zOTUyIDM2LjA4MDcgNDYuMjIwNSAzOS4wMDU2QzQ0LjkxNzYgMzkuNzcxMSA0My45NDAyIDQwLjk4NzQgNDMuNDczMSA0Mi40MjQ2QzQzLjAwNiA0My44NjE4IDQzLjA4MTYgNDUuNDIwMyA0My42ODU1IDQ2LjgwNTVDMzYuODk3NCA1MC44NjE5IDI5Ljc5NjMgNTQuMzcgMjIuNDUgNTcuMjk2NkMyMS43MDAxIDU1Ljk3NjQgMjAuNDkwNSA1NC45Nzg1IDE5LjA1MiA1NC40OTNDMTcuNjEzNCA1NC4wMDc1IDE2LjA0NjUgNTQuMDY4NCAxNC42NSA1NC42NjQxQzEyLjc4NDEgNTIuMjg1MSAxMS40NTM3IDQ5LjUzMTQgMTAuNzUgNDYuNTkxQzEyLjA0OTUgNDUuODIyNCAxMy4wMjI4IDQ0LjYwNDggMTMuNDg2MiA0My4xNjc5QzEzLjk0OTYgNDEuNzMwOSAxMy44NzExIDQwLjE3NDEgMTMuMjY1NSAzOC43OTFDMjAuMDQ1NyAzNC43MzI2IDI3LjE0MDUgMzEuMjI0NCAzNC40ODE1IDI4LjNaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zNC44MzI1IDI0LjEyNzFDMzguMjY0NSAyMi42MDYxIDM5LjgwNSAyMi43MDM2IDQwLjY4MjUgMjMuMjQ5NlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjIuMDIxIDQyLjc0OTZDMjIuMDIxIDQ0LjQ1MTEgMjIuNjk2OSA0Ni4wODI5IDIzLjkwMDEgNDcuMjg2QzI1LjEwMzIgNDguNDg5MiAyNi43MzUgNDkuMTY1MSAyOC40MzY1IDQ5LjE2NTFDMzAuMTM4IDQ5LjE2NTEgMzEuNzY5OCA0OC40ODkyIDMyLjk3MjkgNDcuMjg2QzM0LjE3NjEgNDYuMDgyOSAzNC44NTIgNDQuNDUxMSAzNC44NTIgNDIuNzQ5NkMzNC44NTIgNDEuMDQ4MSAzNC4xNzYxIDM5LjQxNjMgMzIuOTcyOSAzOC4yMTMyQzMxLjc2OTggMzcuMDEgMzAuMTM4IDM2LjMzNDEgMjguNDM2NSAzNi4zMzQxQzI2LjczNSAzNi4zMzQxIDI1LjEwMzIgMzcuMDEgMjMuOTAwMSAzOC4yMTMyQzIyLjY5NjkgMzkuNDE2MyAyMi4wMjEgNDEuMDQ4MSAyMi4wMjEgNDIuNzQ5NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI3LjM0NDUgMzkuNjEwMUMyNy44NjYxIDM5LjQ2MDIgMjguNDE1OSAzOS40MzY4IDI4Ljk0ODQgMzkuNTQxOUMyOS40ODA4IDM5LjY0NzEgMjkuOTgwNSAzOS44Nzc3IDMwLjQwNiA0MC4yMTQ2XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Ni40NDU1IDQ0LjM2OEM3Ni4yNyA0NC4xNTM1IDcyLjg5NjUgMzkuNTUxNSA2Mi42MDA1IDM5LjU1MTVDNTIuMzA0NSAzOS41NTE1IDQ4Ljk1MDUgNDQuMTUzNSA0OC43NTU1IDQ0LjM2OEM0Ny41ODU1IDQ1Ljc5MTUgNDcuMTc2IDUyLjAxMiA0Ny4xNzYgNTcuMzU1QzQ3LjE3NiA2Mi42OTggNDcuNTg1NSA2OC45MTg1IDQ4Ljc1NTUgNzAuMzQyQzQ4LjkzMSA3MC41NTY1IDUyLjMwNDUgNzUuMTM5IDYyLjYwMDUgNzUuMTM5QzcyLjg5NjUgNzUuMTM5IDc2LjI1MDUgNzAuNTU2NSA3Ni40NDU1IDcwLjM0MkM3Ny42MTU1IDY4LjkxODUgNzguMDI1IDYyLjY5OCA3OC4wMjUgNTcuMzU1Qzc4LjAyNSA1Mi4wMTIgNzcuNjE1NSA0NS44NSA3Ni40NDU1IDQ0LjM2OFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY5LjgzNTEgNDIuNjkxQzcwLjkzMDQgNDIuOTkzOSA3MS45NjU4IDQzLjQ4MiA3Mi44OTY2IDQ0LjEzNFwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzQuOTA1IDQ5LjA0OEM3Mi43MDE1IDUxLjI3MSA2OC42MDY1IDUyLjU5NyA2Mi42MDA1IDUyLjU5N0M1Ni41OTQ1IDUyLjU5NyA1Mi40OTk1IDUxLjI3MSA1MC4yOTYgNDkuMDQ4XCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NC45MDUgNTcuMzU1QzcyLjcwMTUgNTkuNTc4IDY4LjYwNjUgNjAuOTA0IDYyLjYwMDUgNjAuOTA0QzU2LjU5NDUgNjAuOTA0IDUyLjQ5OTUgNTkuNSA1MC4yOTYgNTcuMzU1XCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NC45MDUgNjQuNDcyNUM3Mi43MDE1IDY2LjY5NTUgNjguNjA2NSA2OC4wMjE1IDYyLjYwMDUgNjguMDIxNUM1Ni41OTQ1IDY4LjAyMTUgNTIuNDk5NSA2Ni42OTU1IDUwLjI5NiA2NC40NzI1XCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ni4zMjE1IDQ1Ljc5MTVDNTYuMzIxNSA0Ni40MjI0IDU2Ljk4MzEgNDcuMDI3NSA1OC4xNjA2IDQ3LjQ3MzdDNTkuMzM4MiA0Ny45MTk4IDYwLjkzNTIgNDguMTcwNSA2Mi42MDA1IDQ4LjE3MDVDNjQuMjY1OCA0OC4xNzA1IDY1Ljg2MjkgNDcuOTE5OCA2Ny4wNDA1IDQ3LjQ3MzdDNjguMjE4IDQ3LjAyNzUgNjguODc5NSA0Ni40MjI0IDY4Ljg3OTUgNDUuNzkxNUM2OC44Nzk1IDQ1LjE2MDUgNjguMjE4IDQ0LjU1NTQgNjcuMDQwNSA0NC4xMDkzQzY1Ljg2MjkgNDMuNjYzMSA2NC4yNjU4IDQzLjQxMjUgNjIuNjAwNSA0My40MTI1QzYwLjkzNTIgNDMuNDEyNSA1OS4zMzgyIDQzLjY2MzEgNTguMTYwNiA0NC4xMDkzQzU2Ljk4MzEgNDQuNTU1NCA1Ni4zMjE1IDQ1LjE2MDUgNTYuMzIxNSA0NS43OTE1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzEuMzc1NiAyNS42Njc2QzcxLjM3NTYgMjQuMzgwNiA3MC4wNDk2IDIzLjI4ODYgNjYuNDIyNiAyMi45MTgxQzY2LjA1MjEgMTkuMjkxMSA2NC45Nzk1IDE3Ljk2NTEgNjMuNjczIDE3Ljk2NTFDNjIuMzY2NSAxNy45NjUxIDYxLjI3NDUgMTkuMjkxMSA2MC45MDQgMjIuOTE4MUM1Ny4yNzcgMjMuMjg4NiA1NS45NTEgMjQuMzgwNiA1NS45NTEgMjUuNjY3NkM1NS45NTEgMjYuOTU0NiA1Ny4yNzcgMjguMDY2MSA2MC45MDQgMjguNDM2NkM2MS4yNzQ1IDMyLjA2MzYgNjIuMzY2NSAzMy4zODk2IDYzLjY3MyAzMy4zODk2QzY0Ljk3OTUgMzMuMzg5NiA2Ni4wNTIxIDMyLjA2MzYgNjYuNDIyNiAyOC40MzY2QzcwLjA0OTYgMjguMDY2MSA3MS4zNzU2IDI2Ljk3NDEgNzEuMzc1NiAyNS42Njc2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPVwiIzIzMUYyMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ny41NSAxMS43ODM2QzU3LjU1IDEwLjc1MDEgNTYuNDk3IDkuODMzNTUgNTMuNjUgOS41ODAwNUM1My4zNTc1IDYuNjc0NTUgNTIuNDggNS42ODAwNSA1MS40NDY1IDUuNjgwMDVDNTAuNDEzIDUuNjgwMDUgNDkuNDk2NSA2LjczMzA1IDQ5LjI0MyA5LjU4MDA1QzQ2LjMzNzUgOS44NzI1NSA0NS4zNDMgMTAuNzUwMSA0NS4zNDMgMTEuNzgzNkM0NS4zNDMgMTIuODE3MSA0Ni40MTU1IDEzLjczMzYgNDkuMjQzIDEzLjk4NzFDNDkuNTM1NSAxNi44OTI2IDUwLjM5MzUgMTcuODg3MSA1MS40NDY1IDE3Ljg4NzFDNTIuNDk5NSAxNy44ODcxIDUzLjM5NjUgMTYuODE0NiA1My42NSAxMy45ODcxQzU2LjQzODUgMTMuNzE0MSA1Ny41NSAxMi44MzY2IDU3LjU1IDExLjc4MzZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY3LjUxNDUgNy4xNjIwNUM2Ny41MTQ1IDcuNzc3NDkgNjcuNzU5IDguMzY3NzIgNjguMTk0MiA4LjgwMjg5QzY4LjYyOTQgOS4yMzgwNyA2OS4yMTk2IDkuNDgyNTUgNjkuODM1IDkuNDgyNTVDNzAuNDUwNSA5LjQ4MjU1IDcxLjA0MDcgOS4yMzgwNyA3MS40NzU5IDguODAyODlDNzEuOTExIDguMzY3NzIgNzIuMTU1NSA3Ljc3NzQ5IDcyLjE1NTUgNy4xNjIwNUM3Mi4xNTU1IDYuNTQ2NjIgNzEuOTExIDUuOTU2MzkgNzEuNDc1OSA1LjUyMTIxQzcxLjA0MDcgNS4wODYwMyA3MC40NTA1IDQuODQxNTUgNjkuODM1IDQuODQxNTVDNjkuMjE5NiA0Ljg0MTU1IDY4LjYyOTQgNS4wODYwMyA2OC4xOTQyIDUuNTIxMjFDNjcuNzU5IDUuOTU2MzkgNjcuNTE0NSA2LjU0NjYyIDY3LjUxNDUgNy4xNjIwNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBPZmZlciA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU0Ljk0NTIgMTUuMzg0OEM0My4wODE0IDMuNTM4NDkgMjguNjIwMiAyLjIyMjI5IDE1LjQwNSAxNS4zODQ4QzIuMTg5ODkgMjguNTQ3MyAzLjU1ODc5IDQzLjA2MTEgMTUuNDA1IDU0LjkwNzRDMjUuNTY2NSA2NS4wNjg3IDM3LjY1ODQgNjcuNDU1NyA0OS4yMDYzIDU5LjY2MzRDNTAuMjI0MiA2MS4yNzggNTEuNDUyNyA2Mi44NTc3IDUyLjk2MiA2NC43ODc3QzYzLjkzMDggNzguNzA0NyA2OC40NDExIDc0LjM3MDcgNzEuMzg5NSA3MS40MjE3Qzc0LjMzNzkgNjguNDczNyA3OC42NTUyIDYzLjk2MjcgNjQuNzkwNyA1Mi45NzY5QzYyLjg5NTMgNTEuNDY3NiA2MS4yODA3IDUwLjI1NjYgNTkuNjgzNyA0OS4yMjEyQzY3LjQ5MzQgMzcuNjczMyA2NS4xMDY2IDI1LjU2MzggNTQuOTQ1MiAxNS4zODQ4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTcuNjUxNCAzNS4xNDU4QzE3LjY1MTQgMzkuNzk1NyAxOS40OTg1IDQ0LjI1NTEgMjIuNzg2NSA0Ny41NDMxQzI2LjA3NDUgNTAuODMxIDMwLjUzMzkgNTIuNjc4MiAzNS4xODM4IDUyLjY3ODJDMzkuODMzNyA1Mi42NzgyIDQ0LjI5MzIgNTAuODMxIDQ3LjU4MTEgNDcuNTQzMUM1MC44NjkxIDQ0LjI1NTEgNTIuNzE2MyAzOS43OTU3IDUyLjcxNjMgMzUuMTQ1OEM1Mi43MTYzIDMwLjQ5NTkgNTAuODY5MSAyNi4wMzY0IDQ3LjU4MTEgMjIuNzQ4NEM0NC4yOTMyIDE5LjQ2MDUgMzkuODMzNyAxNy42MTMzIDM1LjE4MzggMTcuNjEzM0MzMC41MzM5IDE3LjYxMzMgMjYuMDc0NSAxOS40NjA1IDIyLjc4NjUgMjIuNzQ4NEMxOS40OTg1IDI2LjAzNjQgMTcuNjUxNCAzMC40OTU5IDE3LjY1MTQgMzUuMTQ1OFpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzEuMDk0NyAyNC40MjM0QzMyLjIzMTMgMjMuNDM1NSAzMy42NzI5IDIyLjg2ODQgMzUuMTc4IDIyLjgxNzNDMzYuNjgzIDIyLjc2NjIgMzguMTU5OCAyMy4yMzQxIDM5LjM2MDggMjQuMTQyNlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMxLjA5NDcgMjQuNDIzNEMzMi4yMzEzIDIzLjQzNTUgMzMuNjcyOSAyMi44Njg0IDM1LjE3OCAyMi44MTczQzM2LjY4MyAyMi43NjYyIDM4LjE1OTggMjMuMjM0MSAzOS4zNjA4IDI0LjE0MjZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM5Ljc0NjggMTEuNzY5NkM0My4wNzA5IDEyLjEzMDcgNDYuMTMyOSAxMy43NDMyIDQ4LjMxMTIgMTYuMjc5OVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBQYXNzcG9ydCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTcwLjc2IDcuNzZDNjguMzIgMS43NiA1Mi4xOCAxIDQyLjc4IDFDMzUuNDggMSAyNC4xNCAxLjQ4IDE4LjMwMDEgNC41QzE3LjI0MjEgNC4wMDgzMiAxNi4wODY2IDMuNzYyMiAxNC45MjAxIDMuNzhDMTIuMjQwMSAzLjc4IDguNjYwMDggNC44MiA3Ljk2MDA4IDEwLjM0QzcuMjYwMDggMTMuMSA2LjU4MDA4IDI3LjggNi41ODAwOCA0MEM2LjU4MDA4IDUyLjIgNy4yNjAwOCA2Ni45IDguMDAwMDggNjkuNjZDOC43MDAwOCA3NS4xOCAxMi4yODAxIDc2LjIyIDE0Ljk2MDEgNzYuMjJDMTYuMTI2NiA3Ni4yMzc4IDE3LjI4MjEgNzUuOTkxNiAxOC4zNDAxIDc1LjVDMjQuMTggNzguNTIgMzUuNTIgNzkgNDIuODIgNzlDNTIuMjIgNzkgNjguMzYgNzguMjQgNzAuODIgNzIuMjRDNzMuMjQgNjkuMjQgNzMuNDggNTMuMjQgNzMuNDggNDBDNzMuNDggMjYuNzYgNzMuMTggMTAuNzYgNzAuNzYgNy43NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI2LjA4IDQwQzI2LjA4IDQ0LjgwMDQgMjcuOTg3IDQ5LjQwNDIgMzEuMzgxNCA1Mi43OTg2QzM0Ljc3NTggNTYuMTkzIDM5LjM3OTYgNTguMSA0NC4xOCA1OC4xQzQ4Ljk4MDQgNTguMSA1My41ODQ0IDU2LjE5MyA1Ni45Nzg4IDUyLjc5ODZDNjAuMzczMiA0OS40MDQyIDYyLjI4IDQ0LjgwMDQgNjIuMjggNDBDNjIuMjggMzUuMTk5NiA2MC4zNzMyIDMwLjU5NTggNTYuOTc4OCAyNy4yMDE0QzUzLjU4NDQgMjMuODA3IDQ4Ljk4MDQgMjEuOSA0NC4xOCAyMS45QzM5LjM3OTYgMjEuOSAzNC43NzU4IDIzLjgwNyAzMS4zODE0IDI3LjIwMTRDMjcuOTg3IDMwLjU5NTggMjYuMDggMzUuMTk5NiAyNi4wOCA0MFpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDAuMyA1Mi45NEMzOC41OCA1MC43NCAzNy43MiA0Ni4wOCAzNy43MiA0MEMzNy43MiAzMy45MiAzOC41OCAyOS4yNiA0MC4zIDI3LjA2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OCAyNy4wNkM0OS43MiAyOS4yNiA1MC41OCAzMy45MiA1MC41OCA0MEM1MC41OCA0Ni4wOCA0OS43MiA1MC43NCA0OCA1Mi45NFwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzIuMTYwMiAzNS4yOEMzNi4xMzcgMzQuNzQyNiA0MC4xNDc2IDM0LjQ5NTIgNDQuMTYwMiAzNC41NEM0OC4xNzI4IDM0LjQ5MzYgNTIuMTgzNiAzNC43NDA4IDU2LjE2MDIgMzUuMjhcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU2LjE4MDIgNDQuNzJDNTIuMjAzNiA0NS4yNTkyIDQ4LjE5MjggNDUuNTA2NiA0NC4xODAyIDQ1LjQ2QzQwLjE2NzYgNDUuNTA0OCAzNi4xNTcgNDUuMjU3NiAzMi4xODAyIDQ0LjcyXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNy43MjAyIDE3LjcyQzE3LjE4MDIgMjUuMTQgMTcuMTgwMiA1NC44NiAxNy43MjAyIDYyLjI4VjE3LjcyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE3LjcyMDIgMTcuNzJDMTcuMTgwMiAyNS4xNCAxNy4xODAyIDU0Ljg2IDE3LjcyMDIgNjIuMjhcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3LjA0IDcuMzU5OThDNjQuNiA4LjQ3OTk4IDY1LjA0IDguNDE5OTggNjUuOTggMTIuMlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IFBhc3N3b3JkID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDcuMjM0NiAyOS4wMjE1QzQ3LjMzMjEgMjkuNTQ4IDQ3LjY2MzYgMzEuMzYxNSA0Ny43ODA2IDMxLjg0OUM0Ni42ODM5IDMyLjIyNzEgNDUuNjc1NSAzMi44MjQyIDQ0LjgxNjYgMzMuNjA0QzQyLjQ5NjEgMzUuMjAzIDQyLjMwMTEgNDEuNDA0IDQzLjA4MTEgNDUuNzkxNUM0My44NjExIDUwLjE3OSA0Ni4xODE2IDU1LjkxMiA0OC45MzExIDU2LjYxNEM1MC4zOTM2IDU3LjU1IDU3LjI5NjYgNTcuNTExIDYyLjgzNDYgNTYuNTE2NUM2OC4zNzI2IDU1LjUyMiA3NC44NjYxIDUzLjIwMTUgNzUuOTE5MSA1MS44MTdDNzguMjM5NiA1MC4yMTggNzguNDM0NiA0NC4wMTcgNzcuNjU0NiAzOS42NDlDNzYuODc0NiAzNS4yODEgNzQuNTU0MSAyOS41MDkgNzEuODA0NiAyOC44MDdDNzAuNzI4IDI4LjM2OTggNjkuNTczMyAyOC4xNTc1IDY4LjQxMTYgMjguMTgzQzY4LjQxMTYgMjcuNjc2IDY4LjA0MTEgMjUuODYyNSA2Ny45NDM2IDI1LjMzNkM2Ny43MTUxIDIzLjk4OTQgNjcuMjE0MyAyMi43MDM2IDY2LjQ3MTggMjEuNTU3MkM2NS43Mjk0IDIwLjQxMDggNjQuNzYwOSAxOS40Mjc5IDYzLjYyNTYgMTguNjY4NkM2Mi40OTAzIDE3LjkwOTMgNjEuMjEyIDE3LjM4OTYgNTkuODY5IDE3LjE0MTJDNTguNTI2IDE2Ljg5MjggNTcuMTQ2NCAxNi45MjEgNTUuODE0NiAxNy4yMjRDNTQuNDU5NSAxNy4zOTcxIDUzLjE1NCAxNy44NDUzIDUxLjk3ODQgMTguNTQxM0M1MC44MDI5IDE5LjIzNzIgNDkuNzgyIDIwLjE2NjIgNDguOTc4NCAyMS4yNzFDNDguMTc0OSAyMi4zNzU4IDQ3LjYwNTcgMjMuNjMzMyA0Ny4zMDU4IDI0Ljk2NjFDNDcuMDA2IDI2LjI5ODkgNDYuOTgxNyAyNy42NzkgNDcuMjM0NiAyOS4wMjE1Wk02Mi4wNTQ2IDI4LjM1ODVDNjAuNjU1IDI4LjQyNDUgNTkuMjYxMSAyOC41ODA4IDU3Ljg4MTYgMjguODI2NUM1Ni40OTgyIDI5LjA3NzEgNTUuMTMwOCAyOS40MDkyIDUzLjc4NjYgMjkuODIxQzUyLjEwOTYgMjYuMzUgNTMuNTEzNiAyNC40IDU2Ljk2NTEgMjMuNzM3QzYwLjQxNjYgMjMuMDc0IDYyLjQ2NDEgMjQuNTM2NSA2Mi4wNTQ2IDI4LjNWMjguMzU4NVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU2LjgyODYgNDIuNzEwNUM1Ni44Mjg2IDQzLjE3MTQgNTYuOTE5NCA0My42Mjc5IDU3LjA5NTggNDQuMDUzN0M1Ny4yNzIyIDQ0LjQ3OTYgNTcuNTMwNyA0NC44NjY1IDU3Ljg1NjcgNDUuMTkyNEM1OC4xODI2IDQ1LjUxODQgNTguNTY5NSA0NS43NzY5IDU4Ljk5NTQgNDUuOTUzM0M1OS40MjEyIDQ2LjEyOTcgNTkuODc3NyA0Ni4yMjA1IDYwLjMzODYgNDYuMjIwNUM2MC43OTk2IDQ2LjIyMDUgNjEuMjU2IDQ2LjEyOTcgNjEuNjgxOCA0NS45NTMzQzYyLjEwNzcgNDUuNzc2OSA2Mi40OTQ2IDQ1LjUxODQgNjIuODIwNiA0NS4xOTI0QzYzLjE0NjUgNDQuODY2NSA2My40MDUgNDQuNDc5NiA2My41ODE0IDQ0LjA1MzdDNjMuNzU3OCA0My42Mjc5IDYzLjg0ODYgNDMuMTcxNCA2My44NDg2IDQyLjcxMDVDNjMuODQ4NiA0Mi4yNDk2IDYzLjc1NzggNDEuNzkzMSA2My41ODE0IDQxLjM2NzNDNjMuNDA1IDQwLjk0MTQgNjMuMTQ2NSA0MC41NTQ1IDYyLjgyMDYgNDAuMjI4NkM2Mi40OTQ2IDM5LjkwMjYgNjIuMTA3NyAzOS42NDQxIDYxLjY4MTggMzkuNDY3N0M2MS4yNTYgMzkuMjkxMyA2MC43OTk2IDM5LjIwMDUgNjAuMzM4NiAzOS4yMDA1QzU5Ljg3NzcgMzkuMjAwNSA1OS40MjEyIDM5LjI5MTMgNTguOTk1NCAzOS40Njc3QzU4LjU2OTUgMzkuNjQ0MSA1OC4xODI2IDM5LjkwMjYgNTcuODU2NyA0MC4yMjg2QzU3LjUzMDcgNDAuNTU0NSA1Ny4yNzIyIDQwLjk0MTQgNTcuMDk1OCA0MS4zNjczQzU2LjkxOTQgNDEuNzkzMSA1Ni44Mjg2IDQyLjI0OTYgNTYuODI4NiA0Mi43MTA1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02Ny40MzY2IDMyLjU1MUM3MC44ODgxIDMxLjk0NjUgNzEuNTEyMSAzNS4zOTggNzIuMTE2NiAzOC44NDk1XCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM2LjkzODYgMzYuMzUzNUMzNS45MzUgMzQuNDUxNSAzNC42NTM0IDMyLjcwOTkgMzMuMTM2MSAzMS4xODZDMzEuNzU1NCAyOS41NTg0IDMwLjEyMjYgMjguMTYyNyAyOC4zMDAxIDI3LjA1MkMyNy4zNTYgMjYuNjk2OCAyNi4zMjE5IDI2LjY1ODggMjUuMzU0MyAyNi45NDM4QzI0LjM4NjcgMjcuMjI4OCAyMy41MzgzIDI3LjgyMTIgMjIuOTM3NiAyOC42MzE1QzIyLjAxODggMzAuNTU3NyAyMS40MTMyIDMyLjYxOCAyMS4xNDM2IDM0LjczNUMyMC42ODIzIDM2LjgzMzkgMjAuNTU3MiAzOC45OTI4IDIwLjc3MzEgNDEuMTMxQzIwLjgzMzcgNDEuNzgyMSAyMS4xMTM3IDQyLjM5MzQgMjEuNTY3MiA0Mi44NjQ1QzIyLjAyMDcgNDMuMzM1NyAyMi42MjA3IDQzLjYzODkgMjMuMjY5MSA0My43MjQ1QzIzLjg4MTkgNDMuOTEzMiAyNC41NDIxIDQzLjg3NTIgMjUuMTI5MyA0My42MTc1QzI1LjcxNjQgNDMuMzU5NyAyNi4xOTEyIDQyLjg5OTQgMjYuNDY3MSA0Mi4zMjA1QzI2LjcwMjQgNDEuOTM0MiAyNi44OTIyIDQxLjUyMiAyNy4wMzI2IDQxLjA5MkMyNy43OTMxIDQwLjkxNjUgMjguNTkyNiA0MC43MDIgMjkuMzMzNiA0MC40ODc1QzMwLjA3NDYgNDAuMjczIDMwLjg5MzYgNDAgMzEuNjE1MSAzOS43MjdDMzEuOTY2NiA0MC4wMjUgMzIuMzYxIDQwLjI2ODIgMzIuNzg1MSA0MC40NDg1QzMzLjMxNzcgNDAuODAyNSAzMy45NjA0IDQwLjk1MjEgMzQuNTk0NyA0MC44Njk3QzM1LjIyODkgNDAuNzg3MyAzNS44MTIgNDAuNDc4NCAzNi4yMzY2IDQwQzM2Ljc2NCAzOS41NzIgMzcuMTIzNSAzOC45NzE2IDM3LjI1MTkgMzguMzA0N0MzNy4zODAzIDM3LjYzNzcgMzcuMjY5NCAzNi45NDY3IDM2LjkzODYgMzYuMzUzNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuMTc3NSAzNS4xNjRDMjguNzQyOCAzNS4xOTUxIDI4LjMxMTkgMzUuMjY2OSAyNy44OTA1IDM1LjM3ODVDMjcuNDc4IDM1LjUwNyAyNy4wNzk1IDM1LjY3NjkgMjYuNzAxIDM1Ljg4NTVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNi45NzQgMzUuNzI5NUMyNi45NzQgMzUuNzI5NSAyNy45Mjk1IDM1LjQ1NjUgMjcuMjg2IDMzLjI3MjVDMjcuOTI5NSAzNS40NTY1IDI4Ljg2NTUgMzUuMjIyNSAyOC44NjU1IDM1LjIyMjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MS4zMjYgMTUuMDAxQzQxLjIyOTYgMTQuOTE0NiA0MS4xMTY5IDE0Ljg0ODMgNDAuOTk0NSAxNC44MDZDNDEuNzI5NCAxMy45NjkzIDQyLjE5MTkgMTIuOTI4NiA0Mi4zMjA1IDExLjgyMjVDNDIuODQ3IDguMjkzIDQxLjE3IDYuNDc5NSAzNi4xIDUuNzM4NUMzMC42MjA1IDQuOTE5NSAzMC4yNSA1LjU0MzUgMjkuNDMxIDcuMzE4QzI4LjY0MDUgOS4xODQzMiAyOC4xMjE3IDExLjE1NDQgMjcuODkwNSAxMy4xNjhDMjcuNTM1MSAxNS4xNjk1IDI3LjQ2MjkgMTcuMjEwOSAyNy42NzYgMTkuMjMyNUMyNy45ODggMjEuMTgyNSAyNy43NzM1IDIxLjgwNjUgMzMuNjIzNSAyMi42NjQ1QzM4LjYzNSAyMy4zODYgNDEuNzc0NSAyMi41MjggNDIuMzIwNSAxOC43NjQ1QzQyLjUzNSAxNy4zOCA0Mi4yODE1IDE1LjUwOCA0MS4zMjYgMTUuMDAxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMy4zNTA1IDEwLjc1QzMzLjY4NzkgMTAuOTEzNiAzNC4wNTA1IDExLjAxOSAzNC40MjMgMTEuMDYyQzM0Ljc5MDcgMTEuMTI1NyAzNS4xNjY3IDExLjEyNTcgMzUuNTM0NSAxMS4wNjJcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMyLjgyNCAxNy4xMjY1QzMzLjMyMTggMTcuMzM2NiAzMy44NDcxIDE3LjQ3NDUgMzQuMzg0IDE3LjUzNkMzNC45MjAxIDE3LjYyMTcgMzUuNDY2NCAxNy42MjE3IDM2LjAwMjUgMTcuNTM2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNi40MDUxIDUxLjQwNzVDMTMuODExNiA1Mi4zMjQgMTIuMzQ5MSA1Ny41NSAxMi4yMTI2IDYxLjQ1QzEyLjA3NjEgNjUuMzUgMTMuMTQ4NiA3MC42OTMgMTUuNjY0MSA3MS44MDQ1QzE2Ljg5MjYgNzIuODc3IDI4LjkwNDYgNzQuMzM5NSAzNC41NDAxIDc0LjUzNDVDNDAuMTc1NiA3NC43Mjk1IDUyLjI0NjEgNzQuMTQ0NSA1My41NTI2IDczLjE2OTVDNTYuMTQ2MSA3Mi4yNTMgNTcuNjA4NiA2Ny4wNDY1IDU3Ljc0NTEgNjMuMDg4QzU3Ljg4MTYgNTkuMTI5NSA1Ni44MDkxIDUzLjg0NSA1NC4yOTM2IDUyLjczMzVDNTMuMDY1MSA1MS42NjEgNDEuMDUzMSA1MC4yMTggMzUuNDE3NiA1MC4wMDM1QzI5Ljc4MjEgNDkuNzg5IDE3LjcxMTYgNTAuNDMyNSAxNi40MDUxIDUxLjQwNzVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xOS4yMTMgNjEuODU5NUMxOS4yMTMgNjIuNzkwNCAxOS41ODI4IDYzLjY4MzIgMjAuMjQxMSA2NC4zNDE0QzIwLjg5OTMgNjQuOTk5NyAyMS43OTIxIDY1LjM2OTUgMjIuNzIzIDY1LjM2OTVDMjMuNjUzOSA2NS4zNjk1IDI0LjU0NjcgNjQuOTk5NyAyNS4yMDUgNjQuMzQxNEMyNS44NjMyIDYzLjY4MzIgMjYuMjMzIDYyLjc5MDQgMjYuMjMzIDYxLjg1OTVDMjYuMjMzIDYwLjkyODYgMjUuODYzMiA2MC4wMzU4IDI1LjIwNSA1OS4zNzc2QzI0LjU0NjcgNTguNzE5MyAyMy42NTM5IDU4LjM0OTUgMjIuNzIzIDU4LjM0OTVDMjEuNzkyMSA1OC4zNDk1IDIwLjg5OTMgNTguNzE5MyAyMC4yNDExIDU5LjM3NzZDMTkuNTgyOCA2MC4wMzU4IDE5LjIxMyA2MC45Mjg2IDE5LjIxMyA2MS44NTk1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMS40NTkxIDYyLjMwOEMzMS40NTkxIDYzLjIzODkgMzEuODI4OSA2NC4xMzE3IDMyLjQ4NzIgNjQuNzg5OUMzMy4xNDU0IDY1LjQ0ODIgMzQuMDM4MiA2NS44MTggMzQuOTY5MSA2NS44MThDMzUuOSA2NS44MTggMzYuNzkyOCA2NS40NDgyIDM3LjQ1MSA2NC43ODk5QzM4LjEwOTMgNjQuMTMxNyAzOC40NzkxIDYzLjIzODkgMzguNDc5MSA2Mi4zMDhDMzguNDc5MSA2MS4zNzcxIDM4LjEwOTMgNjAuNDg0MyAzNy40NTEgNTkuODI2QzM2Ljc5MjggNTkuMTY3OCAzNS45IDU4Ljc5OCAzNC45NjkxIDU4Ljc5OEMzNC4wMzgyIDU4Ljc5OCAzMy4xNDU0IDU5LjE2NzggMzIuNDg3MiA1OS44MjZDMzEuODI4OSA2MC40ODQzIDMxLjQ1OTEgNjEuMzc3MSAzMS40NTkxIDYyLjMwOFpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDMuNzI0NiA2Mi43NTY1QzQzLjcyNDYgNjMuNjg3NCA0NC4wOTQ0IDY0LjU4MDIgNDQuNzUyNyA2NS4yMzg0QzQ1LjQxMDkgNjUuODk2NyA0Ni4zMDM3IDY2LjI2NjUgNDcuMjM0NiA2Ni4yNjY1QzQ4LjE2NTUgNjYuMjY2NSA0OS4wNTgzIDY1Ljg5NjcgNDkuNzE2NiA2NS4yMzg0QzUwLjM3NDggNjQuNTgwMiA1MC43NDQ2IDYzLjY4NzQgNTAuNzQ0NiA2Mi43NTY1QzUwLjc0NDYgNjIuMjk1NiA1MC42NTM4IDYxLjgzOTEgNTAuNDc3NCA2MS40MTMzQzUwLjMwMSA2MC45ODc0IDUwLjA0MjUgNjAuNjAwNSA0OS43MTY2IDYwLjI3NDVDNDkuMzkwNiA1OS45NDg2IDQ5LjAwMzcgNTkuNjkwMSA0OC41Nzc4IDU5LjUxMzdDNDguMTUyIDU5LjMzNzMgNDcuNjk1NiA1OS4yNDY1IDQ3LjIzNDYgNTkuMjQ2NUM0Ni43NzM3IDU5LjI0NjUgNDYuMzE3MiA1OS4zMzczIDQ1Ljg5MTQgNTkuNTEzN0M0NS40NjU1IDU5LjY5MDEgNDUuMDc4NiA1OS45NDg2IDQ0Ljc1MjcgNjAuMjc0NUM0NC40MjY3IDYwLjYwMDUgNDQuMTY4MiA2MC45ODc0IDQzLjk5MTggNjEuNDEzM0M0My44MTU0IDYxLjgzOTEgNDMuNzI0NiA2Mi4yOTU2IDQzLjcyNDYgNjIuNzU2NVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDkuMzc5NSA1NS4xOTA1QzUzLjI3OTUgNTUuNzk1IDUyLjczMzUgNTUuNzc1NSA1My4zOTY1IDU3LjkwMVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDcuODE5NiA5LjMyNjVDNDcuODE5NiA5Ljc2MTgzIDQ3LjkwNTMgMTAuMTkyOSA0OC4wNzE5IDEwLjU5NTFDNDguMjM4NSAxMC45OTczIDQ4LjQ4MjcgMTEuMzYyNyA0OC43OTA1IDExLjY3MDZDNDkuMDk4MyAxMS45Nzg0IDQ5LjQ2MzggMTIuMjIyNiA0OS44NjYgMTIuMzg5MkM1MC4yNjgyIDEyLjU1NTggNTAuNjk5MiAxMi42NDE1IDUxLjEzNDYgMTIuNjQxNUM1MS41Njk5IDEyLjY0MTUgNTIuMDAxIDEyLjU1NTggNTIuNDAzMiAxMi4zODkyQzUyLjgwNTQgMTIuMjIyNiA1My4xNzA4IDExLjk3ODQgNTMuNDc4NiAxMS42NzA2QzUzLjc4NjUgMTEuMzYyNyA1NC4wMzA2IDEwLjk5NzMgNTQuMTk3MiAxMC41OTUxQzU0LjM2MzggMTAuMTkyOSA1NC40NDk2IDkuNzYxODMgNTQuNDQ5NiA5LjMyNjVDNTQuNDQ5NiA4Ljg5MTE3IDU0LjM2MzggOC40NjAxIDU0LjE5NzIgOC4wNTc5MUM1NC4wMzA2IDcuNjU1NzEgNTMuNzg2NSA3LjI5MDI3IDUzLjQ3ODYgNi45ODI0NEM1My4xNzA4IDYuNjc0NjIgNTIuODA1NCA2LjQzMDQ0IDUyLjQwMzIgNi4yNjM4NEM1Mi4wMDEgNi4wOTcyNSA1MS41Njk5IDYuMDExNSA1MS4xMzQ2IDYuMDExNUM1MC42OTkyIDYuMDExNSA1MC4yNjgyIDYuMDk3MjUgNDkuODY2IDYuMjYzODRDNDkuNDYzOCA2LjQzMDQ0IDQ5LjA5ODMgNi42NzQ2MiA0OC43OTA1IDYuOTgyNDRDNDguNDgyNyA3LjI5MDI3IDQ4LjIzODUgNy42NTU3MSA0OC4wNzE5IDguMDU3OTFDNDcuOTA1MyA4LjQ2MDEgNDcuODE5NiA4Ljg5MTE3IDQ3LjgxOTYgOS4zMjY1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMi41NDQgNDEuNzE2QzEzLjA4MTcgNDAuMTkzIDEzLjUxODEgMzguNjM2MSAxMy44NTA1IDM3LjA1NTVDMTQuNDA3MiAzNC45MjM0IDE0LjY3NjEgMzIuNzI2NCAxNC42NSAzMC41MjNDMTQuNTQ5IDI5Ljg0NDYgMTQuMjM2MyAyOS4yMTU0IDEzLjc1NjYgMjguNzI1MkMxMy4yNzY5IDI4LjIzNSAxMi42NTQ2IDI3LjkwODcgMTEuOTc4NSAyNy43OTNDMTAuNTE2IDI3LjQ4MSAxMC4wMjg1IDI2Ljk5MzUgNi43MzMwNSAyOC42NTFDNS42MDExMiAyOS4xMzk0IDQuNTY5NjYgMjkuODMzNyAzLjY5MTA1IDMwLjY5ODVDMy4wODY1NSAzMS4yNDQ1IDMuMzAxMDUgMzIuNTMxNSAzLjY5MTA1IDMzLjM1MDVDNC4wODEwNSAzNC4xNjk1IDQuOTc4MDUgMzUuMTI1IDUuNzc3NTUgMzQuOTg4NUM2LjAxNTMxIDM0Ljk5NDggNi4yNTI0OSAzNC45NjE4IDYuNDc5NTUgMzQuODkxTDYuMzYyNTUgMzUuMzk4QzYuMDEwNzQgMzYuOTg2NCA1Ljc1Njc3IDM4LjU5NSA1LjYwMjA1IDQwLjIxNDVDMy44Mjc1NSAzOS45ODA1IDIuMzY1MDUgNDAuMjE0NSAyLjAxNDA1IDQxLjgxMzVDMS45MTU5OCA0Mi4zMTA4IDEuOTkyMzggNDIuODI2OCAyLjIzMDM3IDQzLjI3NDNDMi40NjgzNiA0My43MjE5IDIuODUzMzkgNDQuMDczNyAzLjMyMDU1IDQ0LjI3MDVDNC44NDg2MyA0NC44NzQ3IDYuNDM3MjcgNDUuMzEyNyA4LjA1OTA1IDQ1LjU3N0M5LjY0NDMxIDQ2LjAxNjMgMTEuMjcyMSA0Ni4yODQzIDEyLjkxNDUgNDYuMzc2NUMxMy40MiA0Ni4zODY0IDEzLjkxMzcgNDYuMjIzOCAxNC4zMTQzIDQ1LjkxNTRDMTQuNzE0OSA0NS42MDY5IDE0Ljk5ODQgNDUuMTcxMiAxNS4xMTggNDQuNjhDMTUuNDg4NSA0My4wNjE1IDE0LjI2IDQyLjI2MiAxMi41NDQgNDEuNzE2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IFBpbiA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTkuNTg0NzIgMzIuMzk1MUM5LjU4NDcyIDU1LjIxMDEgMzcuNDY5NyA3OC4wMjUxIDQwLjAwNDcgNzguMDI1MUM0Mi41Mzk3IDc4LjAyNTEgNzAuNDI0NyA1NS4yMTAxIDcwLjQyNDcgMzIuMzk1MUM3MC40MjQ3IDE0LjE0MzEgNjAuMjg0NyAxLjk3NTEgNDAuMDA0NyAxLjk3NTFDMTkuNzI0NyAxLjk3NTEgOS41ODQ3MiAxNC4xNDMxIDkuNTg0NzIgMzIuMzk1MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ3LjE3NTggNy44MDU1NEM1MC43Mzg1IDguMzQyNSA1NC4wODExIDkuODYxODUgNTYuODI4MyAxMi4xOTNcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI3LjMzMiAzMi4zOTUxQzI3LjMzMiAzNS43NTY3IDI4LjY2NzQgMzguOTgwNiAzMS4wNDQ1IDQxLjM1NzdDMzMuNDIxNSA0My43MzQ3IDM2LjY0NTQgNDUuMDcwMSA0MC4wMDcgNDUuMDcwMUM0My4zNjg2IDQ1LjA3MDEgNDYuNTkyNiA0My43MzQ3IDQ4Ljk2OTYgNDEuMzU3N0M1MS4zNDY2IDM4Ljk4MDYgNTIuNjgyIDM1Ljc1NjcgNTIuNjgyIDMyLjM5NTFDNTIuNjgyIDI5LjAzMzUgNTEuMzQ2NiAyNS44MDk1IDQ4Ljk2OTYgMjMuNDMyNUM0Ni41OTI2IDIxLjA1NTUgNDMuMzY4NiAxOS43MjAxIDQwLjAwNyAxOS43MjAxQzM2LjY0NTQgMTkuNzIwMSAzMy40MjE1IDIxLjA1NTUgMzEuMDQ0NSAyMy40MzI1QzI4LjY2NzQgMjUuODA5NSAyNy4zMzIgMjkuMDMzNSAyNy4zMzIgMzIuMzk1MVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBTZWFyY2ggPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMC41NDI0IDI3LjE4NzJDMjguNTkyNCA0Mi4yODAyIDQ1LjAxMTQgNTkuNzkxMiA0Ni42ODg0IDYwLjAyNTJDNDguMzY1NCA2MC4yNTkyIDY4LjgwMTQgNDcuNTg0MiA3MC43OTA0IDMyLjQ5MTJDNzIuMzg5NCAyMC40MjA3IDY2LjczNDQgMTEuNDg5NyA1My4yNDA0IDkuNzE1MjFDMzkuNzQ2NCA3Ljk0MDcxIDMyLjE0MTQgMTUuMTE2NyAzMC41NDI0IDI3LjE4NzJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ny41NDk4IDE0LjIwMDJDNTkuODYwNyAxNC44NjYyIDYxLjk0MDQgMTYuMTYyNiA2My41NTU4IDE3Ljk0NDJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQyLjIwMzEgMjkuODM5QzQyLjIwMzEgMzIuMDgzNSA0My4wOTQ4IDM0LjIzNjEgNDQuNjgxOSAzNS44MjMyQzQ2LjI2OSAzNy40MTAzIDQ4LjQyMTYgMzguMzAyIDUwLjY2NjEgMzguMzAyQzUyLjkxMDcgMzguMzAyIDU1LjA2MzMgMzcuNDEwMyA1Ni42NTA0IDM1LjgyMzJDNTguMjM3NSAzNC4yMzYxIDU5LjEyOTEgMzIuMDgzNSA1OS4xMjkxIDI5LjgzOUM1OS4xMjkxIDI3LjU5NDUgNTguMjM3NSAyNS40NDE5IDU2LjY1MDQgMjMuODU0N0M1NS4wNjMzIDIyLjI2NzYgNTIuOTEwNyAyMS4zNzYgNTAuNjY2MSAyMS4zNzZDNDguNDIxNiAyMS4zNzYgNDYuMjY5IDIyLjI2NzYgNDQuNjgxOSAyMy44NTQ3QzQzLjA5NDggMjUuNDQxOSA0Mi4yMDMxIDI3LjU5NDUgNDIuMjAzMSAyOS44MzlaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIzLjY5MjUgMTMuOTk3OEMyNC44MTAzIDE0LjYxNjEgMjYuMDA1NiAxNC45ODYyIDI3LjAxNTUgMTUuMDI2NkMyOC4wMjU0IDE1LjA2NyAyOC43NjcxIDE0Ljc3NDUgMjkuMDc3NiAxNC4yMTMzQzI5LjM4OCAxMy42NTIxIDI5LjI0MTYgMTIuODY4MyAyOC42NzA3IDEyLjAzNDNDMjguMDk5OCAxMS4yMDAzIDI3LjE1MTEgMTAuMzg0NCAyNi4wMzMzIDkuNzY2MDVDMjQuOTE1NSA5LjE0NzcyIDIzLjcyMDIgOC43Nzc2NCAyMi43MTAzIDguNzM3MjFDMjIuMjEwMyA4LjcxNzIgMjEuNzcwOCA4Ljc3ODcyIDIxLjQxNyA4LjkxODI2QzIxLjA2MzIgOS4wNTc4IDIwLjgwMiA5LjI3MjYzIDIwLjY0ODMgOS41NTA0OUMyMC40OTQ2IDkuODI4MzUgMjAuNDUxNCAxMC4xNjM4IDIwLjUyMTIgMTAuNTM3N0MyMC41OTEgMTAuOTExNSAyMC43NzI0IDExLjMxNjUgMjEuMDU1MSAxMS43Mjk1QzIxLjYyNiAxMi41NjM1IDIyLjU3NDcgMTMuMzc5NCAyMy42OTI1IDEzLjk5NzhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5LjYzNyA3LjQ3NzMyQzMwLjI4ODUgOC41NzU5IDMxLjEzMjQgOS40OTk1NSAzMS45ODMgMTAuMDQ1MUMzMi44MzM2IDEwLjU5MDYgMzMuNjIxNCAxMC43MTM0IDM0LjE3MjkgMTAuMzg2M0MzNC43MjQ0IDEwLjA1OTMgMzQuOTk0NSA5LjMwOTIgMzQuOTIzOCA4LjMwMTEyQzM0Ljg1MzEgNy4yOTMwNCAzNC40NDc0IDYuMTA5NTQgMzMuNzk2IDUuMDEwOTZDMzMuMTQ0NSAzLjkxMjM4IDMyLjMwMDYgMi45ODg3MiAzMS40NDk5IDIuNDQzMThDMzAuNTk5MyAxLjg5NzYzIDI5LjgxMTYgMS43NzQ4OSAyOS4yNjAxIDIuMTAxOTVDMjguNzA4NSAyLjQyOTAxIDI4LjQzODQgMy4xNzkwOCAyOC41MDkxIDQuMTg3MTZDMjguNTc5OCA1LjE5NTI0IDI4Ljk4NTUgNi4zNzg3NCAyOS42MzcgNy40NzczMlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTguMjQxOSAyMS4yMzQ4QzE4LjI1MyAyMS41NTIyIDE4LjM4ODQgMjEuODYyMSAxOC42NDA1IDIyLjE0NjhDMTguODkyNiAyMi40MzE2IDE5LjI1NjQgMjIuNjg1NyAxOS43MTEyIDIyLjg5NDZDMjAuMTY2IDIzLjEwMzQgMjAuNzAyOCAyMy4yNjMgMjEuMjkxIDIzLjM2NDJDMjEuODc5MyAyMy40NjUzIDIyLjUwNzQgMjMuNTA2MSAyMy4xMzk1IDIzLjQ4NDFDMjMuNzcxNiAyMy40NjIxIDI0LjM5NTQgMjMuMzc3OSAyNC45NzUyIDIzLjIzNjJDMjUuNTU1IDIzLjA5NDQgMjYuMDc5NSAyMi44OTggMjYuNTE4NiAyMi42NThDMjYuOTU3OCAyMi40MTgxIDI3LjMwMzEgMjIuMTM5NCAyNy41MzQ5IDIxLjgzNzhDMjcuNzY2NiAyMS41MzYyIDI3Ljg4MDIgMjEuMjE3NiAyNy44NjkxIDIwLjkwMDNDMjcuODU4MSAyMC41ODMgMjcuNzIyNyAyMC4yNzMgMjcuNDcwNiAxOS45ODgzQzI3LjIxODUgMTkuNzAzNSAyNi44NTQ3IDE5LjQ0OTQgMjYuMzk5OSAxOS4yNDA1QzI1Ljk0NTEgMTkuMDMxNyAyNS40MDgzIDE4Ljg3MjEgMjQuODIwMSAxOC43NzA5QzI0LjIzMTggMTguNjY5OCAyMy42MDM3IDE4LjYyOSAyMi45NzE2IDE4LjY1MUMyMi4zMzk0IDE4LjY3MyAyMS43MTU3IDE4Ljc1NzIgMjEuMTM1OSAxOC44OTlDMjAuNTU2MSAxOS4wNDA3IDIwLjAzMTYgMTkuMjM3MSAxOS41OTI0IDE5LjQ3NzFDMTkuMTUzMiAxOS43MTcgMTguODA3OSAxOS45OTU3IDE4LjU3NjIgMjAuMjk3M0MxOC4zNDQ1IDIwLjU5ODkgMTguMjMwOSAyMC45MTc1IDE4LjI0MTkgMjEuMjM0OFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzUuNDE3NSAzNy43NTc1QzI2LjcyMDUgMzAuMTEzNSAxNi42NTg1IDI5Ljg0MDUgOC4xMTc1MSAzOS41MTI1Qy0wLjQyMzQ4OSA0OS4xODQ1IDEuMTU2MDEgNTkuMTI5NSA5Ljg3MjUxIDY2LjgxMjVDMTcuMzIxNSA3My4zODQgMjUuNzY1IDc0LjQ5NTUgMzMuMzg5NSA2OC42MDY1QzM0LjE1IDY5LjYwMSAzNS4wNjY1IDcwLjcxMjUgMzYuMTk3NSA3MS45NjA1QzQ0LjM4NzUgODEuMDY3IDQ3LjI5MyA3Ny44MTA1IDQ5LjIwNCA3NS43MDQ1QzUxLjExNSA3My41OTg1IDUzLjg4NCA3MC4yNjQgNDMuODAyNSA2My4zMDI1QzQyLjQzNzUgNjIuMzQ3IDQxLjIyODUgNjEuNTY3IDQwLjEzNjUgNjAuOTQzQzQ1LjA3IDUyLjU3NzUgNDIuODg2IDQ0LjMyOSAzNS40MTc1IDM3Ljc1NzVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMC41MzU2IDUyLjI2NTVDMTAuNTM1NiA1My44NTgzIDEwLjg0OTQgNTUuNDM1NSAxMS40NTg5IDU2LjkwNzFDMTIuMDY4NCA1OC4zNzg2IDEyLjk2MTkgNTkuNzE1NyAxNC4wODgxIDYwLjg0MkMxNS4yMTQ0IDYxLjk2ODMgMTYuNTUxNSA2Mi44NjE3IDE4LjAyMzEgNjMuNDcxMkMxOS40OTQ2IDY0LjA4MDggMjEuMDcxOCA2NC4zOTQ1IDIyLjY2NDYgNjQuMzk0NUMyNC4yNTc0IDY0LjM5NDUgMjUuODM0NyA2NC4wODA4IDI3LjMwNjIgNjMuNDcxMkMyOC43Nzc4IDYyLjg2MTcgMzAuMTE0OSA2MS45NjgzIDMxLjI0MTEgNjAuODQyQzMyLjM2NzQgNTkuNzE1NyAzMy4yNjA4IDU4LjM3ODYgMzMuODcwNCA1Ni45MDcxQzM0LjQ3OTkgNTUuNDM1NSAzNC43OTM2IDUzLjg1ODMgMzQuNzkzNiA1Mi4yNjU1QzM0Ljc5MzYgNDkuMDQ4NyAzMy41MTU4IDQ1Ljk2MzYgMzEuMjQxMSA0My42ODlDMjguOTY2NSA0MS40MTQ0IDI1Ljg4MTUgNDAuMTM2NSAyMi42NjQ2IDQwLjEzNjVDMTkuNDQ3OCA0MC4xMzY1IDE2LjM2MjggNDEuNDE0NCAxNC4wODgxIDQzLjY4OUMxMS44MTM1IDQ1Ljk2MzYgMTAuNTM1NiA0OS4wNDg3IDEwLjUzNTYgNTIuMjY1NVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTkuMzY5MSA0NS4wN0MyMC4xMTE0IDQ0LjM0MDUgMjEuMDgwOCA0My44ODY3IDIyLjExNjUgNDMuNzgzOUMyMy4xNTIxIDQzLjY4MSAyNC4xOTE5IDQzLjkzNTMgMjUuMDYzMSA0NC41MDQ1XCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTkuMzY5MSA0NS4wN0MyMC4xMTE0IDQ0LjM0MDUgMjEuMDgwOCA0My44ODY3IDIyLjExNjUgNDMuNzgzOUMyMy4xNTIxIDQzLjY4MSAyNC4xOTE5IDQzLjkzNTMgMjUuMDYzMSA0NC41MDQ1XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNC43NzA1IDM1Ljk0NEMyNy4wNzg1IDM2LjA0MzMgMjkuMjYxNSAzNy4wMTk3IDMwLjg3NCAzOC42NzRcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgU2V0dGluZyA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY5LjQyIDQ1LjhDNzAuMTkzIDQxLjk3MiA3MC4xOTMgMzguMDI4IDY5LjQyIDM0LjJDNzYuODQgMjcuNTggNzYuMDQgMjQuNDIgNzMuNzggMjAuNUM3MS41MiAxNi41OCA2OS4xNiAxNC4zMiA1OS43OCAxNy40MkM1Ni44NTQ2IDE0Ljg2MDkgNTMuNDU3OCAxMi44OTc1IDQ5Ljc4IDExLjY0QzQ3LjY2IDEuODggNDQuNTIgMSA0MCAxQzM1LjQ4IDEgMzIuMzQgMS44NCAzMC4zIDExLjY0QzI2LjYyMjIgMTIuODk3NSAyMy4yMjU0IDE0Ljg2MDkgMjAuMyAxNy40MkMxMC44OCAxNC4zMiA4LjU0MDAyIDE2LjU0IDYuMzAwMDIgMjAuNUM0LjA2MDAyIDI0LjQ2IDMuMTIwMDIgMjcuNTQgMTAuNTggMzQuMkM5LjgwNjQyIDM4LjAyOCA5LjgwNjQyIDQxLjk3MiAxMC41OCA0NS44QzMuMTYwMDIgNTIuNDIgNC4wMDAwMiA1NS41OCA2LjIyMDAyIDU5LjVDOC40NDAwMiA2My40MiAxMC44NCA2NS42OCAyMC4yMiA2Mi41OEMyMy4xNDU0IDY1LjEzOTIgMjYuNTQyMiA2Ny4xMDI2IDMwLjIyIDY4LjM2QzMyLjIyIDc4LjEyIDM1LjQgNzkgMzkuOTIgNzlDNDQuNDQgNzkgNDcuNTggNzguMTYgNDkuNjIgNjguMzZDNTMuMjk3OCA2Ny4xMDI2IDU2LjY5NDYgNjUuMTM5MiA1OS42MiA2Mi41OEM2OS4wNCA2NS42OCA3MS4zOCA2My40NiA3My42MiA1OS41Qzc1Ljg2IDU1LjU0IDc2Ljg4IDUyLjQ2IDY5LjQyIDQ1LjhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNS4yNiA0MEMyNS4yNiA0My45MDkyIDI2LjgxMyA0Ny42NTg0IDI5LjU3NzIgNTAuNDIyOEMzMi4zNDE2IDUzLjE4NyAzNi4wOTA4IDU0Ljc0IDQwIDU0Ljc0QzQzLjkwOTIgNTQuNzQgNDcuNjU4NCA1My4xODcgNTAuNDIyOCA1MC40MjI4QzUzLjE4NyA0Ny42NTg0IDU0Ljc0IDQzLjkwOTIgNTQuNzQgNDBDNTQuNzQgMzYuMDkwOCA1My4xODcgMzIuMzQxNiA1MC40MjI4IDI5LjU3NzJDNDcuNjU4NCAyNi44MTMgNDMuOTA5MiAyNS4yNiA0MCAyNS4yNkMzNi4wOTA4IDI1LjI2IDMyLjM0MTYgMjYuODEzIDI5LjU3NzIgMjkuNTc3MkMyNi44MTMgMzIuMzQxNiAyNS4yNiAzNi4wOTA4IDI1LjI2IDQwWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPVwiIzIzMUYyMFwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MC4yNiAxOC4zOEM1My4zNDg0IDE5LjY2MjkgNTYuMTM0NiAyMS41NzcyIDU4LjQ0IDI0QzU5LjUwMDQgMjMuNTY2OCA2MC41OTg0IDIzLjIzMiA2MS43MiAyM1wiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBTdGFyID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzUuNTY4IDI3Ljk4OEM3MS43NjM3IDI2LjE4OTYgNjcuNzQ3NCAyNC44NzkyIDYzLjYxNDUgMjQuMDg4QzYwLjUwNzQgMjMuNDc0MiA1Ny4zNTk0IDIzLjA4OTcgNTQuMTk2IDIyLjkzNzVDNTMuMTA2IDIwLjE2ODggNTEuODAyMSAxNy40ODkyIDUwLjI5NiAxNC45MjNDNDguMjk0NyAxMS4yMjUgNDUuODM4MSA3Ljc5MjMyIDQyLjk4MzUgNC43MDUwMkM0Mi4wOTA2IDMuODY3MzUgNDAuOTEyMyAzLjQwMTEyIDM5LjY4OCAzLjQwMTEyQzM4LjQ2MzcgMy40MDExMiAzNy4yODUzIDMuODY3MzUgMzYuMzkyNSA0LjcwNTAyQzMzLjUzNzggNy44MjA3NyAzMS4wODE0IDExLjI3OTMgMjkuMDggMTUuMDAxQzI3LjY0NCAxNy41OTk4IDI2LjM4MDMgMjAuMjkwMSAyNS4yOTcgMjMuMDU0NUMyMi4zMDYzIDIzLjIxNjUgMTkuMzMzMSAyMy42MTQzIDE2LjQwNSAyNC4yNDRDMTIuMjcyNiAyNS4wMTM0IDguMjUxMDcgMjYuMjkwNiA0LjQzMTk3IDI4LjA0NjVDMy4zNzg3NCAyOC42NTc5IDIuNTkzNyAyOS42NDI3IDIuMjMyNTEgMzAuODA1OEMxLjg3MTMyIDMxLjk2ODggMS45NjAzNiAzMy4yMjUxIDIuNDgxOTcgMzQuMzI1NUM0LjUyOTYxIDM3Ljk5MzggNy4wMjUyNCA0MS4zOTM0IDkuOTExNDcgNDQuNDQ2QzExLjk3MzggNDYuNjQ1NiAxNC4xNzUzIDQ4LjcxMDMgMTYuNTAyNSA1MC42Mjc1QzE1LjYyIDUzLjcyMjMgMTUuMDAwMyA1Ni44ODYgMTQuNjUgNjAuMDg1QzE0LjEyODMgNjQuMjQ4MiAxNC4xMjgzIDY4LjQ2MDMgMTQuNjUgNzIuNjIzNUMxNC44Nzg1IDczLjgzMDcgMTUuNTU4IDc0LjkwNTYgMTYuNTUwNCA3NS42Mjk5QzE3LjU0MjcgNzYuMzU0MyAxOC43NzM2IDc2LjY3MzggMTkuOTkzIDc2LjUyMzVDMjQuMTEwMiA3NS43MjAzIDI4LjExMjIgNzQuNDEwMyAzMS45MDc1IDcyLjYyMzVDMzQuNTk0NyA3MS4zNDM1IDM3LjE5OTcgNjkuODk3OCAzOS43MDc1IDY4LjI5NDVDNDIuMjEwMyA2OS45MDYxIDQ0LjgxNTggNzEuMzUyMiA0Ny41MDc1IDcyLjYyMzVDNTEuMzAxNyA3NC40MTI5IDU1LjMwNCA3NS43MjMgNTkuNDIyIDc2LjUyMzVDNjAuNjQxNCA3Ni42NzM4IDYxLjg3MjIgNzYuMzU0MyA2Mi44NjQ2IDc1LjYyOTlDNjMuODU2OSA3NC45MDU2IDY0LjUzNjQgNzMuODMwNyA2NC43NjUgNzIuNjIzNUM2NS4yODY2IDY4LjQ2MDMgNjUuMjg2NiA2NC4yNDgyIDY0Ljc2NSA2MC4wODVDNjQuNDQzMyA1Ny4wMjM0IDYzLjg4MjYgNTMuOTkxNyA2My4wODggNTEuMDE3NUM2NS42Mzg3IDQ5LjAxMzggNjguMDA3NCA0Ni43ODg3IDcwLjE2NjUgNDQuMzY4QzczLjA1MDMgNDEuMzA4OCA3NS41NTE2IDM3LjkxMDMgNzcuNjE1NSAzNC4yNDc1Qzc4LjEzMjcgMzMuMTM5MiA3OC4yMDkgMzEuODc1NiA3Ny44Mjg3IDMwLjcxMzJDNzcuNDQ4NSAyOS41NTA3IDc2LjY0MDIgMjguNTc2NCA3NS41NjggMjcuOTg4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDIuOTYzOSAxMi4zODgxQzQ0LjgzNDcgMTUuMDA0OSA0Ni40NTM5IDE3Ljc5MjggNDcuNzk5OSAyMC43MTQ2XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEFkZCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc0LjcxMDEgMjYuNTI1NUM3Mi44NzcxIDI1LjAwNDUgNjQuNzQ1NiAyNC4zMDI1IDU2LjAyOTEgMjMuOTcxQzU1LjY5NzYgMTUuMjU0NSA1NC45OTU2IDcuMTIyOTggNTMuNDc0NiA1LjI4OTk4QzUyLjIwNzEgMi4yNjc0OCA0NS41MzgxIDEuOTc0OTggNDAuMDAwMSAxLjk3NDk4QzM0LjQ2MjEgMS45NzQ5OCAyNy43NzM2IDIuMjY3NDggMjYuNTI1NiA1LjI4OTk4QzI1LjAwNDYgNy4xMjI5OCAyNC4yODMxIDE1LjI1NDUgMjMuOTcxMSAyMy45NzFDMTUuMjU0NiAyNC4zMDI1IDcuMTIzMSAyNS4wMDQ1IDUuMjkwMSAyNi41MjU1QzIuMjY3NiAyNy43OTMgMS45NzUxIDM0LjQ2MiAxLjk3NTEgNDBDMS45NzUxIDQ1LjUzOCAyLjI2NzYgNTIuMjA3IDUuMjkwMSA1My40NzQ1QzcuMTIzMSA1NC45OTU1IDE1LjI1NDYgNTUuNjk3NSAyMy45NzExIDU2LjAyOUMyNC4yODMxIDY0Ljc0NTUgMjUuMDA0NiA3Mi44NzcgMjYuNTI1NiA3NC43MUMyNy43NzM2IDc3LjczMjUgMzQuNDYyMSA3OC4wMjUgNDAuMDAwMSA3OC4wMjVDNDUuNTM4MSA3OC4wMjUgNTIuMjA3MSA3Ny43MzI1IDUzLjQ3NDYgNzQuNzFDNTQuOTk1NiA3Mi44NzcgNTUuNjk3NiA2NC43NDU1IDU2LjAyOTEgNTYuMDI5QzY0Ljc0NTYgNTUuNjk3NSA3Mi44NzcxIDU0Ljk5NTUgNzQuNzEwMSA1My40NzQ1Qzc3LjczMjYgNTIuMjA3IDc4LjAyNTEgNDUuNTM4IDc4LjAyNTEgNDBDNzguMDI1MSAzNC40NjIgNzcuNzMyNiAyNy43OTMgNzQuNzEwMSAyNi41MjU1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDMuNjQ2NSA2Ljk4NjQ1QzQ4LjE3MDUgNy4xMjI5NSA0OS4zOTkgNi45ODY0NSA1MC4wNDI1IDkuMTMxNDVcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQXBwbGljYXRpb24gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00My43MzgzIDE1LjY3NjNDNDMuODg0IDE1Ljk3NTcgNDQuMTQ1NyAxNi4yMTUgNDQuNTA4NSAxNi4zODA2QzQ0Ljg3MTQgMTYuNTQ2MiA0NS4zMjgyIDE2LjYzNDggNDUuODUzIDE2LjY0MTRDNDYuMzc3OCAxNi42NDggNDYuOTYwMiAxNi41NzI0IDQ3LjU2NzEgMTYuNDE5QzQ4LjE3MzkgMTYuMjY1NSA0OC43OTMzIDE2LjAzNzMgNDkuMzg5OCAxNS43NDcyQzQ5Ljk4NjMgMTUuNDU3MSA1MC41NDgzIDE1LjExMDkgNTEuMDQzNyAxNC43MjgzQzUxLjUzOTEgMTQuMzQ1OCA1MS45NTgxIDEzLjkzNDMgNTIuMjc2OSAxMy41MTc1QzUyLjU5NTcgMTMuMTAwNyA1Mi44MDggMTIuNjg2NyA1Mi45MDE4IDEyLjI5OTFDNTIuOTk1NSAxMS45MTE1IDUyLjk2ODcgMTEuNTU3OSA1Mi44MjMxIDExLjI1ODVDNTIuNjc3NCAxMC45NTkxIDUyLjQxNTcgMTAuNzE5OCA1Mi4wNTI5IDEwLjU1NDJDNTEuNjkgMTAuMzg4NyA1MS4yMzMyIDEwLjMgNTAuNzA4NCAxMC4yOTM1QzUwLjE4MzYgMTAuMjg2OSA0OS42MDEyIDEwLjM2MjUgNDguOTk0MyAxMC41MTU5QzQ4LjM4NzUgMTAuNjY5MyA0Ny43NjgxIDEwLjg5NzYgNDcuMTcxNiAxMS4xODc3QzQ2LjU3NTEgMTEuNDc3NyA0Ni4wMTMxIDExLjgyMzkgNDUuNTE3NyAxMi4yMDY1QzQ1LjAyMjMgMTIuNTg5MSA0NC42MDMzIDEzLjAwMDUgNDQuMjg0NSAxMy40MTczQzQzLjk2NTcgMTMuODM0MSA0My43NTM0IDE0LjI0ODIgNDMuNjU5NiAxNC42MzU4QzQzLjU2NTkgMTUuMDIzNCA0My41OTI3IDE1LjM3NjkgNDMuNzM4MyAxNS42NzYzWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OC41OTA5IDI1LjIzMjdDNDkuMjYxMiAyNS4yOTY4IDQ5LjkzMzUgMjUuMjkzMSA1MC41NjgzIDI1LjIyMkM1MS4yMDMyIDI1LjE1MDggNTEuNzg3NyAyNS4wMTM2IDUyLjI4NzYgMjQuODE4M0M1Mi43ODc0IDI0LjYyMzEgNTMuMTkyNSAyNC4zNzM4IDUzLjQ3ODkgMjQuMDg1MUM1My43NjU0IDIzLjc5NjQgNTMuOTI3NCAyMy40NzQxIDUzLjk1NTYgMjMuMTM3M0M1My45ODM3IDIyLjgwMDQgNTMuODc3MyAyMi40NTU4IDUzLjY0MjYgMjIuMTIzNkM1My40MDggMjEuNzkxNCA1My4wNDk4IDIxLjQ3ODQgNTIuNTg5MyAyMS4yMDMxQzUyLjEyODcgMjAuOTI3NyA1MS41NzUgMjAuNjk1NCA1MC45NjA3IDIwLjUyQzUwLjM0NjQgMjAuMzQ0NiA0OS42ODQgMjAuMjI5NiA0OS4wMTI0IDIwLjE4MTdDNDguMzQyMSAyMC4xMTc2IDQ3LjY2OTggMjAuMTIxMyA0Ny4wMzUgMjAuMTkyNEM0Ni40MDAxIDIwLjI2MzYgNDUuODE1NiAyMC40MDA4IDQ1LjMxNTcgMjAuNTk2MUM0NC44MTU5IDIwLjc5MTMgNDQuNDEwOCAyMS4wNDA2IDQ0LjEyNDQgMjEuMzI5M0M0My44Mzc5IDIxLjYxOCA0My42NzU5IDIxLjk0MDMgNDMuNjQ3OCAyMi4yNzcxQzQzLjYxOTcgMjIuNjE0IDQzLjcyNiAyMi45NTg2IDQzLjk2MDcgMjMuMjkwOEM0NC4xOTUzIDIzLjYyMyA0NC41NTM1IDIzLjkzNiA0NS4wMTQxIDI0LjIxMTNDNDUuNDc0NiAyNC40ODY3IDQ2LjAyODQgMjQuNzE5IDQ2LjY0MjYgMjQuODk0NEM0Ny4yNTY5IDI1LjA2OTggNDcuOTE5MyAyNS4xODQ4IDQ4LjU5MDkgMjUuMjMyN1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzguNzQ5NyAxMC42MDI1QzM5LjAyNzMgMTAuNzg4NyAzOS4zNzQ2IDEwLjg2MyAzOS43NzE0IDEwLjgyMTFDNDAuMTY4MiAxMC43NzkyIDQwLjYwNjggMTAuNjIyIDQxLjA2MTkgMTAuMzU4NUM0MS41MTcxIDEwLjA5NTEgNDEuOTc5OCA5LjczMDUgNDIuNDIzNCA5LjI4NTg0QzQyLjg2NyA4Ljg0MTE4IDQzLjI4MjggOC4zMjUxOSA0My42NDY4IDcuNzY3NThDNDQuMDEwOCA3LjIwOTk2IDQ0LjMxNTkgNi42MjE3MyA0NC41NDQ1IDYuMDM2NzNDNDQuNzczIDUuNDUxNzMgNDQuOTIwNiA0Ljg4MTUyIDQ0Ljk3ODYgNC4zNTg5QzQ1LjAzNjYgMy44MzYyOCA0NS4wMDQgMy4zNzE1NyA0NC44ODI2IDIuOTkxNTNDNDQuNzYxMiAyLjYxMTQ4IDQ0LjU1MzUgMi4zMjM2IDQ0LjI3MTMgMi4xNDQ0NUM0My45OTM3IDEuOTU4MjggNDMuNjQ2NCAxLjg4Mzk5IDQzLjI0OTYgMS45MjU4NkM0Mi44NTI4IDEuOTY3NzMgNDIuNDE0MiAyLjEyNDkyIDQxLjk1OTEgMi4zODg0QzQxLjUwMzkgMi42NTE4OCA0MS4wNDEyIDMuMDE2NDUgNDAuNTk3NiAzLjQ2MTExQzQwLjE1NCAzLjkwNTc3IDM5LjczODIgNC40MjE3NiAzOS4zNzQyIDQuOTc5MzdDMzkuMDEwMiA1LjUzNjk4IDM4LjcwNTEgNi4xMjUyMiAzOC40NzY1IDYuNzEwMjJDMzguMjQ4IDcuMjk1MjEgMzguMTAwNCA3Ljg2NTQzIDM4LjA0MjQgOC4zODgwNUMzNy45ODQ0IDguOTEwNjcgMzguMDE3IDkuMzc1MzcgMzguMTM4NCA5Ljc1NTQyQzM4LjI1OTggMTAuMTM1NSAzOC40Njc1IDEwLjQyMzMgMzguNzQ5NyAxMC42MDI1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMS4wODYxIDkuNDgyNTJDMTkuMzk5OSA5LjgzMzYzIDE3LjcyMzUgMTAuMjQ1NiAxNi4xODY5IDEwLjY3MjdDMTAuMDY2OSAxMi4zODkzIDIuMTE3NiAxNS4yNzkzIDEuNDc0OTEgMTkuMDY2N0MwLjM2NzYwOCAyMS4xNjEyIDIuNDEyMjkgMzAuMTg4OCA0LjUwNzI1IDM3LjU0MUM2LjYwMjIxIDQ0Ljg5MzEgOS40NzIyOSA1My43MzI0IDExLjQ4MDMgNTQuODg0OEMxMy45OTcyIDU3Ljc3MyAyMi4yOTAzIDU2LjEzMzEgMjguNDEwMyA1NC40MTY1QzM0LjUzMDQgNTIuNjk5OSA0Mi40NjI0IDQ5LjgxODkgNDMuMTE0MSA0Ni4wNDg4QzQ0LjIxMjQgNDMuOTM3MSA0Mi4xNzY3IDM0LjkyNjcgNDAuMDgxOCAyNy41NzQ2QzM5LjQxMzcgMjUuMTk2IDM4LjY3MzYgMjIuNjc5MSAzNy44ODM4IDIwLjMyMDFDMzYuOTM0MSAxNy4yNzQ3IDI0LjQzMiA4Ljc3MjAzIDIxLjA4NjEgOS40ODI1MlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIwLjc4MDQgMTQuNjMzNkMyMS42ODExIDE3Ljg4MDUgMjIuNTk5MSAyMS4xMTgzIDI0LjY2ODcgMjIuMzA0NUMyNi43MzgzIDIzLjQ5MDcgMzAuMDcwOSAyMi41MDEzIDMzLjE5NTIgMjEuNTc2NVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjQuOTIwOSAxMy45NzA3QzI2LjM5NjggMTQuNTgwNCAyNy43ODgxIDE1LjM3NzggMjkuMDYwMSAxNi4zNDMxXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjUuMTY2IDMyLjc2NTZDNTkuNTgzMiAzNi45OTA1IDU0LjU2MzQgNDEuOTExOSA1MC4yMjkgNDcuNDEwMUM0OC40NzQgNDkuNTE2MSA0Ni43OTcgNTEuNTQ0MSA0NS4yNzYgNTMuNDU1MUM0MC4yMDYgNDkuMjA0MSAzNi4xNSA0Ni4yMDExIDM0LjUzMTUgNDUuODUwMUMzMS43MDQgNDQuNjAyMSAyOC40MjggNDcuNjA1MSAyNi4zMDI1IDUwLjE0MDFDMjQuMTc3IDUyLjY3NTEgMjEuODM3IDU2LjQxOTEgMjMuNTUzIDU4Ljk3MzZDMjQuMTM4IDYwLjU5MjEgMjcuNjg3IDY0LjEwMjEgMzIuNzE4IDY4LjI5NDZDMzguNzQzNSA3My4zNDUxIDQzLjA5MiA3Ny4xNDc2IDQ1LjcwNSA3Ny42MTU2QzQ5LjYwNSA3OS4zNzA2IDUyLjc4MzUgNzQuNzEwMSA2NS4yMDUgNTkuODcwNkM3MS45MzI1IDUxLjgzNjYgNzYuMjgxIDQ1LjA4OTYgNzcuMTM5IDQyLjczMDFDNzkuNTM3NSAzOC41Mzc2IDc3LjQ1MSAzNS4zNTkxIDc0LjkxNiAzMy4yMzM2QzcyLjM4MSAzMS4xMDgxIDY4Ljg3MSAyOS42ODQ2IDY1LjE2NiAzMi43NjU2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjIuOTQyOSAzOS4yMjAyQzY1LjM0MTQgMzYuNzYzMiA2Ny41NjQ0IDM0LjQyMzIgNjkuNTE0NCAzNC4zMDYyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEJhYnkgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS45NTc2IDQxLjcxNjJDMzEuNDU1OCA0MC4xNzM3IDMyLjYxODkgMzguMzM4MSAzMy4zNzQgMzYuMzI0N0MzNC4xMjkgMzQuMzExMyAzNC40NTk2IDMyLjE2MzUgMzQuMzQ1MSAzMC4wMTYyQzM0LjM0NTEgMjAuNzE0NyAyOS4yMzYxIDE0LjUzMzIgMTkuMDE4MSAxNC41MzMyQzguODAwMSAxNC41MzMyIDMuNjcxNiAyMC43MTQ3IDMuNjcxNiAzMC4wMTYyQzMuNTU3MDYgMzIuMTYzNSAzLjg4NzY4IDM0LjMxMTMgNC42NDI3MiAzNi4zMjQ3QzUuMzk3NzUgMzguMzM4MSA2LjU2MDg5IDQwLjE3MzcgOC4wNTkxIDQxLjcxNjJDNC4wMjI2IDQ0LjY5OTcgMS45NzUxIDQ5LjYxMzcgMS45NzUxIDU1Ljc5NTJDMS45NzUxIDU5LjIyNzIgNy42NTYxIDYwLjk0MzIgMTkuMDE4MSA2MC45NDMyQzMwLjM4MDEgNjAuOTQzMiAzNi4wNzQxIDU5LjIyNzIgMzYuMTAwMSA1NS43OTUyQzM2LjEwMDEgNDkuNjEzNyAzNC4wMTM2IDQ0LjY5OTcgMjkuOTU3NiA0MS43MTYyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjQuNjczMSAxOC45MDExQzI2LjE2MDggMTkuNDQ2IDI3LjQ1NTggMjAuNDE1NiAyOC4zOTc2IDIxLjY4OTZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xOS41NjQxIDE0LjQ3NDZDMTguMTY1OSAxNC44Nzk0IDE2Ljk2MyAxNS43Nzk3IDE2LjE4MDYgMTcuMDA3MkMxNS4zOTgxIDE4LjIzNDcgMTUuMDg5NyAxOS43MDUyIDE1LjMxMzEgMjEuMTQzNkMxNS45MzcxIDI0LjMyMjEgMjEuMzE5MSAyMy45MTI2IDIwLjY1NjEgMjAuNTk3NkMyMC4zMjQ2IDE4Ljg4MTYgMTguNTUwMSAxOS43NTkxIDE4LjU1MDEgMTkuNzU5MVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTAuNDk2NiAyOS4wOTk2QzEwLjQ5NjYgMjkuNzgyMyAxMC43NjU3IDMwLjQzNyAxMS4yNDQ4IDMwLjkxOTdDMTEuNzIzOCAzMS40MDI0IDEyLjM3MzYgMzEuNjczNiAxMy4wNTExIDMxLjY3MzZDMTMuNzI4NiAzMS42NzM2IDE0LjM3ODMgMzEuNDAyNCAxNC44NTc0IDMwLjkxOTdDMTUuMzM2NCAzMC40MzcgMTUuNjA1NiAyOS43ODIzIDE1LjYwNTYgMjkuMDk5NkMxNS42MDU2IDI4LjQxNyAxNS4zMzY0IDI3Ljc2MjMgMTQuODU3NCAyNy4yNzk1QzE0LjM3ODMgMjYuNzk2OCAxMy43Mjg2IDI2LjUyNTYgMTMuMDUxMSAyNi41MjU2QzEyLjM3MzYgMjYuNTI1NiAxMS43MjM4IDI2Ljc5NjggMTEuMjQ0OCAyNy4yNzk1QzEwLjc2NTcgMjcuNzYyMyAxMC40OTY2IDI4LjQxNyAxMC40OTY2IDI5LjA5OTZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjIuNDExMSAyOS4wOTk2QzIyLjQxMTEgMjkuNzgyMyAyMi42ODAzIDMwLjQzNyAyMy4xNTkzIDMwLjkxOTdDMjMuNjM4NCAzMS40MDI0IDI0LjI4ODEgMzEuNjczNiAyNC45NjU2IDMxLjY3MzZDMjUuNjQzMSAzMS42NzM2IDI2LjI5MjkgMzEuNDAyNCAyNi43NzE5IDMwLjkxOTdDMjcuMjUxIDMwLjQzNyAyNy41MjAxIDI5Ljc4MjMgMjcuNTIwMSAyOS4wOTk2QzI3LjUyMDEgMjguNDE3IDI3LjI1MSAyNy43NjIzIDI2Ljc3MTkgMjcuMjc5NUMyNi4yOTI5IDI2Ljc5NjggMjUuNjQzMSAyNi41MjU2IDI0Ljk2NTYgMjYuNTI1NkMyNC4yODgxIDI2LjUyNTYgMjMuNjM4NCAyNi43OTY4IDIzLjE1OTMgMjcuMjc5NUMyMi42ODAzIDI3Ljc2MjMgMjIuNDExMSAyOC40MTcgMjIuNDExMSAyOS4wOTk2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEzLjkwOTIgMzUuMTI1QzE1LjMzNjQgMzYuMzE4IDE3LjE2MDIgMzYuOTMwNSAxOS4wMTgyIDM2Ljg0MUMyMC44NzU0IDM2LjkyNDggMjIuNjk3MSAzNi4zMTI5IDI0LjEyNzIgMzUuMTI1XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xOS4wMTgxIDQ1LjQ2MDFDMTYuODczNSA0NS40NzU4IDE0Ljc0MDMgNDUuMTQ2NiAxMi43MDAxIDQ0LjQ4NTFDMTIuMzM4MiA0NS4zMzYgMTIuMTUyNSA0Ni4yNTE0IDEyLjE1NDEgNDcuMTc2MUMxMi4wODUgNDguMDkyNyAxMi4yMTM3IDQ5LjAxMzQgMTIuNTMxNCA0OS44NzZDMTIuODQ5MiA1MC43Mzg1IDEzLjM0ODUgNTEuNTIyNyAxMy45OTU3IDUyLjE3NTRDMTQuNjQyOSA1Mi44MjgyIDE1LjQyMjggNTMuMzM0MiAxNi4yODI2IDUzLjY1OTNDMTcuMTQyNCA1My45ODQ0IDE4LjA2MiA1NC4xMjA5IDE4Ljk3OTEgNTQuMDU5NkMxOS44OTU1IDU0LjEyMTIgMjAuODE0NCA1My45ODQ4IDIxLjY3MzMgNTMuNjU5NkMyMi41MzIyIDUzLjMzNDMgMjMuMzExIDUyLjgyOCAyMy45NTY3IDUyLjE3NDhDMjQuNjAyNCA1MS41MjE3IDI1LjA5OTkgNTAuNzM3MiAyNS40MTUzIDQ5Ljg3NDZDMjUuNzMwOCA0OS4wMTIxIDI1Ljg1NjcgNDguMDkxNyAyNS43ODQ2IDQ3LjE3NjFDMjUuNzg2MyA0Ni4yNTE0IDI1LjYwMDUgNDUuMzM2IDI1LjIzODYgNDQuNDg1MUMyMy4yMzAxIDQ1LjEzODYgMjEuMTMwMyA0NS40Njc4IDE5LjAxODEgNDUuNDYwMVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzUuNDUxMSA1NC4yOTM3Qzc1LjA1MjggNTMuMjA5NCA3NC40NDMgNTIuMjE1MiA3My42NTcxIDUxLjM2ODdDNzUuMDA3NiA0OC43ODk5IDc1LjM0ODMgNDUuODAwMiA3NC42MTI2IDQyLjk4MzdDNzQuNDQyMiA0Mi4yMDc0IDc0LjQ3NjYgNDEuNDAwMSA3NC43MTI1IDQwLjY0MTFDNzQuOTQ4NCAzOS44ODIyIDc1LjM3NzcgMzkuMTk3NiA3NS45NTgxIDM4LjY1NDdDNzYuNTk5OCAzOC4xMjQxIDc3LjExNjUgMzcuNDU4MyA3Ny40NzExIDM2LjcwNDlDNzcuODI1OCAzNS45NTE1IDc4LjAwOTcgMzUuMTI5MSA3OC4wMDk3IDM0LjI5NjRDNzguMDA5NyAzMy40NjM3IDc3LjgyNTggMzIuNjQxMyA3Ny40NzExIDMxLjg4NzlDNzcuMTE2NSAzMS4xMzQ1IDc2LjU5OTggMzAuNDY4OCA3NS45NTgxIDI5LjkzODJDNzUuNDQxMSAyOS4yOTE4IDc0Ljc4NTMgMjguNzcgNzQuMDM5MyAyOC40MTE1QzczLjI5MzQgMjguMDUyOSA3Mi40NzYzIDI3Ljg2NjcgNzEuNjQ4NiAyNy44NjY3QzcwLjgyMDkgMjcuODY2NyA3MC4wMDM4IDI4LjA1MjkgNjkuMjU3OCAyOC40MTE1QzY4LjUxMTggMjguNzcgNjcuODU2MSAyOS4yOTE4IDY3LjMzOTEgMjkuOTM4MkM2Ni44MTQ1IDMwLjUyNyA2Ni4xNDE1IDMwLjk2NDIgNjUuMzkwNCAzMS4yMDQzQzY0LjYzOTIgMzEuNDQ0NCA2My44Mzc0IDMxLjQ3ODUgNjMuMDY4NiAzMS4zMDMyQzYwLjI2OTkgMzAuNTU5NiA1Ny4yOTMyIDMwLjkwODEgNTQuNzQyMSAzMi4yNzgyQzUzLjkxNzUgMzEuNDgzMiA1Mi45NDMxIDMwLjg2MDEgNTEuODc1NiAzMC40NDUyQzUwLjQ1MjEgMjkuODAxNyA0OC4yODc2IDMxLjc5MDcgNDYuNTkxMSAzMy41MDY3QzQ0Ljg5NDYgMzUuMjIyNyA0Mi45MjUxIDM3LjQwNjcgNDMuNTY4NiAzOC44NDk3QzQzLjY0MDcgMzkuMTgyNyA0My43NzI5IDM5LjQ5OTkgNDMuOTU4NiAzOS43ODU3QzQxLjU5MDQgNDEuNjU2IDM5LjM0OTUgNDMuNjgyIDM3LjI1MDYgNDUuODUwMkMzMy4wOTcxIDUwLjA0MjcgMjcuODkwNiA1NS45NzA3IDI4LjU1MzYgNTguODE3N0MyOC4zNTg2IDYwLjc2NzcgMzEuOTQ2NiA2Ni42MTc3IDM1LjgwNzYgNzAuNTE3N0MzOS42Njg2IDc0LjQxNzcgNDUuNDIxMSA3OC4wNDQ3IDQ3LjM3MTEgNzcuODQ5N0M1MC4xOTg2IDc4LjUxMjcgNTYuMDY4MSA3My4yNjcyIDYwLjIyMTYgNjkuMDU1MkM2Mi4zNjYyIDY2LjkzMDUgNjQuMzcyNCA2NC42NzAzIDY2LjIyNzYgNjIuMjg4N0M2Ni41MDUgNjIuNDc2NyA2Ni44MTYyIDYyLjYwOTEgNjcuMTQ0MSA2Mi42Nzg3QzY4LjU2NzYgNjMuMzIyMiA3MC43MzIxIDYxLjM1MjcgNzIuNDI4NiA1OS42MTcyQzc0LjEyNTEgNTcuODgxNyA3Ni4wOTQ2IDU1LjcxNzIgNzUuNDUxMSA1NC4yOTM3WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjguNzIzNSA0NS45NjczQzY4LjcyMzUgNDUuOTY3MyA2Ny4zOTc1IDQ0LjQwNzMgNjQuNTExNSA0MS41MDE4QzYxLjYyNTUgMzguNTk2MyA2MC4xMDQ1IDM3LjI3MDMgNjAuMTA0NSAzNy4yNzAzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Ny40ODggNDQuMjEyMkM0Ny40ODggNDQuMjEyMiA0OS43NSA0Ni44MDU3IDU0LjQ4ODUgNTEuNzAwMkM1OS4yMjcgNTYuNTk0NyA2MS44NCA1OC43MjAyIDYxLjg0IDU4LjcyMDJcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUzLjA4NDUgNjEuNzYyMkM1My4wODQ1IDYxLjc2MjIgNTMuNTMzIDYyLjI4ODcgNTQuNDg4NSA2My4yNjM3QzU1LjQ0NCA2NC4yMzg3IDU1Ljk1MSA2NC42Njc3IDU1Ljk1MSA2NC42Njc3XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OC44OTIxIDY2LjAxMzJDNDguODkyMSA2Ni4wMTMyIDQ5LjMyMTEgNjYuNTM5NyA1MC4yNzY2IDY3LjQ5NTJDNTEuMjMyMSA2OC40NTA3IDUxLjc1ODYgNjguOTE4NyA1MS43NTg2IDY4LjkxODdcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY2Ljc1NDIgMzQuMTUwMkM2Ny45MzM1IDMzLjkyMTQgNjkuMDExMyAzMy4zMjggNjkuODM1MiAzMi40NTM3QzcwLjI4NjUgMzEuODk3OCA3MC44ODk0IDMxLjQ4NDYgNzEuNTcwNyAzMS4yNjQyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjAuNDM2IDE3LjY3MjVDNjAuNDM2IDE4LjczNzkgNjAuODU1MSAxOS43NTk2IDYxLjYwMTIgMjAuNTEzQzYyLjM0NzIgMjEuMjY2MyA2My4zNTkgMjEuNjg5NSA2NC40MTQgMjEuNjg5NUM2NS40NjkxIDIxLjY4OTUgNjYuNDgwOSAyMS4yNjYzIDY3LjIyNjkgMjAuNTEzQzY3Ljk3MjkgMTkuNzU5NiA2OC4zOTIgMTguNzM3OSA2OC4zOTIgMTcuNjcyNUM2OC4zOTIgMTcuMTQ1IDY4LjI4OTEgMTYuNjIyNiA2OC4wODkyIDE2LjEzNTNDNjcuODg5MyAxNS42NDc5IDY3LjU5NjMgMTUuMjA1MSA2Ny4yMjY5IDE0LjgzMjFDNjYuODU3NSAxNC40NTkxIDY2LjQxOSAxNC4xNjMyIDY1LjkzNjQgMTMuOTYxM0M2NS40NTM3IDEzLjc1OTQgNjQuOTM2NCAxMy42NTU1IDY0LjQxNCAxMy42NTU1QzYzLjg5MTYgMTMuNjU1NSA2My4zNzQ0IDEzLjc1OTQgNjIuODkxNyAxMy45NjEzQzYyLjQwOTEgMTQuMTYzMiA2MS45NzA2IDE0LjQ1OTEgNjEuNjAxMiAxNC44MzIxQzYxLjIzMTggMTUuMjA1MSA2MC45Mzg4IDE1LjY0NzkgNjAuNzM4OCAxNi4xMzUzQzYwLjUzODkgMTYuNjIyNiA2MC40MzYgMTcuMTQ1IDYwLjQzNiAxNy42NzI1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS4yMzYxIDUuNTQzNTRDMjkuMjM2MSA2LjQ1ODk0IDI5LjU5NTYgNy4zMzY4NCAzMC4yMzU2IDcuOTg0MTJDMzAuODc1NiA4LjYzMTQgMzEuNzQzNSA4Ljk5NTA0IDMyLjY0ODYgOC45OTUwNEMzMy41NTM2IDguOTk1MDQgMzQuNDIxNiA4LjYzMTQgMzUuMDYxNiA3Ljk4NDEyQzM1LjcwMTYgNy4zMzY4NCAzNi4wNjExIDYuNDU4OTQgMzYuMDYxMSA1LjU0MzU0QzM2LjA2MTEgNC42MjgxNSAzNS43MDE2IDMuNzUwMjQgMzUuMDYxNiAzLjEwMjk2QzM0LjQyMTYgMi40NTU2OCAzMy41NTM2IDIuMDkyMDQgMzIuNjQ4NiAyLjA5MjA0QzMxLjc0MzUgMi4wOTIwNCAzMC44NzU2IDIuNDU1NjggMzAuMjM1NiAzLjEwMjk2QzI5LjU5NTYgMy43NTAyNCAyOS4yMzYxIDQuNjI4MTUgMjkuMjM2MSA1LjU0MzU0WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OS4zNjAyIDIyLjgzOTlDNDguODY0NiAyMi4zNTA0IDQ4LjMxNTEgMjEuOTE4NyA0Ny43MjIyIDIxLjU1MjlDNDguNDgyNyAyMC41NTg0IDQ5LjM2MDIgMTkuMjEyOSA1MC4wODE3IDE4LjA4MTlDNTEuMjcxNiAxNi4zNzA5IDUyLjI0MTIgMTQuNTE2OCA1Mi45Njc3IDEyLjU2MzRDNTMuMDY1MiAxMS4wODE0IDUxLjAxNzcgOS44NTI5MyA0OS45MDYyIDkuMTExOTNDNDguNzk0NyA4LjM3MDkzIDQ3LjM3MTIgNy41MzI0MyA0Ni45MDMyIDcuNjQ5NDNDNDYuNDM1MiA3Ljc2NjQzIDQ1Ljc1MjcgOC4yMzQ0MyA0NS4zNDMyIDguODk3NDNDNDUuMTQwNiA5LjE3NTYzIDQ0Ljk5NSA5LjQ5MTExIDQ0LjkxNDcgOS44MjU3NEM0NC44MzQ0IDEwLjE2MDQgNDQuODIxIDEwLjUwNzYgNDQuODc1MiAxMC44NDc0QzQ0Ljg3NTIgMTEuMTk4NCA0NS43NzIyIDExLjg2MTQgNDYuNjMwMiAxMi40NjU5QzQ2LjEwMzcgMTMuMjI2NCA0NS41NTc3IDE0LjA2NDkgNDUuMDg5NyAxNC44MDU5QzQ0LjM2ODIgMTUuOTM2OSA0My41Mjk3IDE3LjMwMTkgNDIuOTQ0NyAxOC40MTM0QzQyLjMzMzcgMTguMDE1NyA0MS42Nzk1IDE3LjY4ODYgNDAuOTk0NyAxNy40Mzg0QzQwLjExNzIgMTcuMTI2NCAzOS4yOTgyIDE4LjE3OTQgMzguODg4NyAxOC44NDI0QzM4LjQ3OTIgMTkuNTA1NCAzNy44MzU3IDIwLjY5NDkgMzguNDk4NyAyMS4zNzc0QzM5Ljc1MTcgMjIuNDQ4IDQxLjA5NTggMjMuNDA3MiA0Mi41MTU3IDI0LjI0MzlDNDMuODU4MiAyNS4yMDI0IDQ1LjI4MDQgMjYuMDQ0IDQ2Ljc2NjcgMjYuNzU5NEM0Ny42MjQ3IDI3LjA3MTQgNDguNDYzMiAyNi4wMTg0IDQ4Ljg3MjcgMjUuMzU1NEM0OS4yODIyIDI0LjY5MjQgNTAuMDIzMiAyMy41MjI0IDQ5LjM2MDIgMjIuODM5OVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTEuMDE3OCA0Ljk5NzQ4QzUxLjAxNzggNS43MzcwNCA1MS4zMDk2IDYuNDQ2MzEgNTEuODI4OCA2Ljk2OTI1QzUyLjM0ODEgNy40OTIyIDUzLjA1MjQgNy43ODU5OCA1My43ODY4IDcuNzg1OThDNTQuNTIxMiA3Ljc4NTk4IDU1LjIyNTUgNy40OTIyIDU1Ljc0NDggNi45NjkyNUM1Ni4yNjQxIDYuNDQ2MzEgNTYuNTU1OCA1LjczNzA0IDU2LjU1NTggNC45OTc0OEM1Ni41NTU4IDQuMjU3OTMgNTYuMjY0MSAzLjU0ODY2IDU1Ljc0NDggMy4wMjU3MkM1NS4yMjU1IDIuNTAyNzcgNTQuNTIxMiAyLjIwODk4IDUzLjc4NjggMi4yMDg5OEM1My4wNTI0IDIuMjA4OTggNTIuMzQ4MSAyLjUwMjc3IDUxLjgyODggMy4wMjU3MkM1MS4zMDk2IDMuNTQ4NjYgNTEuMDE3OCA0LjI1NzkzIDUxLjAxNzggNC45OTc0OFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBCb29rbWFyayA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMxLjg0OTEgNzcuOTg2QzM2LjYwNzEgNzguODQ0IDQ5Ljc1MDEgNjUuMzUgNTcuNDEzNiA1Ny41NUM2NS4wNzcxIDQ5Ljc1IDc4LjY2ODYgMzYuNzQzNSA3Ny45MDgxIDMxLjk2NkM3OC41MTI2IDI4LjU3MyA3Ni44MzU2IDEwLjk2NDUgNzIuOTU1MSA3LjA4Mzk2QzY5LjA3NDYgMy4yMDM0NiA1MS40NjYxIDEuNDg3NDYgNDguMDczMSAyLjA5MTk2QzQzLjI5NTYgMS4zMzE0NiAzMC4yNTAxIDE0Ljg0NSAyMi40NTAxIDIyLjU4NjVDMTQuNjUwMSAzMC4zMjggMS4xNTYxMiA0My4zOTMgMi4wMTQxMiA0OC4xNTFDMi45NTAxMiA1My42NSAxOC41NTAxIDU3LjU1IDIwLjUwMDEgNTkuNUMyMi40NTAxIDYxLjQ1IDI2LjM1MDEgNzcuMDUgMzEuODQ5MSA3Ny45ODZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01NS44MTQ3IDE4LjY4NjVDNTUuODE0NyAyMC4xNDQ5IDU2LjM5NDEgMjEuNTQzNiA1Ny40MjUzIDIyLjU3NDlDNTguNDU2NiAyMy42MDYxIDU5Ljg1NTMgMjQuMTg1NSA2MS4zMTM3IDI0LjE4NTVDNjIuNzcyMSAyNC4xODU1IDY0LjE3MDggMjMuNjA2MSA2NS4yMDIxIDIyLjU3NDlDNjYuMjMzMyAyMS41NDM2IDY2LjgxMjcgMjAuMTQ0OSA2Ni44MTI3IDE4LjY4NjVDNjYuODEyNyAxNy4yMjgxIDY2LjIzMzMgMTUuODI5NCA2NS4yMDIxIDE0Ljc5ODFDNjQuMTcwOCAxMy43NjY5IDYyLjc3MjEgMTMuMTg3NSA2MS4zMTM3IDEzLjE4NzVDNTkuODU1MyAxMy4xODc1IDU4LjQ1NjYgMTMuNzY2OSA1Ny40MjUzIDE0Ljc5ODFDNTYuMzk0MSAxNS44Mjk0IDU1LjgxNDcgMTcuMjI4MSA1NS44MTQ3IDE4LjY4NjVaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ5LjUxNjEgNi44NDk5OEM1My4zNjY0IDYuODYxNTIgNTcuMjA4OCA3LjIwMDc1IDYxLjAwMTYgNy44NjM5OFwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ2FuY2VsID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzcuNjc0IDU5LjI2NTlDNzcuMTY2OSA1Ni40NTc5IDY5Ljc1NjkgNDguMDkyNCA2Mi4wNzM5IDM5Ljk5OTlDNjkuODczOSAzMS45MDc0IDc3LjIwNTkgMjMuNTQxOSA3Ny42NzQgMjAuNzMzOUM3OS4yOTI0IDE3LjM5OTQgNzQuOTgyOSAxMi42OTk5IDcxLjE5OTkgOC43OTk5NEM2Ny40MTY5IDQuODk5OTQgNjIuNjAwNCAwLjcwNzQ0NCA1OS4yNjU5IDIuMzI1OTRDNTYuNDU3OSAyLjgzMjk0IDQ4LjA5MjQgMTAuMjQyOSAzOS45OTk5IDE3LjkyNTlDMzEuOTA3NCAxMC4xMjU5IDIzLjU0MTkgMi43OTM5NCAyMC43MzM5IDIuMzI1OTRDMTcuMzk5NCAwLjcwNzQ0NCAxMi42OTk5IDUuMDE2OTQgOC43OTk5NCA4Ljc5OTk0QzQuODk5OTQgMTIuNTgyOSAwLjcwNzQ0NCAxNy4zOTk0IDIuMzI1OTQgMjAuNzMzOUMyLjgzMjk0IDIzLjU0MTkgMTAuMjQyOSAzMS45MDc0IDE3LjkyNTkgMzkuOTk5OUMxMC4xMjU5IDQ4LjA5MjQgMi43OTM5NCA1Ni40NTc5IDIuMzI1OTQgNTkuMjY1OUMwLjcwNzQ0NCA2Mi42MDA0IDUuMDE2OTQgNjcuMzk3NCA4Ljc5OTk0IDcxLjE5OTlDMTIuNTgyOSA3NS4wMDI0IDE3LjM5OTQgNzkuMjkyNCAyMC43MzM5IDc3LjY3NEMyMy41NDE5IDc3LjE2NjkgMzEuOTA3NCA2OS43NTY5IDM5Ljk5OTkgNjIuMDczOUM0OC4wOTI0IDY5Ljg3MzkgNTYuNDU3OSA3Ny4yMDU5IDU5LjI2NTkgNzcuNjc0QzYyLjYwMDQgNzkuMjkyNCA2Ny40MTY5IDc0Ljk4MjkgNzEuMTk5OSA3MS4xOTk5Qzc0Ljk4MjkgNjcuNDE2OSA3OS4yOTI0IDYyLjYwMDQgNzcuNjc0IDU5LjI2NTlaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01NS41OTk5IDExLjQzMjVDNjAuMjIxNCA3LjUzMjUgNjEuMDQwNCA3LjMzNzUgNjMuNzMxNCA5LjQ4MjVcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ29udmVyc2F0aW9uID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDAgMi43MTY4QzE1LjY0MzEgMi43MTY4IDMuNDY0NiAxNS40MTk5IDMuNDY0NiAzNC40OTMyQzMuNDY0NiA0Ni43NDY2IDguNTIzNDggNTYuMzU4MiAxOC42MDM0IDYxLjY2MDRDMTYuNzI5OSA2Ny45OTMyIDEyLjEwMTkgNzEuNzIxOCAxNi4xNjc3IDc1Ljc4NzRDMTguODA5NSA3OC40MjkzIDM0LjQ5MTYgNzguODIyOCAzOS43OTM5IDY2LjI1MDdINDBDNjQuMzU2OSA2Ni4yNTA3IDc2LjUzNTQgNTMuNTQ3OCA3Ni41MzU0IDM0LjQ5MzJDNzYuNTM1NCAxNS40Mzg2IDY0LjM1NjkgMi43MTY4IDQwIDIuNzE2OFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUyLjQ0MDkgMTAuMzk4N0M1Ni4yNTQxIDExLjE4MjQgNTkuNzQ5MSAxMy4wNzk5IDYyLjQ4MzQgMTUuODUwOVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgRGFkID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTIuNjc1IDM5LjI5ODFDNTcuODAzNSAzNS44MDc2IDYwLjM3NzUgMjkuODYwMSA2MC4zNzc1IDIyLjM1MjZDNjAuMzc3NSAxMC4xMjYxIDUzLjY1IDEuOTc1MSA0MCAxLjk3NTFDMjYuMzUgMS45NzUxIDE5LjYyMjUgMTAuMTI2MSAxOS42MjI1IDIyLjQ1MDFDMTkuNjIyNSAyOS45NTc2IDIyLjE5NjUgMzUuOTA1MSAyNy4zMjUgMzkuMzk1NkMxNS44NTkgNDMuNDEyNiAxMC4xMjYgNTMuNjUwMSAxMC4xMjYgNjcuMTYzNkMxMC4xMjYgNzUuMzE0NiAyMC4wOTA1IDc4LjAyNTEgNDAgNzguMDI1MUM1OS45MDk1IDc4LjAyNTEgNjkuODc0IDc1LjMxNDYgNjkuODc0IDY3LjE2MzZDNjkuODc0IDUzLjY1MDEgNjQuMTQxIDQzLjQxMjYgNTIuNjc1IDM5LjI5ODFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00NS40NDA0IDguNDI5NjlDNDcuNzg3MyA5LjI4MDU0IDQ5LjgyNTEgMTAuODE1NyA1MS4yOTA0IDEyLjgzNjdcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMS4zMDMgMjkuNjg0NkMzMS4zMDMgMjkuNjg0NiAzMy40ODcgMzEuODQ5MSA0MCAzMS44NDkxQzQ2LjUxMyAzMS44NDkxIDQ4LjY5NyAyOS42ODQ2IDQ4LjY5NyAyOS42ODQ2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS4xMzg0IDE5Ljg5NTdDMjkuMTM4NCAyMC43NTkzIDI5LjQ4MTUgMjEuNTg3NiAzMC4wOTIyIDIyLjE5ODRDMzAuNzAyOSAyMi44MDkxIDMxLjUzMTMgMjMuMTUyMiAzMi4zOTQ5IDIzLjE1MjJDMzMuMjU4NiAyMy4xNTIyIDM0LjA4NjkgMjIuODA5MSAzNC42OTc2IDIyLjE5ODRDMzUuMzA4MyAyMS41ODc2IDM1LjY1MTQgMjAuNzU5MyAzNS42NTE0IDE5Ljg5NTdDMzUuNjUxNCAxOS4wMzIgMzUuMzA4MyAxOC4yMDM3IDM0LjY5NzYgMTcuNTkzQzM0LjA4NjkgMTYuOTgyMyAzMy4yNTg2IDE2LjYzOTIgMzIuMzk0OSAxNi42MzkyQzMxLjUzMTMgMTYuNjM5MiAzMC43MDI5IDE2Ljk4MjMgMzAuMDkyMiAxNy41OTNDMjkuNDgxNSAxOC4yMDM3IDI5LjEzODQgMTkuMDMyIDI5LjEzODQgMTkuODk1N1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00NC4zNDg0IDE5Ljg5NTdDNDQuMzQ4NCAyMC4zMjMzIDQ0LjQzMjYgMjAuNzQ2OCA0NC41OTYzIDIxLjE0MTlDNDQuNzU5OSAyMS41MzcgNDQuOTk5OCAyMS44OTYgNDUuMzAyMiAyMi4xOTg0QzQ1LjYwNDYgMjIuNTAwNyA0NS45NjM2IDIyLjc0MDYgNDYuMzU4NyAyMi45MDQzQzQ2Ljc1MzggMjMuMDY3OSA0Ny4xNzcyIDIzLjE1MjIgNDcuNjA0OSAyMy4xNTIyQzQ4LjAzMjUgMjMuMTUyMiA0OC40NTYgMjMuMDY3OSA0OC44NTExIDIyLjkwNDNDNDkuMjQ2MiAyMi43NDA2IDQ5LjYwNTIgMjIuNTAwNyA0OS45MDc2IDIyLjE5ODRDNTAuMjEgMjEuODk2IDUwLjQ0OTggMjEuNTM3IDUwLjYxMzUgMjEuMTQxOUM1MC43NzcyIDIwLjc0NjggNTAuODYxNCAyMC4zMjMzIDUwLjg2MTQgMTkuODk1N0M1MC44NjE0IDE5LjQ2OCA1MC43NzcyIDE5LjA0NDUgNTAuNjEzNSAxOC42NDk1QzUwLjQ0OTggMTguMjU0NCA1MC4yMSAxNy44OTU0IDQ5LjkwNzYgMTcuNTkzQzQ5LjYwNTIgMTcuMjkwNiA0OS4yNDYyIDE3LjA1MDcgNDguODUxMSAxNi44ODdDNDguNDU2IDE2LjcyMzQgNDguMDMyNSAxNi42MzkyIDQ3LjYwNDkgMTYuNjM5MkM0Ny4xNzcyIDE2LjYzOTIgNDYuNzUzOCAxNi43MjM0IDQ2LjM1ODcgMTYuODg3QzQ1Ljk2MzYgMTcuMDUwNyA0NS42MDQ2IDE3LjI5MDYgNDUuMzAyMiAxNy41OTNDNDQuOTk5OCAxNy44OTU0IDQ0Ljc1OTkgMTguMjU0NCA0NC41OTYzIDE4LjY0OTVDNDQuNDMyNiAxOS4wNDQ1IDQ0LjM0ODQgMTkuNDY4IDQ0LjM0ODQgMTkuODk1N1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IERhdGVUaW1lID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzQuNjcwOSAyNC4yNjM2Qzc1LjE2NTIgMjMuMTM3NiA3NS40MzA0IDIxLjkyNDYgNzUuNDUwOSAyMC42OTUxQzc4LjE4MDkgMTkuMTU0NiA3OC4xNDE5IDE4LjEyMTEgNzcuNzEyOSAxNi43OTUxQzc3LjI4MzkgMTUuNDY5MSA3Ni43MTg0IDE0LjU3MjEgNzMuNTk4NCAxNC44NDUxQzcyLjg2NTQgMTMuODU1OCA3MS45NDQzIDEzLjAyMDggNzAuODg3OSAxMi4zODgxQzcwLjg4NzkgOS4yNDg1OCA3MC4wMTA0IDguNzYxMDggNjguNjI1OSA4LjQ4ODA4QzY3LjI0MTQgOC4yMTUwOCA2Ni4yMDc5IDguMjE1MDggNjQuOTIwOSAxMS4xMDExQzYzLjcwMjYgMTEuMjQyMSA2Mi41MjM1IDExLjYxOTYgNjEuNDQ5OSAxMi4yMTI2QzU4Ljc1ODkgMTAuNjEzNiA1Ny44ODE0IDExLjE0MDEgNTYuOTA2NCAxMi4yMTI2QzU1LjkzMTQgMTMuMjg1MSA1NS40ODI5IDE0LjE2MjYgNTcuMzE1OSAxNi43MTcxQzU3LjA3OCAxNy4yODUgNTYuODg4OCAxNy44NzIxIDU2Ljc1MDQgMTguNDcyMUM1Ni42MjEyIDE5LjA3NDkgNTYuNTQ5MyAxOS42ODg3IDU2LjUzNTkgMjAuMzA1MUM1My44MDU5IDIxLjg0NTYgNTMuODQ0OSAyMi44NTk2IDU0LjI3MzkgMjQuMjA1MUM1NC43MDI5IDI1LjU1MDYgNTUuMjg3OSAyNi40MjgxIDU4LjQwNzkgMjYuMTU1MUM1OS4xMzM4IDI3LjE0MzggNjAuMDQ4NCAyNy45Nzg5IDYxLjA5ODkgMjguNjEyMUM2MS4wOTg5IDMxLjc1MTYgNjEuOTc2NCAzMi4yMzkxIDYzLjM2MDkgMzIuNTEyMUM2NC43NDU0IDMyLjc4NTEgNjUuNzc4OSAzMi43NjU2IDY3LjA2NTkgMjkuODc5NkM2OC4yODM3IDI5Ljc0ODEgNjkuNDYzMyAyOS4zNzcgNzAuNTM2OSAyOC43ODc2QzczLjIyNzkgMzAuMzY3MSA3NC4xMDU0IDI5Ljg0MDYgNzUuMDgwNCAyOC43ODc2Qzc2LjA1NTQgMjcuNzM0NiA3Ni41MDM5IDI2LjgxODEgNzQuNjcwOSAyNC4yNjM2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02MS4zNTI1IDIwLjUwMDFDNjEuMzUyNSAyMS43MzEgNjEuODQxNSAyMi45MTE1IDYyLjcxMTkgMjMuNzgxOEM2My41ODIyIDI0LjY1MjIgNjQuNzYyNyAyNS4xNDExIDY1Ljk5MzUgMjUuMTQxMUM2Ny4yMjQ0IDI1LjE0MTEgNjguNDA0OSAyNC42NTIyIDY5LjI3NTIgMjMuNzgxOEM3MC4xNDU2IDIyLjkxMTUgNzAuNjM0NSAyMS43MzEgNzAuNjM0NSAyMC41MDAxQzcwLjYzNDUgMTkuMjY5MyA3MC4xNDU2IDE4LjA4ODggNjkuMjc1MiAxNy4yMTg0QzY4LjQwNDkgMTYuMzQ4MSA2Ny4yMjQ0IDE1Ljg1OTEgNjUuOTkzNSAxNS44NTkxQzY0Ljc2MjcgMTUuODU5MSA2My41ODIyIDE2LjM0ODEgNjIuNzExOSAxNy4yMTg0QzYxLjg0MTUgMTguMDg4OCA2MS4zNTI1IDE5LjI2OTMgNjEuMzUyNSAyMC41MDAxWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00My4wODEgMTcuMTI2NUM0MS4zOTQgMTYuMDYxNCAzOS40NDA3IDE1LjQ5MzcgMzcuNDQ1NSAxNS40ODg1QzM3LjEyNjcgMTQuMDc4IDM2LjY3NjIgMTIuNzAwNCAzNi4xIDExLjM3NEMzNS43MjA0IDEwLjcwMDcgMzUuMTM4NiAxMC4xNjM3IDM0LjQzNyA5LjgzOTEzQzMzLjczNTQgOS41MTQ1NiAzMi45NDk2IDkuNDE4ODIgMzIuMTkwNiA5LjU2NTQ0QzMxLjQzMTYgOS43MTIwNiAzMC43Mzc5IDEwLjA5MzYgMzAuMjA3NyAxMC42NTYyQzI5LjY3NzUgMTEuMjE4NyAyOS4zMzc2IDExLjkzMzcgMjkuMjM2IDEyLjdDMjkuMTI4OCAxMy42NzIxIDI5LjEyODggMTQuNjUzIDI5LjIzNiAxNS42MjVDMjYuODg4NSAxNS43OTE5IDI0LjU1MTYgMTYuMDg0OSAyMi4yMzU1IDE2LjUwMjVDMTkuOTI3NiAxNi45Mzk0IDE3LjY0MzIgMTcuNDkyNiAxNS4zOTEgMTguMTZDMTUuMjM2MyAxNy4xOTU3IDE0Ljk4ODIgMTYuMjQ4OCAxNC42NSAxNS4zMzI1QzE0LjMwNDMgMTQuNjI0MyAxMy43MzUxIDE0LjA0OTYgMTMuMDMwMiAxMy42OTcyQzEyLjMyNTMgMTMuMzQ0NyAxMS41MjQgMTMuMjM0MSAxMC43NSAxMy4zODI1QzkuOTM3ODYgMTMuNDc0NiA5LjE4MjgyIDEzLjg0NTcgOC42MTM4MSAxNC40MzI1QzguMDQ0NzkgMTUuMDE5MyA3LjY5NzA4IDE1Ljc4NTQgNy42MzAwMyAxNi42QzcuNTY0MDEgMTguMDQwNyA3LjY0MjQgMTkuNDg0NCA3Ljg2NDAzIDIwLjkwOTVDNi4wMDkyNyAyMS42MTQyIDQuMzg4MzIgMjIuODIzMiAzLjE4NDAzIDI0LjRDMi4xMTE1MyAyNi4zNSAxLjU0NjAzIDM0LjE1IDIuNzE2MDMgNDAuNjA0NUMzLjg4NjAzIDQ3LjA1OSA3LjIwMTAzIDU0LjE3NjUgOC44OTc1MyA1NS42QzExLjUxMDUgNTcuNzg0IDIzLjIzIDU3LjU1IDI5LjY0NTUgNTYuMjgyNUMzNi4wNjEgNTUuMDE1IDQ3LjE5NTUgNTEuMjUxNSA0OC43OTQ1IDQ4LjI4NzVDNDkuODg2NSA0Ni4zMzc1IDUwLjQzMjUgMzguNTM3NSA0OS4yNjI1IDMyLjA4M0M0OC4wOTI1IDI1LjYyODUgNDQuNzk3IDE4LjU1IDQzLjA4MSAxNy4xMjY1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDAuNTY1NCA0NS44NTAxQzQyLjYxMjkgNDMuOTAwMSA0Mi4yODE0IDQwLjgzODYgNDEuMjY3NCAzNS4yMjI2QzQwLjI1MzQgMjkuNjA2NiAzOS40MTQ5IDI2LjU2NDYgMzYuODQwOSAyNS40NzI2QzM1LjQxNzQgMjQuMjQ0MSAyOS4xOTY5IDI1LjAwNDYgMjQuMTA3NCAyNS45NDA2QzE5LjAxNzkgMjYuODc2NiAxMi45MTQ0IDI4LjQ5NTEgMTIuMDM2OSAzMC4yNTAxQzEwLjA4NjkgMzIuMjAwMSAxMC4zMDE0IDM1LjI2MTYgMTEuMzM0OSA0MC44NTgxQzEyLjM2ODQgNDYuNDU0NiAxMy4yODQ5IDQ5LjUxNjEgMTUuNzYxNCA1MC42MDgxQzE3LjE4NDkgNTEuODU2MSAyMy4zODU5IDUxLjA3NjEgMjguNDk0OSA1MC4xNTk2QzMzLjYwMzkgNDkuMjQzMSAzOS42Njg0IDQ3LjU4NTYgNDAuNTY1NCA0NS44NTAxWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xOS45MTUgMzAuMjVDMTkuOTE1IDMwLjI1IDIwLjIyNyAzMy43OTkgMjEuMTgyNSAzOS4wMjVDMjIuMTM4IDQ0LjI1MSAyMy4xMzI1IDQ3LjY4MyAyMy4xMzI1IDQ3LjY4M1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzIuNjg3NSA0NS44NUMzMi42ODc1IDQ1Ljg1IDMyLjM3NTUgNDIuMzAxIDMxLjQyIDM3LjA3NUMzMC40NjQ1IDMxLjg0OSAyOS40NyAyOC40MTcgMjkuNDcgMjguNDE3XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zNi4wOTk5IDMyLjAyNDRDMzYuMDk5OSAzMi4wMjQ0IDMxLjc3MDkgMzIuMzM2NCAyNS40MzM0IDMzLjUwNjRDMjEuOTA0NSAzNC4xMjgxIDE4LjQwOTUgMzQuOTI4NiAxNC45NjE5IDM1LjkwNDlcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE2LjQ2MzYgNDQuMDc1NkMxNi40NjM2IDQ0LjA3NTYgMjAuNzczMSA0My43NjM2IDI3LjEzMDEgNDIuNTkzNkMzMy40ODcxIDQxLjQyMzYgMzcuNjQwNiA0MC4xOTUxIDM3LjY0MDYgNDAuMTk1MVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzYuNzgyNSAxOC43MDYxQzQxLjU0MDUgMTkuMTU0NiA0MS4zMDY1IDE5LjkxNTEgNDIuMjYyIDIxLjYxMTZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM2LjE3OCA1Ni4yMjQxQzM2LjE3OCA2MS42MDI3IDM4LjMxNDYgNjYuNzYxIDQyLjExNzkgNzAuNTY0MkM0NS45MjExIDc0LjM2NzUgNTEuMDc5NCA3Ni41MDQxIDU2LjQ1OCA3Ni41MDQxQzYxLjgzNjYgNzYuNTA0MSA2Ni45OTQ5IDc0LjM2NzUgNzAuNzk4MSA3MC41NjQyQzc0LjYwMTMgNjYuNzYxIDc2LjczOCA2MS42MDI3IDc2LjczOCA1Ni4yMjQxQzc2LjczOCA1MC44NDU1IDc0LjYwMTMgNDUuNjg3MiA3MC43OTgxIDQxLjg4NEM2Ni45OTQ5IDM4LjA4MDcgNjEuODM2NiAzNS45NDQxIDU2LjQ1OCAzNS45NDQxQzUxLjA3OTQgMzUuOTQ0MSA0NS45MjExIDM4LjA4MDcgNDIuMTE3OSA0MS44ODRDMzguMzE0NiA0NS42ODcyIDM2LjE3OCA1MC44NDU1IDM2LjE3OCA1Ni4yMjQxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDIuOTQ0NiA1Ni4yMjQyQzQyLjk0NDYgNTcuOTk4OCA0My4yOTQxIDU5Ljc1NjEgNDMuOTczMiA2MS4zOTU2QzQ0LjY1MjMgNjMuMDM1MSA0NS42NDc3IDY0LjUyNDggNDYuOTAyNiA2NS43Nzk3QzQ4LjE1NzQgNjcuMDM0NSA0OS42NDcyIDY4LjAyOTkgNTEuMjg2NyA2OC43MDlDNTIuOTI2MiA2OS4zODgyIDU0LjY4MzUgNjkuNzM3NyA1Ni40NTgxIDY5LjczNzdDNTguMjMyNyA2OS43Mzc3IDU5Ljk4OTkgNjkuMzg4MiA2MS42Mjk1IDY4LjcwOUM2My4yNjkgNjguMDI5OSA2NC43NTg3IDY3LjAzNDUgNjYuMDEzNiA2NS43Nzk3QzY3LjI2ODQgNjQuNTI0OCA2OC4yNjM4IDYzLjAzNTEgNjguOTQyOSA2MS4zOTU2QzY5LjYyMiA1OS43NTYxIDY5Ljk3MTYgNTcuOTk4OCA2OS45NzE2IDU2LjIyNDJDNjkuOTcxNiA1NC40NDk2IDY5LjYyMiA1Mi42OTIzIDY4Ljk0MjkgNTEuMDUyOEM2OC4yNjM4IDQ5LjQxMzMgNjcuMjY4NCA0Ny45MjM1IDY2LjAxMzYgNDYuNjY4N0M2NC43NTg3IDQ1LjQxMzkgNjMuMjY5IDQ0LjQxODUgNjEuNjI5NSA0My43MzkzQzU5Ljk4OTkgNDMuMDYwMiA1OC4yMzI3IDQyLjcxMDcgNTYuNDU4MSA0Mi43MTA3QzU0LjY4MzUgNDIuNzEwNyA1Mi45MjYyIDQzLjA2MDIgNTEuMjg2NyA0My43MzkzQzQ5LjY0NzIgNDQuNDE4NSA0OC4xNTc0IDQ1LjQxMzkgNDYuOTAyNiA0Ni42Njg3QzQ1LjY0NzcgNDcuOTIzNSA0NC42NTIzIDQ5LjQxMzMgNDMuOTczMiA1MS4wNTI4QzQzLjI5NDEgNTIuNjkyMyA0Mi45NDQ2IDU0LjQ0OTYgNDIuOTQ0NiA1Ni4yMjQyWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OC4wNTcgNTUuMjY4NUM1OC4zODg1IDUxLjA3NiA1Ny41ODkgNDguMDM0IDU2LjMwMiA0Ny45MTdDNTUuMDE1IDQ3LjggNTMuODA2IDQ5LjU5NCA1My40NzQ1IDUzLjY1QzUzLjA2NSA1OC43Mzk1IDU1LjE3MSA1OS43MzQgNTguNTgzNSA2MC4wMjY1QzYxLjk5NiA2MC4zMTkgNjQuMjM4NSA1OS40NDE1IDY0LjMzNiA1OC4wNzY1QzY0LjQzMzUgNTYuNzExNSA2My4xODU1IDU1LjYgNTguMDU3IDU1LjI2ODVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02NS45OTM0IDQxLjYxODdDNjcuOTg3MiA0Mi4yODU5IDY5LjY1NzUgNDMuNjc3OSA3MC42NzM0IDQ1LjUxODdcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIwLjU3ODEgNjguMDAxOUMyMC41NzgxIDY4Ljk3NDIgMjAuOTY0NCA2OS45MDY3IDIxLjY1MTkgNzAuNTk0MkMyMi4zMzk0IDcxLjI4MTcgMjMuMjcxOCA3MS42Njc5IDI0LjI0NDEgNzEuNjY3OUMyNS4yMTY0IDcxLjY2NzkgMjYuMTQ4OSA3MS4yODE3IDI2LjgzNjQgNzAuNTk0MkMyNy41MjM5IDY5LjkwNjcgMjcuOTEwMSA2OC45NzQyIDI3LjkxMDEgNjguMDAxOUMyNy45MTAxIDY3LjAyOTcgMjcuNTIzOSA2Ni4wOTcyIDI2LjgzNjQgNjUuNDA5N0MyNi4xNDg5IDY0LjcyMjIgMjUuMjE2NCA2NC4zMzU5IDI0LjI0NDEgNjQuMzM1OUMyMy4yNzE4IDY0LjMzNTkgMjIuMzM5NCA2NC43MjIyIDIxLjY1MTkgNjUuNDA5N0MyMC45NjQ0IDY2LjA5NzIgMjAuNTc4MSA2Ny4wMjk3IDIwLjU3ODEgNjguMDAxOVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDQuNzU4MSA2LjY1NTAzQzQ0Ljc1ODEgNy4wNzUgNDQuODQwOCA3LjQ5MDg1IDQ1LjAwMTUgNy44Nzg4NUM0NS4xNjIyIDguMjY2ODUgNDUuMzk3OCA4LjYxOTQgNDUuNjk0NyA4LjkxNjM2QzQ1Ljk5MTcgOS4yMTMzMiA0Ni4zNDQyIDkuNDQ4ODggNDYuNzMyMiA5LjYwOTZDNDcuMTIwMiA5Ljc3MDMxIDQ3LjUzNjEgOS44NTMwMyA0Ny45NTYxIDkuODUzMDNDNDguMzc2IDkuODUzMDMgNDguNzkxOSA5Ljc3MDMxIDQ5LjE3OTkgOS42MDk2QzQ5LjU2NzkgOS40NDg4OCA0OS45MjA0IDkuMjEzMzIgNTAuMjE3NCA4LjkxNjM2QzUwLjUxNDMgOC42MTk0IDUwLjc0OTkgOC4yNjY4NSA1MC45MTA2IDcuODc4ODVDNTEuMDcxMyA3LjQ5MDg1IDUxLjE1NDEgNy4wNzUgNTEuMTU0MSA2LjY1NTAzQzUxLjE1NDEgNi4yMzUwNiA1MS4wNzEzIDUuODE5MjEgNTAuOTEwNiA1LjQzMTIxQzUwLjc0OTkgNS4wNDMyMSA1MC41MTQzIDQuNjkwNjcgNTAuMjE3NCA0LjM5MzdDNDkuOTIwNCA0LjA5Njc0IDQ5LjU2NzkgMy44NjExOCA0OS4xNzk5IDMuNzAwNDZDNDguNzkxOSAzLjUzOTc1IDQ4LjM3NiAzLjQ1NzAzIDQ3Ljk1NjEgMy40NTcwM0M0Ny41MzYxIDMuNDU3MDMgNDcuMTIwMiAzLjUzOTc1IDQ2LjczMjIgMy43MDA0NkM0Ni4zNDQyIDMuODYxMTggNDUuOTkxNyA0LjA5Njc0IDQ1LjY5NDcgNC4zOTM3QzQ1LjM5NzggNC42OTA2NyA0NS4xNjIyIDUuMDQzMjEgNDUuMDAxNSA1LjQzMTIxQzQ0Ljg0MDggNS44MTkyMSA0NC43NTgxIDYuMjM1MDYgNDQuNzU4MSA2LjY1NTAzWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEhvbWUgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Ni40MDY1IDMwLjY5ODVDNzUuMzM0IDI4LjkwNDUgNjcuNTE0NSAyMi41MDg1IDYwLjYzMSAxNy44MDlDNTMuNzQ3NSAxMy4xMDk1IDQ1LjAzMSA4LjA1OTAyIDQyLjkwNTUgNy43NjY1MkM0MC45OTQ4IDcuMjEyOTIgMzguOTY2MiA3LjIxMjkyIDM3LjA1NTUgNy43NjY1MkMzNS4wNDcgOC4xMTc1MiAyNi4zNSAxMy4wOSAxOS4zNjkgMTcuODA5QzEyLjM4OCAyMi41MjggNC42NjYgMjguOTA0NSAzLjU5MzUgMzAuNjk4NUMwLjk2MTAwMSAzMy41NDU1IDEuOTE2NSAzOC4yNjQ1IDMuODA4IDQxLjAzMzVDNS42OTk1IDQzLjgwMjUgOS4zNjU1IDQ2LjEwMzUgMTIuODE3IDQ1LjEwOVY0Ny44NTg1QzEyLjcgNTUuODE0NSAxNS4wMDEgNjUuMzUgMTcuMjgyNSA2Ny4zQzE5LjU0NDUgNzAuODI5NSAzMS4yMjUgNzIuNjQzIDQwIDcyLjY0M0M0OC43NzUgNzIuNjQzIDYwLjQ1NTUgNzAuODI5NSA2Mi43MTc1IDY3LjNDNjQuOTk5IDY1LjM1IDY3LjMgNTUuODE0NSA2Ny4zIDQ3LjhWNDUuMDUwNUM3MC43NTE1IDQ2LjA0NSA3NC41MTUgNDMuNjA3NSA3Ni4zMDkgNDAuOTc1Qzc4LjEwMyAzOC4zNDI1IDc5IDMzLjU0NTUgNzYuNDA2NSAzMC42OTg1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDAgNDYuNTMyNUMyNy45MSA0Ni41MzI1IDMyLjcwNyA2My40NTg1IDM0LjA1MjUgNjQuOTIxQzM0LjcxNTUgNjYuMzY0IDM3LjQ0NTUgNjYuMzY0IDQwIDY2LjM2NEM0Mi41NTQ1IDY2LjM2NCA0NS4yODQ1IDY2LjM2NCA0NS45NDc1IDY0LjkyMUM0Ny4yOTMgNjMuNCA1Mi4wOSA0Ni41MzI1IDQwIDQ2LjUzMjVaXCJcbiAgICAgICAgZmlsbD1cIndoaXRlXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMS42NTA0IDM5LjU1MTVDMjcuNjk4NiAzNi44MDEzIDMzLjM4OTEgMzMuMzI0MiAzOC41OTU5IDI5LjE5N0MzOC45OTY5IDI4Ljg4MzkgMzkuNDkxMSAyOC43MTM5IDM5Ljk5OTkgMjguNzEzOUM0MC41MDg3IDI4LjcxMzkgNDEuMDAyOSAyOC44ODM5IDQxLjQwMzkgMjkuMTk3QzQ2LjYxMDcgMzMuMzI0MiA1Mi4zMDEyIDM2LjgwMTMgNTguMzQ5NCAzOS41NTE1XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ0Ljg5NDUgMTUuNDEwNUM0OS40MjM2IDE3LjM5MDEgNTMuNTk0MyAyMC4xMDQ2IDU3LjIzOCAyMy40NDQ1XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEluZm9ybWF0aW9uID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTQuOTc2IDYzLjEyNzFDNTIuODk5MyA2Mi42OTE0IDUwLjc3OTUgNjIuNDk1MSA0OC42NTggNjIuNTQyMUM0OC45NyA1OC43NTkxIDQ5LjA2NzUgNTMuOTIzMSA0OS4wNjc1IDQ5LjgyODFDNDkuMDY3NSA0Mi41OTM2IDQ4LjUyMTUgMzMuMTM2MSA0Ny40Mjk1IDMxLjEwODFDNDUuMjg0NSAyNy4yMDgxIDM4LjEyOCAyNy4zNjQxIDMzLjk1NSAyNy4zNjQxQzMwLjA1NSAyNy4zNjQxIDI0LjkwNyAyNy41Nzg2IDIzLjg5MyAyOC42MzE2QzIyLjg3OSAyOS4xNzc2IDIxLjk0MyAzMi4wMjQ2IDIxLjk0MyAzNC40ODE2QzIxLjk0MyAzNi45Mzg2IDIyLjkzNzUgMzkuNjg4MSAyMy44OTMgNDAuMjM0MUMyNC44NDg1IDQwLjc4MDEgMjcuNzkzIDQxLjM2NTEgMzEuMDg4NSA0MS40NjI2QzMwLjk3MTUgNDQuMjcwNiAzMC45MzI1IDQ3LjMxMjYgMzAuOTMyNSA0OS45MjU2QzMwLjkzMjUgNTQuMDIwNiAzMS4wMyA1OC44NTY2IDMxLjM0MiA2Mi42Mzk2QzI5LjIyMDYgNjIuNTkyNiAyNy4xMDA4IDYyLjc4ODkgMjUuMDI0IDYzLjIyNDZDMjIuMjM1NSA2My44NDg2IDIxLjg4NDUgNjcuOTA0NiAyMS44ODQ1IDcwLjI2NDFDMjEuODg0NSA3Mi42MjM2IDIyLjIzNTUgNzYuNjk5MSAyNS4wMjQgNzcuMzIzMUMyNi40MDg1IDc3LjkyNzYgMzMuODM4IDc3Ljk4NjEgNDAgNzcuOTg2MUM0Ni4xNjIgNzcuOTg2MSA1My42NSA3Ny45ODYxIDU0Ljk3NiA3Ny4zMjMxQzU3Ljc2NDUgNzYuNjk5MSA1OC4xMTU1IDcyLjY0MzEgNTguMTE1NSA3MC4yNjQxQzU4LjExNTUgNjcuODg1MSA1Ny43NjQ1IDYzLjc1MTEgNTQuOTc2IDYzLjEyNzFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOC43NjgxIDEwLjUzNTZDMjguNzY4MSAxMi43Njk4IDI5LjY1NTYgMTQuOTEyNCAzMS4yMzU0IDE2LjQ5MjJDMzIuODE1MiAxOC4wNzIgMzQuOTU3OSAxOC45NTk2IDM3LjE5MjEgMTguOTU5NkMzOS40MjYzIDE4Ljk1OTYgNDEuNTY4OSAxOC4wNzIgNDMuMTQ4NyAxNi40OTIyQzQ0LjcyODUgMTQuOTEyNCA0NS42MTYxIDEyLjc2OTggNDUuNjE2MSAxMC41MzU2QzQ1LjYxNjEgOC4zMDEzOSA0NC43Mjg1IDYuMTU4NzEgNDMuMTQ4NyA0LjU3ODlDNDEuNTY4OSAyLjk5OTEgMzkuNDI2MyAyLjExMTU3IDM3LjE5MjEgMi4xMTE1N0MzNC45NTc5IDIuMTExNTcgMzIuODE1MiAyLjk5OTEgMzEuMjM1NCA0LjU3ODlDMjkuNjU1NiA2LjE1ODcxIDI4Ljc2ODEgOC4zMDEzOSAyOC43NjgxIDEwLjUzNTZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zNy4yNTA1IDMzLjE5NDZDNDAuMjUzNSAzMy4wMTkxIDQxLjcxNiAzMy4xOTQ2IDQyLjM5ODUgMzMuNjgyMUM0My4wODEgMzQuMTY5NiA0Mi43MyAzNS42MzIxIDQyLjczIDM1LjYzMjFcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM3LjczOCA3LjAwNjFDMzguNzAzOCA3LjI2NzYgMzkuNTUwNSA3Ljg1MjcxIDQwLjEzNjUgOC42NjM2XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IE1vbSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU2Ljc4OTQgNDIuODQ3MUM2Mi42Mzk0IDQxLjgzMzEgNjQuNTg5NCA0MC4yNzMxIDYzLjE2NTkgMzguNjkzNkM2MC44NDU0IDM2LjA2MTEgNjAuODQ1NCAzMC44OTM2IDYwLjg0NTQgMjUuNTcwMUM2MC44NDU0IDExLjQxMzEgNTMuOTAzNCAxLjk3NTEgMzkuOTk5OSAxLjk3NTFDMjYuMDk2NCAxLjk3NTEgMTkuMTU0NCAxMS40MTMxIDE5LjE1NDQgMjUuNTcwMUMxOS4xNTQ0IDMwLjgxNTYgMTkuMTU0NCAzNi4wNjExIDE2LjgzMzkgMzguNjkzNkMxNS40Mjk5IDQwLjI3MzEgMTcuNDE4OSA0MS44MzMxIDIzLjIxMDQgNDIuODQ3MUMxNS4yMTU0IDQ3LjY0NDEgMTEuMTU5NCA1Ni4zNjA2IDExLjE1OTQgNjcuNTM0MUMxMS4xNTk0IDc1LjMzNDEgMjAuNzcyOSA3OC4wMjUxIDM5Ljk5OTkgNzguMDI1MUM1OS4yMjY5IDc4LjAyNTEgNjguODQwNCA3NS40MTIxIDY4Ljg0MDQgNjcuNTM0MUM2OC44NDA0IDU2LjM2MDYgNjQuNzg0NCA0Ny42NDQxIDU2Ljc4OTQgNDIuODQ3MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ2LjEwMzUgOC4wNTkwOEM0OC40MDMgOC44Njg4NyA1MC40MDIzIDEwLjM1ODEgNTEuODM2NSAxMi4zMjk2XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzEuNjE1IDMxLjM0MkMzMS42MTUgMzEuMzQyIDMzLjcwMTUgMzMuNDQ4IDQwIDMzLjQ0OEM0Ni4yOTg1IDMzLjQ0OCA0OC4zODUgMzEuMzQyIDQ4LjM4NSAzMS4zNDJcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5LjUwOSAyMS45MDQxQzI5LjUwOSAyMi43MzY4IDI5LjgzOTggMjMuNTM1MyAzMC40Mjg2IDI0LjEyNDFDMzEuMDE3MyAyNC43MTI5IDMxLjgxNTkgMjUuMDQzNiAzMi42NDg1IDI1LjA0MzZDMzMuNDgxMiAyNS4wNDM2IDM0LjI3OTcgMjQuNzEyOSAzNC44Njg1IDI0LjEyNDFDMzUuNDU3MyAyMy41MzUzIDM1Ljc4OCAyMi43MzY4IDM1Ljc4OCAyMS45MDQxQzM1Ljc4OCAyMS4wNzE1IDM1LjQ1NzMgMjAuMjczIDM0Ljg2ODUgMTkuNjg0MkMzNC4yNzk3IDE5LjA5NTQgMzMuNDgxMiAxOC43NjQ2IDMyLjY0ODUgMTguNzY0NkMzMS44MTU5IDE4Ljc2NDYgMzEuMDE3MyAxOS4wOTU0IDMwLjQyODYgMTkuNjg0MkMyOS44Mzk4IDIwLjI3MyAyOS41MDkgMjEuMDcxNSAyOS41MDkgMjEuOTA0MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00NC4yMTE5IDIxLjkwNDFDNDQuMjExOSAyMi43MzY4IDQ0LjU0MjcgMjMuNTM1MyA0NS4xMzE1IDI0LjEyNDFDNDUuNzIwMiAyNC43MTI5IDQ2LjUxODggMjUuMDQzNiA0Ny4zNTE0IDI1LjA0MzZDNDguMTg0MSAyNS4wNDM2IDQ4Ljk4MjYgMjQuNzEyOSA0OS41NzE0IDI0LjEyNDFDNTAuMTYwMSAyMy41MzUzIDUwLjQ5MDkgMjIuNzM2OCA1MC40OTA5IDIxLjkwNDFDNTAuNDkwOSAyMS40OTE5IDUwLjQwOTcgMjEuMDgzNiA1MC4yNTE5IDIwLjcwMjdDNTAuMDk0MiAyMC4zMjE4IDQ5Ljg2MjkgMTkuOTc1NyA0OS41NzE0IDE5LjY4NDJDNDkuMjc5OCAxOS4zOTI3IDQ4LjkzMzggMTkuMTYxNCA0OC41NTI4IDE5LjAwMzZDNDguMTcxOSAxOC44NDU5IDQ3Ljc2MzcgMTguNzY0NiA0Ny4zNTE0IDE4Ljc2NDZDNDYuOTM5MSAxOC43NjQ2IDQ2LjUzMDkgMTguODQ1OSA0Ni4xNSAxOS4wMDM2QzQ1Ljc2OTEgMTkuMTYxNCA0NS40MjMgMTkuMzkyNyA0NS4xMzE1IDE5LjY4NDJDNDQuODM5OSAxOS45NzU3IDQ0LjYwODcgMjAuMzIxOCA0NC40NTA5IDIwLjcwMjdDNDQuMjkzMSAyMS4wODM2IDQ0LjIxMTkgMjEuNDkxOSA0NC4yMTE5IDIxLjkwNDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjEuNjUwNCA0My45MDAxQzI0LjA5NjUgNDIuNjE5NiAyNi43Mjg2IDQxLjczMTIgMjkuNDUwNCA0MS4yNjc2TDIxLjY1MDQgNDMuOTAwMVpcIlxuICAgICAgICBmaWxsPVwiI0VCNzMyMlwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMS42NTA0IDQzLjkwMDFDMjQuMDk2NSA0Mi42MTk2IDI2LjcyODYgNDEuNzMxMiAyOS40NTA0IDQxLjI2NzZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU4LjM0OTMgNDMuOTAwMUM1NS43MzYzIDQxLjI2NzYgNTAuNTQ5MyA0MS4yNjc2IDUwLjU0OTMgNDEuMjY3Nkw1OC4zNDkzIDQzLjkwMDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU4LjM0OTMgNDMuOTAwMUM1NS43MzYzIDQxLjI2NzYgNTAuNTQ5MyA0MS4yNjc2IDUwLjU0OTMgNDEuMjY3NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBNYWlsID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzEuMjAwMSA2Ni41MDA1Qzc3LjA1MDEgNjMuODQ4NSA3OC4wODM2IDUwLjIzNzUgNzguMDgzNiA0MEM3OC4wODM2IDI5Ljc2MjUgNzYuOTMzMSAxNi4xNTE1IDcxLjIwMDEgMTMuNDk5NUM2OC4zMTQxIDEwLjg0NzUgNTIuODcwMSAxMC4xMjYgNDAuMDAwMSAxMC4xMjZDMjcuMTMwMSAxMC4xMjYgMTEuNzY0MSAxMC44NDc1IDguODAwMSAxMy40OTk1QzMuMDY3MSAxNi4xNTE1IDEuOTc1MSAyOS43NjI1IDEuOTc1MSA0MEMxLjk3NTEgNTAuMjM3NSAzLjA2NzEgNjMuODQ4NSA4LjgwMDEgNjYuNTAwNUMxMS43MDU2IDY5LjE1MjUgMjcuMTQ5NiA2OS44NzQgNDAuMDAwMSA2OS44NzRDNTIuODUwNiA2OS44NzQgNjguMjU1NiA2OS4yNSA3MS4yMDAxIDY2LjUwMDVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMC4xMDY3IDI2LjM1MDFDMTcuMjI0MiAzMy43Nzk2IDI3LjUzOTcgNDEuODEzNiAzMC43MTgyIDQzLjE5ODFDMzMuNjA3MyA0NC42MTUgMzYuNzgyNCA0NS4zNTE3IDQwLjAwMDIgNDUuMzUxN0M0My4yMTggNDUuMzUxNyA0Ni4zOTMxIDQ0LjYxNSA0OS4yODIyIDQzLjE5ODFDNTIuNDQxMiA0MS45NTAxIDYyLjc1NjcgMzMuODU3NiA2OS44NzQyIDI2LjM1MDFcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuMTM4NyA0Mi43MTA0TDE1LjU2NjcgNTYuMzAxOVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MC44NjE2IDQyLjcxMDRMNjQuNDUzMSA1Ni4zMDE5XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3LjY0NzcgMTUuNjgzNEM2MS4xNTE3IDE1LjY3NjUgNjQuNjI5OCAxNi4yODM3IDY3LjkyNDIgMTcuNDc3NFwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBObyA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEuOTc1MSA0MC4wMDAxQzEuOTc1MSA1MC4wODUgNS45ODEyOSA1OS43NTY4IDEzLjExMjQgNjYuODg3OEMyMC4yNDM0IDc0LjAxODkgMjkuOTE1MiA3OC4wMjUxIDQwLjAwMDEgNzguMDI1MUM1MC4wODUgNzguMDI1MSA1OS43NTY4IDc0LjAxODkgNjYuODg3OCA2Ni44ODc4Qzc0LjAxODkgNTkuNzU2OCA3OC4wMjUxIDUwLjA4NSA3OC4wMjUxIDQwLjAwMDFDNzguMDI1MSAyOS45MTUyIDc0LjAxODkgMjAuMjQzNCA2Ni44ODc4IDEzLjExMjRDNTkuNzU2OCA1Ljk4MTI5IDUwLjA4NSAxLjk3NTEgNDAuMDAwMSAxLjk3NTFDMjkuOTE1MiAxLjk3NTEgMjAuMjQzNCA1Ljk4MTI5IDEzLjExMjQgMTMuMTEyNEM1Ljk4MTI5IDIwLjI0MzQgMS45NzUxIDI5LjkxNTIgMS45NzUxIDQwLjAwMDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuZGFuZ2VyfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU5LjY1NiA1MC41NDk1QzU5LjM0NCA0OS4wNDggNTUuMTUxNSA0NC40MDcgNTAuOTIgNDBDNTUuMTUxNSAzNS41OTMgNTkuMzQ0IDMwLjk1MiA1OS42NTYgMjkuNDUwNUM2MC41NTMgMjcuNzE1IDU4LjQyNzUgMjUuMzM2IDU2LjU1NTUgMjMuNDQ0NUM1NC42ODM1IDIxLjU1MyA1Mi4yODUgMTkuNTQ0NSA1MC41NDk1IDIwLjM0NEM0OS4wNDggMjAuNjU2IDQ0LjQwNyAyNC44NDg1IDQwIDI5LjA4QzM1LjU5MyAyNC44NDg1IDMwLjk1MiAyMC42NTYgMjkuNDUwNSAyMC4zNDRDMjcuNzE1IDE5LjQ0NyAyNS4zMzYgMjEuNTcyNSAyMy40NjQgMjMuNDQ0NUMyMS41OTIgMjUuMzE2NSAxOS40NDcgMjcuNzE1IDIwLjM0NCAyOS40NTA1QzIwLjY1NiAzMC45NTIgMjQuODQ4NSAzNS41OTMgMjkuMDggNDBDMjQuODQ4NSA0NC40MDcgMjAuNjU2IDQ5LjA0OCAyMC4zNDQgNTAuNTQ5NUMxOS40NDcgNTIuMjg1IDIxLjU3MjUgNTQuNjY0IDIzLjQ0NDUgNTYuNTU1NUMyNS4zMTY1IDU4LjQ0NyAyNy43MTUgNjAuNTUzIDI5LjQ1MDUgNTkuNjU2QzMwLjk1MiA1OS4zNDQgMzUuNTkzIDU1LjE1MTUgNDAgNTAuOTJDNDQuNDA3IDU1LjE1MTUgNDkuMDQ4IDU5LjM0NCA1MC41NDk1IDU5LjY1NkM1Mi4yODUgNjAuNTUzIDU0LjY2NCA1OC40Mjc1IDU2LjU1NTUgNTYuNTU1NUM1OC40NDcgNTQuNjgzNSA2MC41NTMgNTIuMjg1IDU5LjY1NiA1MC41NDk1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01NC43NDIyIDEwLjc1QzU4LjYzNzMgMTIuNDIxNCA2Mi4xMzMzIDE0LjkwMDYgNjQuOTk5MiAxOC4wMjM1XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEZpbGUgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OC40NDM0IDIuMjQ4MUM0NS41NzY5IDIuMDUzMSA0Mi42NzE0IDEuOTc1MSAzOS45OTk5IDEuOTc1MUMyOS4zNzI0IDEuOTc1MSAxNS4yNTQ0IDMuMDY3MSAxMi41MjQ0IDguODAwMUM5Ljc3NDkgMTEuNjg2MSA5LjAxNDQgMjcuMTQ5NiA5LjAxNDQgNDAuMDAwMUM5LjAxNDQgNTIuODUwNiA5Ljc3NDkgNjguMjU1NiAxMi41MjQ0IDcxLjIwMDFDMTUuMjU0NCA3Ny4wNTAxIDI5LjM3MjQgNzguMDgzNiAzOS45OTk5IDc4LjA4MzZDNTAuNjI3NCA3OC4wODM2IDY0Ljc0NTQgNzYuOTMzMSA2Ny40NzU0IDcxLjIwMDFDNzAuMjI0OSA2OC4zMTQxIDcwLjk4NTQgNTIuODUwNiA3MC45ODU0IDQwLjAwMDFDNzAuOTg1NCAzNS44ODU2IDcwLjk4NTQgMzEuNDc4NiA3MC43MTI0IDI3LjMyNTFDNzAuNDU4OSAyMS45NDMxIDU0LjE1NjkgMi42MTg2IDQ4LjQ0MzQgMi4yNDgxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDUuNjM1NSAxMC40MTg3QzQ1LjYzNTUgMTYuMDU0MiA0NS42MzU1IDIxLjY4OTcgNDguNDQzNSAyNC41MTcyQzUxLjI1MTUgMjcuMzQ0NyA1Ni45MDY1IDI3LjMyNTIgNjIuNTQyIDI3LjMyNTJcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTIuNTk2OSAxMS4yMThDNTQuNjg4OCAxMi44NjE0IDU2LjU0NTYgMTQuNzgzOCA1OC4xMTU0IDE2LjkzMTVcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgWWVzID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMi44OTE2IDQwLjAwMDFDMi44OTE2IDQ0Ljk5MzYgMy44NTE0NCA0OS45MzgyIDUuNzE2MzIgNTQuNTUxNkM3LjU4MTE5IDU5LjE2NSAxMC4zMTQ2IDYzLjM1NjkgMTMuNzYwNCA2Ni44ODc4QzE3LjIwNjMgNzAuNDE4OCAyMS4yOTcxIDczLjIxOTcgMjUuNzk5MyA3NS4xMzA2QzMwLjMwMTUgNzcuMDQxNiAzNS4xMjY5IDc4LjAyNTEgNDAuMDAwMSA3OC4wMjUxQzQ0Ljg3MzMgNzguMDI1MSA0OS42OTg3IDc3LjA0MTYgNTQuMjAwOSA3NS4xMzA2QzU4LjcwMzEgNzMuMjE5NyA2Mi43OTM5IDcwLjQxODggNjYuMjM5OCA2Ni44ODc4QzY5LjY4NTYgNjMuMzU2OSA3Mi40MTkgNTkuMTY1IDc0LjI4MzkgNTQuNTUxNkM3Ni4xNDg4IDQ5LjkzODIgNzcuMTA4NiA0NC45OTM2IDc3LjEwODYgNDAuMDAwMUM3Ny4xMDg2IDM1LjAwNjYgNzYuMTQ4OCAzMC4wNjIgNzQuMjgzOSAyNS40NDg2QzcyLjQxOSAyMC44MzUyIDY5LjY4NTYgMTYuNjQzMyA2Ni4yMzk4IDEzLjExMjRDNjIuNzkzOSA5LjU4MTQxIDU4LjcwMzEgNi43ODA1MSA1NC4yMDA5IDQuODY5NThDNDkuNjk4NyAyLjk1ODY0IDQ0Ljg3MzMgMS45NzUxIDQwLjAwMDEgMS45NzUxQzM1LjEyNjkgMS45NzUxIDMwLjMwMTUgMi45NTg2NCAyNS43OTkzIDQuODY5NThDMjEuMjk3MSA2Ljc4MDUxIDE3LjIwNjMgOS41ODE0MSAxMy43NjA0IDEzLjExMjRDMTAuMzE0NiAxNi42NDMzIDcuNTgxMTkgMjAuODM1MiA1LjcxNjMyIDI1LjQ0ODZDMy44NTE0NCAzMC4wNjIgMi44OTE2IDM1LjAwNjYgMi44OTE2IDQwLjAwMDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VjY2Vzc31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01NC44NTkxIDEwLjI2MjdDNTguNjc0NiAxMS45MzU1IDYyLjA4MTIgMTQuNDE3MiA2NC44NDMxIDE3LjUzNjJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3LjM1NSAyMi45MTgxQzU2Ljg4NDEgMjIuNDQ2NCA1Ni4zMjQ5IDIyLjA3MjIgNTUuNzA5MiAyMS44MTY5QzU1LjA5MzUgMjEuNTYxNiA1NC40MzM2IDIxLjQzMDIgNTMuNzY3IDIxLjQzMDJDNTMuMTAwNSAyMS40MzAyIDUyLjQ0MDYgMjEuNTYxNiA1MS44MjQ5IDIxLjgxNjlDNTEuMjA5MiAyMi4wNzIyIDUwLjY1IDIyLjQ0NjQgNTAuMTc5IDIyLjkxODFDNDYuMjE1OCAyNi4zMDM0IDQyLjcwMzIgMzAuMTgzMSAzOS43MjcgMzQuNDYyMUMzOC40OTg1IDM2LjEwMDEgMzcuMzQ4IDM3LjY3OTYgMzYuMjk1IDM5LjE2MTZDMzIuMzk1IDM2LjE1ODYgMjkuNDMxIDM0LjA1MjYgMjguMTgzIDMzLjg5NjZDMjYuMDU3NSAzMy4wNTgxIDIzLjc1NjUgMzUuNDE3NiAyMi4zMzMgMzcuNDA2NkMyMC45MDk1IDM5LjM5NTYgMTkuMTc0IDQyLjIyMzEgMjAuNSA0NC4wOTUxQzIwLjk4NzUgNDUuMjg0NiAyMy42OTggNDcuODAwMSAyNy41Mzk1IDUwLjc4MzZDMzIuMTIyIDU0LjM3MTYgMzUuNDU2NSA1Ny4wODIxIDM3LjI4OTUgNTcuMzM1NkM0MC4yNzMgNTguNTI1MSA0Mi4zNzkgNTQuODk4MSA1MC45Mzk1IDQzLjMxNTFDNTQuMTg4IDM5LjIxNjEgNTYuOTM3MyAzNC43NDUyIDU5LjEyOTUgMjkuOTk2NkM1OS43ODE3IDI4LjgxMDYgNTkuOTYxMiAyNy40MjE4IDU5LjYzMiAyNi4xMDlDNTkuMzAyOSAyNC43OTYxIDU4LjQ4OTUgMjMuNjU2MyA1Ny4zNTUgMjIuOTE4MVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBOb3RlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzYuMjExNiAyNC44ODQ2Qzc0LjU1NDEgMjAuNjcyNiA2My42MzQxIDIwLjA4NzYgNTcuMjU3NiAyMC4wODc2QzUxLjE4ODYgMjAuNDA5OSA0NS4yNzkgMjIuMTQ2MSA0MC4wMDAxIDI1LjE1NzZDMzQuNzIxMiAyMi4xNDYxIDI4LjgxMTYgMjAuNDA5OSAyMi43NDI2IDIwLjA4NzZDMTYuMzY2MSAyMC4wODc2IDUuNDQ2MSAyMC42NzI2IDMuNzg4NiAyNC44ODQ2QzIuMTMxMSAyNy4wMTAxIDEuOTc1MSAzOC4zMjAxIDEuOTc1MSA0Ny42OTk2QzEuOTc1MSA1Ny4wNzkxIDIuMTMxMSA2OC40MDg2IDMuNzg4NiA3MC41MzQxQzUuNDQ2MSA3NC43ODUxIDE0LjY1MDEgNzEuMDgwMSAyMi43NDI2IDcxLjA4MDFDMjYuMjI5MSA3MS4xOTAxIDI5LjcwMjkgNzEuNTU1MSAzMy4xMzYxIDcyLjE3MjFDMzMuOTE2MSA3NS40MDkxIDM3LjczODEgNzUuODU3NyA0MC4wMDAxIDc1Ljg1NzdDNDIuMjYyMSA3NS44NTc3IDQ2LjA0NTEgNzUuNDA5MSA0Ni44NDQ2IDcyLjIxMTFDNTAuMjg1OCA3MS41OTcyIDUzLjc2NDkgNzEuMjE5MyA1Ny4yNTc2IDcxLjA4MDFDNjYuMDUyMSA3MS4wODAxIDc0LjU1NDEgNzQuNzg1MSA3Ni4yMTE2IDcwLjUzNDFDNzcuODY5MSA2OC40MDg2IDc4LjAyNTEgNTcuMDk4NiA3OC4wMjUxIDQ3LjY5OTZDNzguMDI1MSAzOC4zMDA2IDc3Ljg2OTEgMjcuMDEwMSA3Ni4yMTE2IDI0Ljg4NDZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS44NiAzMi43NjI3QzIzLjk2NDcgMzIuMDgwMSAxOC4wMTAzIDMyLjA4MDEgMTIuMTE1IDMyLjc2MjdcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5Ljg2IDQ1LjQzNzdDMjMuOTY0NyA0NC43NTUxIDE4LjAxMDMgNDQuNzU1MSAxMi4xMTUgNDUuNDM3N1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuODYgNTguNjE5NkMyMy45NjQ3IDU3LjkzNyAxOC4wMTAzIDU3LjkzNyAxMi4xMTUgNTguNjE5NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjcuODg1MSAzMi43NjI3QzYxLjk4OTggMzIuMDgwMSA1Ni4wMzU0IDMyLjA4MDEgNTAuMTQwMSAzMi43NjI3XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02Ny44ODUxIDQ1LjQzNzdDNjEuOTg5OCA0NC43NTUxIDU2LjAzNTQgNDQuNzU1MSA1MC4xNDAxIDQ1LjQzNzdcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY3Ljg4NTEgNTguNjE5NkM2MS45ODk4IDU3LjkzNyA1Ni4wMzU0IDU3LjkzNyA1MC4xNDAxIDU4LjYxOTZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQwIDI1LjE1NzdWNjAuNjQ3N1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjcuMTYzNiAyNS4xNTc3QzcyLjM4OTYgMjUuOTM3NyA3Mi40ODcxIDI3LjM0MTcgNzIuNjgyMSAyOS42NjIyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zOC4zMjkyIDI2LjAyMDRDMzguMjc3NCAyNi4wNzIyIDM3LjAyNTUgMjYuODgzNyAzNS44NDI3IDMyLjMxNDFDMzUuMzgxMiAzNC4zMTc1IDM1LjE3ODEgMzYuMzcxNyAzNS4yMzg0IDM4LjQyNjZDMzUuMzE0OSAzOS4wNTk1IDM1LjYwMTUgMzkuNjQ4NCAzNi4wNTIzIDQwLjA5OTJDMzYuNTAzIDQwLjU1IDM3LjA5MTkgNDAuODM2NSAzNy43MjQ4IDQwLjkxMzFDMzkuNzc5OCA0MC45NzM0IDQxLjgzNCA0MC43NzAzIDQzLjgzNzMgNDAuMzA4N0M0NC41ODg0IDQwLjE0NDcgNDguODAxNSAzOS4xNjA1IDUwLjEzOTcgMzcuODIyM0w1Ny4wNDY1IDMwLjkxNTVDNjAuNTc3NSAyNy4zNzU4IDY4LjczNjEgMTguODgwNSA2OC43NTM0IDE3LjA1ODlDNjkuMjE5NiAxNS42OTQ4IDY3LjczNDYgMTIuMzc5NSA2NS43NDkgMTAuMzkzOUM2My43NjMzIDguNDA4MTcgNjAuNDQ4IDYuOTIzMjIgNTkuMDc1MyA3LjM4OTQyQzU3LjI2MjMgNy4zODk0MiA0OC43NjcgMTUuNTY1MyA0NS4yNjE4IDE5LjExMzZMMzguMzI5MiAyNi4wMjA0WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDguMTQ1MyAzNC44MDkyQzQ3LjIyMDQgMzMuNDk2NyA0Ni4xNzA5IDMyLjI3NjYgNDUuMDExNCAzMS4xNjU5QzQzLjkwNDUgMzAuMDA1NiA0Mi42ODcyIDI4Ljk1NiA0MS4zNzY3IDI4LjAzMlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjMuOTI3MyAxOS4wMjcyQzYzLjAwODcgMTcuNzA5OCA2MS45NTg3IDE2LjQ4OTEgNjAuNzkzMyAxNS4zODM5QzU5LjY5NDcgMTQuMjI1IDU4LjQ4NjEgMTMuMTc1NCA1Ny4xODQ2IDEyLjI1XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OS42MzY1IDkuODE1MzFDNjAuMTcxNyA5LjQwMDkxIDYyLjE2NjEgMTAuNDExIDYzLjcxMTUgMTEuNjgwMVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBmaWxsPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYnJhbmQvYnJhbmQuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IEZlbmNlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBGaWd1cmVDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKEZpZ3VyZUNvbnRleHQpO1xuICBjb25zdCBJc1NrZWxldG9uID0gRmlndXJlQ29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc2LjgzNTQgMjMuNjAwNUM3My43Mzc2IDIwLjg1MjkgNzAuMzQzMSAxOC40NTkxIDY2LjcxNDkgMTYuNDYzNUM2My4yMTQ4IDE0LjI4NDUgNTkuNDg3OCAxMi40OTMgNTUuNTk5OSAxMS4xMjA1QzU0LjQyMzYgMTAuODYyNyA1My4xOTc4IDEwLjk1MDcgNTIuMDcwNCAxMS4zNzRDNDguMzg1MSAxMy4yNjIyIDQ0LjkxOTEgMTUuNTUxMSA0MS43MzU0IDE4LjE5OUMzOC40MjY5IDIwLjY5NzYgMzUuMzk5NiAyMy41NDgzIDMyLjcwNjkgMjYuNzAxQzMyLjEyNzcgMjcuNjcwMyAzMS44NzA0IDI4Ljc5ODEgMzEuOTcyIDI5LjkyMjdDMzIuMDczNiAzMS4wNDczIDMyLjUyODkgMzIuMTEwOCAzMy4yNzI0IDMyLjk2MDVDMzMuOTAyNyAzMy44Mjg5IDM0Ljc3NjUgMzQuNDkwNyAzNS43ODMyIDM0Ljg2MjJDMzYuNzg5OSAzNS4yMzM2IDM3Ljg4NDIgMzUuMjk3OSAzOC45Mjc0IDM1LjA0N1YzNi43MjRDMzkuMjc4NCA0MS41NiA0MS4wNTI5IDQ3LjI5MyA0Mi41MTU0IDQ4LjI4NzVDNDQuMDM2NCA1MC4zNzQgNTEuMTkyOSA1MC45Nzg1IDU2LjUzNTkgNTAuNjA4QzYxLjg3ODkgNTAuMjM3NSA2OC44NTk5IDQ4LjY1OCA3MC4xODU5IDQ2LjM1N0M3MS40NzI5IDQ1LjE2NzUgNzIuNDQ3OSAzOS4yMzk1IDcyLjEzNTkgMzQuNDAzNUM3Mi4xMzU5IDMzLjg1NzUgNzIuMDM4NCAzMy4zMTE1IDcxLjk2MDQgMzIuNzQ2QzczLjAyNjMgMzIuODQzNSA3NC4wOTcyIDMyLjYyNTcgNzUuMDQwMiAzMi4xMTk1Qzc1Ljk4MzMgMzEuNjEzMyA3Ni43NTY3IDMwLjg0MTIgNzcuMjY0NSAyOS44OTlDNzcuODc0MiAyOC45NDA3IDc4LjE2MTUgMjcuODEyNSA3OC4wODQzIDI2LjY3OTNDNzguMDA3MiAyNS41NDYxIDc3LjU2OTUgMjQuNDY3MyA3Ni44MzU0IDIzLjYwMDVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU1LjQyNDUgMzQuNzc0QzQ4LjA5MjUgMzUuMjgxIDUxLjcxOTUgNDUuMzQzIDUyLjU5NyA0Ni4xODE1QzUzLjA0NTUgNDcuMDIgNTQuNzAzIDQ2LjkwMyA1Ni4yNjMgNDYuODA1NUM1Ny44MjMgNDYuNzA4IDU5LjQ2MSA0Ni41NzE1IDU5LjgxMiA0NS42NzQ1QzYwLjU3MjUgNDQuNzE5IDYyLjc1NjUgMzQuMjQ3NSA1NS40MjQ1IDM0Ljc3NFpcIlxuICAgICAgICBmaWxsPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDMuOTk3NCAzMS4zMDNDNDcuNTQ3MyAyOS40MDkyIDUwLjg1NCAyNy4wOTEyIDUzLjg0NDkgMjQuNEM1NC4wNzQ0IDI0LjE5NDYgNTQuMzY1OCAyNC4wNzE1IDU0LjY3MzEgMjQuMDUwM0M1NC45ODA0IDI0LjAyOTEgNTUuMjg1OSAyNC4xMTEgNTUuNTQxNCAyNC4yODNDNTguODczMSAyNi41NTk5IDYyLjQ2NzYgMjguNDI1OSA2Ni4yNDY5IDI5Ljg0MDVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTcuMDYyNSAxNS42NjRDNTkuODg0OSAxNi42ODE1IDYyLjUyMDIgMTguMTU3MyA2NC44NjI1IDIwLjAzMlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzEuODI5NSAzLjYxM0MzMC42NjI3IDMuNzIzNjggMjkuNTcyIDQuMjQxNDIgMjguNzQ4NSA1LjA3NTVDMjcuNzE1NyA0LjUyNDMyIDI2LjUyNjcgNC4zMzg3NiAyNS4zNzUgNC41NDlDMjQuNzEyMyA0LjU3Nzk0IDI0LjA2NDQgNC43NTQxNSAyMy40Nzg0IDUuMDY0ODNDMjIuODkyMyA1LjM3NTUgMjIuMzgyOCA1LjgxMjgzIDIxLjk4NjkgNi4zNDUwNUMyMS41OTEgNi44NzcyNiAyMS4zMTg3IDcuNDkwOTkgMjEuMTg5NyA4LjE0MTYzQzIxLjA2MDYgOC43OTIyNyAyMS4wNzgyIDkuNDYzNDkgMjEuMjQxIDEwLjEwNjVDMjEuODg0NSAxNC41NzIgMjYuNDY3IDE3LjA2OCAyOS44Nzk1IDE4LjMxNkMzMC4xMzc2IDE4LjQxNTIgMzAuNDE3IDE4LjQ0NTggMzAuNjkwNCAxOC40MDQ4QzMwLjk2MzggMTguMzYzNyAzMS4yMjE5IDE4LjI1MjUgMzEuNDM5NSAxOC4wODJDMzQuMzY0NSAxNS44OTggMzguMDMwNSAxMi4yMzIgMzcuMjg5NSA3Ljc0N0MzNy4yNjEgNy4wOTM1NSAzNy4wODg3IDYuNDU0NDQgMzYuNzg0OCA1Ljg3NTI1QzM2LjQ4MDkgNS4yOTYwNiAzNi4wNTMgNC43OTEwNCAzNS41MzE1IDQuMzk2MjJDMzUuMDEwMSA0LjAwMTQgMzQuNDA3OSAzLjcyNjUgMzMuNzY4IDMuNTkxMTFDMzMuMTI4MSAzLjQ1NTczIDMyLjQ2NjIgMy40NjMyIDMxLjgyOTUgMy42MTNaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNS42MjUgMjcuNjE3NUMxNS42MjUgMjguMTUyNyAxNS43MzA0IDI4LjY4MjcgMTUuOTM1MiAyOS4xNzcxQzE2LjE0IDI5LjY3MTYgMTYuNDQwMiAzMC4xMjA5IDE2LjgxODcgMzAuNDk5M0MxNy4xOTcxIDMwLjg3NzggMTcuNjQ2NCAzMS4xNzggMTguMTQwOSAzMS4zODI4QzE4LjYzNTMgMzEuNTg3NiAxOS4xNjUzIDMxLjY5MyAxOS43MDA1IDMxLjY5M0MyMC4yMzU3IDMxLjY5MyAyMC43NjU3IDMxLjU4NzYgMjEuMjYwMSAzMS4zODI4QzIxLjc1NDYgMzEuMTc4IDIyLjIwMzkgMzAuODc3OCAyMi41ODIzIDMwLjQ5OTNDMjIuOTYwOCAzMC4xMjA5IDIzLjI2MSAyOS42NzE2IDIzLjQ2NTggMjkuMTc3MUMyMy42NzA2IDI4LjY4MjcgMjMuNzc2IDI4LjE1MjcgMjMuNzc2IDI3LjYxNzVDMjMuNzc2IDI3LjA4MjMgMjMuNjcwNiAyNi41NTIzIDIzLjQ2NTggMjYuMDU3OUMyMy4yNjEgMjUuNTYzNCAyMi45NjA4IDI1LjExNDEgMjIuNTgyMyAyNC43MzU3QzIyLjIwMzkgMjQuMzU3MiAyMS43NTQ2IDI0LjA1NyAyMS4yNjAxIDIzLjg1MjJDMjAuNzY1NyAyMy42NDc0IDIwLjIzNTcgMjMuNTQyIDE5LjcwMDUgMjMuNTQyQzE5LjE2NTMgMjMuNTQyIDE4LjYzNTMgMjMuNjQ3NCAxOC4xNDA5IDIzLjg1MjJDMTcuNjQ2NCAyNC4wNTcgMTcuMTk3MSAyNC4zNTcyIDE2LjgxODcgMjQuNzM1N0MxNi40NDAyIDI1LjExNDEgMTYuMTQgMjUuNTYzNCAxNS45MzUyIDI2LjA1NzlDMTUuNzMwNCAyNi41NTIzIDE1LjYyNSAyNy4wODIzIDE1LjYyNSAyNy42MTc1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNi42OTM5NyAxNC4yMDE1QzYuNjkzOTcgMTUuMDU0OCA3LjAzMjk2IDE1Ljg3MzIgNy42MzYzNSAxNi40NzY2QzguMjM5NzUgMTcuMDggOS4wNTgxNCAxNy40MTkgOS45MTE0NyAxNy40MTlDMTAuNzY0OCAxNy40MTkgMTEuNTgzMiAxNy4wOCAxMi4xODY2IDE2LjQ3NjZDMTIuNzkgMTUuODczMiAxMy4xMjkgMTUuMDU0OCAxMy4xMjkgMTQuMjAxNUMxMy4xMjkgMTMuMzQ4MiAxMi43OSAxMi41Mjk4IDEyLjE4NjYgMTEuOTI2NEMxMS41ODMyIDExLjMyMyAxMC43NjQ4IDEwLjk4NCA5LjkxMTQ3IDEwLjk4NEM5LjA1ODE0IDEwLjk4NCA4LjIzOTc1IDExLjMyMyA3LjYzNjM1IDExLjkyNjRDNy4wMzI5NiAxMi41Mjk4IDYuNjkzOTcgMTMuMzQ4MiA2LjY5Mzk3IDE0LjIwMTVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MS43IDQ0LjAzNjVDNTAuMzEyMyA0My43Njk5IDQ4Ljg3NTEgNDQuMDAxMSA0Ny42NDExIDQ0LjY4OTVDNDYuNDA3IDQ1LjM3NzggNDUuNDU1MiA0Ni40NzkyIDQ0Ljk1MyA0Ny44TDM3LjMwOSA0Ni40MTU1QzM3LjMyODUgNDUuMDE5IDM2Ljg0NzggNDMuNjYxNiAzNS45NTM3IDQyLjU4ODdDMzUuMDU5NiA0MS41MTU4IDMzLjgxMTEgNDAuNzk4MSAzMi40MzQgNDAuNTY1NUMzMS4wNDg3IDQwLjI5NzcgMjkuNjEzNCA0MC41MjYxIDI4LjM3OTcgNDEuMjEwN0MyNy4xNDYgNDEuODk1MyAyNi4xOTI3IDQyLjk5MjMgMjUuNjg3IDQ0LjMwOTVMMTcuOTg0NSA0Mi44ODZDMTguMDAzMyA0MS40ODY3IDE3LjUxOTggNDAuMTI3IDE2LjYyMTcgMzkuMDUzNkMxNS43MjM3IDM3Ljk4MDMgMTQuNDcwNyAzNy4yNjQ1IDEzLjA5IDM3LjAzNkM2LjY5Mzk5IDM1Ljg2NiA1LjE1MzQ5IDQzLjYwNzUgNC42NjU5OSA0Ni4yMjA1QzMuNjMyNDkgNTEuODU2IDEuMzg5OTkgNjQuODQzIDIuMTExNDkgNjYuNDgxQzIuMzQ1NDkgNjguMDQxIDQuOTU4NDkgNjguNjY1IDcuMTQyNDkgNjkuMDc0NUM5LjMyNjQ5IDY5LjQ4NCAxMS45OTggNjkuNzk2IDEyLjc1ODUgNjguNDMxQzEzLjMyMDcgNjcuNDc1OSAxMy43MjI1IDY2LjQzNTEgMTMuOTQ4IDY1LjM1TDIxLjQxNjUgNjYuNzE1QzIxLjIyOTIgNjcuODEyMSAyMS4yMjkyIDY4LjkzMjkgMjEuNDE2NSA3MC4wM0MyMS42MzEgNzEuNTkgMjQuMjQ0IDcyLjIxNCAyNi40MjggNzIuNjIzNUMyOC42MTIgNzMuMDMzIDMxLjI4MzUgNzMuMzY0NSAzMi4wNDQgNzEuOThDMzIuNjIyNCA3MS4wMzA4IDMzLjAzMTUgNjkuOTg4MyAzMy4yNTMgNjguODk5TDQwLjY0MzUgNzAuMjQ0NUM0MC40NzExIDcxLjM0MjggNDAuNDcxMSA3Mi40NjEyIDQwLjY0MzUgNzMuNTU5NUM0MC44Nzc1IDc1LjExOTUgNDMuNDkwNSA3NS43NDM1IDQ1LjY3NDUgNzYuMTMzNUM0Ny44NTg1IDc2LjUyMzUgNTAuNTMgNzYuODc0NSA1MS4yOTA1IDc1LjQ5QzUyLjUzODUgNzQuMjAzIDU1LjAzNDUgNjEuMjk0IDU2LjA2OCA1NS42MTk1QzU2LjYxNCA1My4wMDY1IDU4LjExNTUgNDUuMjA2NSA1MS43IDQ0LjAzNjVaTTE1LjgyIDU3LjM5NEMxNi4yODggNTUuMTUxNSAxNi43MTcgNTIuODg5NSAxNy4wODc1IDUwLjk3ODVMMjMuNTYxNSA1Mi4xNjhDMjMuMjMgNTQuMTE4IDIyLjg0IDU2LjM0MSAyMi40ODkgNTguNjAzTDE1LjgyIDU3LjM5NFpNMzUuMTQ0NSA2MC45MjM1QzM1LjYxMjUgNTguNjgxIDM2LjA2MSA1Ni40MTkgMzYuNDEyIDU0LjUyNzVMNDIuODI3NSA1NS42NzhDNDIuNDc2NSA1Ny42MjggNDIuMTA2IDU5Ljg3MDUgNDEuNzU1IDYyLjEzMjVMMzUuMTQ0NSA2MC45MjM1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTEuMDk1NSA0Ny4yNzM1QzUxLjc1NDEgNDcuNDAyOCA1Mi4zNDUzIDQ3Ljc2MjEgNTIuNzYzMyA0OC4yODczQzUzLjE4MTIgNDguODEyNCA1My4zOTg4IDQ5LjQ2OTIgNTMuMzc3IDUwLjE0XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEJ1aWxkaW5nID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMzkuMDUzMiAzOC44OTIzQzM4LjcxNTYgMzguODM1NSAzOC4zNzQ5IDM4Ljc5ODUgMzguMDMyOSAzOC43ODE1QzM4LjM0MjggMzQuMjY5MyAzOC40MDE3IDI5Ljc0MzQgMzguMjA5NSAyNS4yMjQ3QzM4LjAxMDcgMTkuMTI3MyAzNy4zMjg0IDguNjY2OTkgMzQuNzMxMiA3LjE2NTc1QzMzLjM2NzkgNi4yNTM3MSAzMS43NTE4IDUuNzk0NjYgMzAuMTEyNiA1Ljg1MzlDMjkuOTk2NiA1LjA0ODI2IDI5LjY1NjcgNC4yOTE0MiAyOS4xMzE4IDMuNjY5MzhDMjguMzE4OCAyLjM4NjcxIDI0LjI0MjkgMi4zOTYwNSAyMC44NzAxIDIuNTAyMjFDMTcuNDk3NCAyLjYwODM2IDEzLjQxODYgMi44NzQxNyAxMi43MDM4IDQuMjE2ODZDMTIuMjE3OSA0Ljg3MjE0IDExLjkyNjEgNS42NTA4NyAxMS44NjE4IDYuNDY0MDdDMTAuMjMxMyA2LjUwMDcxIDguNjUxMDQgNy4wMzUwNyA3LjMzMyA3Ljk5NTUxQzQuODUzMTIgOS42NjgzOSA0Ljg3MDg0IDIwLjE2NDMgNS4wNjY4OCAyNi4yNDI0QzUuMTY4MjQgMzAuNzY0NiA1LjUyODI0IDM1LjI3NzMgNi4xNDUwNCAzOS43NTg0QzUuODAxIDM5Ljc4MzEgNS40NTkxMiAzOS44MzE4IDUuMTIxODggMzkuOTA0MUMxLjk3NTEzIDQwLjM1MjQgMi4zMTMyNCA0My4wMDI4IDIuMzUzOTcgNDQuNTMzMkMyLjM5NDcgNDYuMDYzNiAyLjI1NTczIDQ4LjY4MzYgNS40Mjk3NiA0OC45OEM3LjAxMjUyIDQ5LjMwNiAxNS40MjkyIDQ5LjA3MjQgMjIuMzg5OCA0OC44NDkyQzI5LjM1MDMgNDguNjI1NiAzNy43NzI1IDQ4LjI5MjggMzkuMzQ0NiA0Ny44NTI0QzQyLjQ5MTIgNDcuNDA0IDQyLjE1MDQgNDQuNzM0NCA0Mi4xMTI0IDQzLjIyMzJDNDIuMDc0NCA0MS43MTIgNDIuMjI3MiAzOS4xODg3IDM5LjA1MzIgMzguODkyM1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTE3LjQ4OTUgMTguNzIyQzE3Ljk5OTggMTguNDMyNyAxOC4wMzM1IDE3LjAwOTcgMTcuOTk4MSAxNS45MzE0QzE3Ljk2MjcgMTQuODUzMiAxNy44MjI2IDEzLjQ1NDkgMTcuMzEyNiAxMy4xOTI3QzE2LjQ1NTkgMTIuODE4NCAxNS41MjAyIDEyLjY2MDggMTQuNTg4MiAxMi43MzM4QzEzLjY0NjggMTIuNzE3NCAxMi43MTY0IDEyLjkzOCAxMS44ODI2IDEzLjM3NTJDMTEuMzkxNiAxMy42NjE4IDExLjMzODYgMTUuMDg3NiAxMS4zNzQgMTYuMTY1OEMxMS40MDk0IDE3LjI0NDEgMTEuNTQ5NCAxOC42NDI0IDEyLjA1OTUgMTguOTA0NkMxMi45MjQxIDE5LjI3NSAxMy44NjUzIDE5LjQzMTQgMTQuODAzMiAxOS4zNjA3QzE1LjczODMgMTkuMzc4OSAxNi42NjI3IDE5LjE1OTEgMTcuNDg5NSAxOC43MjJaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTMwLjc0MjQgMTguMjkxNUMzMS4yNDk5IDE3Ljk4MjggMzEuMjg2NCAxNi41NzkxIDMxLjI1MSAxNS41MDA5QzMxLjIxNTYgMTQuNDIyNiAzMS4wNzU1IDEzLjAyNDMgMzAuNTY1NCAxMi43NjIxQzI5LjcwNyAxMi40MTQyIDI4Ljc3NDQgMTIuMjg5NSAyNy44NTQ3IDEyLjM5OThDMjYuOTEyMiAxMi4zNzI5IDI1Ljk3OTIgMTIuNTk0MSAyNS4xNDkyIDEzLjA0MTJDMjQuNjU4MiAxMy4zMjc4IDI0LjYwNTIgMTQuNzUzNSAyNC42Mzc4IDE1LjgxMjVDMjQuNjcwNSAxNi44NzE1IDI0LjgxNiAxOC4zMDgzIDI1LjMyMzQgMTguNTUxMkMyNi4xOTI4IDE4Ljg5MyAyNy4xMjI2IDE5LjA1NDggMjguMDU2NSAxOS4wMjY4QzI4Ljk5MDMgMTguOTk4NyAyOS45MDg4IDE4Ljc4MTQgMzAuNzU2MSAxOC4zODhMMzAuNzQyNCAxOC4yOTE1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xNy43ODM2IDI4LjY2NTlDMTguMjc0NiAyOC4zNzkzIDE4LjMyNzYgMjYuOTUzNiAxOC4yOTIxIDI1Ljg3NTNDMTguMjU2NyAyNC43OTcgMTguMTE2NyAyMy4zOTg4IDE3LjYwNjYgMjMuMTM2NkMxNi43NzI2IDIyLjc3NjYgMTUuODY2MyAyMi42MTU3IDE0Ljk1OTQgMjIuNjY2N0MxNC4wMjQ1IDIyLjY1MDIgMTMuMTAwNiAyMi44Njk5IDEyLjI3MzEgMjMuMzA1NEMxMS43ODIxIDIzLjU5MiAxMS43MjkxIDI1LjAxNzcgMTEuNzY0NSAyNi4wOTZDMTEuNzk5OSAyNy4xNzQzIDExLjk0IDI4LjU3MjUgMTIuNDUwMSAyOC44MzQ3QzEzLjMxNDcgMjkuMjA1MSAxNC4yNTU4IDI5LjM2MTYgMTUuMTkzOCAyOS4yOTA4QzE2LjA5NTIgMjkuMjk3MSAxNi45ODQzIDI5LjA4MjYgMTcuNzgzNiAyOC42NjU5WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0zMS4wNzUzIDI4LjIzMDNDMzEuNTYzNiAyNy45MjQ0IDMxLjYxNjYgMjYuNDk4NiAzMS41ODM5IDI1LjQzOTdDMzEuNTUxMiAyNC4zODA3IDMxLjQwODQgMjIuOTYzMiAzMC44OTg0IDIyLjcwMUMzMC4wMzkgMjIuMzA0NyAyOS4wOTI3IDIyLjEzNDQgMjguMTQ5MSAyMi4yMDYyQzI3LjIxMyAyMi4xNzgyIDI2LjI4NjIgMjIuMzk4NiAyNS40NjI4IDIyLjg0NDlDMjQuOTcxOCAyMy4xMzE1IDI0LjkxODkgMjQuNTU3MiAyNC45NTE1IDI1LjYxNjJDMjQuOTg0MiAyNi42NzUyIDI1LjEzNTIgMjguMTUwNiAyNS42MzQyIDI4LjQ3MzVDMjYuNTAzNyAyOC44MTUzIDI3LjQzMzUgMjguOTc3MSAyOC4zNjc0IDI4Ljk0OUMyOS4zMDEyIDI4LjkyMSAzMC4yMTk2IDI4LjcwMzcgMzEuMDY3IDI4LjMxMDJMMzEuMDc1MyAyOC4yMzAzWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xOC4xNTM3IDM4LjU5OTVDMTguNjQ0NyAzOC4zMTI5IDE4LjY5NzcgMzYuODg3MiAxOC42NjIyIDM1LjgwODlDMTguNjI2OCAzNC43MzA3IDE4LjQ2MTkgMzMuNDM0NSAxNy45NzY3IDMzLjA3MDNDMTcuMTEyMSAzMi42OTk4IDE2LjE3MDkgMzIuNTQzMyAxNS4yMzMgMzIuNjE0MUMxNC4yOTc5IDMyLjU5NTkgMTMuMzczNSAzMi44MTU3IDEyLjU0NjcgMzMuMjUyN0MxMi4wMzY0IDMzLjU0MjEgMTIuMDAyNyAzNC45NjUxIDEyLjAzODEgMzYuMDQzM0MxMi4wNzM1IDM3LjEyMTYgMTIuMjEzNiAzOC41MTk5IDEyLjcyMzcgMzguNzgyMUMxMy41ODA0IDM5LjE1NjQgMTQuNTE2IDM5LjMxNCAxNS40NDgxIDM5LjI0MUMxNi4zODk1IDM5LjI1NzMgMTcuMzE5OCAzOS4wMzY3IDE4LjE1MzcgMzguNTk5NVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMzEuNDA0NiAzOC4xNjk0QzMxLjg5MjggMzcuODYzNSAzMS45NDU4IDM2LjQzNzggMzEuOTEzMiAzNS4zNzg4QzMxLjg4MDUgMzQuMzE5OCAzMS43Mzc3IDMyLjkwMjMgMzEuMjI3NiAzMi42NDAxQzMwLjM2NjUgMzIuMjU3OSAyOS40MjI0IDMyLjEwMSAyOC40ODM5IDMyLjE4MzlDMjcuNTQ3OCAzMi4xNTU5IDI2LjYyMSAzMi4zNzYzIDI1Ljc5NzYgMzIuODIyNkMyNS4yODczIDMzLjExMiAyNS4yNTM2IDM0LjUzNDkgMjUuMjg2MyAzNS41OTM5QzI1LjMxODkgMzYuNjUyOSAyNS40NjQ1IDM4LjA4OTcgMjUuOTcxOCAzOC4zMzI2QzI2LjgyNzIgMzguNzE1NSAyNy43NjQ0IDM4Ljg3OTggMjguNjk5IDM4LjgxMDhDMjkuNjM5MyAzOC44MTc2IDMwLjU2NzQgMzguNTk3NSAzMS40MDQ2IDM4LjE2OTRaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTI5LjYyNSA4LjkzNjUyQzMzLjM1MzMgOS4yNTI0NCAzMi45NjcyIDkuMzA3NDQgMzMuNjA2MiAxMS4zMDQzXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk03MS4wODI4IDEzLjA5MjRDNjkuOTMxMiAxMi44NzQ3IDY4LjczOTYgMTMuMDY5MSA2Ny43MTY4IDEzLjY0MTZDNjYuODc3NiAxMi44MjUzIDY1Ljc4NzIgMTIuMzE2OCA2NC42MjI0IDEyLjE5ODlDNjMuOTc3NiAxMi4wNDI2IDYzLjMwNjQgMTIuMDMxOSA2Mi42NTcyIDEyLjE2NzZDNjIuMDA3NiAxMi4zMDMzIDYxLjM5NjggMTIuNTgxOSA2MC44Njg4IDEyLjk4MzJDNjAuMzQwNCAxMy4zODQ1IDU5LjkwODQgMTMuODk4NCA1OS42MDM2IDE0LjQ4NzZDNTkuMjk5MiAxNS4wNzY4IDU5LjEyOTYgMTUuNzI2NSA1OS4xMDcyIDE2LjM4OTVDNTguNDg1MiAyMC44NTggNjIuMTk0IDI0LjUyODYgNjUuMTI1NiAyNi42NzUzQzY1LjM0NiAyNi44NDIzIDY1LjYwNiAyNi45NDkyIDY1Ljg4IDI2Ljk4NThDNjYuMTU0IDI3LjAyMjMgNjYuNDMyOCAyNi45ODcyIDY2LjY4OTIgMjYuODgzOEM3MC4xMDYgMjUuNTk4MiA3NC42NDYgMjMuMDk0NiA3NS4xNzk2IDE4LjU4MDNDNzUuMzM0IDE3Ljk0NDYgNzUuMzQ2IDE3LjI4MjggNzUuMjE0OCAxNi42NDJDNzUuMDgzNiAxNi4wMDEyIDc0LjgxMjggMTUuMzk3MiA3NC40MjE2IDE0Ljg3MzFDNzQuMDMwNCAxNC4zNDkgNzMuNTI4NCAxMy45MTc2IDcyLjk1MTIgMTMuNjA5OEM3Mi4zNzQgMTMuMzAyIDcxLjczNiAxMy4xMjU0IDcxLjA4MjggMTMuMDkyNFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTU5LjYwMjggMzAuNTMyOUM1OC4zMzQ0IDMxLjE1NTcgNTcuMzI2IDMyLjIwNTcgNTYuNzU1MiAzMy40OTg0QzU2LjE4NDggMzQuNzkxIDU2LjA4OCAzNi4yNDM1IDU2LjQ4MjQgMzcuNjAwNEw0OS41NDYgNDEuMDk4QzQ4LjcyMDQgMzkuOTcxNCA0Ny41MTkyIDM5LjE3NzIgNDYuMTU5NiAzOC44NTlDNDQuNzk5NiAzOC41NDA5IDQzLjM3MDggMzguNzE5NyA0Mi4xMzEyIDM5LjM2MzJDNDAuODY0IDM5Ljk4MzYgMzkuODU1NiA0MS4wMzA0IDM5LjI4MjkgNDIuMzE5NkMzOC43MTAyIDQzLjYwOTIgMzguNjA5NyA0NS4wNTkyIDM4Ljk5OTEgNDYuNDE1MkwzMS45OTI1IDQ5LjkxNjhDMzEuMTY0OSA0OC43ODg0IDI5Ljk2MDEgNDcuOTk0IDI4LjU5NjggNDcuNjc4QzI3LjIzMzUgNDcuMzYxNiAyNS44MDIxIDQ3LjU0NDggMjQuNTYyMiA0OC4xOTRDMTguNzUxMyA1MS4xMTEyIDIyLjE4MzIgNTguMjE5NiAyMy4zNjc0IDYwLjU5OTJDMjUuOTM1OSA2NS43MjA4IDMxLjk2NiA3Ny40Mzk2IDMzLjUyODQgNzguMzEyOEMzNC42NTQ2IDc5LjQxNzIgMzcuMTE2NCA3OC4zNDIgMzkuMTA2NiA3Ny4zNTM2QzQxLjA5NjggNzYuMzY1NiA0My40MTc2IDc1LjAwNiA0My4yMDI4IDczLjQ1OEM0My4wNzY0IDcyLjM1NzIgNDIuNzcwNCA3MS4yODQgNDIuMjk3MiA3MC4yODJMNDkuMDgxNiA2Ni44NzQ0QzQ5LjU5MjggNjcuODYzMiA1MC4yNjc2IDY4Ljc1OCA1MS4wNzggNjkuNTIxMkM1Mi4xODg0IDcwLjYzNzYgNTQuNjUwNCA2OS41NjIgNTYuNjQwOCA2OC41NzRDNTguNjMwOCA2Ny41ODU2IDYwLjk2MzIgNjYuMjQxNiA2MC43MzY4IDY0LjY3ODRDNjAuNjI2OCA2My41NzI0IDYwLjMyNiA2Mi40OTM2IDU5Ljg0NjggNjEuNDkwNEw2Ni41NTcyIDU4LjExNDRDNjcuMDgwOCA1OS4wOTUyIDY3Ljc1NDQgNTkuOTg4IDY4LjU1MzYgNjAuNzYwOEM2OS42Nzk2IDYxLjg2NTYgNzIuMTQxNiA2MC43OTA0IDc0LjEyIDU5Ljc4NjRDNzYuMDk4NCA1OC43ODI4IDc4LjQ0MjggNTcuNDU0IDc4LjIxNiA1NS44OTA4Qzc4LjQzNzYgNTQuMTEyIDcyLjY1NjggNDIuMzAyOCA3MC4wNjQ4IDM3LjE1MDFDNjguOTI3MiAzNC43MzUyIDY1LjQyOTIgMjcuNjAzOCA1OS42MDI4IDMwLjUzMjlaTTM5LjAwMDggNjIuODAzMkMzOC4wMjQgNjAuNzMwOCAzNy4wMDQ0IDU4LjY2NjggMzYuMTQ5NSA1Ni45MThMNDIuMDM0NCA1My45NjkyQzQyLjk0NCA1NS43MjU2IDQzLjk3MTIgNTcuNzM1MiA0NS4wNTMyIDU5Ljc1MjRMMzkuMDAwOCA2Mi44MDMyWk01Ni41NTQgNTMuOTg0QzU1LjU3NzYgNTEuOTEyIDU0LjU3MzIgNDkuODM2IDUzLjcxNDggNDguMTE0NEw1OS41MjkyIDQ1LjE3QzYwLjQyMzIgNDYuOTM4IDYxLjQ3OCA0OC45NTE2IDYyLjU2IDUwLjk2ODhMNTYuNTU0IDUzLjk4NFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNNjEuMDcwNCAzMy40ODE0QzYxLjY3NCAzMy4xODggNjIuMzYyNCAzMy4xMTg5IDYzLjAxMjQgMzMuMjg2NUM2My42NjI0IDMzLjQ1NDEgNjQuMjMxMiAzMy44NDc0IDY0LjYxOCAzNC4zOTYxXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk00NS4xNTQgMTUuODMzOEM0NS4yMTA4IDE2LjE1NDEgNDUuMzkzNiAxNi40NDg4IDQ1LjY5MiAxNi43MDExQzQ1Ljk5MDQgMTYuOTUzNSA0Ni4zOTg0IDE3LjE1ODUgNDYuODkzMiAxNy4zMDQ1QzQ3LjM4OCAxNy40NTA2IDQ3Ljk1OTYgMTcuNTM0NyA0OC41NzUyIDE3LjU1MjJDNDkuMTkxMiAxNy41Njk2IDQ5LjgzODggMTcuNTIwMSA1MC40ODIgMTcuNDA2NEM1MS4xMjUyIDE3LjI5MjYgNTEuNzUwNCAxNy4xMTY5IDUyLjMyMjggMTYuODg5M0M1Mi44OTUyIDE2LjY2MTYgNTMuNDAzMiAxNi4zODY2IDUzLjgxOCAxNi4wNzk3QzU0LjIzMjggMTUuNzcyOCA1NC41NDU2IDE1LjQ0MDIgNTQuNzM5NiAxNS4xMDA4QzU0LjkzMzIgMTQuNzYxNCA1NS4wMDM2IDE0LjQyMTggNTQuOTQ3MiAxNC4xMDE2QzU0Ljg5MDQgMTMuNzgxNCA1NC43MDc2IDEzLjQ4NjYgNTQuNDA5MiAxMy4yMzQzQzU0LjExMDggMTIuOTgyIDUzLjcwMjggMTIuNzc2OSA1My4yMDggMTIuNjMwOUM1Mi43MTMyIDEyLjQ4NDkgNTIuMTQxNiAxMi40MDA3IDUxLjUyNiAxMi4zODMzQzUwLjkxIDEyLjM2NTggNTAuMjYyNCAxMi40MTUzIDQ5LjYxOTIgMTIuNTI5MUM0OC45NzY0IDEyLjY0MjggNDguMzUwOCAxMi44MTg1IDQ3Ljc3ODQgMTMuMDQ2MkM0Ny4yMDYgMTMuMjczOCA0Ni42OTggMTMuNTQ4OSA0Ni4yODMyIDEzLjg1NThDNDUuODY4OCAxNC4xNjI2IDQ1LjU1NTYgMTQuNDk1MyA0NS4zNjIgMTQuODM0N0M0NS4xNjggMTUuMTc0MSA0NS4wOTc2IDE1LjUxMzYgNDUuMTU0IDE1LjgzMzhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk00MS40NDg0IDkuNjMwOEM0MS45OTM2IDkuOTk3MTYgNDIuODA4OCA5LjkxMzcyIDQzLjcxNDQgOS4zOTg4QzQ0LjYyIDguODgzODggNDUuNTQyIDcuOTc5NzIgNDYuMjc3NiA2Ljg4NTE2QzQ3LjAxMzIgNS43OTA1NiA0Ny41MDIgNC41OTUzMiA0Ny42MzY4IDMuNTYyMjdDNDcuNzcxNiAyLjUyOTI0IDQ3LjU0MDggMS43NDMwNiA0Ni45OTU2IDEuMzc2NjlDNDYuNzI2IDEuMTk1MjggNDYuMzg2OCAxLjEyMjQgNDUuOTk4IDEuMTYyMjFDNDUuNjA5MiAxLjIwMjAyIDQ1LjE3ODQgMS4zNTM3MyA0NC43MyAxLjYwODY4QzQ0LjI4MTYgMS44NjM2NCA0My44MjQ0IDIuMjE2ODYgNDMuMzg0NCAyLjY0ODE1QzQyLjk0NDggMy4wNzk0NSA0Mi41MzA4IDMuNTgwMzggNDIuMTY2OCA0LjEyMjM2QzQxLjgwMjQgNC42NjQzMiA0MS40OTQ4IDUuMjM2NzIgNDEuMjYxNiA1LjgwNjg4QzQxLjAyODQgNi4zNzcgNDAuODc0IDYuOTMzNzIgNDAuODA3NiA3LjQ0NTI0QzQwLjc0MDggNy45NTY3MiA0MC43NjMyIDguNDEzIDQwLjg3MzIgOC43ODhDNDAuOTgyOCA5LjE2MyA0MS4xNzg0IDkuNDQ5NCA0MS40NDg0IDkuNjMwOFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUxvYWQgfSBmcm9tIFwiLi9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7XG4gIEFsZXJ0LFxuICBDaGlsZCxcbiAgQmluLFxuICBDaGVjayxcbiAgQ2FsZW5kYXIsXG4gIENvaW5zLFxuICBGYWNlLFxuICBGYW1pbHksXG4gIEZhdm9yaXRlLFxuICBGb2xkZXIsXG4gIEZvbGxvd1VwLFxuICBJZGVhLFxuICBMaWtlLFxuICBNYXAsXG4gIE1vbmV5LFxuICBPZmZlcixcbiAgUGFzc3BvcnQsXG4gIFBhc3N3b3JkLFxuICBQaW4sXG4gIFNlYXJjaCxcbiAgU2V0dGluZyxcbiAgU3RhcixcbiAgQWRkLFxuICBBcHBsaWNhdGlvbixcbiAgQmFieSxcbiAgQm9va21hcmssXG4gIENhbmNlbCxcbiAgQ29udmVyc2F0aW9uLFxuICBEYWQsXG4gIERhdGVUaW1lLFxuICBIb21lLFxuICBJbmZvcm1hdGlvbixcbiAgTW9tLFxuICBNYWlsLFxuICBObyxcbiAgRmlsZSxcbiAgWWVzLFxuICBOb3RlLFxufSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN2Z3NcIjtcbmltcG9ydCB7IFNpemUsIFR5cGUgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmVudW1zXCI7XG5pbXBvcnQgeyBGZW5jZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5mZW5jZS5zdmdcIjtcbmltcG9ydCB7IEJ1aWxkaW5nIH0gZnJvbSBcIkAvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmJ1aWxkaW5nLnN2Z1wiO1xuXG5leHBvcnQgY29uc3QgTG9hZEZpZ3VyZSA9ICh7IHNpemUsIHR5cGUsIHNjcmVlblJlYWRlclRleHQgfTogSUZpZ3VyZUxvYWQpID0+IHtcbiAgbGV0IEZpZ3VyZVNpemUgPSBcIjIwcHhcIjtcbiAgc3dpdGNoIChzaXplKSB7XG4gICAgY2FzZSBTaXplLlNNQUxMOlxuICAgICAgRmlndXJlU2l6ZSA9IFwiMTZweFwiO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBTaXplLkxBUkdFOlxuICAgICAgRmlndXJlU2l6ZSA9IFwiNDBweFwiO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBTaXplLlhMQVJHRTpcbiAgICAgIEZpZ3VyZVNpemUgPSBcIjgwcHhcIjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgU2l6ZS5NRURJVU06XG4gICAgZGVmYXVsdDpcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgVHlwZS5DSElMRDpcbiAgICAgIHJldHVybiA8Q2hpbGQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG4gICAgY2FzZSBUeXBlLkZBTUlMWTpcbiAgICAgIHJldHVybiA8RmFtaWx5IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkNBTEVOREFSOlxuICAgICAgcmV0dXJuIDxDYWxlbmRhciBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5CSU46XG4gICAgICByZXR1cm4gPEJpbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5BTEVSVDpcbiAgICAgIHJldHVybiA8QWxlcnQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuUEFTU1dPUkQ6XG4gICAgICByZXR1cm4gPFBhc3N3b3JkIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLlNFQVJDSDpcbiAgICAgIHJldHVybiA8U2VhcmNoIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkZPTERFUjpcbiAgICAgIHJldHVybiA8Rm9sZGVyIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLlBBU1NQT1JUOlxuICAgICAgcmV0dXJuIDxQYXNzcG9ydCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5TRVRUSU5HOlxuICAgICAgcmV0dXJuIDxTZXR0aW5nIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkZBQ0U6XG4gICAgICByZXR1cm4gPEZhY2Ugc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuSURFQTpcbiAgICAgIHJldHVybiA8SWRlYSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5QSU46XG4gICAgICByZXR1cm4gPFBpbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5NT05FWTpcbiAgICAgIHJldHVybiA8TW9uZXkgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuRk9MTE9XX1VQOlxuICAgICAgcmV0dXJuIDxGb2xsb3dVcCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5GQVZPUklURTpcbiAgICAgIHJldHVybiA8RmF2b3JpdGUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuT0ZGRVI6XG4gICAgICByZXR1cm4gPE9mZmVyIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLlNUQVI6XG4gICAgICByZXR1cm4gPFN0YXIgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuTElLRTpcbiAgICAgIHJldHVybiA8TGlrZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5DSEVDSzpcbiAgICAgIHJldHVybiA8Q2hlY2sgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuQ09JTlM6XG4gICAgICByZXR1cm4gPENvaW5zIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLk1BUDpcbiAgICAgIHJldHVybiA8TWFwIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkFERDpcbiAgICAgIHJldHVybiA8QWRkIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkFQUExJQ0FUSU9OOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEFwcGxpY2F0aW9uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+XG4gICAgICApO1xuXG4gICAgY2FzZSBUeXBlLkJBQlk6XG4gICAgICByZXR1cm4gPEJhYnkgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuQk9PS01BUks6XG4gICAgICByZXR1cm4gPEJvb2ttYXJrIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkNBTkNFTDpcbiAgICAgIHJldHVybiA8Q2FuY2VsIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkNPTlZFUlNBVElPTjpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDb252ZXJzYXRpb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz5cbiAgICAgICk7XG5cbiAgICBjYXNlIFR5cGUuREFEOlxuICAgICAgcmV0dXJuIDxEYWQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuREFURVRJTUU6XG4gICAgICByZXR1cm4gPERhdGVUaW1lIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkhPTUU6XG4gICAgICByZXR1cm4gPEhvbWUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuSU5GT1JNQVRJT046XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW5mb3JtYXRpb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz5cbiAgICAgICk7XG5cbiAgICBjYXNlIFR5cGUuTU9NOlxuICAgICAgcmV0dXJuIDxNb20gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuTUFJTDpcbiAgICAgIHJldHVybiA8TWFpbCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5OTzpcbiAgICAgIHJldHVybiA8Tm8gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuRklMRTpcbiAgICAgIHJldHVybiA8RmlsZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5ZRVM6XG4gICAgICByZXR1cm4gPFllcyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5OT1RFOlxuICAgICAgcmV0dXJuIDxOb3RlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ZpZ3VyZVNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkZFTkNFOlxuICAgICAgcmV0dXJuIDxGZW5jZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtGaWd1cmVTaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5CVUlMRElORzpcbiAgICAgIHJldHVybiA8QnVpbGRpbmcgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17RmlndXJlU2l6ZX0gLz47XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIDw+IPCfmqsgTm90IEZvdW5kPC8+O1xuICB9XG59O1xuIiwiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZyYW1lIH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvZnJhbWUudHlwZXNcIjtcbmltcG9ydCB7IEZyYW1lIGFzIEJhc2VGcmFtZSB9IGZyb20gXCJAL2F0b21zL2ZyYW1lL2NvbXBvbmVudHMvZnJhbWVcIjtcbmltcG9ydCB7IENvbG9yLCBDb2xvclZhcmlhbnQgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi9mcmFtZS5lbnVtc1wiO1xuXG5jb25zdCBEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBGcmFtZUN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgRnJhbWUgPSAoe1xuICBjb250ZXh0LFxuICBhcm91bmQsXG4gIGNvbG9yID0gQ29sb3IuU1VSRkFDRVMsXG4gIHNwbGl0ID0gZmFsc2UsXG4gIHRpbnQgPSBDb2xvclZhcmlhbnQuVElOVF81MDAsXG59OiBJRnJhbWUpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxGcmFtZUN0eC5Qcm92aWRlciB2YWx1ZT17Q29tcG9uZW50Q29udGV4dH0+XG4gICAgICA8QmFzZUZyYW1lIHRpbnQ9e3RpbnR9IGFyb3VuZD17YXJvdW5kfSBjb2xvcj17Y29sb3J9IHNwbGl0PXtzcGxpdH0gLz5cbiAgICA8L0ZyYW1lQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGcmFtZUN0eCB9IGZyb20gXCJAL2F0b21zL2ZyYW1lXCI7XG5pbXBvcnQgeyBJRnJhbWVCYXNlIH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvZnJhbWUudHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZS9mcmFtZS5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlRnJhbWUgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZS9ob29rcy91c2UtZnJhbWVcIjtcbmltcG9ydCB7XG4gIFN0eWxlZEZyYW1lLFxuICBTdHlsZWRGcmFtZVBhZGRpbmcsXG4gIFN0eWxlZFNrZWxldG9uRnJhbWUsXG59IGZyb20gXCJAL2F0b21zL2ZyYW1lL2ZyYW1lLnN0eWxlXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcblxuZXhwb3J0IGNvbnN0IEZyYW1lID0gKHsgYXJvdW5kLCB0aW50LCBjb2xvciwgc3BsaXQgfTogSUZyYW1lQmFzZSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChGcmFtZUN0eCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBDb21wb25lbnRDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuXG4gIGNvbnN0IFRoZW1lID0gdXNlRnJhbWUoQ29tcG9uZW50Q29udGV4dCwgdGludCwgY29sb3IsIHNwbGl0ID8gc3BsaXQgOiBjb2xvcik7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uRnJhbWUgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZEZyYW1lUGFkZGluZyB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxQbGFjZWhvbGRlcj57YXJvdW5kfTwvUGxhY2Vob2xkZXI+XG4gICAgICAgIDwvU3R5bGVkRnJhbWVQYWRkaW5nPlxuICAgICAgPC9TdHlsZWRTa2VsZXRvbkZyYW1lPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRGcmFtZSB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZEZyYW1lUGFkZGluZyB0aGVtZT17VGhlbWV9Pnthcm91bmR9PC9TdHlsZWRGcmFtZVBhZGRpbmc+XG4gICAgPC9TdHlsZWRGcmFtZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZVJhZGl1cywgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IsIG9yRGVmYXVsdCB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5pbXBvcnQgeyBDb2xvciwgQ29sb3JWYXJpYW50S2V5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL2ZyYW1lLmVudW1zXCI7XG5pbXBvcnQgeyBJRnJhbWVUaGVtZSB9IGZyb20gXCJAL2F0b21zL2ZyYW1lL2ZyYW1lLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VGcmFtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIENvbnRleHQsXG4gIHRpbnQ6IENvbG9yVmFyaWFudEtleSxcbiAgY29sb3I6IENvbG9yLFxuICBzcGxpdDogQ29sb3IsXG4pOiBJRnJhbWVUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVGhlbWVSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgYm9yZGVyUmFkaXVzID0gVGhlbWVSYWRpdXMubWQ7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgY29uc3QgQmFja2dyb3VuZCA9IG9yRGVmYXVsdChDb2xvcnMsIFwidHJhbnNwYXJlbnRcIiwgW2NvbG9yLCB0aW50XSk7XG5cbiAgY29uc3Qgc3BsaXRCYWNrZ3JvdW5kID0gb3JEZWZhdWx0KENvbG9ycywgXCJ0cmFuc3BhcmVudFwiLCBbc3BsaXQsIHRpbnRdKTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtcbiAgICAgIENvbnRleHQuU1RBTkRBUkQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIFwibGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBcIiArXG4gICAgICAgICAgQmFja2dyb3VuZCArXG4gICAgICAgICAgXCIgMCUsIFwiICtcbiAgICAgICAgICBCYWNrZ3JvdW5kICtcbiAgICAgICAgICBcIiA1MCUsIFwiICtcbiAgICAgICAgICBzcGxpdEJhY2tncm91bmQgK1xuICAgICAgICAgIFwiIDUwJSwgXCIgK1xuICAgICAgICAgIHNwbGl0QmFja2dyb3VuZCArXG4gICAgICAgICAgXCIgMTAwJSlcIixcbiAgICAgICAgcGFkZGluZzogVXRpbGl0eS5zcGFjaW5nW1wiM1wiXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICByYWRpdXM6IGJvcmRlclJhZGl1cyxcbiAgICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICAgICAgcGFkZGluZzogVXRpbGl0eS5zcGFjaW5nW1wiM1wiXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElGcmFtZVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvZnJhbWUudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZyYW1lID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgdGhlbWU6IElGcmFtZVRoZW1lIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWluLXdpZHRoOiAxcHg7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGcmFtZVBhZGRpbmcgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSUZyYW1lVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW46ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5wYWRkaW5nfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvbkZyYW1lID0gc3R5bGVkKFN0eWxlZEZyYW1lKS53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHtcbiAgdGhlbWU6IElGcmFtZVRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGxhY2Vob2xkZXIgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG5gO1xuIiwiaW1wb3J0IHsgSVBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlci50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyLnN0eWxlXCI7XG5cbmV4cG9ydCBjb25zdCBQbGFjZWhvbGRlciA9ICh7IGNoaWxkcmVuIH06IElQbGFjZWhvbGRlcikgPT4ge1xuICByZXR1cm4gPFN0eWxlZFBsYWNlaG9sZGVyPntjaGlsZHJlbn08L1N0eWxlZFBsYWNlaG9sZGVyPjtcbn07XG4iLCJleHBvcnQgZW51bSBCYWRnZUNvbnRleHQge1xuICBTVEFOREFSRCA9IFwiU1RBTkRBUkRcIixcbiAgU0tFTEVUT04gPSBcIlNLRUxFVE9OXCIsXG59XG5cbmV4cG9ydCBlbnVtIEJhZGdlVHlwZSB7XG4gIERBWUNBUkUgPSBcIkRBWUNBUkVcIixcbiAgQ0hJTERNSU5ERVIgPSBcIkNISUxETUlOREVSXCIsXG4gIENPT1BFUkFUSVZFID0gXCJDT09QRVJBVElWRVwiLFxufVxuIiwiaW1wb3J0IHsgQmFkZ2VDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYmFkZ2UvYmFkZ2UuZW51bXNcIjtcbmltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBCYWRnZUN0eERlZmF1bHQ6IEJhZGdlQ29udGV4dCA9IEJhZGdlQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEJhZGdlQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBCYWRnZUNvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChCYWRnZUN0eERlZmF1bHQpO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQmFkZ2UgYXMgQmFzZUJhZGdlIH0gZnJvbSBcIi4vY29tcG9uZW50cy9iYWRnZVwiO1xuaW1wb3J0IHsgSUJhZGdlIH0gZnJvbSBcIkAvYXRvbXMvYmFkZ2UvYmFkZ2UudHlwZXNcIjtcbmltcG9ydCB7IEJhZGdlQ3R4LCBCYWRnZUN0eERlZmF1bHQgfSBmcm9tIFwiQC9hdG9tcy9iYWRnZS9iYWRnZS5jb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCBCYWRnZSA9ICh7IGNvbnRleHQsIHR5cGUsIHNjcmVlblJlYWRlclRleHQgfTogSUJhZGdlKSA9PiB7XG4gIGNvbnN0IEJhZGdlQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogQmFkZ2VDdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPEJhZGdlQ3R4LlByb3ZpZGVyIHZhbHVlPXtCYWRnZUNvbnRleHR9PlxuICAgICAgPEJhc2VCYWRnZSB0eXBlPXt0eXBlfSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSAvPlxuICAgIDwvQmFkZ2VDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgeyBCYWRnZUNvbnRleHQsIEJhZGdlVHlwZSB9IGZyb20gXCJAL2F0b21zL2JhZGdlL2JhZGdlLmVudW1zXCI7XG5leHBvcnQgdHlwZSB7IElCYWRnZSB9IGZyb20gXCJAL2F0b21zL2JhZGdlL2JhZGdlLnR5cGVzXCI7XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2JyYW5kL2JyYW5kLmVudW1zXCI7XG5pbXBvcnQgeyBJQnJhbmQgfSBmcm9tIFwiQC9hdG9tcy9icmFuZC9icmFuZC50eXBlc1wiO1xuaW1wb3J0IHsgQnJhbmQgYXMgQmFzZUJyYW5kIH0gZnJvbSBcIkAvYXRvbXMvYnJhbmQvY29tcG9uZW50cy9icmFuZFwiO1xuXG5jb25zdCBCcmFuZEN0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQnJhbmRDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChCcmFuZEN0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgQnJhbmQgPSAoeyBsb2dvLCBuYW1lLCBhcmlhTGFiZWwsIGNvbnRleHQgfTogSUJyYW5kKSA9PiB7XG4gIGNvbnN0IEJyYW5kQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogQnJhbmRDdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPEJyYW5kQ3R4LlByb3ZpZGVyIHZhbHVlPXtCcmFuZENvbnRleHR9PlxuICAgICAgPEJhc2VCcmFuZCBsb2dvPXtsb2dvfSBuYW1lPXtuYW1lfSBhcmlhTGFiZWw9e2FyaWFMYWJlbH0gLz5cbiAgICA8L0JyYW5kQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJQnJhbmRCYXNlIH0gZnJvbSBcIkAvYXRvbXMvYnJhbmQvYnJhbmQudHlwZXNcIjtcbmltcG9ydCB7IEJyYW5kQ3R4IH0gZnJvbSBcIkAvYXRvbXMvYnJhbmRcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9icmFuZC9icmFuZC5lbnVtc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkQnJhbmRUYWdMaW5lV3JhcHBlcixcbiAgU3R5bGVkQnJhbmRXcmFwcGVyLFxufSBmcm9tIFwiQC9hdG9tcy9icmFuZC9icmFuZC5zdHlsZXNcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgTG9nb0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28uZW51bXNcIjtcblxuaW1wb3J0IHsgUGxhaW5UZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0XCI7XG5pbXBvcnQge1xuICBUZXh0RGVjb3JhdGlvbixcbiAgQ29udGV4dCBhcyBQbGFpblRleHRDb250ZXh0LFxufSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LmVudW1zXCI7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Rm9udFdlaWdodCB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuXG5leHBvcnQgY29uc3QgQnJhbmQgPSAoeyBsb2dvLCBuYW1lLCBhcmlhTGFiZWwgfTogSUJyYW5kQmFzZSkgPT4ge1xuICBjb25zdCBCcmFuZENvbnRleHQgPSB1c2VDb250ZXh0KEJyYW5kQ3R4KTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IEJyYW5kQ29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQnJhbmRXcmFwcGVyIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH0+XG4gICAgICAgIHtSZWFjdC5jbG9uZUVsZW1lbnQobG9nbywge1xuICAgICAgICAgIGNvbnRleHQ6IExvZ29Db250ZXh0LlNLRUxFVE9OLFxuICAgICAgICB9KX1cbiAgICAgICAgPFN0eWxlZEJyYW5kVGFnTGluZVdyYXBwZXI+XG4gICAgICAgICAgPFBsYWluVGV4dFxuICAgICAgICAgICAgZm9udFdlaWdodD17VHlwb2dyYXBoeUZvbnRXZWlnaHQuQk9MRH1cbiAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPXtUZXh0RGVjb3JhdGlvbi5OT05FfVxuICAgICAgICAgICAgY29udGV4dD17UGxhaW5UZXh0Q29udGV4dC5TS0VMRVRPTn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7bmFtZX1cbiAgICAgICAgICA8L1BsYWluVGV4dD5cbiAgICAgICAgPC9TdHlsZWRCcmFuZFRhZ0xpbmVXcmFwcGVyPlxuICAgICAgPC9TdHlsZWRCcmFuZFdyYXBwZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEJyYW5kV3JhcHBlciBhcmlhLWxhYmVsPXthcmlhTGFiZWx9PlxuICAgICAge2xvZ299XG4gICAgICA8U3R5bGVkQnJhbmRUYWdMaW5lV3JhcHBlcj5cbiAgICAgICAgPFBsYWluVGV4dFxuICAgICAgICAgIGZvbnRXZWlnaHQ9e1R5cG9ncmFwaHlGb250V2VpZ2h0LkJPTER9XG4gICAgICAgICAgdGV4dERlY29yYXRpb249e1RleHREZWNvcmF0aW9uLk5PTkV9XG4gICAgICAgID5cbiAgICAgICAgICB7bmFtZX1cbiAgICAgICAgPC9QbGFpblRleHQ+XG4gICAgICA8L1N0eWxlZEJyYW5kVGFnTGluZVdyYXBwZXI+XG4gICAgPC9TdHlsZWRCcmFuZFdyYXBwZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElCcmFuZFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvYnJhbmQvYnJhbmQudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJyYW5kV3JhcHBlciA9IHN0eWxlZC5kaXY8e30+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCcmFuZFRhZ0xpbmVXcmFwcGVyID0gc3R5bGVkLmRpdjx7fT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZmxleC1mbG93OiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjsgLyogbnVtYmVyIG9mIGxpbmVzIHRvIHNob3cgKi9cbiAgbGluZS1jbGFtcDogMjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgbWluLXdpZHRoOiA4MHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJyYW5kTGFiZWwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElCcmFuZFRoZW1lIH0+YFxuICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7IC8qIFdlIHVzZSBpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgZm9udCB3ZWlnaHQgKi9cbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnJhbmRTa2VsZXRvbkxhYmVsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQnJhbmRUaGVtZSB9PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG5gO1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElQbGFpblRleHQgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LnR5cGVzXCI7XG5pbXBvcnQge1xuICBDb250ZXh0LFxuICBGb250V2VpZ2h0LFxuICBUZXh0RGVjb3JhdGlvbixcbn0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC5lbnVtc1wiO1xuaW1wb3J0IHsgUGxhaW5UZXh0IGFzIEJhc2VQbGFpblRleHQgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvY29tcG9uZW50cy9wbGFpbnRleHRcIjtcbmltcG9ydCB7XG4gIFR5cG9ncmFwaHlGb250LFxuICBUeXBvZ3JhcGh5Rm9udHMsXG4gIFR5cG9ncmFwaHlGb250V2VpZ2h0LFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcblxuY29uc3QgUGxhaW5UeHRDdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IFBsYWluVHh0Q3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoUGxhaW5UeHRDdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFBsYWluVGV4dCA9ICh7XG4gIGNoaWxkcmVuID0gXCJcIixcbiAgY29udGV4dCxcbiAgc2l6ZSA9IFR5cG9ncmFwaHlGb250Lk1ELFxuICBmb250ID0gVHlwb2dyYXBoeUZvbnRzLlBSSU1BUlksXG4gIGZvbnRXZWlnaHQgPSBUeXBvZ3JhcGh5Rm9udFdlaWdodC5OT1JNQUwsXG4gIHRleHREZWNvcmF0aW9uID0gVGV4dERlY29yYXRpb24uTk9ORSxcbn06IElQbGFpblRleHQpID0+IHtcbiAgY29uc3QgUGxhaW5UeHRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBQbGFpblR4dEN0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8UGxhaW5UeHRDdHguUHJvdmlkZXIgdmFsdWU9e1BsYWluVHh0Q29udGV4dH0+XG4gICAgICA8QmFzZVBsYWluVGV4dFxuICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICBmb250PXtmb250fVxuICAgICAgICBmb250V2VpZ2h0PXtmb250V2VpZ2h0fVxuICAgICAgICB0ZXh0RGVjb3JhdGlvbj17dGV4dERlY29yYXRpb259XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQmFzZVBsYWluVGV4dD5cbiAgICA8L1BsYWluVHh0Q3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJUGxhaW5UZXh0QmFzZSB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQudHlwZXNcIjtcbmltcG9ydCB7IFBsYWluVHh0Q3R4IH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRQbGFpblRleHQsXG4gIFN0eWxlZFNrZWxldG9uUGxhaW5UZXh0LFxuICBTdHlsZWRTa2VsZXRvblBsYWluVGV4dExpbmUsXG59IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQuc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VQbGFpblRleHQgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvaG9va3MvdXNlLXBsYWludGV4dFwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgRm9udFdlaWdodCwgVGV4dERlY29yYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LmVudW1zXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYnJhbmQvYnJhbmQuZW51bXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lRm9udHMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IG9yRGVmYXVsdCB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5cbmV4cG9ydCBjb25zdCBQbGFpblRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgc2l6ZSxcbiAgZm9udCxcbiAgZm9udFdlaWdodCxcbiAgdGV4dERlY29yYXRpb24sXG59OiBJUGxhaW5UZXh0QmFzZSkgPT4ge1xuICBjb25zdCBQbGFpblR4dENvbnRleHQgPSB1c2VDb250ZXh0KFBsYWluVHh0Q3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VQbGFpblRleHQoUGxhaW5UeHRDb250ZXh0KTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBQbGFpblR4dENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgY29uc3QgY3NzVGV4dERlY29yYXRpb24gPSBtYXRjaCh0ZXh0RGVjb3JhdGlvbiwgW1xuICAgIFtUZXh0RGVjb3JhdGlvbi5OT05FLCBcIm5vbmVcIl0sXG4gICAgW1RleHREZWNvcmF0aW9uLlVOREVSTElORSwgXCJ1bmRlcmxpbmVcIl0sXG4gICAgW1RleHREZWNvcmF0aW9uLkxJTkVfVEhST1VHSCwgXCJsaW5lLXRocm91Z2hcIl0sXG4gIF0pO1xuXG4gIGNvbnN0IGNzc0ZvbnQgPSBvckRlZmF1bHQoRm9udHMsIEZvbnRzLnByaW1hcnkubWQubm9ybWFsLCBbXG4gICAgZm9udCxcbiAgICBzaXplLFxuICAgIGZvbnRXZWlnaHQsXG4gIF0pO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvblBsYWluVGV4dD5cbiAgICAgICAgPFN0eWxlZFNrZWxldG9uUGxhaW5UZXh0TGluZSBmb250PXtjc3NGb250fSB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRTa2VsZXRvblBsYWluVGV4dExpbmU+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uUGxhaW5UZXh0PlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQbGFpblRleHRcbiAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgIGZvbnQ9e2Nzc0ZvbnR9XG4gICAgICB0ZXh0RGVjb3JhdGlvbj17Y3NzVGV4dERlY29yYXRpb259XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvU3R5bGVkUGxhaW5UZXh0PlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJUGxhaW5UZXh0VGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQbGFpblRleHQgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSVBsYWluVGV4dFRoZW1lO1xuICBmb250OiBzdHJpbmc7XG4gIHRleHREZWNvcmF0aW9uOiBzdHJpbmc7XG59PmBcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6ICR7KHByb3BzKSA9PiBwcm9wcy50ZXh0RGVjb3JhdGlvbn07XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogaW5oZXJpdDtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLmZvbnR9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25QbGFpblRleHQgPSBzdHlsZWQuc3Bhbjx7fT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uUGxhaW5UZXh0TGluZSA9IHN0eWxlZC5zcGFuLndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSVBsYWluVGV4dFRoZW1lO1xuICBmb250OiBzdHJpbmc7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLmZvbnR9O1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG5gO1xuIiwiaW1wb3J0IHsgSVBsYWluVGV4dFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBQbGFpblRleHRDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC5lbnVtc1wiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VQbGFpblRleHQgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBQbGFpblRleHRDb250ZXh0LFxuKTogSVBsYWluVGV4dFRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICByYWRpdXM6IFJhZGl1cy5ub25lLFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gIH07XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbUGxhaW5UZXh0Q29udGV4dC5TVEFOREFSRCwgU3RhbmRhcmRdLFxuICAgIFtQbGFpblRleHRDb250ZXh0LlNLRUxFVE9OLCBTa2VsZXRvbl0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJQnV0dG9uIH0gZnJvbSBcIi4vYnV0dG9uLnR5cGVzXCI7XG5pbXBvcnQgeyBCdXR0b24gYXMgQnRuIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2NvbXBvbmVudHMvYnV0dG9uXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBUeXBlIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi5lbnVtc1wiO1xuXG5jb25zdCBCdXR0b25DdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5QUklNQVJZO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQnV0dG9uQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoQnV0dG9uQ3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBCdXR0b24gPSAoe1xuICBpZCxcbiAgdGl0bGUsXG4gIGFyaWFMYWJlbCxcbiAgY2hpbGRyZW4sXG4gIG9uQ2xpY2ssXG4gIHdpdGhJY29uQmVmb3JlLFxuICB3aXRoSWNvbkFmdGVyLFxuICB0eXBlID0gVHlwZS5CVVRUT04sXG4gIGNvbnRleHQsXG59OiBJQnV0dG9uKSA9PiB7XG4gIGNvbnN0IEJ0bkNvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IEJ1dHRvbkN0eERlZmF1bHQ7XG4gIGNvbnN0IElzTmF2aWdhdGlvbiA9IHR5cGUgPT09IFR5cGUuTElOSztcblxuICByZXR1cm4gKFxuICAgIDxCdXR0b25DdHguUHJvdmlkZXIgdmFsdWU9e0J0bkNvbnRleHR9PlxuICAgICAgPEJ0blxuICAgICAgICBpZD17aWR9XG4gICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgYXJpYUxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIG9uQ2xpY2s9e0lzTmF2aWdhdGlvbiA/IHVuZGVmaW5lZCA6IG9uQ2xpY2t9XG4gICAgICAgIHdpdGhJY29uQmVmb3JlPXt3aXRoSWNvbkJlZm9yZX1cbiAgICAgICAgd2l0aEljb25BZnRlcj17d2l0aEljb25BZnRlcn1cbiAgICAgICAgdHlwZT17dHlwZX1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9CdG4+XG4gICAgPC9CdXR0b25DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgQnV0dG9uSWNvblByb3BzIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi50eXBlc1wiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEJ1dHRvbkN0eCB9IGZyb20gXCJAL2F0b21zL2J1dHRvblwiO1xuaW1wb3J0IHsgdXNlQnV0dG9uSWNvbkNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vaG9va3MvdXNlLWJ1dHRvbi5pY29uXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEljb25Db250ZXh0LCBTaXplIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25JY29uID0gKHsgaWNvbiB9OiBCdXR0b25JY29uUHJvcHMpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoQnV0dG9uQ3R4KTtcbiAgY29uc3QgSWNvbkNvbnRleHQ6IEljb25Db250ZXh0ID0gdXNlQnV0dG9uSWNvbkNvbnRleHQoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge1JlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XG4gICAgICAgIGNvbnRleHQ6IEljb25Db250ZXh0LFxuICAgICAgICBzaXplOiBTaXplLlNNQUxMLFxuICAgICAgfSl9XG4gICAgPC8+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgQ29udGV4dCBhcyBJY29uQ29udGV4dCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBCdXR0b25Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuXG5leHBvcnQgY29uc3QgdXNlQnV0dG9uSWNvbkNvbnRleHQgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBCdXR0b25Db250ZXh0LFxuKTogSWNvbkNvbnRleHQgPT4ge1xuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtCdXR0b25Db250ZXh0LkRJU0FCTEVELCBJY29uQ29udGV4dC5ESVNBQkxFRF0sXG4gICAgW0J1dHRvbkNvbnRleHQuR0hPU1QsIEljb25Db250ZXh0LlNUQU5EQVJEXSxcbiAgICBbQnV0dG9uQ29udGV4dC5VSSwgSWNvbkNvbnRleHQuREFSS10sXG4gICAgW0J1dHRvbkNvbnRleHQuTkVVVFJBTCwgSWNvbkNvbnRleHQuREFSS10sXG4gICAgW0J1dHRvbkNvbnRleHQuT1VUTElORUQsIEljb25Db250ZXh0LlNUQU5EQVJEXSxcbiAgICBbQnV0dG9uQ29udGV4dC5QUklNQVJZLCBJY29uQ29udGV4dC5MSUdIVF0sXG4gICAgW0J1dHRvbkNvbnRleHQuU1VQUE9SVElORywgSWNvbkNvbnRleHQuTElHSFRdLFxuICAgIFtCdXR0b25Db250ZXh0LlNLRUxFVE9OLCBJY29uQ29udGV4dC5ESVNBQkxFRF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQnV0dG9uVGhlbWUgfSBmcm9tIFwiLi9idXR0b24udHlwZXNcIjtcbmltcG9ydCB7XG4gIEJ1dHRvbixcbiAgQnV0dG9uSW5uZXIsXG4gIEJ1dHRvbkxhYmVsLFxuICBCdXR0b25JY29uLFxufSBmcm9tIFwiQC9iYXNlL2J1dHRvbi9idXR0b25cIjtcbmltcG9ydCB7IEJ1dHRvbk5hdmlnYXRpb24gfSBmcm9tIFwiQC9iYXNlL2J1dHRvbi9idXR0b24uc3R5bGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCdXR0b24gPSBzdHlsZWQoQnV0dG9uKTx7IHRoZW1lOiBJQnV0dG9uVGhlbWUgfT5gXG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5iYWNrZ3JvdW5kfTtcbiAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5ib3JkZXJ9O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuY29sb3J9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnV0dG9uTmF2aWdhdGlvbiA9IHN0eWxlZChCdXR0b25OYXZpZ2F0aW9uKTx7XG4gIHRoZW1lOiBJQnV0dG9uVGhlbWU7XG59PmBcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmNvbG9yfTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmNvbG9yfTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgOmhhcyg+IGEpIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCdXR0b25Ta2VsZXRvbiA9IHN0eWxlZChTdHlsZWRCdXR0b24pPHtcbiAgdGhlbWU6IElCdXR0b25UaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnV0dG9uSW5uZXIgPSBzdHlsZWQoQnV0dG9uSW5uZXIpLndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyBoYXNMYWJlbDogYm9vbGVhbiB9PmBcbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzTGFiZWxcbiAgICAgID8gY3NzYFxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjRweCAtIDJweCk7IC8qIG1pbnVzIDJweCBib3JkZXIgKi9cbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMjRweCAtIDJweCk7IC8qIG1pbnVzIDJweCBib3JkZXIgKi9cbiAgICAgICAgYFxuICAgICAgOiBjc3NgXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygxMnB4IC0gMnB4KTsgLyogbWludXMgMnB4IGJvcmRlciAqL1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygxMnB4IC0gMnB4KTsgLyogbWludXMgMnB4IGJvcmRlciAqL1xuICAgICAgICBgfVxuYDtcbmV4cG9ydCBjb25zdCBTdHlsZWRCdXR0b25MYWJlbCA9IHN0eWxlZChCdXR0b25MYWJlbCk8e30+YGA7XG4iLCJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUJhc2VMaW5rVGhlbWUgfSBmcm9tIFwiQC9iYXNlL2xpbmsvbGluay50eXBlc1wiO1xuXG5jb25zdCBiYXNlQnV0dG9uU3R5bGVzID0gY3NzYFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjpcbiAgICB0cmFuc2Zvcm0gMC42cyxcbiAgICBiYWNrZ3JvdW5kIDAuNnMsXG4gICAgYm9yZGVyIDAuNnM7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gIH1cbiAgJjpkaXNhYmxlZDphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuYDtcblxuY29uc3QgYmFzZUJ1dHRvbklubmVyU3R5bGVzID0gY3NzYFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDE2cHg7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDhweCAtIDJweCk7IC8qIG1pbnVzIDJweCBib3JkZXIgKi9cbiAgcGFkZGluZy1ib3R0b206IGNhbGMoOHB4IC0gMnB4KTsgLyogbWludXMgMnB4IGJvcmRlciAqL1xuYDtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbk5hdmlnYXRpb24gPSBzdHlsZWQuc3BhbmBcbiAgJHtiYXNlQnV0dG9uU3R5bGVzfVxuYDtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YmFzZUJ1dHRvblN0eWxlc31cbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25Jbm5lciA9IHN0eWxlZC5zcGFuYFxuICAke2Jhc2VCdXR0b25Jbm5lclN0eWxlc31cbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25MYWJlbCA9IHN0eWxlZC5zcGFuPHt9PmBgO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uSWNvbiA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgZGlzcGxheTogZmxleDtcbmA7XG4iLCJpbXBvcnQgeyBCdXR0b25MYWJlbFByb3BzIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi50eXBlc1wiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU3R5bGVkQnV0dG9uTGFiZWwgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnN0eWxlXCI7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25MYWJlbCA9ICh7IGNoaWxkcmVuIH06IEJ1dHRvbkxhYmVsUHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRCdXR0b25MYWJlbD57Y2hpbGRyZW59PC9TdHlsZWRCdXR0b25MYWJlbD47XG59O1xuIiwiaW1wb3J0IHsgQnV0dG9uSWNvbiB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9jb21wb25lbnRzL2J1dHRvbi5pY29uXCI7XG5pbXBvcnQgeyBCdXR0b25MYWJlbCB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9jb21wb25lbnRzL2J1dHRvbi5sYWJlbFwiO1xuaW1wb3J0IHsgSUJ1dHRvblRoZW1lLCBJQnV0dG9uVGhlbWVhYmxlIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkQnV0dG9uLFxuICBTdHlsZWRCdXR0b25Jbm5lcixcbiAgU3R5bGVkQnV0dG9uTmF2aWdhdGlvbixcbiAgU3R5bGVkQnV0dG9uU2tlbGV0b24sXG59IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24uc3R5bGVcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VCdXR0b25UaGVtZSB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9ob29rcy91c2UtYnV0dG9uXCI7XG5pbXBvcnQgeyBCdXR0b25DdHggfSBmcm9tIFwiQC9hdG9tcy9idXR0b25cIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlclwiO1xuaW1wb3J0IHsgQ29udGV4dCwgVHlwZSB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24uZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbiA9ICh7XG4gIGlkLFxuICB0aXRsZSxcbiAgYXJpYUxhYmVsLFxuICBjaGlsZHJlbixcbiAgb25DbGljayxcbiAgd2l0aEljb25CZWZvcmUsXG4gIHdpdGhJY29uQWZ0ZXIsXG4gIHR5cGUgPSBUeXBlLkJVVFRPTixcbn06IElCdXR0b25UaGVtZWFibGUpID0+IHtcbiAgY29uc3QgQnRuQ29udGV4dCA9IHVzZUNvbnRleHQoQnV0dG9uQ3R4KTtcblxuICBjb25zdCBJc0Rpc2FibGVkID0gQnRuQ29udGV4dCA9PT0gQ29udGV4dC5ESVNBQkxFRDtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IEJ0bkNvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG4gIGNvbnN0IElzTmF2aWdhdGlvbiA9IHR5cGUgPT09IFR5cGUuTElOSztcblxuICBjb25zdCBUaGVtZTogSUJ1dHRvblRoZW1lID0gdXNlQnV0dG9uVGhlbWUoQnRuQ29udGV4dCk7XG5cbiAgY29uc3QgTGFiZWwgPSBjaGlsZHJlbiA/IDxCdXR0b25MYWJlbD57Y2hpbGRyZW59PC9CdXR0b25MYWJlbD4gOiBudWxsO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgY29uc3QgSWNvbkJlZm9yZVNrZWxldG9uID0gd2l0aEljb25CZWZvcmUgPyAoXG4gICAgICA8UGxhY2Vob2xkZXI+XG4gICAgICAgIDxCdXR0b25JY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IEljb25BZnRlclNrZWxldG9uID0gd2l0aEljb25BZnRlciA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPEJ1dHRvbkljb24gaWNvbj17d2l0aEljb25BZnRlcn0gLz5cbiAgICAgIDwvUGxhY2Vob2xkZXI+XG4gICAgKSA6IG51bGw7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEJ1dHRvblNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRCdXR0b25Jbm5lciBoYXNMYWJlbD17ISFMYWJlbH0+XG4gICAgICAgICAge0ljb25CZWZvcmVTa2VsZXRvbn1cbiAgICAgICAgICB7TGFiZWx9XG4gICAgICAgICAge0ljb25BZnRlclNrZWxldG9ufVxuICAgICAgICA8L1N0eWxlZEJ1dHRvbklubmVyPlxuICAgICAgPC9TdHlsZWRCdXR0b25Ta2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgSWNvbkJlZm9yZSA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgIDxCdXR0b25JY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPlxuICApIDogbnVsbDtcbiAgY29uc3QgSWNvbkFmdGVyID0gd2l0aEljb25BZnRlciA/IDxCdXR0b25JY29uIGljb249e3dpdGhJY29uQWZ0ZXJ9IC8+IDogbnVsbDtcblxuICAvKiogICoqL1xuICBpZiAoSXNOYXZpZ2F0aW9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRCdXR0b25OYXZpZ2F0aW9uXG4gICAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIGFyaWEtZGlzYWJsZWQ9e0lzRGlzYWJsZWR9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgIGlkPXtpZH1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZEJ1dHRvbklubmVyIGhhc0xhYmVsPXshIUxhYmVsfT5cbiAgICAgICAgICB7SWNvbkJlZm9yZX1cbiAgICAgICAgICB7TGFiZWx9XG4gICAgICAgICAge0ljb25BZnRlcn1cbiAgICAgICAgPC9TdHlsZWRCdXR0b25Jbm5lcj5cbiAgICAgIDwvU3R5bGVkQnV0dG9uTmF2aWdhdGlvbj5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgaHRtbFR5cGUgPSBtYXRjaCh0eXBlLCBbXG4gICAgW1R5cGUuQlVUVE9OLCBcImJ1dHRvblwiXSxcbiAgICBbVHlwZS5SRVNFVCwgXCJyZXNldFwiXSxcbiAgICBbVHlwZS5TVUJNSVQsIFwic3VibWl0XCJdLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRCdXR0b25cbiAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgIGFyaWEtZGlzYWJsZWQ9e0lzRGlzYWJsZWR9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgZGlzYWJsZWQ9e0lzRGlzYWJsZWR9XG4gICAgICB0eXBlPXtodG1sVHlwZX1cbiAgICAgIGlkPXtpZH1cbiAgICA+XG4gICAgICA8U3R5bGVkQnV0dG9uSW5uZXIgaGFzTGFiZWw9eyEhTGFiZWx9PlxuICAgICAgICB7SWNvbkJlZm9yZX1cbiAgICAgICAge0xhYmVsfVxuICAgICAgICB7SWNvbkFmdGVyfVxuICAgICAgPC9TdHlsZWRCdXR0b25Jbm5lcj5cbiAgICA8L1N0eWxlZEJ1dHRvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBJQnV0dG9uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBCdXR0b25Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUJ1dHRvblRoZW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQnV0dG9uQ29udGV4dCxcbik6IElCdXR0b25UaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IFJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuRGlzYWJsZWRCZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25fZGlzYWJsZWRfYmFja2dyb3VuZFwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuRGlzYWJsZWRDb2xvciA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25fZGlzYWJsZWRfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkluaXRpYWxCZ1ByaW1hcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2JhY2tncm91bmRfcHJpbWFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5wcmltYXJ5LnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Ib3ZlckJnUHJpbWFyeSA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25faG92ZXJfYmFja2dyb3VuZF9wcmltYXJ5XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnByaW1hcnkudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkluaXRpYWxDb2xvclByaW1hcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2NvbG9yX3ByaW1hcnlcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSG92ZXJDb2xvclByaW1hcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2hvdmVyX2NvbG9yX3ByaW1hcnlcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSW5pdGlhbEJnU2Vjb25kYXJ5ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9iYWNrZ3JvdW5kX3NlY29uZGFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Ib3ZlckJnU2Vjb25kYXJ5ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9ob3Zlcl9iYWNrZ3JvdW5kX3NlY29uZGFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Jbml0aWFsQ29sb3JTZWNvbmRhcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2NvbG9yX3NlY29uZGFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSG92ZXJDb2xvclNlY29uZGFyeSA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25faG92ZXJfY29sb3Jfc2Vjb25kYXJ5XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICB9KTtcblxuICBjb25zdCBCdG5Jbml0aWFsQmdTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9iYWNrZ3JvdW5kX3N1cHBvcnRpbmdcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSG92ZXJCZ1N1cHBvcnRpbmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2hvdmVyX2JhY2tncm91bmRfc3VwcG9ydGluZ1wiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Jbml0aWFsQ29sb3JTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9jb2xvcl9zdXBwb3J0aW5nXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkhvdmVyQ29sb3JTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9ob3Zlcl9jb2xvcl9zdXBwb3J0aW5nXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gIH0pO1xuXG4gIGNvbnN0IFVpID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgdHJhbnNwYXJlbnRcIixcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCB0cmFuc3BhcmVudFwiLFxuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IE5vbmUgPSB7XG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gICAgaW5pdGlhbDoge1xuICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCB0cmFuc3BhcmVudFwiLFxuICAgICAgY29sb3I6IEJ0bkluaXRpYWxCZ1ByaW1hcnksXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCB0cmFuc3BhcmVudFwiLFxuICAgICAgY29sb3I6IEJ0bkhvdmVyQmdQcmltYXJ5LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgTG93ID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IEJ0bkluaXRpYWxCZ1NlY29uZGFyeSxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Jbml0aWFsQmdTZWNvbmRhcnksXG4gICAgICBjb2xvcjogQnRuSW5pdGlhbENvbG9yU2Vjb25kYXJ5LFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGJhY2tncm91bmQ6IEJ0bkhvdmVyQmdTZWNvbmRhcnksXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQnRuSG92ZXJCZ1NlY29uZGFyeSxcbiAgICAgIGNvbG9yOiBCdG5Ib3ZlckNvbG9yU2Vjb25kYXJ5LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgTWVkaXVtID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkluaXRpYWxCZ1ByaW1hcnksXG4gICAgICBjb2xvcjogQnRuSW5pdGlhbEJnUHJpbWFyeSxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Ib3ZlckJnUHJpbWFyeSxcbiAgICAgIGNvbG9yOiBCdG5Ib3ZlckJnUHJpbWFyeSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IEhpZ2ggPSB7XG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gICAgaW5pdGlhbDoge1xuICAgICAgYmFja2dyb3VuZDogQnRuSW5pdGlhbEJnUHJpbWFyeSxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Jbml0aWFsQmdQcmltYXJ5LFxuICAgICAgY29sb3I6IEJ0bkluaXRpYWxDb2xvclByaW1hcnksXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgYmFja2dyb3VuZDogQnRuSG92ZXJCZ1ByaW1hcnksXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQnRuSG92ZXJCZ1ByaW1hcnksXG4gICAgICBjb2xvcjogQnRuSG92ZXJDb2xvclByaW1hcnksXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBEaXNhYmxlZCA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgICBpbml0aWFsOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5EaXNhYmxlZEJnLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkRpc2FibGVkQmcsXG4gICAgICBjb2xvcjogQnRuRGlzYWJsZWRDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5EaXNhYmxlZEJnLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkRpc2FibGVkQmcsXG4gICAgICBjb2xvcjogQnRuRGlzYWJsZWRDb2xvcixcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgU2tlbGV0b25CZyxcbiAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgU2tlbGV0b25CZyxcbiAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgU3VwcG9ydGluZyA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgICBpbml0aWFsOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5Jbml0aWFsQmdTdXBwb3J0aW5nLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkluaXRpYWxCZ1N1cHBvcnRpbmcsXG4gICAgICBjb2xvcjogQnRuSW5pdGlhbENvbG9yU3VwcG9ydGluZyxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5Ib3ZlckJnU3VwcG9ydGluZyxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Ib3ZlckJnU3VwcG9ydGluZyxcbiAgICAgIGNvbG9yOiBCdG5Ib3ZlckNvbG9yU3VwcG9ydGluZyxcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0J1dHRvbkNvbnRleHQuR0hPU1QsIE5vbmVdLFxuICAgIFtCdXR0b25Db250ZXh0LlVJLCBVaV0sXG4gICAgW0J1dHRvbkNvbnRleHQuTkVVVFJBTCwgTG93XSxcbiAgICBbQnV0dG9uQ29udGV4dC5PVVRMSU5FRCwgTWVkaXVtXSxcbiAgICBbQnV0dG9uQ29udGV4dC5QUklNQVJZLCBIaWdoXSxcbiAgICBbQnV0dG9uQ29udGV4dC5TVVBQT1JUSU5HLCBTdXBwb3J0aW5nXSxcbiAgICBbQnV0dG9uQ29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICAgIFtCdXR0b25Db250ZXh0LlNLRUxFVE9OLCBTa2VsZXRvbl0sXG4gIF0pO1xufTtcbiIsImltcG9ydCB7IENoZWNrYm94UHJvcHMgfSBmcm9tIFwiLi9jaGVja2JveC50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL2NoZWNrYm94LmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDaGVja2JveCBhcyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvY2hlY2tib3hcIjtcblxuY29uc3QgQ2hlY2tib3hDdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IENoZWNrYm94Q3R4OiBSZWFjdC5Db250ZXh0PENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChDaGVja2JveEN0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgQ2hlY2tib3ggPSAoe1xuICBjb250ZXh0LFxuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGFyaWFMYWJlbCxcbiAgbGFiZWwsXG4gIG5hbWUsXG4gIGNoZWNrZWQsXG4gIGRlZmF1bHRDaGVja2VkLFxufTogQ2hlY2tib3hQcm9wcykgPT4ge1xuICBjb25zdCBJbnB1dENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IENoZWNrYm94Q3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxDaGVja2JveEN0eC5Qcm92aWRlciB2YWx1ZT17SW5wdXRDb250ZXh0fT5cbiAgICAgIDxDaGVja2JveENvbXBvbmVudFxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICBhcmlhTGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgLz5cbiAgICA8L0NoZWNrYm94Q3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENoZWNrYm94Q3R4IH0gZnJvbSBcIi4uL2luZGV4XCI7XG5pbXBvcnQge1xuICBTdHlsZWRDaGVja2JveCxcbiAgU3R5bGVkQ2hlY2tib3hDb250YWluZXIsXG4gIFN0eWxlZENoZWNrYm94Q29udGFpbmVyU2tlbGV0b24sXG4gIFN0eWxlZENoZWNrYm94TGFiZWwsXG4gIFN0eWxlZENoZWNrYm94TGFiZWxTa2VsZXRvbixcbiAgU3R5bGVkQ2hlY2tib3hWaXN1YWwsXG4gIFN0eWxlZENoZWNrYm94VmlzdWFsU2tlbGV0b24sXG59IGZyb20gXCIuLi9jaGVja2JveC5zdHlsZVwiO1xuaW1wb3J0IHsgQ2hlY2tib3hUaGVtZWFibGVQcm9wcywgSUNoZWNrYm94VGhlbWUgfSBmcm9tIFwiLi4vY2hlY2tib3gudHlwZXNcIjtcbmltcG9ydCB7IHVzZUNoZWNrYm94VGhlbWUgfSBmcm9tIFwiLi4vaG9va3MvdXNlLWNoZWNrYm94XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgQ29udGV4dCwgVHlwZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBDaGVja2JveGNvbnRleHQgfSBmcm9tIFwiLi4vY2hlY2tib3guZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IENoZWNrYm94ID0gKHtcbiAgb25DaGFuZ2UsXG4gIHZhbHVlLFxuICBhcmlhTGFiZWwsXG4gIGxhYmVsLFxuICBuYW1lLFxuICBjaGVja2VkLFxuICBkZWZhdWx0Q2hlY2tlZCxcbn06IENoZWNrYm94VGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgQ2hlY2tib3hDb250ZXh0ID0gdXNlQ29udGV4dChDaGVja2JveEN0eCk7XG4gIGNvbnN0IFRoZW1lOiBJQ2hlY2tib3hUaGVtZSA9IHVzZUNoZWNrYm94VGhlbWUoQ2hlY2tib3hDb250ZXh0KTtcbiAgY29uc3QgaXNEaXNhYmxlZCA9IENoZWNrYm94Q29udGV4dCA9PT0gQ2hlY2tib3hjb250ZXh0LkRJU0FCTEVEO1xuICBjb25zdCBpc1NrZWxldG9uID0gQ2hlY2tib3hDb250ZXh0ID09PSBDaGVja2JveGNvbnRleHQuU0tFTEVUT047XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZENoZWNrYm94Q29udGFpbmVyU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZENoZWNrYm94VmlzdWFsU2tlbGV0b24gdGhlbWU9e1RoZW1lfSAvPlxuICAgICAgICA8U3R5bGVkQ2hlY2tib3hMYWJlbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L1N0eWxlZENoZWNrYm94TGFiZWxTa2VsZXRvbj5cbiAgICAgIDwvU3R5bGVkQ2hlY2tib3hDb250YWluZXJTa2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hlY2tib3hDb250YWluZXIgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH0gdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWRDaGVja2JveFxuICAgICAgICBkaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgYXJpYS1kaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgYXJpYS1jaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZENoZWNrYm94VmlzdWFsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIHtpc0Rpc2FibGVkICYmICFjaGVja2VkID8gbnVsbCA6IChcbiAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgdHlwZT17VHlwZS5DSEVDS31cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e2xhYmVsfVxuICAgICAgICAgICAgY29udGV4dD17Q29udGV4dC5MSUdIVH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWRDaGVja2JveFZpc3VhbD5cbiAgICAgIDxTdHlsZWRDaGVja2JveExhYmVsIHRoZW1lPXtUaGVtZX0+e2xhYmVsfTwvU3R5bGVkQ2hlY2tib3hMYWJlbD5cbiAgICA8L1N0eWxlZENoZWNrYm94Q29udGFpbmVyPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQ2hlY2tib3hUaGVtZSB9IGZyb20gXCIuL2NoZWNrYm94LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaGVja2JveCA9IHN0eWxlZC5pbnB1dC5hdHRycyh7IHR5cGU6IFwiY2hlY2tib3hcIiB9KTx7XG4gIHRoZW1lOiBJQ2hlY2tib3hUaGVtZTtcbn0+YFxuICBhcHBlYXJhbmNlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hDb250YWluZXIgPSBzdHlsZWQubGFiZWw8e1xuICBpc0Rpc2FibGVkOiBib29sZWFuO1xuICB0aGVtZTogSUNoZWNrYm94VGhlbWU7XG59PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNnB4O1xuXG4gICYgaW5wdXQ6Y2hlY2tlZCArIGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5ib3JkZXJ9O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJHsocHJvcHMpID0+XG4gICAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgICAgY3NzYFxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBgfVxuXG4gICAgaW5wdXQgKyBkaXYge1xuICAgICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgICB9XG4gICAgaW5wdXQ6Y2hlY2tlZCArIGRpdiB7XG4gICAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmJvcmRlcn07XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hDb250YWluZXJTa2VsZXRvbiA9IHN0eWxlZC5sYWJlbDx7XG4gIHRoZW1lOiBJQ2hlY2tib3hUaGVtZTtcbn0+YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hWaXN1YWwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElDaGVja2JveFRoZW1lIH0+YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hWaXN1YWxTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRDaGVja2JveFZpc3VhbCk8e1xuICB0aGVtZTogSUNoZWNrYm94VGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENoZWNrYm94TGFiZWwgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJQ2hlY2tib3hUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENoZWNrYm94TGFiZWxTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRDaGVja2JveExhYmVsKTx7XG4gIHRoZW1lOiBJQ2hlY2tib3hUaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgPiAqIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5gO1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIENoZWNrYm94Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL2NoZWNrYm94L2NoZWNrYm94LmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJQ2hlY2tib3hUaGVtZSB9IGZyb20gXCIuLi9jaGVja2JveC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlQ2hlY2tib3hUaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIENoZWNrYm94Q29udGV4dCxcbik6IElDaGVja2JveFRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IGVycm9yQm9yZGVyQ29sb3IgPSBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwO1xuXG4gIGNvbnN0IFN0YW5kYXJkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLnhzLFxuICB9O1xuXG4gIGNvbnN0IEVycm9yID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMueHMsXG4gIH07XG5cbiAgY29uc3QgRGlzYWJsZWQgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLnhzLFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy54cyxcbiAgfTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtDaGVja2JveENvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbQ2hlY2tib3hDb250ZXh0LkVSUk9SLCBFcnJvcl0sXG4gICAgW0NoZWNrYm94Q29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICAgIFtDaGVja2JveENvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IExvYWRJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmxvYWRlclwiO1xuaW1wb3J0IHsgSUljb24gfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQsIFNpemUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcblxuY29uc3QgSWNvbkN0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEljb25DdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChJY29uQ3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBJY29uID0gKHsgc2l6ZSwgdHlwZSwgc2NyZWVuUmVhZGVyVGV4dCwgY29udGV4dCB9OiBJSWNvbikgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBJY29uQ3R4RGVmYXVsdDtcblxuICBjb25zdCBJY29uID0gTG9hZEljb24oe1xuICAgIHNpemU6IHNpemUgPyBzaXplIDogU2l6ZS5TTUFMTCxcbiAgICB0eXBlOiB0eXBlLFxuICAgIHNjcmVlblJlYWRlclRleHQ6IHNjcmVlblJlYWRlclRleHQsXG4gIH0pO1xuXG4gIHJldHVybiA8SWNvbkN0eC5Qcm92aWRlciB2YWx1ZT17Q29udGV4dH0+e0ljb259PC9JY29uQ3R4LlByb3ZpZGVyPjtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IEFkZCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNOCAxLjVWMTQuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xLjUgOEgxNC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuY29uc3QgQmFzZUljb25TdmcgPSBzdHlsZWQuc3ZnLmF0dHJzKChwcm9wcykgPT4gKHtcbiAgdmVyc2lvbjogXCIxLjFcIixcbiAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgeG1sbnNYbGluazogXCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIsXG4gIHJvbGU6IFwiaW1nXCIsXG4gIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG59KSlgYDtcblxuZXhwb3J0IGNvbnN0IEJhc2VJY29uUGF0aCA9IHN0eWxlZC5wYXRoLmF0dHJzKHtcbiAgcm9sZTogXCJwcmVzZW50YXRpb25cIixcbn0pYGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEJhc2VJY29uU3ZnKTx7XG4gIHdpZHRoOiBzdHJpbmc7XG4gIGhlaWdodDogc3RyaW5nO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMud2lkdGh9O1xuICBoZWlnaHQ6ICR7KHByb3BzKSA9PiBwcm9wcy5oZWlnaHR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEljb25QYXRoID0gc3R5bGVkKEJhc2VJY29uUGF0aCk8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJY29uV3JhcHBlciA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuYDtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlck9ubHkgfSBmcm9tIFwiQC9iYXNlL3NyZWVuX3JlYWRlcl9vbmx5L3NjcmVlbl9yZWFkZXJfb25seVwiO1xuaW1wb3J0IHsgU3R5bGVkSWNvbiwgU3R5bGVkSWNvbldyYXBwZXIgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJSWNvblN2ZyB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgSWNvbiA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUsIGNoaWxkcmVuIH06IElJY29uU3ZnKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEljb25XcmFwcGVyPlxuICAgICAgPFN0eWxlZEljb24gd2lkdGg9e3NpemV9IGhlaWdodD17c2l6ZX0gdmlld0JveD1cIjAgMCAxNiAxNlwiPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1N0eWxlZEljb24+XG4gICAgICA8U2NyZWVuUmVhZGVyT25seSB0ZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSAvPlxuICAgIDwvU3R5bGVkSWNvbldyYXBwZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUljb25UaGVtZSA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCk6IElJY29uVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgY29uc3QgSWNvbkluaXRpYWxDb2xvclByaW1hcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiaWNvbl9jb2xvcl9wcmltYXJ5XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnByaW1hcnkudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEljb25Jbml0aWFsQ29sb3JTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImljb25fY29sb3Jfc3VwcG9ydGluZ1wiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBJY29uSW5pdGlhbENvbG9yRGFyayA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJpY29uX2NvbG9yX2RhcmtcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gIH0pO1xuXG4gIGNvbnN0IEljb25Jbml0aWFsQ29sb3JMaWdodCA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJpY29uX2NvbG9yX2xpZ2h0XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gIH0pO1xuXG4gIGNvbnN0IEljb25EaXNhYmxlZENvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImljb25fZGlzYWJsZWRfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gIH0pO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgc3Ryb2tlOiBJY29uSW5pdGlhbENvbG9yUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNVUFBPUlRJTkcsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogSWNvbkluaXRpYWxDb2xvclN1cHBvcnRpbmcsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5ESVNBQkxFRCxcbiAgICAgIHtcbiAgICAgICAgc3Ryb2tlOiBJY29uRGlzYWJsZWRDb2xvcixcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LkxJR0hULFxuICAgICAge1xuICAgICAgICBzdHJva2U6IEljb25Jbml0aWFsQ29sb3JMaWdodCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LkRBUkssXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogSWNvbkluaXRpYWxDb2xvckRhcmssXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5EQU5HRVIsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LldBUk5JTkcsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogQ29sb3JzLndhcm5pbmcudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TVUNDRVNTLFxuICAgICAge1xuICAgICAgICBzdHJva2U6IENvbG9ycy5zdWNjZXNzLnRpbnRfNTAwLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuSU5GTyxcbiAgICAgIHtcbiAgICAgICAgc3Ryb2tlOiBDb2xvcnMuaW5mby50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBBcnJvd0xlZnQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTE1LjUgOEgwLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjUgMTNMMC41IDhMNS41IDNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQXJyb3dSaWdodCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMC41IDhIMTUuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEwLjUgM0wxNS41IDhMMTAuNSAxM1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBCYWJ5ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xNCA2LjQ5OTk1QzEzLjg4NzUgNi41MDEgMTMuNzc1NSA2LjUxNDQxIDEzLjY2NiA2LjUzOTk1QzEzLjI1OTYgNS4zNjA1NCAxMi40OTUyIDQuMzM3MzYgMTEuNDc5NSAzLjYxMzA4QzEwLjQ2MzkgMi44ODg3OSA5LjI0NzQ3IDIuNDk5NTEgOCAyLjQ5OTUxQzYuNzUyNTMgMi40OTk1MSA1LjUzNjE0IDIuODg4NzkgNC41MjA0NiAzLjYxMzA4QzMuNTA0NzggNC4zMzczNiAyLjc0MDQ0IDUuMzYwNTQgMi4zMzQgNi41Mzk5NUMyLjIyNDQ3IDYuNTE0NDEgMi4xMTI0NiA2LjUwMSAyIDYuNDk5OTVDMS42MDIxOCA2LjQ5OTk1IDEuMjIwNjQgNi42NTc5OSAwLjkzOTM0IDYuOTM5MjlDMC42NTgwMzUgNy4yMjA2IDAuNSA3LjYwMjEzIDAuNSA3Ljk5OTk1QzAuNSA4LjM5Nzc4IDAuNjU4MDM1IDguNzc5MzEgMC45MzkzNCA5LjA2MDYxQzEuMjIwNjQgOS4zNDE5MiAxLjYwMjE4IDkuNDk5OTUgMiA5LjQ5OTk1QzIuMDMgOS40OTk5NSAyLjA1OSA5LjQ5Mjk1IDIuMDg5IDkuNDkwOTVDMi4zMjE1MiAxMC44OTA3IDMuMDQzMjUgMTIuMTYyNiA0LjEyNTcgMTMuMDhDNS4yMDgxNCAxMy45OTc1IDYuNTgxMDUgMTQuNTAxIDggMTQuNTAxQzkuNDE4OTUgMTQuNTAxIDEwLjc5MTkgMTMuOTk3NSAxMS44NzQzIDEzLjA4QzEyLjk1NjcgMTIuMTYyNiAxMy42Nzg1IDEwLjg5MDcgMTMuOTExIDkuNDkwOTVDMTMuOTQxIDkuNDkwOTUgMTMuOTcgOS40OTk5NSAxNCA5LjQ5OTk1QzE0LjM5NzggOS40OTk5NSAxNC43Nzk0IDkuMzQxOTIgMTUuMDYwNyA5LjA2MDYxQzE1LjM0MiA4Ljc3OTMxIDE1LjUgOC4zOTc3OCAxNS41IDcuOTk5OTVDMTUuNSA3LjYwMjEzIDE1LjM0MiA3LjIyMDYgMTUuMDYwNyA2LjkzOTI5QzE0Ljc3OTQgNi42NTc5OSAxNC4zOTc4IDYuNDk5OTUgMTQgNi40OTk5NVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjUgOC41QzYuMDUyMjggOC41IDYuNSA4LjA1MjI4IDYuNSA3LjVDNi41IDYuOTQ3NzIgNi4wNTIyOCA2LjUgNS41IDYuNUM0Ljk0NzcyIDYuNSA0LjUgNi45NDc3MiA0LjUgNy41QzQuNSA4LjA1MjI4IDQuOTQ3NzIgOC41IDUuNSA4LjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2U9XCJub25lXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMC41IDguNUMxMS4wNTIzIDguNSAxMS41IDguMDUyMjggMTEuNSA3LjVDMTEuNSA2Ljk0NzcyIDExLjA1MjMgNi41IDEwLjUgNi41QzkuOTQ3NzIgNi41IDkuNSA2Ljk0NzcyIDkuNSA3LjVDOS41IDguMDUyMjggOS45NDc3MiA4LjUgMTAuNSA4LjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2U9XCJub25lXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk02LjM5MzA3IDExLjEwNjlDNi44ODkzOCAxMS4zNjUxIDcuNDQwNjEgMTEuNDk5OSA4LjAwMDA3IDExLjQ5OTlDOC41NTk1MyAxMS40OTk5IDkuMTEwNzUgMTEuMzY1MSA5LjYwNzA3IDExLjEwNjlcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk03Ljk5OTgxIDIuNUM3Ljc1MzE4IDIuNTAwMTEgNy41MTAzOSAyLjU2MTAzIDcuMjkyOTIgMi42NzczN0M3LjA3NTQ2IDIuNzkzNzEgNi44OTAwMyAyLjk2MTg3IDYuNzUzMDcgMy4xNjY5N0M2LjYxNjEgMy4zNzIwNyA2LjUzMTgyIDMuNjA3NzcgNi41MDc2OSAzLjg1MzIyQzYuNDgzNTUgNC4wOTg2NiA2LjUyMDMxIDQuMzQ2MjcgNi42MTQ3MSA0LjU3NDEyQzYuNzA5MSA0LjgwMTk2IDYuODU4MjIgNS4wMDMwMiA3LjA0ODg2IDUuMTU5NDlDNy4yMzk1IDUuMzE1OTUgNy40NjU3OCA1LjQyMyA3LjcwNzY3IDUuNDcxMTRDNy45NDk1NSA1LjUxOTI5IDguMTk5NTcgNS41MDcwNSA4LjQzNTU5IDUuNDM1NTFDOC42NzE2MiA1LjM2Mzk3IDguODg2MzYgNS4yMzUzNCA5LjA2MDgxIDUuMDYxXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IENhbmNlbCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTMuNSAyLjVMMi41IDEzLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0yLjUgMi41TDEzLjUgMTMuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBDaGVjayA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNCA4TDYuNjY2NjcgMTAuNjY2N0wxMiA1LjMzMzMzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IENoZXZyb25Eb3duID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0yIDUuNUw4IDExLjVMMTQgNS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IENoZXZyb25VcCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTQgMTEuNUw4IDUuNUwyIDExLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgRGlzdGFuY2UgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTMuNSAxMS41QzMuNSAxMi41NjA5IDMuOTIxNDMgMTMuNTc4MyA0LjY3MTU3IDE0LjMyODRDNS40MjE3MiAxNS4wNzg2IDYuNDM5MTMgMTUuNSA3LjUgMTUuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTMuNSA4LjVDNS41IDYuMjcwNjcgNi41IDQuNjA0IDYuNSAzLjVDNi41IDIuNzA0MzUgNi4xODM5MyAxLjk0MTI5IDUuNjIxMzIgMS4zNzg2OEM1LjA1ODcxIDAuODE2MDcgNC4yOTU2NSAwLjUgMy41IDAuNUMyLjcwNDM1IDAuNSAxLjk0MTI5IDAuODE2MDcgMS4zNzg2OCAxLjM3ODY4QzAuODE2MDcgMS45NDEyOSAwLjUgMi43MDQzNSAwLjUgMy41QzAuNSA0LjYwNTMzIDEuNSA2LjI3MiAzLjUgOC41WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTExLjUgMTBDMTIuMzI4NCAxMCAxMyA5LjMyODQzIDEzIDguNUMxMyA3LjY3MTU3IDEyLjMyODQgNyAxMS41IDdDMTAuNjcxNiA3IDEwIDcuNjcxNTcgMTAgOC41QzEwIDkuMzI4NDMgMTAuNjcxNiAxMCAxMS41IDEwWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0zLjUgNC41QzQuMDUyMjggNC41IDQuNSA0LjA1MjI4IDQuNSAzLjVDNC41IDIuOTQ3NzIgNC4wNTIyOCAyLjUgMy41IDIuNUMyLjk0NzcyIDIuNSAyLjUgMi45NDc3MiAyLjUgMy41QzIuNSA0LjA1MjI4IDIuOTQ3NzIgNC41IDMuNSA0LjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTExLjUgMTVDMTQuMTY2NyAxMi4xNCAxNS41IDkuOTczMzMgMTUuNSA4LjVDMTUuNSA3LjQzOTEzIDE1LjA3ODYgNi40MjE3MiAxNC4zMjg0IDUuNjcxNTdDMTMuNTc4MyA0LjkyMTQzIDEyLjU2MDkgNC41IDExLjUgNC41QzEwLjQzOTEgNC41IDkuNDIxNzIgNC45MjE0MyA4LjY3MTU3IDUuNjcxNTdDNy45MjE0MyA2LjQyMTcyIDcuNSA3LjQzOTEzIDcuNSA4LjVDNy41IDkuOTczMzMgOC44MzMzMyAxMi4xNCAxMS41IDE1WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBEb2N1bWVudCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTIuNSAzLjVIMi41VjE1LjVIMTIuNVYzLjVaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNC41IDAuNUgxNS41VjEzLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjUgNi41SDkuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTUuNSA5LjVIOS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNS41IDEyLjVIOS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEVkaXQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEwIDNMMTMgNlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEyIDFMMTUgNEw1IDE0TDEgMTVMMiAxMUwxMiAxWlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBFdXJvID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xLjUgNi41SDkuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEuNSA5LjVIOS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTIuNSAyLjcyOTk4QzExLjUzMDIgMS44OTMzMiAxMC4yOCAxLjQ1Mzk5IDkgMS40OTk5OEM0Ljk2NyAxLjQ5OTk4IDMuNSA0LjkwNDk4IDMuNSA3Ljk5OTk4QzMuNSAxMS4wOTUgNC45NjcgMTQuNSA5IDE0LjVDMTAuMjggMTQuNTQ2IDExLjUzMDIgMTQuMTA2NiAxMi41IDEzLjI3XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEZhdm9yaXRlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xNC4zMjggMi42NzIwMUMxMi43NjYgMS4xMTAwMSAxMC4yMzMgMS4xMTAwMSA4LjY3MTAxIDIuNjcyMDFDOC4zOTEwMSAyLjk1MjAxIDguMTgwMDEgMy4yNzAwMSA4LjAwMDAxIDMuNjAxMDFDNy44MjAwMSAzLjI3MDAxIDcuNjA5MDEgMi45NTEwMSA3LjMyODAxIDIuNjcxMDFDNS43NjYwMSAxLjEwOTAxIDMuMjMzMDEgMS4xMDkwMSAxLjY3MTAxIDIuNjcxMDFDMC4xMDkwMTIgNC4yMzMwMSAwLjEwOTAxMiA2Ljc2NjAxIDEuNjcxMDEgOC4zMjgwMUw4LjAwMDAxIDE0LjVMMTQuMzI4IDguMzI4MDFDMTUuODkxIDYuNzY2MDEgMTUuODkxIDQuMjM0MDEgMTQuMzI4IDIuNjcyMDFaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IE1hcCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTUuNSAwLjVWMTMuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEwLjUgMi41VjE1LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0wLjUgMTUuNVYyLjVMNS41IDAuNUwxMC41IDIuNUwxNS41IDAuNVYxMy41TDEwLjUgMTUuNUw1LjUgMTMuNUwwLjUgMTUuNVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgTWVudSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEuNSAyLjVIMTQuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEuNSA4SDE0LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xLjUgMTMuNUgxNC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IFBpbiA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTMuNSA2QzEzLjUgMTAuNSA4IDE1LjUgOCAxNS41QzggMTUuNSAyLjUgMTAuNSAyLjUgNkMyLjUgNC41NDEzMSAzLjA3OTQ2IDMuMTQyMzYgNC4xMTA5MSAyLjExMDkxQzUuMTQyMzYgMS4wNzk0NiA2LjU0MTMxIDAuNSA4IDAuNUM5LjQ1ODY5IDAuNSAxMC44NTc2IDEuMDc5NDYgMTEuODg5MSAyLjExMDkxQzEyLjkyMDUgMy4xNDIzNiAxMy41IDQuNTQxMzEgMTMuNSA2WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTggOC41QzkuMzgwNzEgOC41IDEwLjUgNy4zODA3MSAxMC41IDZDMTAuNSA0LjYxOTI5IDkuMzgwNzEgMy41IDggMy41QzYuNjE5MjkgMy41IDUuNSA0LjYxOTI5IDUuNSA2QzUuNSA3LjM4MDcxIDYuNjE5MjkgOC41IDggOC41WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk04LjQ3MDU5IDguNUM5Ljc3MDA4IDguNSAxMC44MjM1IDcuMzgwNzEgMTAuODIzNSA2QzEwLjgyMzUgNC42MTkyOSA5Ljc3MDA4IDMuNSA4LjQ3MDU5IDMuNUM3LjE3MTA5IDMuNSA2LjExNzY1IDQuNjE5MjkgNi4xMTc2NSA2QzYuMTE3NjUgNy4zODA3MSA3LjE3MTA5IDguNSA4LjQ3MDU5IDguNVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTMuMTMyMSAxMy42MjFDMTEuOTAwMSAxMC44ODYgOC44MTQwMSA5LjcyOTAyIDYuMjM5ODkgMTEuMDM4QzUuMTc2MzYgMTEuNTc5IDQuMzE4MDEgMTIuNDkgMy44MDg4MyAxMy42MjFcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNOC40NzA1OSAxNS41QzEyLjM2OSAxNS41IDE1LjUyOTQgMTIuMTQyMSAxNS41Mjk0IDhDMTUuNTI5NCAzLjg1Nzg2IDEyLjM2OSAwLjUgOC40NzA1OSAwLjVDNC41NzIxIDAuNSAxLjQxMTc3IDMuODU3ODYgMS40MTE3NyA4QzEuNDExNzcgMTIuMTQyMSA0LjU3MjEgMTUuNSA4LjQ3MDU5IDE1LjVaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBSZWRvID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xNS41IDEwLjVINUMyLjUxNSAxMC41IDAuNSA4LjQ4NSAwLjUgNkMwLjUgMy41MTUgMi41MTUgMS41IDUgMS41SDExLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMS41IDYuNUwxNS41IDEwLjVMMTEuNSAxNC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IFNlbmQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTQuNTA0IDkuNTAzTDEyLjUgMTUuNUwxNS41IDAuNUwwLjUgNi41TDIuNTAyIDguMDAxXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNy42MyAxMS44NDhMNC41IDE1LjVMNC41MDQgOS41MDNMOSA2LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgVHJhbnNsYXRpb24gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEuNSAyLjVIOS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNS41IDAuNVYyLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0zLjUgMi41QzMuNTQ0NDQgMy44MDM4OCA0LjAwNTMzIDUuMDU5MjQgNC44MTUxNCA2LjA4MjEyQzUuNjI0OTUgNy4xMDUgNi43NDEwOSA3Ljg0MTYxIDggOC4xODRcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk03LjUgMi41QzcuMSA4LjEyNSAxLjUgOC41IDEuNSA4LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk04IDE0LjVMMTEuNSA2LjVMMTUgMTQuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTkuMzEyOTkgMTEuNUgxMy42ODhcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ29tbWVudCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNy4yOTEwMiAwLjVDMy45NzcwMiAwLjUgMS4yOTEwMiAyLjczOSAxLjI5MTAyIDUuNUMxLjI5MTAyIDYuNTIxIDEuNjYwMDIgNy40NyAyLjI5MTAyIDguMjYyVjEyTDQuODY0MDIgMTAuMDdDNS42MDYwMiAxMC4zNDUgNi40MjYwMiAxMC41IDcuMjkxMDIgMTAuNUMxMC42MDUgMTAuNSAxMy4yOTEgOC4yNjEgMTMuMjkxIDUuNUMxMy4yOTEgMi43MzkgMTAuNjA1IDAuNSA3LjI5MTAyIDAuNVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk02LjAxMDAyIDEyLjUwNEM3LjA5OTAyIDEzLjQyNyA4LjYxNTAyIDE0IDEwLjI5MSAxNEMxMS4wNzQgMTQgMTEuODIgMTMuODcxIDEyLjUwNiAxMy42NDRMMTUuMjkxIDE1LjVWMTEuNzYyQzE1LjkyMiAxMC45NyAxNi4yOTEgMTAuMDIyIDE2LjI5MSA5QzE2LjI5MSA4LjA5MSAxNiA3LjIzOSAxNS40OTIgNi41MDVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgSW5Qcm9jZXNzID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjUgMC41TDguNSAzLjVINUMyLjUxNSAzLjUgMC41IDUuNTE1IDAuNSA4QzAuNSAxMC40ODUgMi41MTUgMTIuNSA1IDEyLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMC41IDE1LjVMNy41IDEyLjVIMTFDMTMuNDg1IDEyLjUgMTUuNSAxMC40ODUgMTUuNSA4QzE1LjUgNS41MTUgMTMuNDg1IDMuNSAxMSAzLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgTWludXMgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEuNSA4SDE0LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IENvbGxhcHNlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0wLjUgOEgxMS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9e1wibm9uZVwifVxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk03IDEyLjVMMTEuNSA4TDcgMy41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9e1wibm9uZVwifVxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xNS41IDE1LjVWMC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9e1wibm9uZVwifVxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ2hldnJvblJpZ2h0ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjE2NjY5IDAuNjY2NjY0TDEzLjE2NjcgOEw1LjE2NjY5IDE1LjMzMzNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ2hldnJvbkxlZnQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTExLjgzMzMgMTUuMzMzM0wzLjgzMzMxIDhMMTEuODMzMyAwLjY2NjY2OVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgQWRkLFxuICBBcnJvd0xlZnQsXG4gIEFycm93UmlnaHQsXG4gIEJhYnksXG4gIENhbmNlbCxcbiAgQ2hlY2ssXG4gIENoZXZyb25Eb3duLFxuICBDaGV2cm9uVXAsXG4gIENvbW1lbnQsXG4gIERpc3RhbmNlLFxuICBEb2N1bWVudCxcbiAgRWRpdCxcbiAgRXVybyxcbiAgRmF2b3JpdGUsXG4gIEluUHJvY2VzcyxcbiAgTWFwLFxuICBNZW51LFxuICBQaW4sXG4gIFByb2ZpbGUsXG4gIFJlZG8sXG4gIFNlbmQsXG4gIFRyYW5zbGF0aW9uLFxufSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3Znc1wiO1xuaW1wb3J0IHsgSUljb25Mb2FkIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTaXplLCBUeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBNaW51cyB9IGZyb20gXCJAL3VpL2ljb24vc3Zncy9pY29uLm1pbnVzLnN2Z1wiO1xuaW1wb3J0IHsgQ29sbGFwc2UgfSBmcm9tIFwiQC91aS9pY29uL3N2Z3MvaWNvbi5jb2xsYXBzZS5zdmdcIjtcbmltcG9ydCB7IENoZXZyb25SaWdodCB9IGZyb20gXCJAL3VpL2ljb24vc3Zncy9pY29uLmNoZXZyb24tcmlnaHQuc3ZnXCI7XG5pbXBvcnQgeyBDaGV2cm9uTGVmdCB9IGZyb20gXCJAL3VpL2ljb24vc3Zncy9pY29uLmNoZXZyb24tbGVmdC5zdmdcIjtcblxuZXhwb3J0IGNvbnN0IExvYWRJY29uID0gKHsgc2l6ZSwgdHlwZSwgc2NyZWVuUmVhZGVyVGV4dCB9OiBJSWNvbkxvYWQpID0+IHtcbiAgbGV0IEljb25TaXplID0gXCIzMnB4XCI7XG4gIHN3aXRjaCAoc2l6ZSkge1xuICAgIGNhc2UgU2l6ZS5YU01BTEw6XG4gICAgICBJY29uU2l6ZSA9IFwiMTJweFwiO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBTaXplLlNNQUxMOlxuICAgICAgSWNvblNpemUgPSBcIjE2cHhcIjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgU2l6ZS5MQVJHRTpcbiAgICAgIEljb25TaXplID0gXCI0OHB4XCI7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFNpemUuTUVESVVNOlxuICAgIGRlZmF1bHQ6XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFR5cGUuQUREOlxuICAgICAgcmV0dXJuIDxBZGQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+O1xuICAgIGNhc2UgVHlwZS5QUk9GSUxFOlxuICAgICAgcmV0dXJuIDxQcm9maWxlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcbiAgICBjYXNlIFR5cGUuQVJST1dfTEVGVDpcbiAgICAgIHJldHVybiA8QXJyb3dMZWZ0IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcbiAgICBjYXNlIFR5cGUuQVJST1dfUklHSFQ6XG4gICAgICByZXR1cm4gPEFycm93UmlnaHQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkNBTkNFTDpcbiAgICAgIHJldHVybiA8Q2FuY2VsIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5DSEVWUk9OX0RPV046XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Q2hldnJvbkRvd24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+XG4gICAgICApO1xuXG4gICAgY2FzZSBUeXBlLkNIRVZST05fVVA6XG4gICAgICByZXR1cm4gPENoZXZyb25VcCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuQ0hFVlJPTl9SSUdIVDpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDaGV2cm9uUmlnaHQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+XG4gICAgICApO1xuXG4gICAgY2FzZSBUeXBlLkNIRVZST05fTEVGVDpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDaGV2cm9uTGVmdCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz5cbiAgICAgICk7XG5cbiAgICBjYXNlIFR5cGUuRURJVDpcbiAgICAgIHJldHVybiA8RWRpdCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuU0VORDpcbiAgICAgIHJldHVybiA8U2VuZCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuUkVETzpcbiAgICAgIHJldHVybiA8UmVkbyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuQ0hFQ0s6XG4gICAgICByZXR1cm4gPENoZWNrIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5QSU46XG4gICAgICByZXR1cm4gPFBpbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuVFJBTlNMQVRJT046XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VHJhbnNsYXRpb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+XG4gICAgICApO1xuXG4gICAgY2FzZSBUeXBlLk1BUDpcbiAgICAgIHJldHVybiA8TWFwIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5FVVJPOlxuICAgICAgcmV0dXJuIDxFdXJvIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5CQUJZOlxuICAgICAgcmV0dXJuIDxCYWJ5IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5NRU5VOlxuICAgICAgcmV0dXJuIDxNZW51IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5ET0NVTUVOVDpcbiAgICAgIHJldHVybiA8RG9jdW1lbnQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLkRJU1RBTkNFOlxuICAgICAgcmV0dXJuIDxEaXN0YW5jZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuRkFWT1JJVEU6XG4gICAgICByZXR1cm4gPEZhdm9yaXRlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5DT01NRU5UOlxuICAgICAgcmV0dXJuIDxDb21tZW50IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGNhc2UgVHlwZS5JTl9QUk9DRVNTOlxuICAgICAgcmV0dXJuIDxJblByb2Nlc3Mgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17SWNvblNpemV9IC8+O1xuXG4gICAgY2FzZSBUeXBlLk1JTlVTOlxuICAgICAgcmV0dXJuIDxNaW51cyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtJY29uU2l6ZX0gLz47XG5cbiAgICBjYXNlIFR5cGUuQ09MTEFQU0U6XG4gICAgICByZXR1cm4gPENvbGxhcHNlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e0ljb25TaXplfSAvPjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPD4g8J+aqyBOb3QgRm91bmQ8Lz47XG4gIH1cbn07XG4iLCJpbXBvcnQgeyBDaG9pY2VQcm9wcyB9IGZyb20gXCIuL2Nob2ljZS50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL2Nob2ljZS5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ2hvaWNlIGFzIENob2ljZUNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvY2hvaWNlXCI7XG5cbmNvbnN0IENob2ljZUN0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ2hvaWNlQ3R4OiBSZWFjdC5Db250ZXh0PENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChDaG9pY2VDdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IENob2ljZSA9ICh7XG4gIGNvbnRleHQsXG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG4gIGljb24sXG59OiBDaG9pY2VQcm9wcykgPT4ge1xuICBjb25zdCBDaG9pY2VDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBDaG9pY2VDdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPENob2ljZUN0eC5Qcm92aWRlciB2YWx1ZT17Q2hvaWNlQ29udGV4dH0+XG4gICAgICA8Q2hvaWNlQ29tcG9uZW50XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIGFyaWFMYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIGljb249e2ljb259XG4gICAgICAvPlxuICAgIDwvQ2hvaWNlQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENob2ljZVRoZW1lYWJsZVByb3BzLCBJQ2hvaWNlVGhlbWUgfSBmcm9tIFwiLi4vY2hvaWNlLnR5cGVzXCI7XG5pbXBvcnQgeyBDaG9pY2VDdHggfSBmcm9tIFwiLi4vaW5kZXhcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgQ2hvaWNlY29udGV4dCB9IGZyb20gXCIuLi9jaG9pY2UuZW51bXNcIjtcbmltcG9ydCB7IENvbnRleHQsIFNpemUsIFR5cGUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IHVzZUNob2ljZVRoZW1lIH0gZnJvbSBcIi4uL2hvb2tzL3VzZS1jaG9pY2VcIjtcbmltcG9ydCB7XG4gIFN0eWxlZENob2ljZSxcbiAgU3R5bGVkQ2hvaWNlQ29udGFpbmVyLFxuICBTdHlsZWRDaG9pY2VDb250YWluZXJTa2VsZXRvbixcbiAgU3R5bGVkQ2hvaWNlTGFiZWwsXG4gIFN0eWxlZENob2ljZUxhYmVsU2tlbGV0b24sXG4gIFN0eWxlZENob2ljZVZpc3VhbFNrZWxldG9uLFxuICBTdHlsZWRWaXN1YWwsXG4gIFN0eWxlZFZpc3VhbENvbnRhaW5lcixcbn0gZnJvbSBcIi4uL2Nob2ljZS5zdHlsZVwiO1xuaW1wb3J0IHsgRnJhbWUgfSBmcm9tIFwiLi4vLi4vZnJhbWVcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb2xvclZhcmlhbnQgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcblxuZXhwb3J0IGNvbnN0IENob2ljZSA9ICh7XG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG4gIGljb24sXG59OiBDaG9pY2VUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBDaG9pY2VDb250ZXh0ID0gdXNlQ29udGV4dChDaG9pY2VDdHgpO1xuICBjb25zdCBUaGVtZTogSUNob2ljZVRoZW1lID0gdXNlQ2hvaWNlVGhlbWUoQ2hvaWNlQ29udGV4dCk7XG4gIGNvbnN0IGlzRGlzYWJsZWQgPSBDaG9pY2VDb250ZXh0ID09PSBDaG9pY2Vjb250ZXh0LkRJU0FCTEVEO1xuICBjb25zdCBpc1NrZWxldG9uID0gQ2hvaWNlQ29udGV4dCA9PT0gQ2hvaWNlY29udGV4dC5TS0VMRVRPTjtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQ2hvaWNlQ29udGFpbmVyU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZENob2ljZVZpc3VhbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0gLz5cbiAgICAgICAgPFN0eWxlZENob2ljZUxhYmVsU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvU3R5bGVkQ2hvaWNlTGFiZWxTa2VsZXRvbj5cbiAgICAgIDwvU3R5bGVkQ2hvaWNlQ29udGFpbmVyU2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENob2ljZUNvbnRhaW5lciBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfSB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZENob2ljZVxuICAgICAgICBkaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgYXJpYS1kaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgYXJpYS1jaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkVmlzdWFsQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxGcmFtZSB0aW50PXtDb2xvclZhcmlhbnQuVElOVF8yMDB9IGFyb3VuZD17aWNvbn0gLz5cbiAgICAgICAgPFN0eWxlZFZpc3VhbCB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICB0eXBlPXtUeXBlLkNIRUNLfVxuICAgICAgICAgICAgc2l6ZT17U2l6ZS5NRURJVU19XG4gICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXtsYWJlbH1cbiAgICAgICAgICAgIGNvbnRleHQ9e0NvbnRleHQuTElHSFR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRWaXN1YWw+XG4gICAgICA8L1N0eWxlZFZpc3VhbENvbnRhaW5lcj5cbiAgICAgIDxTdHlsZWRDaG9pY2VMYWJlbCB0aGVtZT17VGhlbWV9PntsYWJlbH08L1N0eWxlZENob2ljZUxhYmVsPlxuICAgIDwvU3R5bGVkQ2hvaWNlQ29udGFpbmVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBDaG9pY2VDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvY2hvaWNlL2Nob2ljZS5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSUNob2ljZVRoZW1lIH0gZnJvbSBcIi4uL2Nob2ljZS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlQ2hvaWNlVGhlbWUgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDaG9pY2VDb250ZXh0LFxuKTogSUNob2ljZVRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IGVycm9yQm9yZGVyQ29sb3IgPSBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwO1xuXG4gIGNvbnN0IFN0YW5kYXJkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGNvbnN0IEVycm9yID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIGVycm9yQm9yZGVyQ29sb3IsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMubGcsXG4gICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgY29uc3QgRGlzYWJsZWQgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtDaG9pY2VDb250ZXh0LlNUQU5EQVJELCBTdGFuZGFyZF0sXG4gICAgW0Nob2ljZUNvbnRleHQuRVJST1IsIEVycm9yXSxcbiAgICBbQ2hvaWNlQ29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICAgIFtDaG9pY2VDb250ZXh0LlNLRUxFVE9OLCBTa2VsZXRvbl0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQ2hvaWNlVGhlbWUgfSBmcm9tIFwiLi9jaG9pY2UudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENob2ljZSA9IHN0eWxlZC5pbnB1dC5hdHRycyh7IHR5cGU6IFwiUmFkaW9cIiB9KTx7XG4gIHRoZW1lOiBJQ2hvaWNlVGhlbWU7XG59PmBcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICY6Y2hlY2tlZCB+IHNwYW4ge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5jb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gICY6Y2hlY2tlZCB+IGRpdiA+IDpsYXN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hvaWNlQ29udGFpbmVyID0gc3R5bGVkLmxhYmVsPHtcbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgdGhlbWU6IElDaG9pY2VUaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJHsocHJvcHMpID0+XG4gICAgIXByb3BzLmlzRGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICAmOmhvdmVyID4gc3BhbiB7XG4gICAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICBgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENob2ljZUxhYmVsID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSUNob2ljZVRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBwYWRkaW5nLWxlZnQ6IDY4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgbWluLWhlaWdodDogNThweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRWaXN1YWxDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElDaG9pY2VUaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA4cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQ2hvaWNlVGhlbWUgfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnZpc3VhbFJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmJhY2tncm91bmR9O1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hvaWNlQ29udGFpbmVyU2tlbGV0b24gPSBzdHlsZWQubGFiZWw8e1xuICB0aGVtZTogSUNob2ljZVRoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNThweDtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaG9pY2VWaXN1YWxTa2VsZXRvbiA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUNob2ljZVRoZW1lIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS52aXN1YWxSYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaG9pY2VMYWJlbFNrZWxldG9uID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSUNob2ljZVRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW4tbGVmdDogNjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGZWF0dXJlIGFzIEJhc2VGZWF0dXJlIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9jb21wb25lbnRzL2ZlYXR1cmVcIjtcbmltcG9ydCB7IElGZWF0dXJlIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9mZWF0dXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vZmVhdHVyZS5lbnVtc1wiO1xuXG5jb25zdCBEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPSBjcmVhdGVDb250ZXh0KERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZSA9ICh7IGNvbnRleHQsIGxhYmVsLCB3aXRoSWNvbkJlZm9yZSB9OiBJRmVhdHVyZSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPEN0eC5Qcm92aWRlciB2YWx1ZT17Q29tcG9uZW50Q29udGV4dH0+XG4gICAgICA8QmFzZUZlYXR1cmUgbGFiZWw9e2xhYmVsfSB3aXRoSWNvbkJlZm9yZT17d2l0aEljb25CZWZvcmV9IC8+XG4gICAgPC9DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZEZlYXR1cmUsXG4gIFN0eWxlZFNrZWxldG9uRmVhdHVyZSxcbn0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9mZWF0dXJlLnN0eWxlXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IElGZWF0dXJlQmFzZSB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS50eXBlc1wiO1xuaW1wb3J0IHsgQ3R4IH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZVwiO1xuaW1wb3J0IHsgdXNlRmVhdHVyZSB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvaG9va3MvdXNlLWZlYXR1cmVcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vZmVhdHVyZS5lbnVtc1wiO1xuaW1wb3J0IHsgRmVhdHVyZUxhYmVsIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9jb21wb25lbnRzL2ZlYXR1cmUubGFiZWxcIjtcbmltcG9ydCB7IEZlYXR1cmVJY29uIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9jb21wb25lbnRzL2ZlYXR1cmUuaWNvblwiO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZSA9ICh7IGxhYmVsLCB3aXRoSWNvbkJlZm9yZSB9OiBJRmVhdHVyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGZWF0dXJlKENvbXBvbmVudENvbnRleHQpO1xuICBjb25zdCBJc1NrZWxldG9uID0gQ29tcG9uZW50Q29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICBjb25zdCBMYWJlbCA9IDxGZWF0dXJlTGFiZWw+e2xhYmVsfTwvRmVhdHVyZUxhYmVsPjtcbiAgY29uc3QgSWNvbkJlZm9yZSA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgIDxGZWF0dXJlSWNvbiBpY29uPXt3aXRoSWNvbkJlZm9yZX0gLz5cbiAgKSA6IG51bGw7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICBjb25zdCBJY29uQmVmb3JlU2tlbGV0b24gPSB3aXRoSWNvbkJlZm9yZSA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPEZlYXR1cmVJY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IExhYmVsU2tlbGV0b24gPSAoXG4gICAgICA8UGxhY2Vob2xkZXI+XG4gICAgICAgIDxGZWF0dXJlTGFiZWw+e2xhYmVsfTwvRmVhdHVyZUxhYmVsPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvbkZlYXR1cmUgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAge0ljb25CZWZvcmVTa2VsZXRvbn1cbiAgICAgICAge0xhYmVsU2tlbGV0b259XG4gICAgICA8L1N0eWxlZFNrZWxldG9uRmVhdHVyZT5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRmVhdHVyZSB0aGVtZT17VGhlbWV9PlxuICAgICAge0ljb25CZWZvcmV9IHtMYWJlbH1cbiAgICA8L1N0eWxlZEZlYXR1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7XG4gIElGZWF0dXJlSWNvblRoZW1lLFxuICBJRmVhdHVyZVRoZW1lLFxufSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZlYXR1cmUgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyB0aGVtZTogSUZlYXR1cmVUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvbkZlYXR1cmUgPSBzdHlsZWQoU3R5bGVkRmVhdHVyZSk8e1xuICB0aGVtZTogSUZlYXR1cmVUaGVtZTtcbn0+YFxuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGZWF0dXJlTGFiZWwgPSBzdHlsZWQuZGl2PHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmVhdHVyZUljb24gPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyB0aGVtZTogSUZlYXR1cmVJY29uVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1hcmdpbn07XG5gO1xuIiwiaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuLi9mZWF0dXJlLmVudW1zXCI7XG5pbXBvcnQgeyBJRmVhdHVyZVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9mZWF0dXJlLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlRmVhdHVyZSA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCk6IElGZWF0dXJlVGhlbWUgPT4ge1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNzAwLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TS0VMRVRPTixcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5LnNtLm5vcm1hbCxcbiAgICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzcwMCxcbiAgICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRmVhdHVyZUxhYmVsUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZlYXR1cmVMYWJlbCB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS5zdHlsZVwiO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZUxhYmVsID0gKHsgY2hpbGRyZW4gfTogRmVhdHVyZUxhYmVsUHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRGZWF0dXJlTGFiZWw+e2NoaWxkcmVufTwvU3R5bGVkRmVhdHVyZUxhYmVsPjtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ3R4IGFzIEZlYXR1cmVDdHggfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEljb25Db250ZXh0LCBTaXplIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUuZW51bXNcIjtcbmltcG9ydCB7IEZlYXR1cmVJY29uUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUudHlwZXNcIjtcbmltcG9ydCB7IHVzZUZlYXR1cmVJY29uQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvaG9va3MvdXNlLWZlYXR1cmUtaWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkRmVhdHVyZUljb24gfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUuc3R5bGVcIjtcblxuZXhwb3J0IGNvbnN0IEZlYXR1cmVJY29uID0gKHsgaWNvbiB9OiBGZWF0dXJlSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KEZlYXR1cmVDdHgpO1xuICBjb25zdCBJY29uQ29udGV4dDogSWNvbkNvbnRleHQgPSB1c2VGZWF0dXJlSWNvbkNvbnRleHQoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgY29uc3QgTWFyZ2luID0gXCIwIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiMlwiXSArIFwiIDAgMFwiO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEZlYXR1cmVJY29uIHRoZW1lPXt7IG1hcmdpbjogTWFyZ2luIH19PlxuICAgICAge1JlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XG4gICAgICAgIGNvbnRleHQ6IEljb25Db250ZXh0LFxuICAgICAgICBzaXplOiBTaXplLlNNQUxMLFxuICAgICAgfSl9XG4gICAgPC9TdHlsZWRGZWF0dXJlSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBDb250ZXh0IGFzIEljb25Db250ZXh0IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEZlYXR1cmVDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9mZWF0dXJlLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VGZWF0dXJlSWNvbkNvbnRleHQgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBGZWF0dXJlQ29udGV4dCxcbik6IEljb25Db250ZXh0ID0+IHtcbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbRmVhdHVyZUNvbnRleHQuU1RBTkRBUkQsIEljb25Db250ZXh0LkRBUktdLFxuICAgIFtGZWF0dXJlQ29udGV4dC5TS0VMRVRPTiwgSWNvbkNvbnRleHQuRElTQUJMRURdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgSHRtbEhlYWRpbmcsXG4gIEh0bWxIZWFkaW5nS2V5cyxcbiAgSUhlYWRpbmcsXG59IGZyb20gXCJAL2F0b21zL2hlYWRpbmcvaGVhZGluZy50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2hlYWRpbmcvaGVhZGluZy5lbnVtc1wiO1xuaW1wb3J0IHsgSGVhZGluZyBhcyBCYXNlSGVhZGluZyB9IGZyb20gXCJAL2F0b21zL2hlYWRpbmcvY29tcG9uZW50cy9oZWFkaW5nXCI7XG5pbXBvcnQge1xuICBUeXBvZ3JhcGh5Rm9udCxcbiAgVHlwb2dyYXBoeUZvbnRLZXksXG4gIFR5cG9ncmFwaHlGb250cyxcbn0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5cbmNvbnN0IEhlYWRpbmdDdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEhlYWRpbmdDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChIZWFkaW5nQ3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBIZWFkaW5nID0gKHtcbiAgaWQsXG4gIHRpdGxlLFxuICBjaGlsZHJlbiA9IFwiXCIsXG4gIGh0bWxUeXBlID0gSHRtbEhlYWRpbmcuSDEsXG4gIHNpemUgPSBUeXBvZ3JhcGh5Rm9udC5MRyxcbiAgZm9udCA9IFR5cG9ncmFwaHlGb250cy5QUklNQVJZLFxuICBjb250ZXh0LFxufTogSUhlYWRpbmcpID0+IHtcbiAgY29uc3QgSGVhZGluZ0NvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IEhlYWRpbmdDdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRpbmdDdHguUHJvdmlkZXIgdmFsdWU9e0hlYWRpbmdDb250ZXh0fT5cbiAgICAgIDxCYXNlSGVhZGluZ1xuICAgICAgICBpZD17aWR9XG4gICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgaHRtbFR5cGU9e2h0bWxUeXBlfVxuICAgICAgICBzaXplPXtzaXplfVxuICAgICAgICBmb250PXtmb250fVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L0Jhc2VIZWFkaW5nPlxuICAgIDwvSGVhZGluZ0N0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUhlYWRpbmdCYXNlIH0gZnJvbSBcIkAvYXRvbXMvaGVhZGluZy9oZWFkaW5nLnR5cGVzXCI7XG5pbXBvcnQgeyBIZWFkaW5nQ3R4IH0gZnJvbSBcIkAvYXRvbXMvaGVhZGluZ1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkSDEsXG4gIFN0eWxlZEgyLFxuICBTdHlsZWRIMyxcbiAgU3R5bGVkSDQsXG4gIFN0eWxlZEg1LFxuICBTdHlsZWRINixcbn0gZnJvbSBcIkAvYXRvbXMvaGVhZGluZy9oZWFkaW5nLnN0eWxlXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBQbGFpblRleHQgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHRcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9oZWFkaW5nL2hlYWRpbmcuZW51bXNcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgUGxhaW5UZXh0Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IEhlYWRpbmcgPSAoe1xuICBpZCxcbiAgdGl0bGUsXG4gIGNoaWxkcmVuLFxuICBodG1sVHlwZSxcbiAgc2l6ZSxcbiAgZm9udCxcbn06IElIZWFkaW5nQmFzZSkgPT4ge1xuICBjb25zdCBIZWFkaW5nQ29udGV4dCA9IHVzZUNvbnRleHQoSGVhZGluZ0N0eCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBIZWFkaW5nQ29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICBjb25zdCBIMSA9IElzU2tlbGV0b24gPyAoXG4gICAgPFN0eWxlZEgxIGlkPXtpZH0gdGl0bGU9e3RpdGxlfT5cbiAgICAgIDxQbGFpblRleHQgZm9udD17Zm9udH0gc2l6ZT17c2l6ZX0gY29udGV4dD17UGxhaW5UZXh0Q29udGV4dC5TS0VMRVRPTn0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvUGxhaW5UZXh0PlxuICAgIDwvU3R5bGVkSDE+XG4gICkgOiAoXG4gICAgPFN0eWxlZEgxIGlkPXtpZH0gdGl0bGU9e3RpdGxlfT5cbiAgICAgIDxQbGFpblRleHQgZm9udD17Zm9udH0gc2l6ZT17c2l6ZX0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvUGxhaW5UZXh0PlxuICAgIDwvU3R5bGVkSDE+XG4gICk7XG5cbiAgY29uc3QgSDIgPSBJc1NrZWxldG9uID8gKFxuICAgIDxTdHlsZWRIMiBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9IGNvbnRleHQ9e1BsYWluVGV4dENvbnRleHQuU0tFTEVUT059PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEgyPlxuICApIDogKFxuICAgIDxTdHlsZWRIMiBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEgyPlxuICApO1xuXG4gIGNvbnN0IEgzID0gSXNTa2VsZXRvbiA/IChcbiAgICA8U3R5bGVkSDMgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfSBjb250ZXh0PXtQbGFpblRleHRDb250ZXh0LlNLRUxFVE9OfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRIMz5cbiAgKSA6IChcbiAgICA8U3R5bGVkSDMgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRIMz5cbiAgKTtcblxuICBjb25zdCBINCA9IElzU2tlbGV0b24gPyAoXG4gICAgPFN0eWxlZEg0IGlkPXtpZH0gdGl0bGU9e3RpdGxlfT5cbiAgICAgIDxQbGFpblRleHQgZm9udD17Zm9udH0gc2l6ZT17c2l6ZX0gY29udGV4dD17UGxhaW5UZXh0Q29udGV4dC5TS0VMRVRPTn0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvUGxhaW5UZXh0PlxuICAgIDwvU3R5bGVkSDQ+XG4gICkgOiAoXG4gICAgPFN0eWxlZEg0IGlkPXtpZH0gdGl0bGU9e3RpdGxlfT5cbiAgICAgIDxQbGFpblRleHQgZm9udD17Zm9udH0gc2l6ZT17c2l6ZX0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvUGxhaW5UZXh0PlxuICAgIDwvU3R5bGVkSDQ+XG4gICk7XG5cbiAgY29uc3QgSDUgPSBJc1NrZWxldG9uID8gKFxuICAgIDxTdHlsZWRINSBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9IGNvbnRleHQ9e1BsYWluVGV4dENvbnRleHQuU0tFTEVUT059PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEg1PlxuICApIDogKFxuICAgIDxTdHlsZWRINSBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEg1PlxuICApO1xuXG4gIGNvbnN0IEg2ID0gSXNTa2VsZXRvbiA/IChcbiAgICA8U3R5bGVkSDYgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfSBjb250ZXh0PXtQbGFpblRleHRDb250ZXh0LlNLRUxFVE9OfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRINj5cbiAgKSA6IChcbiAgICA8U3R5bGVkSDYgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRINj5cbiAgKTtcblxuICByZXR1cm4gbWF0Y2goaHRtbFR5cGUsIFtcbiAgICBbXCJoMVwiLCBIMV0sXG4gICAgW1wiaDJcIiwgSDJdLFxuICAgIFtcImgzXCIsIEgzXSxcbiAgICBbXCJoNFwiLCBINF0sXG4gICAgW1wiaDVcIiwgSDVdLFxuICAgIFtcImg2XCIsIEg2XSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEgxID0gc3R5bGVkLmgxPHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSDIgPSBzdHlsZWQuaDI8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRIMyA9IHN0eWxlZC5oMzx7fT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEg0ID0gc3R5bGVkLmg0PHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSDUgPSBzdHlsZWQuaDU8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRINiA9IHN0eWxlZC5oNjx7fT5gYDtcbiIsImltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi5lbnVtXCI7XG5pbXBvcnQgeyBJSW5mb3JtYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgSW5mb3JtYXRpb24gYXMgQmFzZUluZm9ybWF0aW9uIH0gZnJvbSBcIkAvYXRvbXMvaW5mb3JtYXRpb24vY29tcG9uZW50cy9pbmZvcm1hdGlvblwiO1xuXG5jb25zdCBEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPSBjcmVhdGVDb250ZXh0KERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgSW5mb3JtYXRpb24gPSAoeyBjb250ZXh0LCB0ZXh0LCBmcmFtZSB9OiBJSW5mb3JtYXRpb24pID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxDdHguUHJvdmlkZXIgdmFsdWU9e0NvbXBvbmVudENvbnRleHR9PlxuICAgICAgPEJhc2VJbmZvcm1hdGlvbiB0ZXh0PXt0ZXh0fSBmcmFtZT17ZnJhbWV9IC8+XG4gICAgPC9DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUluZm9ybWF0aW9uQmFzZSB9IGZyb20gXCJAL2F0b21zL2luZm9ybWF0aW9uL2luZm9ybWF0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBDdHggfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvblwiO1xuaW1wb3J0IHsgdXNlSW5mb3JtYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9ob29rcy91c2UtaW5mb3JtYXRpb25cIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi5lbnVtXCI7XG5pbXBvcnQge1xuICBTdHlsZWRJbmZvcm1hdGlvbixcbiAgU3R5bGVkSW5mb3JtYXRpb25UZXh0LFxuICBTdHlsZWRJbmZvcm1hdGlvblZpc3VhbCxcbiAgU3R5bGVkU2tlbGV0b25JbmZvcm1hdGlvbixcbn0gZnJvbSBcIkAvYXRvbXMvaW5mb3JtYXRpb24vaW5mb3JtYXRpb24uc3R5bGVcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgU2l6ZSwgVHlwZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuZW51bXNcIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlclwiO1xuXG5leHBvcnQgY29uc3QgSW5mb3JtYXRpb24gPSAoeyB0ZXh0LCBmcmFtZSB9OiBJSW5mb3JtYXRpb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KEN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSW5mb3JtYXRpb24oQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBDb21wb25lbnRDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuXG4gIGNvbnN0IFZpc3VhbCA9IGZyYW1lID8gKFxuICAgIGZyYW1lXG4gICkgOiAoXG4gICAgPEZpZ3VyZSB0eXBlPXtUeXBlLklERUF9IHNpemU9e1NpemUuTEFSR0V9IHNjcmVlblJlYWRlclRleHQ9XCJcIiAvPlxuICApO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvbkluZm9ybWF0aW9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgICB7VmlzdWFsfVxuICAgICAgICAgIHt0ZXh0fVxuICAgICAgICA8L1BsYWNlaG9sZGVyPlxuICAgICAgPC9TdHlsZWRTa2VsZXRvbkluZm9ybWF0aW9uPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRJbmZvcm1hdGlvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZEluZm9ybWF0aW9uVmlzdWFsPntWaXN1YWx9PC9TdHlsZWRJbmZvcm1hdGlvblZpc3VhbD5cbiAgICAgIDxTdHlsZWRJbmZvcm1hdGlvblRleHQ+e3RleHR9PC9TdHlsZWRJbmZvcm1hdGlvblRleHQ+XG4gICAgPC9TdHlsZWRJbmZvcm1hdGlvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQge1xuICB1c2VUaGVtZUNvbG9yLFxuICB1c2VUaGVtZUZvbnRzLFxuICB1c2VUaGVtZVJhZGl1cyxcbiAgdXNlVGhlbWVVdGlsaXR5LFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi5lbnVtXCI7XG5pbXBvcnQgeyBJSW5mb3JtYXRpb25UaGVtZSB9IGZyb20gXCJAL2F0b21zL2luZm9ybWF0aW9uL2luZm9ybWF0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuXG5leHBvcnQgY29uc3QgdXNlSW5mb3JtYXRpb24gPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0LFxuKTogSUluZm9ybWF0aW9uVGhlbWUgPT4ge1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtcbiAgICAgIENvbnRleHQuU1RBTkRBUkQsXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICAgIHJhZGl1czpcbiAgICAgICAgICBSYWRpdXMubGcgKyBcIiBcIiArIFJhZGl1cy5sZyArIFwiIFwiICsgUmFkaXVzLnhsICsgXCIgXCIgKyBSYWRpdXMubm9uZSxcbiAgICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNTAwLFxuICAgICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbXCIxMlwiXSArIFwiIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiOFwiXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkubWQubm9ybWFsLFxuICAgICAgICByYWRpdXM6XG4gICAgICAgICAgUmFkaXVzLmxnICsgXCIgXCIgKyBSYWRpdXMubGcgKyBcIiBcIiArIFJhZGl1cy54bCArIFwiIFwiICsgUmFkaXVzLm5vbmUsXG4gICAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1tcIjEyXCJdICsgXCIgXCIgKyBVdGlsaXR5LnNwYWNpbmdbXCI4XCJdLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUluZm9ybWF0aW9uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSW5mb3JtYXRpb24gPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElJbmZvcm1hdGlvblRoZW1lIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcGFkZGluZzogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnBhZGRpbmd9O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxLjVyZW07XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJbmZvcm1hdGlvblZpc3VhbCA9IHN0eWxlZC5kaXZgYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEluZm9ybWF0aW9uVGV4dCA9IHN0eWxlZC5kaXZgYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uSW5mb3JtYXRpb24gPSBzdHlsZWQoU3R5bGVkSW5mb3JtYXRpb24pPHtcbiAgdGhlbWU6IElJbmZvcm1hdGlvblRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgeyBJbnB1dFByb3BzIH0gZnJvbSBcIi4vaW5wdXQudHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi9pbnB1dC5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSW5wdXQgYXMgSW5wdXRDb21wb25lbnQgfSBmcm9tIFwiQC9hdG9tcy9pbnB1dC9jb21wb25lbnRzL2lucHV0XCI7XG5cbmNvbnN0IElucHV0Q3R4RGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBJbnB1dEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KElucHV0Q3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBJbnB1dCA9ICh7XG4gIGRlZmF1bHRWYWx1ZSxcbiAgb25DaGFuZ2UsXG4gIG9uQmx1cixcbiAgdmFsdWUsXG4gIHBsYWNlaG9sZGVyLFxuICBtdWx0aWxpbmUsXG4gIHJvd3MgPSAzLFxuICBhcmlhTGFiZWwsXG4gIG5hbWUsXG4gIGNvbnRleHQsXG4gIHdpdGhJY29uQmVmb3JlLFxuICB3aXRoSWNvbkFmdGVyLFxufTogSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBJbnB1dENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IElucHV0Q3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxJbnB1dEN0eC5Qcm92aWRlciB2YWx1ZT17SW5wdXRDb250ZXh0fT5cbiAgICAgIDxJbnB1dENvbXBvbmVudFxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgIG11bHRpbGluZT17bXVsdGlsaW5lfVxuICAgICAgICBhcmlhTGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgd2l0aEljb25CZWZvcmU9e3dpdGhJY29uQmVmb3JlfVxuICAgICAgICB3aXRoSWNvbkFmdGVyPXt3aXRoSWNvbkFmdGVyfVxuICAgICAgLz5cbiAgICA8L0lucHV0Q3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElJbnB1dFRoZW1lLCBJbnB1dFRoZW1lYWJsZVByb3BzIH0gZnJvbSBcIi4uL2lucHV0LnR5cGVzXCI7XG5pbXBvcnQgeyBJbnB1dEN0eCB9IGZyb20gXCIuLi9pbmRleFwiO1xuaW1wb3J0IHsgdXNlSW5wdXRUaGVtZSB9IGZyb20gXCIuLi9ob29rcy91c2UtaW5wdXRcIjtcbmltcG9ydCB7XG4gIFN0eWxlZElucHV0LFxuICBTdHlsZWRJbnB1dENvbnRhaW5lcixcbiAgU3R5bGVkSW5wdXRJY29uQWZ0ZXJDb250YWluZXIsXG4gIFN0eWxlZElucHV0SWNvbkJlZm9yZUNvbnRhaW5lcixcbiAgU3R5bGVkSW5wdXRTa2VsZXRvbixcbiAgU3R5bGVkVGV4dGFyZWEsXG4gIFN0eWxlZFRleHRhcmVhU2tlbGV0b24sXG59IGZyb20gXCIuLi9pbnB1dC5zdHlsZVwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuLi9pbnB1dC5lbnVtc1wiO1xuaW1wb3J0IHsgSW5wdXRJY29uIH0gZnJvbSBcIi4vaW5wdXQuaWNvblwiO1xuXG5leHBvcnQgY29uc3QgSW5wdXQgPSAoe1xuICBkZWZhdWx0VmFsdWUsXG4gIG9uQ2hhbmdlLFxuICBvbkJsdXIsXG4gIHZhbHVlLFxuICBwbGFjZWhvbGRlcixcbiAgbXVsdGlsaW5lLFxuICByb3dzID0gMyxcbiAgYXJpYUxhYmVsLFxuICBuYW1lLFxuICB3aXRoSWNvbkFmdGVyLFxuICB3aXRoSWNvbkJlZm9yZSxcbn06IElucHV0VGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgSW5wdXRDb250ZXh0ID0gdXNlQ29udGV4dChJbnB1dEN0eCk7XG4gIGNvbnN0IFRoZW1lOiBJSW5wdXRUaGVtZSA9IHVzZUlucHV0VGhlbWUoSW5wdXRDb250ZXh0KTtcbiAgY29uc3QgZXJyb3IgPSBJbnB1dENvbnRleHQgPT09IENvbnRleHQuRVJST1I7XG4gIGNvbnN0IGRpc2FibGVkID0gSW5wdXRDb250ZXh0ID09PSBDb250ZXh0LkRJU0FCTEVEO1xuICBjb25zdCBza2VsZXRvbiA9IElucHV0Q29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICBjb25zdCBJY29uQmVmb3JlID0gd2l0aEljb25CZWZvcmUgPyAoXG4gICAgPFN0eWxlZElucHV0SWNvbkJlZm9yZUNvbnRhaW5lcj5cbiAgICAgIDxJbnB1dEljb24gaWNvbj17d2l0aEljb25CZWZvcmV9IC8+XG4gICAgPC9TdHlsZWRJbnB1dEljb25CZWZvcmVDb250YWluZXI+XG4gICkgOiBudWxsO1xuICBjb25zdCBJY29uQWZ0ZXIgPSB3aXRoSWNvbkFmdGVyID8gKFxuICAgIDxTdHlsZWRJbnB1dEljb25BZnRlckNvbnRhaW5lcj5cbiAgICAgIDxJbnB1dEljb24gaWNvbj17d2l0aEljb25BZnRlcn0gLz5cbiAgICA8L1N0eWxlZElucHV0SWNvbkFmdGVyQ29udGFpbmVyPlxuICApIDogbnVsbDtcblxuICBpZiAobXVsdGlsaW5lKSB7XG4gICAgaWYgKHNrZWxldG9uKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkVGV4dGFyZWFTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxTdHlsZWRUZXh0YXJlYVxuICAgICAgICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgICAgICAgaGFzSWNvbkJlZm9yZT17ZmFsc2V9XG4gICAgICAgICAgICBoYXNJY29uQWZ0ZXI9e2ZhbHNlfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICBhcmlhLWludmFsaWQ9e2Vycm9yfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgIGFyaWEtbXVsdGlsaW5lPXt0cnVlfVxuICAgICAgICAgICAgYXJpYS1kaXNhYmxlZD17dHJ1ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXt0cnVlfVxuICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgIGlkPXtuYW1lfVxuICAgICAgICAgID48L1N0eWxlZFRleHRhcmVhPlxuICAgICAgICA8L1N0eWxlZFRleHRhcmVhU2tlbGV0b24+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkSW5wdXRDb250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAge0ljb25CZWZvcmV9XG4gICAgICAgIDxTdHlsZWRUZXh0YXJlYVxuICAgICAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgICAgICBoYXNJY29uQmVmb3JlPXshIUljb25CZWZvcmV9XG4gICAgICAgICAgaGFzSWNvbkFmdGVyPXshIUljb25BZnRlcn1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICBhcmlhLWludmFsaWQ9e2Vycm9yfVxuICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgICByb3dzPXtyb3dzfVxuICAgICAgICAgIGFyaWEtbXVsdGlsaW5lPXt0cnVlfVxuICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIGlkPXtuYW1lfVxuICAgICAgICA+PC9TdHlsZWRUZXh0YXJlYT5cbiAgICAgICAge0ljb25BZnRlcn1cbiAgICAgIDwvU3R5bGVkSW5wdXRDb250YWluZXI+XG4gICAgKTtcbiAgfVxuXG4gIGlmIChza2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkSW5wdXRTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICAgICAgaGFzSWNvbkJlZm9yZT17ZmFsc2V9XG4gICAgICAgICAgaGFzSWNvbkFmdGVyPXtmYWxzZX1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgIGFyaWEtaW52YWxpZD17ZXJyb3J9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgIGRpc2FibGVkPXt0cnVlfVxuICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9e3RydWV9XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICBpZD17bmFtZX1cbiAgICAgICAgPjwvU3R5bGVkSW5wdXQ+XG4gICAgICA8L1N0eWxlZElucHV0U2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZElucHV0Q29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICB7SWNvbkJlZm9yZX1cbiAgICAgIDxTdHlsZWRJbnB1dFxuICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICAgIGhhc0ljb25CZWZvcmU9eyEhSWNvbkJlZm9yZX1cbiAgICAgICAgaGFzSWNvbkFmdGVyPXshIUljb25BZnRlcn1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICBhcmlhLWludmFsaWQ9e2Vycm9yfVxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgYXJpYS1kaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIGlkPXtuYW1lfVxuICAgICAgPjwvU3R5bGVkSW5wdXQ+XG4gICAgICB7SWNvbkFmdGVyfVxuICAgIDwvU3R5bGVkSW5wdXRDb250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIElucHV0Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL2lucHV0L2lucHV0LmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJSW5wdXRUaGVtZSB9IGZyb20gXCIuLi9pbnB1dC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlSW5wdXRUaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIElucHV0Q29udGV4dCxcbik6IElJbnB1dFRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IGVycm9yQm9yZGVyQ29sb3IgPSBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwO1xuXG4gIGNvbnN0IFN0YW5kYXJkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VyZmFjZXMudGludF81MDAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgICB9LFxuICAgIGZvY3VzOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBFcnJvciA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICB9LFxuICAgIGZvY3VzOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBEaXNhYmxlZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICB9LFxuICAgIGZvY3VzOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGZvY3VzOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtJbnB1dENvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbSW5wdXRDb250ZXh0LkVSUk9SLCBFcnJvcl0sXG4gICAgW0lucHV0Q29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICAgIFtJbnB1dENvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElJbnB1dFRoZW1lIH0gZnJvbSBcIi4vaW5wdXQudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJSW5wdXRUaGVtZSB9PmBcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSW5wdXRJY29uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZElucHV0SWNvbkJlZm9yZUNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRJbnB1dEljb25Db250YWluZXIpYFxuICBsZWZ0OiAyNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0b3A6IDIwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSW5wdXRJY29uQWZ0ZXJDb250YWluZXIgPSBzdHlsZWQoU3R5bGVkSW5wdXRJY29uQ29udGFpbmVyKWBcbiAgcmlnaHQ6IDI0cHg7XG4gIGJvdHRvbTogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dDx7XG4gIHRoZW1lOiBJSW5wdXRUaGVtZTtcbiAgaGFzSWNvbkJlZm9yZTogYm9vbGVhbjtcbiAgaGFzSWNvbkFmdGVyOiBib29sZWFuO1xufT5gXG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzIGVhc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBwYWRkaW5nOiAxNHB4IDI0cHg7XG4gIHotaW5kZXg6IDI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0ljb25CZWZvcmUgJiZcbiAgICBjc3NgXG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgYH1cbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzSWNvbkFmdGVyICYmXG4gICAgY3NzYFxuICAgICAgcGFkZGluZy1yaWdodDogNDhweDtcbiAgICBgfVxuICAgIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmNvbG9yfTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9jdXMuYmFja2dyb3VuZH07XG4gICAgb3V0bGluZTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvY3VzLmJvcmRlcn07XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIH1cbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIH1cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZElucHV0U2tlbGV0b24gPSBzdHlsZWQoU3R5bGVkSW5wdXRDb250YWluZXIpPHtcbiAgdGhlbWU6IElJbnB1dFRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gID4gKiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRleHRhcmVhID0gc3R5bGVkLnRleHRhcmVhPHtcbiAgdGhlbWU6IElJbnB1dFRoZW1lO1xuICBoYXNJY29uQmVmb3JlOiBib29sZWFuO1xuICBoYXNJY29uQWZ0ZXI6IGJvb2xlYW47XG59PmBcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXMgZWFzZTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgcGFkZGluZzogMTRweCAyNHB4O1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIHJlc2l6ZTogbm9uZTtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzSWNvbkJlZm9yZSAmJlxuICAgIGNzc2BcbiAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcbiAgICBgfVxuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5oYXNJY29uQWZ0ZXIgJiZcbiAgICBjc3NgXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xuICAgIGB9XG4gICAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9jdXMuYmFja2dyb3VuZH07XG4gICAgb3V0bGluZTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvY3VzLmJvcmRlcn07XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIH1cbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIH1cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRleHRhcmVhU2tlbGV0b24gPSBzdHlsZWQoU3R5bGVkSW5wdXRDb250YWluZXIpPHtcbiAgdGhlbWU6IElJbnB1dFRoZW1lO1xufT5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gID4gKiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuYDtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEljb25Db250ZXh0LCBTaXplIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBJbnB1dEN0eCB9IGZyb20gXCIuLi9pbmRleFwiO1xuaW1wb3J0IHsgSW5wdXRJY29uUHJvcHMgfSBmcm9tIFwiLi4vaW5wdXQudHlwZXNcIjtcbmltcG9ydCB7IHVzZUlucHV0SWNvbkNvbnRleHQgfSBmcm9tIFwiLi4vaG9va3MvdXNlLWlucHV0Lmljb25cIjtcblxuZXhwb3J0IGNvbnN0IElucHV0SWNvbiA9ICh7IGljb24gfTogSW5wdXRJY29uUHJvcHMpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSW5wdXRDdHgpO1xuICBjb25zdCBJY29uQ29udGV4dDogSWNvbkNvbnRleHQgPSB1c2VJbnB1dEljb25Db250ZXh0KENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xuICAgICAgICBjb250ZXh0OiBJY29uQ29udGV4dCxcbiAgICAgICAgc2l6ZTogU2l6ZS5TTUFMTCxcbiAgICAgIH0pfVxuICAgIDwvPlxuICApO1xufTtcbiIsImltcG9ydCB7IENvbnRleHQgYXMgSWNvbkNvbnRleHQgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgSW5wdXRDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvaW5wdXQvaW5wdXQuZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUlucHV0SWNvbkNvbnRleHQgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBJbnB1dENvbnRleHQsXG4pOiBJY29uQ29udGV4dCA9PiB7XG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0lucHV0Q29udGV4dC5TVEFOREFSRCwgSWNvbkNvbnRleHQuREFSS10sXG4gICAgW0lucHV0Q29udGV4dC5FUlJPUiwgSWNvbkNvbnRleHQuREFSS10sXG4gICAgW0lucHV0Q29udGV4dC5ESVNBQkxFRCwgSWNvbkNvbnRleHQuRElTQUJMRURdLFxuICAgIFtJbnB1dENvbnRleHQuU0tFTEVUT04sIEljb25Db250ZXh0LkRJU0FCTEVEXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuZW51bXNcIjtcbmltcG9ydCB7IElMaW5rIH0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLnR5cGVzXCI7XG5pbXBvcnQgeyBMaW5rIGFzIEJhc2VMaW5rIH0gZnJvbSBcIkAvYXRvbXMvbGluay9jb21wb25lbnRzL2xpbmtcIjtcblxuY29uc3QgTGlua0N0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgTGlua0N0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KExpbmtDdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IExpbmsgPSAoe1xuICBpZCxcbiAgdGl0bGUsXG4gIGFyaWFMYWJlbCxcbiAgY2hpbGRyZW4sXG4gIGNvbnRleHQsXG4gIHdpdGhJY29uQmVmb3JlLFxuICB3aXRoSWNvbkFmdGVyLFxufTogSUxpbmspID0+IHtcbiAgY29uc3QgTGlua0NvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IExpbmtDdHhEZWZhdWx0O1xuXG4gIC8vIExpbmsgaXMganVzdCBhIHBsYWluIHVybFxuICByZXR1cm4gKFxuICAgIDxMaW5rQ3R4LlByb3ZpZGVyIHZhbHVlPXtMaW5rQ29udGV4dH0+XG4gICAgICA8QmFzZUxpbmtcbiAgICAgICAgaWQ9e2lkfVxuICAgICAgICB0aXRsZT17dGl0bGV9XG4gICAgICAgIGFyaWFMYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICB3aXRoSWNvbkJlZm9yZT17d2l0aEljb25CZWZvcmV9XG4gICAgICAgIHdpdGhJY29uQWZ0ZXI9e3dpdGhJY29uQWZ0ZXJ9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQmFzZUxpbms+XG4gICAgPC9MaW5rQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJTGlua0Jhc2UgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsudHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExpbmssXG4gIFN0eWxlZExpbmtJbm5lcixcbiAgU3R5bGVkTGlua1NrZWxldG9uLFxufSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMaW5rQ3R4IH0gZnJvbSBcIkAvYXRvbXMvbGlua1wiO1xuaW1wb3J0IHsgQ29udGV4dCwgUG9zaXRpb24gfSBmcm9tIFwiLi4vbGluay5lbnVtc1wiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgeyBMaW5rTGFiZWwgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2NvbXBvbmVudHMvbGluay5sYWJlbFwiO1xuaW1wb3J0IHsgTGlua0ljb24gfSBmcm9tIFwiQC9hdG9tcy9saW5rL2NvbXBvbmVudHMvbGluay5pY29uXCI7XG5pbXBvcnQgeyB1c2VMaW5rVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2hvb2tzL3VzZS1saW5rXCI7XG5cbmV4cG9ydCBjb25zdCBMaW5rID0gKHtcbiAgaWQsXG4gIHRpdGxlLFxuICBhcmlhTGFiZWwsXG4gIGNoaWxkcmVuLFxuICB3aXRoSWNvbkJlZm9yZSxcbiAgd2l0aEljb25BZnRlcixcbn06IElMaW5rQmFzZSkgPT4ge1xuICBjb25zdCBMaW5rQ29udGV4dCA9IHVzZUNvbnRleHQoTGlua0N0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlTGlua1RoZW1lKExpbmtDb250ZXh0KTtcblxuICBjb25zb2xlLmxvZyhUaGVtZSk7XG5cbiAgY29uc3QgSXNTa2VsZXRvbiA9IExpbmtDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuICBjb25zdCBMYWJlbCA9IGNoaWxkcmVuID8gPExpbmtMYWJlbD57Y2hpbGRyZW59PC9MaW5rTGFiZWw+IDogbnVsbDtcblxuICAvL3VzZUJ1dHRvbkljb25Db250ZXh0XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICBjb25zdCBJY29uQmVmb3JlU2tlbGV0b24gPSB3aXRoSWNvbkJlZm9yZSA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPExpbmtJY29uIGljb249e3dpdGhJY29uQmVmb3JlfSBwb3NpdGlvbj17UG9zaXRpb24uQkVGT1JFfSAvPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IEljb25BZnRlclNrZWxldG9uID0gd2l0aEljb25BZnRlciA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPExpbmtJY29uIGljb249e3dpdGhJY29uQWZ0ZXJ9IHBvc2l0aW9uPXtQb3NpdGlvbi5BRlRFUn0gLz5cbiAgICAgIDwvUGxhY2Vob2xkZXI+XG4gICAgKSA6IG51bGw7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExpbmtTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkTGlua0lubmVyPlxuICAgICAgICAgIHtJY29uQmVmb3JlU2tlbGV0b259XG4gICAgICAgICAge0xhYmVsfVxuICAgICAgICAgIHtJY29uQWZ0ZXJTa2VsZXRvbn1cbiAgICAgICAgPC9TdHlsZWRMaW5rSW5uZXI+XG4gICAgICA8L1N0eWxlZExpbmtTa2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgSWNvbkJlZm9yZSA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgIDxMaW5rSWNvbiBpY29uPXt3aXRoSWNvbkJlZm9yZX0gcG9zaXRpb249e1Bvc2l0aW9uLkJFRk9SRX0gLz5cbiAgKSA6IG51bGw7XG4gIGNvbnN0IEljb25BZnRlciA9IHdpdGhJY29uQWZ0ZXIgPyAoXG4gICAgPExpbmtJY29uIGljb249e3dpdGhJY29uQWZ0ZXJ9IHBvc2l0aW9uPXtQb3NpdGlvbi5BRlRFUn0gLz5cbiAgKSA6IG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkTGluayB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZExpbmtJbm5lcj5cbiAgICAgICAge0ljb25CZWZvcmV9XG4gICAgICAgIHtMYWJlbH1cbiAgICAgICAge0ljb25BZnRlcn1cbiAgICAgIDwvU3R5bGVkTGlua0lubmVyPlxuICAgIDwvU3R5bGVkTGluaz5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUxpbmtJY29uVGhlbWUsIElMaW5rVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExpbmtJbm5lciA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcbmV4cG9ydCBjb25zdCBTdHlsZWRMaW5rTGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbmA7XG5leHBvcnQgY29uc3QgU3R5bGVkTGlua0ljb25CZWZvcmUgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJTGlua0ljb25UaGVtZSB9PmBcbiAgbWFyZ2luOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUubWFyZ2lufTtcbiAgZGlzcGxheTogZmxleDtcbmA7XG5leHBvcnQgY29uc3QgU3R5bGVkTGlua0ljb25BZnRlciA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElMaW5rSWNvblRoZW1lIH0+YFxuICBtYXJnaW46ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXJnaW59O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExpbmsgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJTGlua1RoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIHRleHQtZGVjb3JhdGlvbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRleHREZWNvcmF0aW9ufTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMC42cztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIDpob3ZlciB7XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5jb2xvcn07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIudGV4dERlY29yYXRpb259O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGlua1NrZWxldG9uID0gc3R5bGVkKFN0eWxlZExpbmspPHtcbiAgdGhlbWU6IElMaW5rVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5gO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgTGlua0xhYmVsUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZExpbmtMYWJlbCB9IGZyb20gXCIuLi9saW5rLnN0eWxlc1wiO1xuXG5leHBvcnQgY29uc3QgTGlua0xhYmVsID0gKHsgY2hpbGRyZW4gfTogTGlua0xhYmVsUHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRMaW5rTGFiZWw+e2NoaWxkcmVufTwvU3R5bGVkTGlua0xhYmVsPjtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBJY29uQ29udGV4dCwgU2l6ZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgTGlua0N0eCB9IGZyb20gXCJAL2F0b21zL2xpbmtcIjtcbmltcG9ydCB7IHVzZUxpbmtJY29uQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xpbmsvaG9va3MvdXNlLWxpbmstaWNvblwiO1xuaW1wb3J0IHsgTGlua0ljb25Qcm9wcyB9IGZyb20gXCJAL2F0b21zL2xpbmsvbGluay50eXBlc1wiO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExpbmtJY29uQWZ0ZXIsXG4gIFN0eWxlZExpbmtJY29uQmVmb3JlLFxufSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IExpbmtJY29uID0gKHsgaWNvbiwgcG9zaXRpb24gfTogTGlua0ljb25Qcm9wcykgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChMaW5rQ3R4KTtcbiAgY29uc3QgSWNvbkNvbnRleHQ6IEljb25Db250ZXh0ID0gdXNlTGlua0ljb25Db250ZXh0KENvbnRleHQpO1xuXG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcblxuICBjb25zdCBCZWZvcmUgPSBcIjAgXCIgKyBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdICsgXCIgMCAwXCI7XG4gIGNvbnN0IEFmdGVyID0gXCIwIDAgMCBcIiArIFV0aWxpdHkuc3BhY2luZ1tcIjJcIl07XG5cbiAgcmV0dXJuIG1hdGNoKHBvc2l0aW9uLCBbXG4gICAgW1xuICAgICAgUG9zaXRpb24uQkVGT1JFLFxuICAgICAgPFN0eWxlZExpbmtJY29uQmVmb3JlIHRoZW1lPXt7IG1hcmdpbjogQmVmb3JlIH19PlxuICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcbiAgICAgICAgICBjb250ZXh0OiBJY29uQ29udGV4dCxcbiAgICAgICAgICBzaXplOiBTaXplLlNNQUxMLFxuICAgICAgICB9KX1cbiAgICAgIDwvU3R5bGVkTGlua0ljb25CZWZvcmU+LFxuICAgIF0sXG4gICAgW1xuICAgICAgUG9zaXRpb24uQUZURVIsXG4gICAgICA8U3R5bGVkTGlua0ljb25BZnRlciB0aGVtZT17eyBtYXJnaW46IEFmdGVyIH19PlxuICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcbiAgICAgICAgICBjb250ZXh0OiBJY29uQ29udGV4dCxcbiAgICAgICAgICBzaXplOiBTaXplLlNNQUxMLFxuICAgICAgICB9KX1cbiAgICAgIDwvU3R5bGVkTGlua0ljb25BZnRlcj4sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgQ29udGV4dCBhcyBJY29uQ29udGV4dCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBMaW5rQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xpbmsvbGluay5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlTGlua0ljb25Db250ZXh0ID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgTGlua0NvbnRleHQsXG4pOiBJY29uQ29udGV4dCA9PiB7XG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0xpbmtDb250ZXh0LlNUQU5EQVJELCBJY29uQ29udGV4dC5TVEFOREFSRF0sXG4gICAgW0xpbmtDb250ZXh0LlVJLCBJY29uQ29udGV4dC5EQVJLXSxcbiAgICBbTGlua0NvbnRleHQuU0tFTEVUT04sIEljb25Db250ZXh0LkRJU0FCTEVEXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xpbmsvbGluay5lbnVtc1wiO1xuaW1wb3J0IHsgSUxpbmtUaGVtZSB9IGZyb20gXCJAL2F0b21zL2xpbmsvbGluay50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUxpbmtUaGVtZSA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCk6IElMaW5rVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgY29uc29sZS5sb2coY29udGV4dCk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkubWQubm9ybWFsLFxuICAgICAgICBjb2xvcjogQ29sb3JzLnByaW1hcnkudGludF81MDAsXG4gICAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgICAgdGV4dERlY29yYXRpb246IFwidW5kZXJsaW5lXCIsXG4gICAgICAgIGhvdmVyOiB7XG4gICAgICAgICAgY29sb3I6IENvbG9ycy5wcmltYXJ5LnRpbnRfNjAwLFxuICAgICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuVUksXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgICAgdGV4dERlY29yYXRpb246IFwibm9uZVwiLFxuICAgICAgICBob3Zlcjoge1xuICAgICAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IFwidW5kZXJsaW5lXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TS0VMRVRPTixcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICAgICAgY29sb3I6IFNrZWxldG9uQmcsXG4gICAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgICBob3Zlcjoge1xuICAgICAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyBMaXN0UHJvcHMgfSBmcm9tIFwiLi9saXN0LnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vbGlzdC5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgTGlzdCBhcyBMaXN0Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9saXN0XCI7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSBcIkAvYXRvbXMvbGlzdC9jb21wb25lbnRzL2xpc3QuaXRlbVwiO1xuXG5jb25zdCBMaXN0Q3R4RGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBMaXN0Q3R4OiBSZWFjdC5Db250ZXh0PENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChMaXN0Q3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBMaXN0ID0gKHsgY29udGV4dCwgdHlwZSwgY2hpbGRyZW4gfTogTGlzdFByb3BzKSA9PiB7XG4gIGNvbnN0IExpc3RDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBMaXN0Q3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxMaXN0Q3R4LlByb3ZpZGVyIHZhbHVlPXtMaXN0Q29udGV4dH0+XG4gICAgICA8TGlzdENvbXBvbmVudCB0eXBlPXt0eXBlfT57Y2hpbGRyZW59PC9MaXN0Q29tcG9uZW50PlxuICAgIDwvTGlzdEN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbkxpc3QuSXRlbSA9IEl0ZW07XG4iLCJpbXBvcnQgeyBMaXN0Q3R4IH0gZnJvbSBcIkAvYXRvbXMvbGlzdFwiO1xuaW1wb3J0IHsgSUxpc3RUaGVtZSwgTGlzdFRoZW1lYWJsZVByb3BzIH0gZnJvbSBcIkAvYXRvbXMvbGlzdC9saXN0LnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIExpc3Rjb250ZXh0LCBUeXBlIH0gZnJvbSBcIkAvYXRvbXMvbGlzdC9saXN0LmVudW1zXCI7XG5pbXBvcnQgeyB1c2VMaXN0VGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9saXN0L2hvb2tzL3VzZS1saXN0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRPcmRlcmVkTGlzdCxcbiAgU3R5bGVkT3JkZXJlZExpc3RTa2VsZXRvbixcbiAgU3R5bGVkVW5vcmRlcmVkTGlzdCxcbiAgU3R5bGVkVW5vcmRlcmVkTGlzdFNrZWxldG9uLFxufSBmcm9tIFwiQC9hdG9tcy9saXN0L2xpc3Quc3R5bGVcIjtcblxuZXhwb3J0IGNvbnN0IExpc3QgPSAoeyB0eXBlLCBjaGlsZHJlbiB9OiBMaXN0VGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgTGlzdENvbnRleHQgPSB1c2VDb250ZXh0KExpc3RDdHgpO1xuICBjb25zdCBUaGVtZTogSUxpc3RUaGVtZSA9IHVzZUxpc3RUaGVtZShMaXN0Q29udGV4dCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSBMaXN0Q29udGV4dCA9PT0gTGlzdGNvbnRleHQuU0tFTEVUT047XG5cbiAgaWYgKHR5cGUgPT09IFR5cGUuTlVNQkVSRUQpIHtcbiAgICBpZiAoaXNTa2VsZXRvbikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZE9yZGVyZWRMaXN0U2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvU3R5bGVkT3JkZXJlZExpc3RTa2VsZXRvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIDxTdHlsZWRPcmRlcmVkTGlzdCB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZE9yZGVyZWRMaXN0PjtcbiAgfVxuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRVbm9yZGVyZWRMaXN0U2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRVbm9yZGVyZWRMaXN0U2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiA8U3R5bGVkVW5vcmRlcmVkTGlzdCB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZFVub3JkZXJlZExpc3Q+O1xufTtcbiIsImltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBMaXN0Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xpc3QvbGlzdC5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSUxpc3RUaGVtZSB9IGZyb20gXCIuLi9saXN0LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VMaXN0VGhlbWUgPSAoY29udGV4dDoga2V5b2YgdHlwZW9mIExpc3RDb250ZXh0KTogSUxpc3RUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICBiYWNrZ3JvdW5kOiBDb2xvcnMucHJpbWFyeS50aW50XzUwMCxcbiAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgcmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgY29uc3QgU2tlbGV0b24gPSB7XG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgcmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbTGlzdENvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbTGlzdENvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgSUxpc3RUaGVtZSB9IGZyb20gXCJAL2F0b21zL2xpc3QvbGlzdC50eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFVub3JkZXJlZExpc3QgPSBzdHlsZWQudWw8eyB0aGVtZTogSUxpc3RUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDI0cHg7XG5cbiAgJiBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDE0cHg7XG4gIH1cblxuICAmIGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE9yZGVyZWRMaXN0ID0gc3R5bGVkLm9sPHsgdGhlbWU6IElMaXN0VGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgY291bnRlci1yZXNldDogbXktbGlzdC1jb3VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDQwcHg7XG5cbiAgJiBsaSB7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IG15LWxpc3QtY291bnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTRweDtcbiAgfVxuXG4gICYgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogY291bnRlcihteS1saXN0LWNvdW50ZXIpO1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYgc3BhbiB7XG4gICAgcGFkZGluZy10b3A6IDhweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFVub3JkZXJlZExpc3RTa2VsZXRvbiA9IHN0eWxlZC51bDx7IHRoZW1lOiBJTGlzdFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjRweDtcblxuICAmIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTRweDtcbiAgfVxuXG4gICYgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gICAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgfVxuXG4gICYgc3BhbiB7XG4gICAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICAgIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE9yZGVyZWRMaXN0U2tlbGV0b24gPSBzdHlsZWQub2w8eyB0aGVtZTogSUxpc3RUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb3VudGVyLXJlc2V0OiBteS1saXN0LWNvdW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNDBweDtcblxuICAmIGxpIHtcbiAgICBjb3VudGVyLWluY3JlbWVudDogbXktbGlzdC1jb3VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxNHB4O1xuICB9XG5cbiAgJiBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBjb3VudGVyKG15LWxpc3QtY291bnRlcik7XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICAgIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYgc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMaXN0SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5saTx7IHRoZW1lOiBJTGlzdFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGlzdEl0ZW0gPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJTGlzdFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG5gO1xuIiwiaW1wb3J0IHsgTGlzdEN0eCB9IGZyb20gXCJAL2F0b21zL2xpc3RcIjtcbmltcG9ydCB7IElMaXN0VGhlbWUsIExpc3RJdGVtVGhlbWVhYmxlUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9saXN0L2xpc3QudHlwZXNcIjtcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgTGlzdGNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9saXN0L2xpc3QuZW51bXNcIjtcbmltcG9ydCB7IHVzZUxpc3RUaGVtZSB9IGZyb20gXCJAL2F0b21zL2xpc3QvaG9va3MvdXNlLWxpc3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExpc3RJdGVtLFxuICBTdHlsZWRMaXN0SXRlbUNvbnRhaW5lcixcbn0gZnJvbSBcIkAvYXRvbXMvbGlzdC9saXN0LnN0eWxlXCI7XG5cbmV4cG9ydCBjb25zdCBJdGVtID0gKHsgY2hpbGRyZW4gfTogTGlzdEl0ZW1UaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBMaXN0Q29udGV4dCA9IHVzZUNvbnRleHQoTGlzdEN0eCk7XG4gIGNvbnN0IFRoZW1lOiBJTGlzdFRoZW1lID0gdXNlTGlzdFRoZW1lKExpc3RDb250ZXh0KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IExpc3RDb250ZXh0ID09PSBMaXN0Y29udGV4dC5TS0VMRVRPTjtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRMaXN0SXRlbUNvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZExpc3RJdGVtIHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkTGlzdEl0ZW0+XG4gICAgPC9TdHlsZWRMaXN0SXRlbUNvbnRhaW5lcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUxvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28udHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28uZW51bXNcIjtcbmltcG9ydCB7IExvYWRMb2dvIH0gZnJvbSBcIkAvYXRvbXMvbG9nby9sb2dvLmxvYWRlclwiO1xuXG5jb25zdCBMb2dvQ3R4RGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBMb2dvQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoTG9nb0N0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgTG9nbyA9ICh7IHNyY3NldCwgY29udGV4dCwgYWx0LCBhcmlhTGFiZWwgfTogSUxvZ28pID0+IHtcbiAgY29uc3QgTG9nb0NvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IExvZ29DdHhEZWZhdWx0O1xuXG4gIGNvbnN0IExvZ28gPSBMb2FkTG9nbyh7XG4gICAgYWx0OiBhbHQsXG4gICAgYXJpYUxhYmVsOiBhcmlhTGFiZWwsXG4gICAgc3Jjc2V0OiBzcmNzZXQsXG4gIH0pO1xuXG4gIHJldHVybiA8TG9nb0N0eC5Qcm92aWRlciB2YWx1ZT17TG9nb0NvbnRleHR9PntMb2dvfTwvTG9nb0N0eC5Qcm92aWRlcj47XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElTdmdBc0xvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28udHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExvZ28sXG4gIFN0eWxlZExvZ29QYXRoLFxuICBTdHlsZWRMb2dvU2tlbGV0b24sXG4gIFN0eWxlZExvZ29XcmFwcGVyLFxufSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28uc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb2dvQ3R4IH0gZnJvbSBcIkAvYXRvbXMvbG9nb1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xvZ28vbG9nby5lbnVtc1wiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlck9ubHkgfSBmcm9tIFwiQC9iYXNlL3NyZWVuX3JlYWRlcl9vbmx5L3NjcmVlbl9yZWFkZXJfb25seVwiO1xuXG5leHBvcnQgY29uc3QgU3ZnQXNMb2dvID0gKHsgc2NyZWVuUmVhZGVyVGV4dCB9OiBJU3ZnQXNMb2dvKSA9PiB7XG4gIGNvbnN0IExvZ29Db250ZXh0ID0gdXNlQ29udGV4dChMb2dvQ3R4KTtcblxuICBjb25zdCBJc1NrZWxldG9uID0gTG9nb0NvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTG9nb1dyYXBwZXI+XG4gICAgICAgIDxTdHlsZWRMb2dvU2tlbGV0b24gd2lkdGg9XCI1MHB4XCIgaGVpZ2h0PVwiNTBweFwiIHZpZXdCb3g9XCIwIDAgNTAgNTBcIj5cbiAgICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICAgIG9wYWNpdHk9XCIwLjZcIlxuICAgICAgICAgICAgZD1cIk0zNS45NyAxMC4zNTQzQzQ1LjcyMTggMTEuMjE1NSA0Ni4yMjA2IDIzLjYzMyA0MS4wNzY4IDMyLjMyNTNDMzUuOTMzIDQxLjAxNzYgMjMuNTU1MSA0NC43NjQgMTQuNjgzIDQwLjkwMDhDNS44MTA5NCAzNy4wMzc3IDEuNTE4ODcgMjcuNzIxNCA1LjUxNzc4IDIzLjczMzNDMTAuMTgxOCAxOS4wODE4IDE4LjgzMDkgMjMuNTU4NyAyMy4yNzAxIDIyLjI5NTFDMjguMDA4NSAyMC45NDYzIDI2LjIxODIgOS40OTMwOCAzNS45NyAxMC4zNTQzWlwiXG4gICAgICAgICAgICBmaWxsPXtTa2VsZXRvbkJnfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgICBvcGFjaXR5PVwiMC4yXCJcbiAgICAgICAgICAgIGQ9XCJNNDIuODM2NCAzMC4xMTk4QzQ1LjMwMzEgMzkuMzY0OSAzMy40OTM5IDQ0LjAyMTcgMjMuMzcwMSA0Mi4yMzhDMTMuMjQ2MiA0MC40NTQzIDUuNDQ3MDIgMzAuMzU2MSA2LjE3MzQ0IDIwLjkwMzdDNi44OTk4NiAxMS40NTEzIDE0LjQzNSA0LjM2MDMgMTkuNjM0MSA2LjY4MzQ1QzI1LjY5NzkgOS4zOTI5OCAyNC4zMDQxIDE4Ljg0ODEgMjcuMDI0MSAyMi40OTY4QzI5LjkyNzQgMjYuMzkxNCA0MC4zNjk3IDIwLjg3NDggNDIuODM2NCAzMC4xMTk4WlwiXG4gICAgICAgICAgICBmaWxsPXtTa2VsZXRvbkJnfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgICBkPVwiTTcuOTIzMzcgMTMuMTU3NEM3LjcwNDE1IDEyLjcyOTYgNy45NDc2OSAxMi4xOTQ5IDguMjUyMTcgMTEuNjYwMkM4LjgwMDIxIDEwLjY5NzggMTAuMTE1NCA4Ljg3OTg0IDEzLjQwMzcgOC42NjU5NkMxNi42OTE5IDguNDUyMDggMTguNzc0NiAxMS4zMzk0IDE5LjEwMzQgMTIuMDg4QzE5LjQzMjIgMTIuODM2NiAxOC43NzQ1IDEzLjE1NzQgMTguNTU1NCAxMy4xNTc0QzE4LjExNjggMTMuMTU3NCAxNy41Njg5IDEyLjcyOTYgMTcuMjQwMSAxMi4xOTQ5QzE2LjU4MjMgMTEuMTI1NiAxNS41OTU5IDExLjAxODYgMTQuMTcxIDEwLjkxMTdDMTIuNzQ2MSAxMC44MDQ3IDEyLjMwNzYgMTEuMzM5NCAxMS40MzA3IDEyLjMwMTlDMTAuNzQzNyAxMy4wNTU5IDEwLjY2MzQgMTMuNjQ2MiA5Ljc4NjU3IDE0LjAxMjlDOS4wMTkzMSAxNC4zMzM3IDguMTQyNTggMTMuNTg1MSA3LjkyMzM3IDEzLjE1NzRaXCJcbiAgICAgICAgICAgIGZpbGw9e1NrZWxldG9uQmd9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICAgIGQ9XCJNMzcuMzg4NiAxMy4xNTc0QzM3LjYwNzkgMTIuNzI5NiAzNy4zNjQzIDEyLjE5NDkgMzcuMDU5OCAxMS42NjAyQzM2LjUxMTggMTAuNjk3OCAzNS4xOTY2IDguODc5ODQgMzEuOTA4MyA4LjY2NTk2QzI4LjYyMDEgOC40NTIwOCAyNi41Mzc0IDExLjMzOTQgMjYuMjA4NiAxMi4wODhDMjUuODc5OCAxMi44MzY2IDI2LjUzNzUgMTMuMTU3NCAyNi43NTY2IDEzLjE1NzRDMjcuMTk1MiAxMy4xNTc0IDI3Ljc0MzEgMTIuNzI5NiAyOC4wNzE5IDEyLjE5NDlDMjguNzI5NyAxMS4xMjU2IDI5LjcxNjEgMTEuMDE4NiAzMS4xNDEgMTAuOTExN0MzMi41NjU5IDEwLjgwNDcgMzMuMDA0NCAxMS4zMzk0IDMzLjg4MTMgMTIuMzAxOUMzNC41NjgzIDEzLjA1NTkgMzQuNjQ4NiAxMy42NDYyIDM1LjUyNTQgMTQuMDEyOUMzNi4yOTI3IDE0LjMzMzcgMzcuMTY5NCAxMy41ODUxIDM3LjM4ODYgMTMuMTU3NFpcIlxuICAgICAgICAgICAgZmlsbD17U2tlbGV0b25CZ31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRMb2dvUGF0aFxuICAgICAgICAgICAgZD1cIk0xMS40MzA3IDI4Ljg3NzRWMTkuODk0NUMxMS40MzA3IDE5LjQ2NjggMTEuNDc0NiAxOC4xODM1IDEzLjg0MjEgMTguMTgzNUMxNi4yMDk3IDE4LjE4MzUgMTcuMDIwOCAxOS40NjY4IDE3LjEzMDQgMjAuMTA4NFYyNS4zNDg0QzE3LjE2NjkgMjUuMDYzMiAxOC4yMjY1IDI0LjU0NjQgMTkuMjEyOSAyNC41OTk4QzIwLjc5MTMgMjQuNjg1NCAyMi4xMzU4IDI1LjcwNDkgMjIuNjEwOCAyNi4yMDM5QzIzLjEyMjMgMjUuNzQwNSAyNC40MDg0IDI0Ljc3MDkgMjUuNDYwNiAyNC41OTk4QzI2LjUxMjkgMjQuNDI4NyAyNy43MjU5IDI1LjA5ODkgMjguMjAwOCAyNS40NTUzQzI4LjIzNzQgMjQuMTM2NCAyOC4zMTA0IDIxLjE5OTIgMjguMzEwNCAyMC4wMDE1QzI4LjMxMDQgMTguNTA0MyAzMC43MjE4IDE4LjE4MzUgMzIuMDM3MSAxOC4xODM1QzMzLjA4OTQgMTguMTgzNSAzMy41NzE3IDE5LjM5NTUgMzMuNjgxMyAyMC4wMDE1VjI4Ljg3NzRDMzMuNjgxMyAzMi44MTI3IDMxLjc0NzggMzUuNDAwNiAzMC43MjE4IDM2LjM2M0MyOS43NzE5IDM3LjI1NDIgMjYuNTU2NyAzOS4wMzY1IDIyLjYxMDggMzkuMDM2NUMxOC42NjQ5IDM5LjAzNjUgMTYuODI0NCAzOC40MTUgMTQuNDk5OCAzNi4zNjNDMTIuMTk4IDM0LjMzMTIgMTEuNjEzNCAzMC43NjY2IDExLjQzMDcgMjguODc3NFpcIlxuICAgICAgICAgICAgZmlsbD17U2tlbGV0b25CZ31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRMb2dvUGF0aFxuICAgICAgICAgICAgZD1cIk0xNi4wMjIyIDI4LjI4MjlDMTUuOTM2NSAzMS45NjQ1IDE5LjU1OTEgMzMuOTU1MiAyMi4yMzg3IDM0LjU5NzNDMjQuNDE4MSAzMy45MTk1IDI4LjgyMjUgMzEuNjg1MSAyOC4yNDA4IDI4LjI4MjlDMjcuNDkwNSAyMy44OTUgMjIuNzc0NiAyNi4wMzU0IDIyLjIzODcgMjguMjgyOUMyMS4xNjY4IDI0Ljg1ODIgMTYuMTA4IDI0LjYwMTMgMTYuMDIyMiAyOC4yODI5WlwiXG4gICAgICAgICAgICBmaWxsPXtTa2VsZXRvbkJnfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3R5bGVkTG9nb1NrZWxldG9uPlxuICAgICAgICA8U2NyZWVuUmVhZGVyT25seSB0ZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSAvPlxuICAgICAgPC9TdHlsZWRMb2dvV3JhcHBlcj5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgU3VwcG9ydGluZyA9IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwO1xuICBjb25zdCBEYXJrID0gQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwO1xuICBjb25zdCBBY2NlbnQgPSBDb2xvcnMuYWNjZW50LnRpbnRfNTAwO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZExvZ29XcmFwcGVyPlxuICAgICAgPFN0eWxlZExvZ28gd2lkdGg9XCI1MHB4XCIgaGVpZ2h0PVwiNTBweFwiIHZpZXdCb3g9XCIwIDAgNTAgNTBcIj5cbiAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgb3BhY2l0eT1cIjAuNlwiXG4gICAgICAgICAgZD1cIk0zNS45NyAxMC4zNTQzQzQ1LjcyMTggMTEuMjE1NSA0Ni4yMjA2IDIzLjYzMyA0MS4wNzY4IDMyLjMyNTNDMzUuOTMzIDQxLjAxNzYgMjMuNTU1MSA0NC43NjQgMTQuNjgzIDQwLjkwMDhDNS44MTA5NCAzNy4wMzc3IDEuNTE4ODcgMjcuNzIxNCA1LjUxNzc4IDIzLjczMzNDMTAuMTgxOCAxOS4wODE4IDE4LjgzMDkgMjMuNTU4NyAyMy4yNzAxIDIyLjI5NTFDMjguMDA4NSAyMC45NDYzIDI2LjIxODIgOS40OTMwOCAzNS45NyAxMC4zNTQzWlwiXG4gICAgICAgICAgZmlsbD17U3VwcG9ydGluZ31cbiAgICAgICAgLz5cbiAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgb3BhY2l0eT1cIjAuMlwiXG4gICAgICAgICAgZD1cIk00Mi44MzY0IDMwLjExOThDNDUuMzAzMSAzOS4zNjQ5IDMzLjQ5MzkgNDQuMDIxNyAyMy4zNzAxIDQyLjIzOEMxMy4yNDYyIDQwLjQ1NDMgNS40NDcwMiAzMC4zNTYxIDYuMTczNDQgMjAuOTAzN0M2Ljg5OTg2IDExLjQ1MTMgMTQuNDM1IDQuMzYwMyAxOS42MzQxIDYuNjgzNDVDMjUuNjk3OSA5LjM5Mjk4IDI0LjMwNDEgMTguODQ4MSAyNy4wMjQxIDIyLjQ5NjhDMjkuOTI3NCAyNi4zOTE0IDQwLjM2OTcgMjAuODc0OCA0Mi44MzY0IDMwLjExOThaXCJcbiAgICAgICAgICBmaWxsPXtTdXBwb3J0aW5nfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICBkPVwiTTcuOTIzMzcgMTMuMTU3NEM3LjcwNDE1IDEyLjcyOTYgNy45NDc2OSAxMi4xOTQ5IDguMjUyMTcgMTEuNjYwMkM4LjgwMDIxIDEwLjY5NzggMTAuMTE1NCA4Ljg3OTg0IDEzLjQwMzcgOC42NjU5NkMxNi42OTE5IDguNDUyMDggMTguNzc0NiAxMS4zMzk0IDE5LjEwMzQgMTIuMDg4QzE5LjQzMjIgMTIuODM2NiAxOC43NzQ1IDEzLjE1NzQgMTguNTU1NCAxMy4xNTc0QzE4LjExNjggMTMuMTU3NCAxNy41Njg5IDEyLjcyOTYgMTcuMjQwMSAxMi4xOTQ5QzE2LjU4MjMgMTEuMTI1NiAxNS41OTU5IDExLjAxODYgMTQuMTcxIDEwLjkxMTdDMTIuNzQ2MSAxMC44MDQ3IDEyLjMwNzYgMTEuMzM5NCAxMS40MzA3IDEyLjMwMTlDMTAuNzQzNyAxMy4wNTU5IDEwLjY2MzQgMTMuNjQ2MiA5Ljc4NjU3IDE0LjAxMjlDOS4wMTkzMSAxNC4zMzM3IDguMTQyNTggMTMuNTg1MSA3LjkyMzM3IDEzLjE1NzRaXCJcbiAgICAgICAgICBmaWxsPXtEYXJrfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICBkPVwiTTM3LjM4ODYgMTMuMTU3NEMzNy42MDc5IDEyLjcyOTYgMzcuMzY0MyAxMi4xOTQ5IDM3LjA1OTggMTEuNjYwMkMzNi41MTE4IDEwLjY5NzggMzUuMTk2NiA4Ljg3OTg0IDMxLjkwODMgOC42NjU5NkMyOC42MjAxIDguNDUyMDggMjYuNTM3NCAxMS4zMzk0IDI2LjIwODYgMTIuMDg4QzI1Ljg3OTggMTIuODM2NiAyNi41Mzc1IDEzLjE1NzQgMjYuNzU2NiAxMy4xNTc0QzI3LjE5NTIgMTMuMTU3NCAyNy43NDMxIDEyLjcyOTYgMjguMDcxOSAxMi4xOTQ5QzI4LjcyOTcgMTEuMTI1NiAyOS43MTYxIDExLjAxODYgMzEuMTQxIDEwLjkxMTdDMzIuNTY1OSAxMC44MDQ3IDMzLjAwNDQgMTEuMzM5NCAzMy44ODEzIDEyLjMwMTlDMzQuNTY4MyAxMy4wNTU5IDM0LjY0ODYgMTMuNjQ2MiAzNS41MjU0IDE0LjAxMjlDMzYuMjkyNyAxNC4zMzM3IDM3LjE2OTQgMTMuNTg1MSAzNy4zODg2IDEzLjE1NzRaXCJcbiAgICAgICAgICBmaWxsPXtEYXJrfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICBkPVwiTTExLjQzMDcgMjguODc3NFYxOS44OTQ1QzExLjQzMDcgMTkuNDY2OCAxMS40NzQ2IDE4LjE4MzUgMTMuODQyMSAxOC4xODM1QzE2LjIwOTcgMTguMTgzNSAxNy4wMjA4IDE5LjQ2NjggMTcuMTMwNCAyMC4xMDg0VjI1LjM0ODRDMTcuMTY2OSAyNS4wNjMyIDE4LjIyNjUgMjQuNTQ2NCAxOS4yMTI5IDI0LjU5OThDMjAuNzkxMyAyNC42ODU0IDIyLjEzNTggMjUuNzA0OSAyMi42MTA4IDI2LjIwMzlDMjMuMTIyMyAyNS43NDA1IDI0LjQwODQgMjQuNzcwOSAyNS40NjA2IDI0LjU5OThDMjYuNTEyOSAyNC40Mjg3IDI3LjcyNTkgMjUuMDk4OSAyOC4yMDA4IDI1LjQ1NTNDMjguMjM3NCAyNC4xMzY0IDI4LjMxMDQgMjEuMTk5MiAyOC4zMTA0IDIwLjAwMTVDMjguMzEwNCAxOC41MDQzIDMwLjcyMTggMTguMTgzNSAzMi4wMzcxIDE4LjE4MzVDMzMuMDg5NCAxOC4xODM1IDMzLjU3MTcgMTkuMzk1NSAzMy42ODEzIDIwLjAwMTVWMjguODc3NEMzMy42ODEzIDMyLjgxMjcgMzEuNzQ3OCAzNS40MDA2IDMwLjcyMTggMzYuMzYzQzI5Ljc3MTkgMzcuMjU0MiAyNi41NTY3IDM5LjAzNjUgMjIuNjEwOCAzOS4wMzY1QzE4LjY2NDkgMzkuMDM2NSAxNi44MjQ0IDM4LjQxNSAxNC40OTk4IDM2LjM2M0MxMi4xOTggMzQuMzMxMiAxMS42MTM0IDMwLjc2NjYgMTEuNDMwNyAyOC44Nzc0WlwiXG4gICAgICAgICAgZmlsbD17RGFya31cbiAgICAgICAgLz5cbiAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgZD1cIk0xNi4wMjIyIDI4LjI4MjlDMTUuOTM2NSAzMS45NjQ1IDE5LjU1OTEgMzMuOTU1MiAyMi4yMzg3IDM0LjU5NzNDMjQuNDE4MSAzMy45MTk1IDI4LjgyMjUgMzEuNjg1MSAyOC4yNDA4IDI4LjI4MjlDMjcuNDkwNSAyMy44OTUgMjIuNzc0NiAyNi4wMzU0IDIyLjIzODcgMjguMjgyOUMyMS4xNjY4IDI0Ljg1ODIgMTYuMTA4IDI0LjYwMTMgMTYuMDIyMiAyOC4yODI5WlwiXG4gICAgICAgICAgZmlsbD17QWNjZW50fVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRMb2dvPlxuICAgICAgPFNjcmVlblJlYWRlck9ubHkgdGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gLz5cbiAgICA8L1N0eWxlZExvZ29XcmFwcGVyPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQnV0dG9uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRCdXR0b24gfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnN0eWxlXCI7XG5cbmNvbnN0IEJhc2VMb2dvU3ZnID0gc3R5bGVkLnN2Zy5hdHRycygocHJvcHMpID0+ICh7XG4gIHZlcnNpb246IFwiMS4xXCIsXG4gIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gIHhtbG5zWGxpbms6IFwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiLFxuICByb2xlOiBcImltZ1wiLFxufSkpYGA7XG5cbmNvbnN0IEJhc2VMb2dvSW1hZ2UgPSBzdHlsZWQuaW1nLmF0dHJzKChwcm9wcykgPT4gKHtcbiAgcm9sZTogXCJpbWdcIixcbn0pKWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZUxvZ29QYXRoID0gc3R5bGVkLnBhdGguYXR0cnMoe1xuICByb2xlOiBcInByZXNlbnRhdGlvblwiLFxufSlgYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExvZ28gPSBzdHlsZWQoQmFzZUxvZ29TdmcpPHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy53aWR0aH07XG4gIGhlaWdodDogJHsocHJvcHMpID0+IHByb3BzLmhlaWdodH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTG9nb0ltYWdlID0gc3R5bGVkKEJhc2VMb2dvSW1hZ2UpPHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG4gIHJhZGl1czogc3RyaW5nO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMud2lkdGh9O1xuICBoZWlnaHQ6ICR7KHByb3BzKSA9PiBwcm9wcy5oZWlnaHR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMucmFkaXVzfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMb2dvU2tlbGV0b24gPSBzdHlsZWQoU3R5bGVkTG9nbyk8e30+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTG9nb0ltYWdlU2tlbGV0b24gPSBzdHlsZWQuZGl2PHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG4gIGJhY2tncm91bmQ6IHN0cmluZztcbiAgcmFkaXVzOiBzdHJpbmc7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICB3aWR0aDogJHsocHJvcHMpID0+IHByb3BzLndpZHRofTtcbiAgaGVpZ2h0OiAkeyhwcm9wcykgPT4gcHJvcHMuaGVpZ2h0fTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMucmFkaXVzfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMb2dvUGF0aCA9IHN0eWxlZChCYXNlTG9nb1BhdGgpPHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTG9nb1dyYXBwZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWluLXdpZHRoOiA1MHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExvZ29JbWFnZVdyYXBwZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWluLXdpZHRoOiA1MHB4O1xuYDtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJSW1hZ2VBc0xvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28udHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExvZ29JbWFnZSxcbiAgU3R5bGVkTG9nb0ltYWdlU2tlbGV0b24sXG4gIFN0eWxlZExvZ29JbWFnZVdyYXBwZXIsXG59IGZyb20gXCJAL2F0b21zL2xvZ28vbG9nby5zdHlsZXNcIjtcbmltcG9ydCB7IExvZ29DdHggfSBmcm9tIFwiQC9hdG9tcy9sb2dvXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvbG9nby9sb2dvLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcblxuZXhwb3J0IGNvbnN0IEltYWdlQXNMb2dvID0gKHsgc3Jjc2V0LCBhcmlhTGFiZWwsIGFsdCB9OiBJSW1hZ2VBc0xvZ28pID0+IHtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgTG9nb0NvbnRleHQgPSB1c2VDb250ZXh0KExvZ29DdHgpO1xuXG4gIGNvbnN0IElzU2tlbGV0b24gPSBMb2dvQ29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICAgIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExvZ29JbWFnZVdyYXBwZXIgYXJpYS1sYWJlbD17YXJpYUxhYmVsfT5cbiAgICAgICAgPFN0eWxlZExvZ29JbWFnZVNrZWxldG9uXG4gICAgICAgICAgcmFkaXVzPXtSYWRpdXMubWR9XG4gICAgICAgICAgYmFja2dyb3VuZD17U2tlbGV0b25CZ31cbiAgICAgICAgICB3aWR0aD1cIjUwcHhcIlxuICAgICAgICAgIGhlaWdodD1cIjUwcHhcIlxuICAgICAgICAgIGFyaWEtbGFiZWw9e2FsdH1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkTG9nb0ltYWdlV3JhcHBlcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkTG9nb0ltYWdlV3JhcHBlciBhcmlhLWxhYmVsPXthcmlhTGFiZWx9PlxuICAgICAgPFN0eWxlZExvZ29JbWFnZVxuICAgICAgICByYWRpdXM9e1JhZGl1cy5tZH1cbiAgICAgICAgd2lkdGg9XCI1MHB4XCJcbiAgICAgICAgaGVpZ2h0PVwiNTBweFwiXG4gICAgICAgIHNyY1NldD17c3Jjc2V0LnNyY3NldH1cbiAgICAgICAgc3JjPXtzcmNzZXQuc3JjfVxuICAgICAgICBhbHQ9e2FsdH1cbiAgICAgICAgaWQ9XCJpbWdcIlxuICAgICAgLz5cbiAgICA8L1N0eWxlZExvZ29JbWFnZVdyYXBwZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSUxvZ29Mb2FkIH0gZnJvbSBcIkAvYXRvbXMvbG9nby9sb2dvLnR5cGVzXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTdmdBc0xvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2NvbXBvbmVudHMvU3ZnQXNMb2dvXCI7XG5pbXBvcnQgeyBJbWFnZUFzTG9nbyB9IGZyb20gXCJAL2F0b21zL2xvZ28vY29tcG9uZW50cy9JbWFnZUFzTG9nb1wiO1xuXG5leHBvcnQgY29uc3QgTG9hZExvZ28gPSAoeyBzcmNzZXQsIGFyaWFMYWJlbCwgYWx0IH06IElMb2dvTG9hZCkgPT4ge1xuICBpZiAoc3Jjc2V0KSB7XG4gICAgcmV0dXJuIDxJbWFnZUFzTG9nbyBzcmNzZXQ9e3NyY3NldH0gYXJpYUxhYmVsPXthcmlhTGFiZWx9IGFsdD17YWx0fSAvPjtcbiAgfVxuXG4gIHJldHVybiA8U3ZnQXNMb2dvIHNjcmVlblJlYWRlclRleHQ9e2FyaWFMYWJlbH0gLz47XG59O1xuIiwiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL25vdGlmaWNhdGlvbi5lbnVtc1wiO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbiB9IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiBhcyBCYXNlTm90aWZpY2F0aW9uIH0gZnJvbSBcIkAvYXRvbXMvbm90aWZpY2F0aW9uL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uXCI7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbkN0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgTm90aWZpY2F0aW9uQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoTm90aWZpY2F0aW9uQ3R4RGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb24gPSAoeyBudW1iZXIsIGNvbnRleHQgfTogSU5vdGlmaWNhdGlvbikgPT4ge1xuICBjb25zdCBDb250YWluZXJDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBOb3RpZmljYXRpb25DdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPE5vdGlmaWNhdGlvbkN0eC5Qcm92aWRlciB2YWx1ZT17Q29udGFpbmVyQ29udGV4dH0+XG4gICAgICA8QmFzZU5vdGlmaWNhdGlvbiBudW1iZXI9e251bWJlcn0gLz5cbiAgICA8L05vdGlmaWNhdGlvbkN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvblRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTm90aWZpY2F0aW9uID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgdGhlbWU6IElOb3RpZmljYXRpb25UaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLnRoZW1lLnNpemV9OyAvKiBGaXhlZCB3aWR0aCBiYXNlZCBvbiB0aGUgZm9udC1zaXplIG9mIHRoZSBlbGVtZW50ICovXG4gIGhlaWdodDogJHsocHJvcHMpID0+XG4gICAgcHJvcHMudGhlbWUuc2l6ZX07IC8qIEZpeGVkIGhlaWdodCBiYXNlZCBvbiB0aGUgZm9udC1zaXplIG9mIHRoZSBlbGVtZW50ICovXG4gIGxpbmUtaGVpZ2h0OiAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy50aGVtZVxuICAgICAgLnNpemV9ICFpbXBvcnRhbnQ7IC8qIGluIHRoaXMgc3BlY2lhbCBjYXNlIHdlIHdhbnQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgbGluZSBoZWlnaHQgZnJvbSB0aGUgZm9udCwgc2luY2UgaXQgbmVlZHMgdG8gYmUgdGhlIHNhbWUgYXMgZGUgZml4ZWQgd2lkdGggYW5kIGhlaWdodCAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uTm90aWZpY2F0aW9uID0gc3R5bGVkKFN0eWxlZE5vdGlmaWNhdGlvbik8e1xuICB0aGVtZTogSU5vdGlmaWNhdGlvblRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgeyBJTm90aWZpY2F0aW9uQmFzZSB9IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24udHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZE5vdGlmaWNhdGlvbixcbiAgU3R5bGVkU2tlbGV0b25Ob3RpZmljYXRpb24sXG59IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25DdHggfSBmcm9tIFwiQC9hdG9tcy9ub3RpZmljYXRpb25cIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vbm90aWZpY2F0aW9uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VOb3RpZmljYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9ub3RpZmljYXRpb24vaG9va3MvdXNlLW5vdGlmaWNhdGlvblwiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5cbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb24gPSAoeyBudW1iZXIgfTogSU5vdGlmaWNhdGlvbkJhc2UpID0+IHtcbiAgY29uc3QgTm90aWZpY2F0aW9uQ29udGV4dCA9IHVzZUNvbnRleHQoTm90aWZpY2F0aW9uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VOb3RpZmljYXRpb24oTm90aWZpY2F0aW9uQ29udGV4dCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBOb3RpZmljYXRpb25Db250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuXG4gIC8qIFRoaXMgd2F5IHdlIHByZXZlbnQgdGhlIG51bWVyIGZyb20gZ29pbmcgb3ZlciB0aGUgcHJvdmlkZWQgc2l6ZSAqL1xuICBjb25zdCBkaXNwbGF5ID0gbnVtYmVyID4gOSA/IFwiKzlcIiA6IG51bWJlcjtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkU2tlbGV0b25Ob3RpZmljYXRpb24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFBsYWNlaG9sZGVyPntkaXNwbGF5fTwvUGxhY2Vob2xkZXI+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uTm90aWZpY2F0aW9uPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gPFN0eWxlZE5vdGlmaWNhdGlvbiB0aGVtZT17VGhlbWV9PntkaXNwbGF5fTwvU3R5bGVkTm90aWZpY2F0aW9uPjtcbn07XG4iLCJpbXBvcnQgeyBJTm90aWZpY2F0aW9uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL25vdGlmaWNhdGlvbi5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VOb3RpZmljYXRpb24gPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0LFxuKTogSU5vdGlmaWNhdGlvblRoZW1lID0+IHtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICAvKiBTaXplIG5lZWRzIHRvIGJlIEVNIGJhc2VkICovXG4gIC8qIFdlIGFkZCBpdCBoZXJlIHRvIHF1aWNrbHkgYWRkIGEgc2l6ZSBlbnVtIHByb3Agd2hlbiBuZWVkZWQuKi9cbiAgY29uc3Qgc2l6ZSA9IFwiMS44ZW1cIjtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtcbiAgICAgIENvbnRleHQuU1RBTkRBUkQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5kYW5nZXIudGludF81MDAsXG4gICAgICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkueHMubm9ybWFsLFxuICAgICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICAgIHNpemU6IHNpemUsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TS0VMRVRPTixcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMuZnVsbCxcbiAgICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICAgICAgZm9udDogRm9udHMucHJpbWFyeS54cy5ub3JtYWwsXG4gICAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgICAgICBzaXplOiBzaXplLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyBQaWNrUHJvcHMgfSBmcm9tIFwiLi9waWNrLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vcGljay5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUGljayBhcyBQaWNrQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9waWNrXCI7XG5cbmNvbnN0IFBpY2tDdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IFBpY2tDdHg6IFJlYWN0LkNvbnRleHQ8Q29udGV4dD4gPSBjcmVhdGVDb250ZXh0KFBpY2tDdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFBpY2sgPSAoe1xuICBjb250ZXh0LFxuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGFyaWFMYWJlbCxcbiAgbGFiZWwsXG4gIG5hbWUsXG4gIGNoZWNrZWQsXG4gIGRlZmF1bHRDaGVja2VkLFxuICBpY29uLFxufTogUGlja1Byb3BzKSA9PiB7XG4gIGNvbnN0IFBpY2tDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBQaWNrQ3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxQaWNrQ3R4LlByb3ZpZGVyIHZhbHVlPXtQaWNrQ29udGV4dH0+XG4gICAgICA8UGlja0NvbXBvbmVudFxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICBhcmlhTGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBpY29uPXtpY29ufVxuICAgICAgLz5cbiAgICA8L1BpY2tDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUGlja1RoZW1lYWJsZVByb3BzLCBJUGlja1RoZW1lIH0gZnJvbSBcIi4uL3BpY2sudHlwZXNcIjtcbmltcG9ydCB7IFBpY2tDdHggfSBmcm9tIFwiQC9hdG9tcy9waWNrXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIFBpY2tjb250ZXh0IH0gZnJvbSBcIi4uL3BpY2suZW51bXNcIjtcbmltcG9ydCB7IENvbnRleHQsIFNpemUsIFR5cGUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IHVzZVBpY2tUaGVtZSB9IGZyb20gXCIuLi9ob29rcy91c2UtcGlja1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkUGljayxcbiAgU3R5bGVkUGlja0NvbnRhaW5lcixcbiAgU3R5bGVkUGlja0NvbnRhaW5lclNrZWxldG9uLFxuICBTdHlsZWRQaWNrTGFiZWwsXG4gIFN0eWxlZFBpY2tMYWJlbFNrZWxldG9uLFxuICBTdHlsZWRQaWNrVmlzdWFsU2tlbGV0b24sXG4gIFN0eWxlZFZpc3VhbCxcbiAgU3R5bGVkVmlzdWFsQ29udGFpbmVyLFxufSBmcm9tIFwiLi4vcGljay5zdHlsZVwiO1xuaW1wb3J0IHsgRnJhbWUgfSBmcm9tIFwiLi4vLi4vZnJhbWVcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb2xvclZhcmlhbnQgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcblxuZXhwb3J0IGNvbnN0IFBpY2sgPSAoe1xuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGFyaWFMYWJlbCxcbiAgbGFiZWwsXG4gIG5hbWUsXG4gIGNoZWNrZWQsXG4gIGRlZmF1bHRDaGVja2VkLFxuICBpY29uLFxufTogUGlja1RoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IFBpY2tDb250ZXh0ID0gdXNlQ29udGV4dChQaWNrQ3R4KTtcbiAgY29uc3QgVGhlbWU6IElQaWNrVGhlbWUgPSB1c2VQaWNrVGhlbWUoUGlja0NvbnRleHQpO1xuICBjb25zdCBpc0Rpc2FibGVkID0gUGlja0NvbnRleHQgPT09IFBpY2tjb250ZXh0LkRJU0FCTEVEO1xuICBjb25zdCBpc1NrZWxldG9uID0gUGlja0NvbnRleHQgPT09IFBpY2tjb250ZXh0LlNLRUxFVE9OO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRQaWNrQ29udGFpbmVyU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZFBpY2tWaXN1YWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9IC8+XG4gICAgICAgIDxTdHlsZWRQaWNrTGFiZWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9PntsYWJlbH08L1N0eWxlZFBpY2tMYWJlbFNrZWxldG9uPlxuICAgICAgPC9TdHlsZWRQaWNrQ29udGFpbmVyU2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFBpY2tDb250YWluZXIgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH0gdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWRQaWNrXG4gICAgICAgIGRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBhcmlhLWNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZH1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRWaXN1YWxDb250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPEZyYW1lIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH0gYXJvdW5kPXtpY29ufSAvPlxuICAgICAgICA8U3R5bGVkVmlzdWFsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIHR5cGU9e1R5cGUuQ0hFQ0t9XG4gICAgICAgICAgICBzaXplPXtTaXplLk1FRElVTX1cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e2xhYmVsfVxuICAgICAgICAgICAgY29udGV4dD17Q29udGV4dC5MSUdIVH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZFZpc3VhbD5cbiAgICAgIDwvU3R5bGVkVmlzdWFsQ29udGFpbmVyPlxuICAgICAgPFN0eWxlZFBpY2tMYWJlbCB0aGVtZT17VGhlbWV9PntsYWJlbH08L1N0eWxlZFBpY2tMYWJlbD5cbiAgICA8L1N0eWxlZFBpY2tDb250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIFBpY2tDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvY2hvaWNlL2Nob2ljZS5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSVBpY2tUaGVtZSB9IGZyb20gXCIuLi9waWNrLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VQaWNrVGhlbWUgPSAoY29udGV4dDoga2V5b2YgdHlwZW9mIFBpY2tDb250ZXh0KTogSVBpY2tUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBlcnJvckJvcmRlckNvbG9yID0gQ29sb3JzLmRhbmdlci50aW50XzUwMDtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBFcnJvciA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGNvbnN0IERpc2FibGVkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMubGcsXG4gICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbUGlja0NvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbUGlja0NvbnRleHQuRVJST1IsIEVycm9yXSxcbiAgICBbUGlja0NvbnRleHQuRElTQUJMRUQsIERpc2FibGVkXSxcbiAgICBbUGlja0NvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElQaWNrVGhlbWUgfSBmcm9tIFwiLi9waWNrLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaWNrID0gc3R5bGVkLmlucHV0LmF0dHJzKHsgdHlwZTogXCJjaGVja2JveFwiIH0pPHtcbiAgdGhlbWU6IElQaWNrVGhlbWU7XG59PmBcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICY6Y2hlY2tlZCB+IHNwYW4ge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5jb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gICY6Y2hlY2tlZCB+IGRpdiA+IDpsYXN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlja0NvbnRhaW5lciA9IHN0eWxlZC5sYWJlbDx7XG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG4gIHRoZW1lOiBJUGlja1RoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgIGNzc2BcbiAgICAgICY6aG92ZXIgPiBzcGFuIHtcbiAgICAgICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIGB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlja0xhYmVsID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSVBpY2tUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgcGFkZGluZy1sZWZ0OiA2OHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIG1pbi1oZWlnaHQ6IDU4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJUGlja1RoZW1lIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRWaXN1YWwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElQaWNrVGhlbWUgfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnZpc3VhbFJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmJhY2tncm91bmR9O1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlja0NvbnRhaW5lclNrZWxldG9uID0gc3R5bGVkLmxhYmVsPHtcbiAgdGhlbWU6IElQaWNrVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA1OHB4O1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBpY2tWaXN1YWxTa2VsZXRvbiA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVBpY2tUaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudmlzdWFsUmFkaXVzfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlja0xhYmVsU2tlbGV0b24gPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJUGlja1RoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW4tbGVmdDogNjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBQaWxsIGFzIEJhc2VQaWxsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGxcIjtcbmltcG9ydCB7IElQaWxsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLmVudW1zXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9IGNyZWF0ZUNvbnRleHQoRGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBQaWxsID0gKHsgY29udGV4dCwgd2l0aEljb25CZWZvcmUsIGxhYmVsIH06IElQaWxsKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlUGlsbCBsYWJlbD17bGFiZWx9IHdpdGhJY29uQmVmb3JlPXt3aXRoSWNvbkJlZm9yZX0gLz5cbiAgICA8L0N0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVBpbGxCYXNlIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5pbXBvcnQgeyBDdHggfSBmcm9tIFwiQC9hdG9tcy9waWxsXCI7XG5pbXBvcnQgeyB1c2VQaWxsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9ob29rcy91c2UtcGlsbFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC5lbnVtc1wiO1xuaW1wb3J0IHsgU3R5bGVkUGlsbCwgU3R5bGVkU2tlbGV0b25QaWxsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnN0eWxlXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IFBpbGxJY29uIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGwuaWNvblwiO1xuaW1wb3J0IHsgUGlsbExhYmVsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGwubGFiZWxcIjtcblxuZXhwb3J0IGNvbnN0IFBpbGwgPSAoeyBsYWJlbCwgd2l0aEljb25CZWZvcmUgfTogSVBpbGxCYXNlKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KEN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlUGlsbChDb21wb25lbnRDb250ZXh0KTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgY29uc3QgSWNvbkJlZm9yZSA9IHdpdGhJY29uQmVmb3JlID8gPFBpbGxJY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPiA6IG51bGw7XG5cbiAgY29uc3QgTGFiZWwgPSA8UGlsbExhYmVsPntsYWJlbH08L1BpbGxMYWJlbD47XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICBjb25zdCBJY29uQmVmb3JlU2tlbGV0b24gPSB3aXRoSWNvbkJlZm9yZSA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPFBpbGxJY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IExhYmVsU2tlbGV0b24gPSAoXG4gICAgICA8UGxhY2Vob2xkZXI+XG4gICAgICAgIDxQaWxsTGFiZWw+e2xhYmVsfTwvUGlsbExhYmVsPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvblBpbGwgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAge0ljb25CZWZvcmVTa2VsZXRvbn1cbiAgICAgICAge0xhYmVsU2tlbGV0b259XG4gICAgICA8L1N0eWxlZFNrZWxldG9uUGlsbD5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkUGlsbCB0aGVtZT17VGhlbWV9PlxuICAgICAge0ljb25CZWZvcmV9XG4gICAgICB7TGFiZWx9XG4gICAgPC9TdHlsZWRQaWxsPlxuICApO1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9waWxsL3BpbGwuZW51bXNcIjtcbmltcG9ydCB7IElQaWxsVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9waWxsL3BpbGwudHlwZXNcIjtcbmltcG9ydCB7XG4gIHVzZVRoZW1lQ29sb3IsXG4gIHVzZVRoZW1lRm9udHMsXG4gIHVzZVRoZW1lUmFkaXVzLFxuICB1c2VUaGVtZVV0aWxpdHksXG59IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVBpbGwgPSAoY29udGV4dDoga2V5b2YgdHlwZW9mIENvbnRleHQpOiBJUGlsbFRoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20uYm9sZCxcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMuc20sXG4gICAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXJmYWNlcy50aW50XzUwMCxcbiAgICAgICAgcGFkZGluZzogVXRpbGl0eS5zcGFjaW5nW1wiMlwiXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20uYm9sZCxcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMuc20sXG4gICAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1tcIjJcIl0sXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJUGlsbFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5pbXBvcnQgeyBTcGFjaW5nSSB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlsbCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVBpbGxUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucGFkZGluZ307XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBpbGxJY29uID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgc3BhY2luZzogU3BhY2luZ0kgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogJHsocHJvcHMpID0+IHByb3BzLnNwYWNpbmdbXCIyXCJdfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaWxsTGFiZWwgPSBzdHlsZWQuZGl2YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblBpbGwgPSBzdHlsZWQoU3R5bGVkUGlsbCk8e1xuICB0aGVtZTogSVBpbGxUaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEN0eCwgQ3R4IGFzIFBpbGxDdHggfSBmcm9tIFwiQC9hdG9tcy9waWxsXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEljb25Db250ZXh0LCBTaXplIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBQaWxsSWNvblByb3BzIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VQaWxsSWNvbkNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9waWxsL2hvb2tzL3VzZS1waWxsLWljb25cIjtcbmltcG9ydCB7IFN0eWxlZFBpbGxJY29uIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnN0eWxlXCI7XG5pbXBvcnQgeyB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9waWxsL3BpbGwuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IFBpbGxJY29uID0gKHsgaWNvbiB9OiBQaWxsSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KFBpbGxDdHgpO1xuICBjb25zdCBJY29uQ29udGV4dDogSWNvbkNvbnRleHQgPSB1c2VQaWxsSWNvbkNvbnRleHQoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkUGlsbEljb24gc3BhY2luZz17VXRpbGl0eS5zcGFjaW5nfT5cbiAgICAgIHtSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xuICAgICAgICBjb250ZXh0OiBJY29uQ29udGV4dCxcbiAgICAgICAgc2l6ZTogU2l6ZS5TTUFMTCxcbiAgICAgIH0pfVxuICAgIDwvU3R5bGVkUGlsbEljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgQ29udGV4dCBhcyBJY29uQ29udGV4dCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBQaWxsQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuXG5leHBvcnQgY29uc3QgdXNlUGlsbEljb25Db250ZXh0ID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgUGlsbENvbnRleHQsXG4pOiBJY29uQ29udGV4dCA9PiB7XG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1BpbGxDb250ZXh0LlNUQU5EQVJELCBJY29uQ29udGV4dC5EQVJLXSxcbiAgICBbUGlsbENvbnRleHQuU0tFTEVUT04sIEljb25Db250ZXh0LkRJU0FCTEVEXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUGlsbExhYmVsUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9waWxsL3BpbGwudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZFBpbGxMYWJlbCB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC5zdHlsZVwiO1xuXG5leHBvcnQgY29uc3QgUGlsbExhYmVsID0gKHsgY2hpbGRyZW4gfTogUGlsbExhYmVsUHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRQaWxsTGFiZWw+e2NoaWxkcmVufTwvU3R5bGVkUGlsbExhYmVsPjtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUGluIGFzIEJhc2VQaW4gfSBmcm9tIFwiLi9jb21wb25lbnRzL3BpblwiO1xuaW1wb3J0IHsgSVBpbiB9IGZyb20gXCJAL2F0b21zL3Bpbi9waW4udHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi9waW4uZW51bXNcIjtcblxuY29uc3QgUGluQ3R4RGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBQaW5DdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChQaW5DdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFBpbiA9ICh7IGNvbnRleHQsIHR5cGUgfTogSVBpbikgPT4ge1xuICBjb25zdCBQaW5Db250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBQaW5DdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPFBpbkN0eC5Qcm92aWRlciB2YWx1ZT17UGluQ29udGV4dH0+XG4gICAgICA8QmFzZVBpbiB0eXBlPXt0eXBlfSAvPlxuICAgIDwvUGluQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElQaW5CYXNlIH0gZnJvbSBcIkAvYXRvbXMvcGluL3Bpbi50eXBlc1wiO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCIuLi9waW4uZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7XG4gIEJhc2VDbGlwUGF0aCxcbiAgQmFzZUNsaXBSZWN0LFxuICBCYXNlRGVmcyxcbiAgQmFzZVBpbkcsXG4gIFN0eWxlZFBpbixcbiAgU3R5bGVkUGluUGF0aCxcbiAgU3R5bGVkUGluU2hhZG93LFxuICBTdHlsZWRQaW5XcmFwcGVyLFxufSBmcm9tIFwiQC9hdG9tcy9waW4vcGluLnN0eWxlXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCBQaW4gPSAoeyB0eXBlIH06IElQaW5CYXNlKSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBjb2xvcnMgPSBtYXRjaCh0eXBlLCBbXG4gICAgW1xuICAgICAgVHlwZS5EQVlDQVJFLFxuICAgICAge1xuICAgICAgICBjb2xvcjE6IENvbG9ycy5hY2NlbnQudGludF81MDAsXG4gICAgICAgIGNvbG9yMjogQ29sb3JzLmFjY2VudC50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBUeXBlLkNISUxETUlOREVSLFxuICAgICAge1xuICAgICAgICBjb2xvcjE6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgICBjb2xvcjI6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIFR5cGUuQ09PUEVSQVRJVkUsXG4gICAgICB7XG4gICAgICAgIGNvbG9yMTogQ29sb3JzLmFjY2VudC50aW50XzUwMCxcbiAgICAgICAgY29sb3IyOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG5cbiAgY29uc3Qgd2lkdGggPSAyNDtcbiAgY29uc3Qgd2lkdGhQeCA9IHdpZHRoICsgXCJweFwiO1xuICBjb25zdCBoZWlnaHQgPSAzMjtcbiAgY29uc3QgaGVpZ2h0UHggPSBoZWlnaHQgKyBcInB4XCI7XG5cbiAgY29uc3Qgdmlld0JveCA9IFwiMCAwIFwiICsgd2lkdGggKyBcIiBcIiArIGhlaWdodDtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQaW5XcmFwcGVyPlxuICAgICAgPFN0eWxlZFBpbiB3aWR0aD17d2lkdGhQeH0gaGVpZ2h0PXtoZWlnaHRQeH0gdmlld0JveD17dmlld0JveH0+XG4gICAgICAgIDxCYXNlUGluRyBjbGlwUGF0aD1cInVybCgjY2xpcDBfMV8yNilcIj5cbiAgICAgICAgICA8U3R5bGVkUGluUGF0aCBkPVwiTTEyIDBIMFYzMkgxMlYwWlwiIGZpbGw9XCJub25lXCIgLz5cbiAgICAgICAgICA8U3R5bGVkUGluUGF0aFxuICAgICAgICAgICAgZD1cIk0xMiAwQzYuMTMzMzMgMCAwIDQuNTMzMzMgMCAxMkMwIDE5LjA2NjcgMTAuNjY2NyAyOS44NjY3IDExLjA2NjcgMzAuMjY2N0MxMS4zMzMzIDMwLjUzMzMgMTEuNiAzMC42NjY3IDEyIDMwLjY2NjdDMTIuNCAzMC42NjY3IDEyLjY2NjcgMzAuNTMzMyAxMi45MzMzIDMwLjI2NjdDMTMuMzMzMyAyOS44NjY3IDI0IDE5LjA2NjcgMjQgMTJDMjQgNC41MzMzMyAxNy44NjY3IDAgMTIgMFpNMTIgMTZDOS43MzMzMyAxNiA4IDE0LjI2NjcgOCAxMkM4IDkuNzMzMzMgOS43MzMzMyA4IDEyIDhDMTQuMjY2NyA4IDE2IDkuNzMzMzMgMTYgMTJDMTYgMTQuMjY2NyAxNC4yNjY3IDE2IDEyIDE2WlwiXG4gICAgICAgICAgICBmaWxsPXtjb2xvcnMuY29sb3IxfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQmFzZVBpbkc+XG4gICAgICAgIDxCYXNlUGluRyBjbGlwUGF0aD1cInVybCgjY2xpcDFfMV8yNilcIj5cbiAgICAgICAgICA8U3R5bGVkUGluUGF0aCBkPVwiTTI0IDBIMTJWMzJIMjRWMFpcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICAgICAgPFN0eWxlZFBpblBhdGhcbiAgICAgICAgICAgIGQ9XCJNMTIgMEM2LjEzMzMzIDAgMCA0LjUzMzMzIDAgMTJDMCAxOS4wNjY3IDEwLjY2NjcgMjkuODY2NyAxMS4wNjY3IDMwLjI2NjdDMTEuMzMzMyAzMC41MzMzIDExLjYgMzAuNjY2NyAxMiAzMC42NjY3QzEyLjQgMzAuNjY2NyAxMi42NjY3IDMwLjUzMzMgMTIuOTMzMyAzMC4yNjY3QzEzLjMzMzMgMjkuODY2NyAyNCAxOS4wNjY3IDI0IDEyQzI0IDQuNTMzMzMgMTcuODY2NyAwIDEyIDBaTTEyIDE2QzkuNzMzMzMgMTYgOCAxNC4yNjY3IDggMTJDOCA5LjczMzMzIDkuNzMzMzMgOCAxMiA4QzE0LjI2NjcgOCAxNiA5LjczMzMzIDE2IDEyQzE2IDE0LjI2NjcgMTQuMjY2NyAxNiAxMiAxNlpcIlxuICAgICAgICAgICAgZmlsbD17Y29sb3JzLmNvbG9yMn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0Jhc2VQaW5HPlxuICAgICAgICA8U3R5bGVkUGluUGF0aFxuICAgICAgICAgIGQ9XCJNMTcgMTNDMTcgMTUuNzYxNCAxNC43NjE0IDE4IDEyIDE4QzkuMjM4NTggMTggNyAxNS43NjE0IDcgMTNDNyAxMC4yMzg2IDkuMjM4NTggOCAxMiA4QzE0Ljc2MTQgOCAxNyAxMC4yMzg2IDE3IDEzWlwiXG4gICAgICAgICAgZmlsbD1cIndoaXRlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPEJhc2VEZWZzPlxuICAgICAgICAgIDxCYXNlQ2xpcFBhdGggaWQ9XCJjbGlwMF8xXzI2XCI+XG4gICAgICAgICAgICA8QmFzZUNsaXBSZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIzMlwiIGZpbGw9XCJub25lXCIgLz5cbiAgICAgICAgICA8L0Jhc2VDbGlwUGF0aD5cbiAgICAgICAgICA8QmFzZUNsaXBQYXRoIGlkPVwiY2xpcDFfMV8yNlwiPlxuICAgICAgICAgICAgPEJhc2VDbGlwUmVjdFxuICAgICAgICAgICAgICB3aWR0aD1cIjEyXCJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMzJcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMilcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0Jhc2VDbGlwUGF0aD5cbiAgICAgICAgPC9CYXNlRGVmcz5cbiAgICAgIDwvU3R5bGVkUGluPlxuICAgICAgPFN0eWxlZFBpblNoYWRvdz48L1N0eWxlZFBpblNoYWRvdz5cbiAgICA8L1N0eWxlZFBpbldyYXBwZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuY29uc3QgQmFzZVBpblN2ZyA9IHN0eWxlZC5zdmcuYXR0cnMoKHByb3BzKSA9PiAoe1xuICB2ZXJzaW9uOiBcIjEuMVwiLFxuICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICB4bWxuc1hsaW5rOiBcImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIixcbiAgcm9sZTogXCJpbWdcIixcbiAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIixcbn0pKWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZVBpblBhdGggPSBzdHlsZWQucGF0aC5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZVBpbkcgPSBzdHlsZWQuZy5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZURlZnMgPSBzdHlsZWQuZGVmcy5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZUNsaXBQYXRoID0gc3R5bGVkLmNsaXBQYXRoLmF0dHJzKHtcbiAgcm9sZTogXCJwcmVzZW50YXRpb25cIixcbn0pYGA7XG5cbmV4cG9ydCBjb25zdCBCYXNlQ2xpcFJlY3QgPSBzdHlsZWQucmVjdC5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGluID0gc3R5bGVkKEJhc2VQaW5TdmcpPHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy53aWR0aH07XG4gIGhlaWdodDogJHsocHJvcHMpID0+IHByb3BzLmhlaWdodH07XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxMHB4IDhweCByZ2IoMCAwIDAgLyAwLjA0KSlcbiAgICBkcm9wLXNoYWRvdygwIDRweCAzcHggcmdiKDAgMCAwIC8gMC4xKSk7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGluUGF0aCA9IHN0eWxlZChCYXNlUGluUGF0aCk8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaW5XcmFwcGVyID0gc3R5bGVkLnNwYW48e30+YFxuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGluU2hhZG93ID0gc3R5bGVkLnNwYW48e30+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDZweDtcbiAgYmFja2dyb3VuZDogIzg2ODY4NjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDZweDtcbiAgei1pbmRleDogLTE7XG4gIGZpbHRlcjogYmx1cigzcHgpO1xuYDtcbiIsImltcG9ydCB7IFJhZGlvUHJvcHMgfSBmcm9tIFwiLi9yYWRpby50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL3JhZGlvLmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBSYWRpbyBhcyBSYWRpb0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvcmFkaW9cIjtcblxuY29uc3QgUmFkaW9DdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IFJhZGlvQ3R4OiBSZWFjdC5Db250ZXh0PENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChSYWRpb0N0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgUmFkaW8gPSAoe1xuICBjb250ZXh0LFxuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGFyaWFMYWJlbCxcbiAgbGFiZWwsXG4gIG5hbWUsXG4gIGNoZWNrZWQsXG4gIGRlZmF1bHRDaGVja2VkLFxufTogUmFkaW9Qcm9wcykgPT4ge1xuICBjb25zdCBJbnB1dENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IFJhZGlvQ3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxSYWRpb0N0eC5Qcm92aWRlciB2YWx1ZT17SW5wdXRDb250ZXh0fT5cbiAgICAgIDxSYWRpb0NvbXBvbmVudFxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICBhcmlhTGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgLz5cbiAgICA8L1JhZGlvQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFJhZGlvLFxuICBTdHlsZWRSYWRpb0NvbnRhaW5lcixcbiAgU3R5bGVkUmFkaW9Db250YWluZXJTa2VsZXRvbixcbiAgU3R5bGVkUmFkaW9MYWJlbCxcbiAgU3R5bGVkUmFkaW9MYWJlbFNrZWxldG9uLFxuICBTdHlsZWRSYWRpb1Zpc3VhbCxcbiAgU3R5bGVkUmFkaW9WaXN1YWxTa2VsZXRvbixcbn0gZnJvbSBcIi4uL3JhZGlvLnN0eWxlXCI7XG5pbXBvcnQgeyBSYWRpb1RoZW1lYWJsZVByb3BzLCBJUmFkaW9UaGVtZSB9IGZyb20gXCIuLi9yYWRpby50eXBlc1wiO1xuaW1wb3J0IHsgdXNlUmFkaW9UaGVtZSB9IGZyb20gXCIuLi9ob29rcy91c2UtcmFkaW9cIjtcbmltcG9ydCB7IENvbnRleHQgYXMgUmFkaW9jb250ZXh0IH0gZnJvbSBcIi4uL3JhZGlvLmVudW1zXCI7XG5pbXBvcnQgeyBSYWRpb0N0eCB9IGZyb20gXCJAL2F0b21zL3JhZGlvXCI7XG5cbmV4cG9ydCBjb25zdCBSYWRpbyA9ICh7XG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG59OiBSYWRpb1RoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IFJhZGlvQ29udGV4dCA9IHVzZUNvbnRleHQoUmFkaW9DdHgpO1xuICBjb25zdCBUaGVtZTogSVJhZGlvVGhlbWUgPSB1c2VSYWRpb1RoZW1lKFJhZGlvQ29udGV4dCk7XG4gIGNvbnN0IGlzRGlzYWJsZWQgPSBSYWRpb0NvbnRleHQgPT09IFJhZGlvY29udGV4dC5ESVNBQkxFRDtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IFJhZGlvQ29udGV4dCA9PT0gUmFkaW9jb250ZXh0LlNLRUxFVE9OO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRSYWRpb0NvbnRhaW5lclNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRSYWRpb1Zpc3VhbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0gLz5cbiAgICAgICAgPFN0eWxlZFJhZGlvTGFiZWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9TdHlsZWRSYWRpb0xhYmVsU2tlbGV0b24+XG4gICAgICA8L1N0eWxlZFJhZGlvQ29udGFpbmVyU2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFJhZGlvQ29udGFpbmVyIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9IHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkUmFkaW9cbiAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIGFyaWEtZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRSYWRpb1Zpc3VhbCB0aGVtZT17VGhlbWV9IC8+XG4gICAgICA8U3R5bGVkUmFkaW9MYWJlbCB0aGVtZT17VGhlbWV9PntsYWJlbH08L1N0eWxlZFJhZGlvTGFiZWw+XG4gICAgPC9TdHlsZWRSYWRpb0NvbnRhaW5lcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSVJhZGlvVGhlbWUgfSBmcm9tIFwiLi9yYWRpby50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUmFkaW8gPSBzdHlsZWQuaW5wdXQuYXR0cnMoeyB0eXBlOiBcIlJhZGlvXCIgfSk8e1xuICB0aGVtZTogSVJhZGlvVGhlbWU7XG59PmBcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJhZGlvQ29udGFpbmVyID0gc3R5bGVkLmxhYmVsPHtcbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgdGhlbWU6IElSYWRpb1RoZW1lO1xufT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcblxuICAmIGlucHV0OmNoZWNrZWQgKyBkaXYge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmNvbnRlbnR9O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgICR7KHByb3BzKSA9PlxuICAgICAgIXByb3BzLmlzRGlzYWJsZWQgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYH1cblxuICAgIGlucHV0ICsgZGl2IHtcbiAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmNvbnRlbnR9O1xuICAgICAgfVxuICAgIH1cbiAgICBpbnB1dDpjaGVja2VkICsgZGl2IHtcbiAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5jb250ZW50fTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSYWRpb0NvbnRhaW5lclNrZWxldG9uID0gc3R5bGVkLmxhYmVsPHtcbiAgdGhlbWU6IElSYWRpb1RoZW1lO1xufT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSYWRpb1Zpc3VhbCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVJhZGlvVGhlbWUgfT5gXG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb250ZW50fTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUmFkaW9WaXN1YWxTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRSYWRpb1Zpc3VhbCk8e1xuICB0aGVtZTogSVJhZGlvVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJhZGlvTGFiZWwgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJUmFkaW9UaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJhZGlvTGFiZWxTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRSYWRpb0xhYmVsKTx7XG4gIHRoZW1lOiBJUmFkaW9UaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgPiAqIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5gO1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIFJhZGlvQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3JhZGlvL3JhZGlvLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJUmFkaW9UaGVtZSB9IGZyb20gXCIuLi9yYWRpby50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlUmFkaW9UaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIFJhZGlvQ29udGV4dCxcbik6IElSYWRpb1RoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IGVycm9yQm9yZGVyQ29sb3IgPSBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwO1xuXG4gIGNvbnN0IFN0YW5kYXJkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLnhzLFxuICB9O1xuXG4gIGNvbnN0IEVycm9yID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIGVycm9yQm9yZGVyQ29sb3IsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMueHMsXG4gIH07XG5cbiAgY29uc3QgRGlzYWJsZWQgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLnhzLFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy54cyxcbiAgfTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtSYWRpb0NvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbUmFkaW9Db250ZXh0LkVSUk9SLCBFcnJvcl0sXG4gICAgW1JhZGlvQ29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICAgIFtSYWRpb0NvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL3JlY29yZC5lbnVtc1wiO1xuaW1wb3J0IHsgSVJlY29yZCB9IGZyb20gXCJAL2F0b21zL3JlY29yZC9yZWNvcmQudHlwZXNcIjtcbmltcG9ydCB7IFJlY29yZCBhcyBCYXNlUmVjb3JkIH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL2NvbXBvbmVudHMvcmVjb3JkXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9IGNyZWF0ZUNvbnRleHQoRGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBSZWNvcmQgPSAoeyBjb250ZXh0LCBsYWJlbCwgdmFsdWUsIHdpdGhJY29uQmVmb3JlIH06IElSZWNvcmQpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcbiAgcmV0dXJuIChcbiAgICA8Q3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlUmVjb3JkIGxhYmVsPXtsYWJlbH0gdmFsdWU9e3ZhbHVlfSB3aXRoSWNvbkJlZm9yZT17d2l0aEljb25CZWZvcmV9IC8+XG4gICAgPC9DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVJlY29yZEJhc2UgfSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvcmVjb3JkLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VSZWNvcmQgfSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvaG9va3MvdXNlLXJlY29yZFwiO1xuaW1wb3J0IHsgQ3R4IH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3JlY29yZC5lbnVtc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkUmVjb3JkLFxuICBTdHlsZWRSZWNvcmRJY29uLFxuICBTdHlsZWRSZWNvcmRMYWJlbCxcbiAgU3R5bGVkUmVjb3JkTGFiZWxUZXh0LFxuICBTdHlsZWRSZWNvcmRWYWx1ZSxcbn0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL3JlY29yZC5zdHlsZVwiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgeyB1c2VSZWNvcmRMYWJlbCB9IGZyb20gXCJAL2F0b21zL3JlY29yZC9ob29rcy91c2UtcmVjb3JkLWxhYmVsXCI7XG5pbXBvcnQgeyB1c2VSZWNvcmRWYWx1ZSB9IGZyb20gXCJAL2F0b21zL3JlY29yZC9ob29rcy91c2UtcmVjb3JkLXZhbHVlXCI7XG5pbXBvcnQgeyBHcmlkIH0gZnJvbSBcIkAvbGF5b3V0cy9ncmlkXCI7XG5pbXBvcnQgeyBTcGFjaW5nIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5pbXBvcnQgeyB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IFJlY29yZCA9ICh7IGxhYmVsLCB2YWx1ZSwgd2l0aEljb25CZWZvcmUgfTogSVJlY29yZEJhc2UpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VSZWNvcmQoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IFRoZW1lTGFiZWwgPSB1c2VSZWNvcmRMYWJlbChDb21wb25lbnRDb250ZXh0KTtcbiAgY29uc3QgVGhlbWVWYWx1ZSA9IHVzZVJlY29yZFZhbHVlKENvbXBvbmVudENvbnRleHQpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgY29uc3QgSWNvbiA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgIElzU2tlbGV0b24gPyAoXG4gICAgICA8U3R5bGVkUmVjb3JkSWNvbiBzcGFjaW5nPXtVdGlsaXR5LnNwYWNpbmd9PlxuICAgICAgICA8UGxhY2Vob2xkZXI+e3dpdGhJY29uQmVmb3JlfTwvUGxhY2Vob2xkZXI+XG4gICAgICA8L1N0eWxlZFJlY29yZEljb24+XG4gICAgKSA6IChcbiAgICAgIDxTdHlsZWRSZWNvcmRJY29uIHNwYWNpbmc9e1V0aWxpdHkuc3BhY2luZ30+XG4gICAgICAgIHt3aXRoSWNvbkJlZm9yZX1cbiAgICAgIDwvU3R5bGVkUmVjb3JkSWNvbj5cbiAgICApXG4gICkgOiBudWxsO1xuXG4gIGNvbnN0IExhYmVsID0gSXNTa2VsZXRvbiA/IChcbiAgICA8U3R5bGVkUmVjb3JkTGFiZWxUZXh0PlxuICAgICAgPFBsYWNlaG9sZGVyPntsYWJlbH08L1BsYWNlaG9sZGVyPlxuICAgIDwvU3R5bGVkUmVjb3JkTGFiZWxUZXh0PlxuICApIDogKFxuICAgIDxTdHlsZWRSZWNvcmRMYWJlbFRleHQ+e2xhYmVsfTwvU3R5bGVkUmVjb3JkTGFiZWxUZXh0PlxuICApO1xuXG4gIGNvbnN0IFZhbHVlID0gSXNTa2VsZXRvbiA/IChcbiAgICA8U3R5bGVkUmVjb3JkVmFsdWUgdGhlbWU9e1RoZW1lVmFsdWV9PlxuICAgICAgPFBsYWNlaG9sZGVyPnt2YWx1ZX08L1BsYWNlaG9sZGVyPlxuICAgIDwvU3R5bGVkUmVjb3JkVmFsdWU+XG4gICkgOiAoXG4gICAgPFN0eWxlZFJlY29yZFZhbHVlIHRoZW1lPXtUaGVtZVZhbHVlfT57dmFsdWV9PC9TdHlsZWRSZWNvcmRWYWx1ZT5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRSZWNvcmQgdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxHcmlkIGRpcmVjdGlvbj17XCJyb3dcIn0gc21CcmVha3BvaW50PXsyODB9IGdhcD17U3BhY2luZy5TMTV9PlxuICAgICAgICA8R3JpZC5JdGVtIGluaXRpYWw9ezEyfSBzbT17XCJhdXRvXCJ9PlxuICAgICAgICAgIDxTdHlsZWRSZWNvcmRMYWJlbCB0aGVtZT17VGhlbWVMYWJlbH0+XG4gICAgICAgICAgICB7SWNvbn1cbiAgICAgICAgICAgIHtMYWJlbH1cbiAgICAgICAgICA8L1N0eWxlZFJlY29yZExhYmVsPlxuICAgICAgICA8L0dyaWQuSXRlbT5cbiAgICAgICAgPEdyaWQuSXRlbSBpbml0aWFsPXsxMn0gc209e1wiYXV0b1wifT5cbiAgICAgICAgICB7VmFsdWV9XG4gICAgICAgIDwvR3JpZC5JdGVtPlxuICAgICAgPC9HcmlkPlxuICAgIDwvU3R5bGVkUmVjb3JkPlxuICApO1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vcmVjb3JkLmVudW1zXCI7XG5pbXBvcnQgeyBJUmVjb3JkVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvcmVjb3JkLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VSZWNvcmQgPSAoY29udGV4dDoga2V5b2YgdHlwZW9mIENvbnRleHQpOiBJUmVjb3JkVGhlbWUgPT4ge1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5LnNtLm5vcm1hbCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHtcbiAgSVJlY29yZExhYmVsVGhlbWUsXG4gIElSZWNvcmRUaGVtZSxcbiAgSVJlY29yZFZhbHVlVGhlbWUsXG59IGZyb20gXCJAL2F0b21zL3JlY29yZC9yZWNvcmQudHlwZXNcIjtcbmltcG9ydCB7IFNwYWNpbmdJIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSZWNvcmQgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElSZWNvcmRUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSZWNvcmRJY29uID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgc3BhY2luZzogU3BhY2luZ0kgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgbWFyZ2luLXJpZ2h0OiAkeyhwcm9wcykgPT4gcHJvcHMuc3BhY2luZ1tcIjJcIl19O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJlY29yZExhYmVsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJUmVjb3JkTGFiZWxUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5hbmltYXRpb259O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJlY29yZExhYmVsVGV4dCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVJlY29yZExhYmVsVGhlbWUgfT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJlY29yZFZhbHVlID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJUmVjb3JkVmFsdWVUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5hbmltYXRpb259O1xuYDtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vcmVjb3JkLmVudW1zXCI7XG5pbXBvcnQgeyBJUmVjb3JkTGFiZWxUaGVtZSwgSVJlY29yZFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL3JlY29yZC50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVJlY29yZExhYmVsID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCxcbik6IElSZWNvcmRMYWJlbFRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzcwMCxcbiAgICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgICBhbmltYXRpb246IFwibm9uZVwiLFxuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuU0tFTEVUT04sXG4gICAgICB7XG4gICAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgICBhbmltYXRpb246IFwicHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZVwiLFxuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3JlY29yZC5lbnVtc1wiO1xuaW1wb3J0IHsgSVJlY29yZFZhbHVlVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvcmVjb3JkLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlUmVjb3JkVmFsdWUgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0LFxuKTogSVJlY29yZFZhbHVlVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTAwLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgICAgIGFuaW1hdGlvbjogXCJub25lXCIsXG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ub3JtYWwsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TS0VMRVRPTixcbiAgICAgIHtcbiAgICAgICAgY29sb3I6IFNrZWxldG9uQmcsXG4gICAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICAgIGFuaW1hdGlvbjogXCJwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlXCIsXG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ub3JtYWwsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTdHlsZWRHcmlkLCBTdHlsZWRHcmlkSXRlbSwgU3R5bGVkR3JpZENvbnRhaW5lciB9IGZyb20gXCIuL2dyaWQuc3R5bGVcIjtcbmltcG9ydCB7IEdyaWRJdGVtUHJvcHMsIEdyaWRQcm9wcywgU3R5bGVkR3JpZFByb3BzIH0gZnJvbSBcIi4vZ3JpZC50eXBlc1wiO1xuXG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuY29uc3QgR3JpZENvbnRleHQgPSBjcmVhdGVDb250ZXh0KHtcbiAgYnJlYWtwb2ludDoge1xuICAgIHNtOiBcIjY0MHB4XCIsXG4gICAgbWQ6IFwiNzY4cHhcIixcbiAgICBsZzogXCIxMDI0cHhcIixcbiAgICB4bDogXCIxMjgwcHhcIixcbiAgICB4eGw6IFwiMTUzNnB4XCIsXG4gIH0sXG4gIGdhcDogXCIwXCIsXG4gIGRpcmVjdGlvbjogXCJyb3dcIixcbiAgYWxpZ25JdGVtczogXCJmbGV4LXN0YXJ0XCIsXG4gIGp1c3RpZnk6IFwiZmxleC1zdGFydFwiLFxuICBpdGVtczogMCxcbn0pO1xuXG5leHBvcnQgY29uc3QgR3JpZCA9ICh7XG4gIGNoaWxkcmVuLFxuICBkaXJlY3Rpb24sXG4gIGFsaWduSXRlbXMsXG4gIGp1c3RpZnksXG4gIGdhcCxcbiAgc21CcmVha3BvaW50LFxuICBtZEJyZWFrcG9pbnQsXG4gIGxnQnJlYWtwb2ludCxcbiAgeGxCcmVha3BvaW50LFxuICB4eGxCcmVha3BvaW50LFxufTogR3JpZFByb3BzKSA9PiB7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcbiAgY29uc3QgZ2FwT3JkZWZhdWx0ID0gdGhlbWUudXRpbGl0eS5zcGFjaW5nW2dhcCB8fCAwXTtcbiAgY29uc3QgZGlyZWN0aW9uT3JEZWZhdWx0ID0gZGlyZWN0aW9uIHx8IFwicm93XCI7XG4gIGNvbnN0IGFsaWduSXRlbXNPckRlZmF1bHQgPSBhbGlnbkl0ZW1zIHx8IFwiZmxleC1zdGFydFwiO1xuICBjb25zdCBqdXN0aWZ5T3JEZWZhdWx0ID0ganVzdGlmeSB8fCBcImZsZXgtc3RhcnRcIjtcblxuICBjb25zdCBzdHlsZTogU3R5bGVkR3JpZFByb3BzID0ge1xuICAgIGRpcmVjdGlvbjogZGlyZWN0aW9uT3JEZWZhdWx0LFxuICAgIGFsaWduSXRlbXM6IGFsaWduSXRlbXNPckRlZmF1bHQsXG4gICAganVzdGlmeToganVzdGlmeU9yRGVmYXVsdCxcbiAgICBnYXA6IGdhcE9yZGVmYXVsdCxcbiAgfTtcblxuICBjb25zdCBjb3VudCA9IFJlYWN0LkNoaWxkcmVuLmNvdW50KGNoaWxkcmVuKTtcblxuICByZXR1cm4gKFxuICAgIDxHcmlkQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgYnJlYWtwb2ludDoge1xuICAgICAgICAgIHNtOiBzbUJyZWFrcG9pbnQgPyBzbUJyZWFrcG9pbnQgKyBcInB4XCIgOiBcIjY0MHB4XCIsXG4gICAgICAgICAgbWQ6IG1kQnJlYWtwb2ludCA/IG1kQnJlYWtwb2ludCArIFwicHhcIiA6IFwiNzY4cHhcIixcbiAgICAgICAgICBsZzogbGdCcmVha3BvaW50ID8gbGdCcmVha3BvaW50ICsgXCJweFwiIDogXCIxMDI0cHhcIixcbiAgICAgICAgICB4bDogeGxCcmVha3BvaW50ID8geGxCcmVha3BvaW50ICsgXCJweFwiIDogXCIxMjgwcHhcIixcbiAgICAgICAgICB4eGw6IHh4bEJyZWFrcG9pbnQgPyB4eGxCcmVha3BvaW50ICsgXCJweFwiIDogXCIxNTM2cHhcIixcbiAgICAgICAgfSxcbiAgICAgICAgZ2FwOiBnYXBPcmRlZmF1bHQsXG4gICAgICAgIGRpcmVjdGlvbjogZGlyZWN0aW9uT3JEZWZhdWx0LFxuICAgICAgICBhbGlnbkl0ZW1zOiBhbGlnbkl0ZW1zT3JEZWZhdWx0LFxuICAgICAgICBqdXN0aWZ5OiBqdXN0aWZ5T3JEZWZhdWx0LFxuICAgICAgICBpdGVtczogY291bnQsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxTdHlsZWRHcmlkQ29udGFpbmVyPlxuICAgICAgICA8U3R5bGVkR3JpZCBzdHlsZT17c3R5bGV9PntjaGlsZHJlbn08L1N0eWxlZEdyaWQ+XG4gICAgICA8L1N0eWxlZEdyaWRDb250YWluZXI+XG4gICAgPC9HcmlkQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IEl0ZW0gPSAoeyBpbml0aWFsLCBzbSwgbWQsIGxnLCB4bCwgeHhsLCBjaGlsZHJlbiB9OiBHcmlkSXRlbVByb3BzKSA9PiB7XG4gIGNvbnN0IHdpZHRoT3JEZWZhdWx0ID0gaW5pdGlhbCB8fCAxMjtcbiAgY29uc3Qgc21PckRlZmF1bHQgPSBzbSB8fCB3aWR0aE9yRGVmYXVsdDtcbiAgY29uc3QgbWRPckRlZmF1bHQgPSBtZCB8fCBzbU9yRGVmYXVsdDtcbiAgY29uc3QgbGdPckRlZmF1bHQgPSBsZyB8fCBtZE9yRGVmYXVsdDtcbiAgY29uc3QgeGxPckRlZmF1bHQgPSB4bCB8fCBsZ09yRGVmYXVsdDtcbiAgY29uc3QgeHhsT3JEZWZhdWx0ID0geHhsIHx8IHhsT3JEZWZhdWx0O1xuICBjb25zdCBncmlkID0gdXNlQ29udGV4dChHcmlkQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkR3JpZEl0ZW1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGluaXRpYWw6IHdpZHRoT3JEZWZhdWx0LFxuICAgICAgICBzbTogc21PckRlZmF1bHQsXG4gICAgICAgIG1kOiBtZE9yRGVmYXVsdCxcbiAgICAgICAgbGc6IGxnT3JEZWZhdWx0LFxuICAgICAgICB4bDogeGxPckRlZmF1bHQsXG4gICAgICAgIHh4bDogeHhsT3JEZWZhdWx0LFxuICAgICAgICBzbUJyZWFrcG9pbnQ6IGdyaWQuYnJlYWtwb2ludC5zbSxcbiAgICAgICAgbWRCcmVha3BvaW50OiBncmlkLmJyZWFrcG9pbnQubWQsXG4gICAgICAgIGxnQnJlYWtwb2ludDogZ3JpZC5icmVha3BvaW50LmxnLFxuICAgICAgICB4bEJyZWFrcG9pbnQ6IGdyaWQuYnJlYWtwb2ludC54bCxcbiAgICAgICAgeHhsQnJlYWtwb2ludDogZ3JpZC5icmVha3BvaW50Lnh4bCxcbiAgICAgICAgaW5pdGlhbFdpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIHdpZHRoT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIHdpZHRoT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICBzbVdpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIHNtT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIHNtT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICBtZFdpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIG1kT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIG1kT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICBsZ1dpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIGxnT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIGxnT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICB4bFdpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIHhsT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIHhsT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICB4eGxXaWR0aENvcnJlY3Rpb246XG4gICAgICAgICAgZ3JpZC5kaXJlY3Rpb24gPT09IFwicm93XCIgJiZcbiAgICAgICAgICB4eGxPckRlZmF1bHQgIT09IFwiYXV0b1wiICYmXG4gICAgICAgICAgeHhsT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TdHlsZWRHcmlkSXRlbT5cbiAgKTtcbn07XG5cbkdyaWQuSXRlbSA9IEl0ZW07XG4iLCJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgU3R5bGVkR3JpZEl0ZW1Qcm9wcywgU3R5bGVkR3JpZFByb3BzIH0gZnJvbSBcIi4vZ3JpZC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkR3JpZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgY29udGFpbmVyLW5hbWU6IGdyaWQ7XG5gO1xuZXhwb3J0IGNvbnN0IFN0eWxlZEdyaWQgPSBzdHlsZWQuZGl2PHsgc3R5bGU6IFN0eWxlZEdyaWRQcm9wcyB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogJHsocHJvcHMpID0+IHByb3BzLnN0eWxlLmRpcmVjdGlvbn07XG4gIGFsaWduLWl0ZW1zOiAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGUuYWxpZ25JdGVtc307XG4gIGp1c3RpZnktY29udGVudDogJHsocHJvcHMpID0+IHByb3BzLnN0eWxlLmp1c3RpZnl9O1xuICBnYXA6ICR7KHByb3BzKSA9PiBwcm9wcy5zdHlsZS5nYXB9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEdyaWRJdGVtID0gc3R5bGVkLmRpdjx7IHN0eWxlOiBTdHlsZWRHcmlkSXRlbVByb3BzIH0+YFxuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLXdpZHRoOiAwO1xuXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLnN0eWxlLmluaXRpYWwgPT09IFwiYXV0b1wiICYmXG4gICAgY3NzYFxuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBgfVxuICAkeyhwcm9wcykgPT5cbiAgICB0eXBlb2YgcHJvcHMuc3R5bGUuaW5pdGlhbCA9PT0gXCJudW1iZXJcIiAmJlxuICAgIGNzc2BcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgKDEwMCUgKiAke3Byb3BzLnN0eWxlLmluaXRpYWx9IC8gMTIpIC1cbiAgICAgICAgICAke3Byb3BzLnN0eWxlLmluaXRpYWxXaWR0aENvcnJlY3Rpb259XG4gICAgICApO1xuICAgIGB9XG5cbiAgQGNvbnRhaW5lciBncmlkIChtaW4td2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy5zdHlsZS5zbUJyZWFrcG9pbnR9KSB7XG4gICAgJHsocHJvcHMpID0+XG4gICAgICBwcm9wcy5zdHlsZS5zbSA9PT0gXCJhdXRvXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBgfVxuICAgICR7KHByb3BzKSA9PlxuICAgICAgdHlwZW9mIHByb3BzLnN0eWxlLnNtID09PSBcIm51bWJlclwiICYmXG4gICAgICBjc3NgXG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoXG4gICAgICAgICAgKDEwMCUgKiAke3Byb3BzLnN0eWxlLnNtfSAvIDEyKSAtICR7cHJvcHMuc3R5bGUuc21XaWR0aENvcnJlY3Rpb259XG4gICAgICAgICk7XG4gICAgICBgfVxuICB9XG4gIEBjb250YWluZXIgZ3JpZCAobWluLXdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGUubWRCcmVha3BvaW50fSkge1xuICAgICR7KHByb3BzKSA9PlxuICAgICAgcHJvcHMuc3R5bGUubWQgPT09IFwiYXV0b1wiICYmXG4gICAgICBjc3NgXG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgYH1cbiAgICAkeyhwcm9wcykgPT5cbiAgICAgIHR5cGVvZiBwcm9wcy5zdHlsZS5tZCA9PT0gXCJudW1iZXJcIiAmJlxuICAgICAgY3NzYFxuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICgxMDAlICogJHtwcm9wcy5zdHlsZS5tZH0gLyAxMikgLSAke3Byb3BzLnN0eWxlLm1kV2lkdGhDb3JyZWN0aW9ufVxuICAgICAgICApO1xuICAgICAgYH1cbiAgfVxuICBAY29udGFpbmVyIGdyaWQgKG1pbi13aWR0aDogJHsocHJvcHMpID0+IHByb3BzLnN0eWxlLmxnQnJlYWtwb2ludH0pIHtcbiAgICAkeyhwcm9wcykgPT5cbiAgICAgIHByb3BzLnN0eWxlLmxnID09PSBcImF1dG9cIiAmJlxuICAgICAgY3NzYFxuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGB9XG4gICAgJHsocHJvcHMpID0+XG4gICAgICB0eXBlb2YgcHJvcHMuc3R5bGUubGcgPT09IFwibnVtYmVyXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgICAoMTAwJSAqICR7cHJvcHMuc3R5bGUubGd9IC8gMTIpIC0gJHtwcm9wcy5zdHlsZS5sZ1dpZHRoQ29ycmVjdGlvbn1cbiAgICAgICAgKTtcbiAgICAgIGB9XG4gIH1cbiAgQGNvbnRhaW5lciBncmlkIChtaW4td2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy5zdHlsZS54bEJyZWFrcG9pbnR9KSB7XG4gICAgJHsocHJvcHMpID0+XG4gICAgICBwcm9wcy5zdHlsZS54bCA9PT0gXCJhdXRvXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBgfVxuICAgICR7KHByb3BzKSA9PlxuICAgICAgdHlwZW9mIHByb3BzLnN0eWxlLnhsID09PSBcIm51bWJlclwiICYmXG4gICAgICBjc3NgXG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoXG4gICAgICAgICAgKDEwMCUgKiAke3Byb3BzLnN0eWxlLnhsfSAvIDEyKSAtICR7cHJvcHMuc3R5bGUueGxXaWR0aENvcnJlY3Rpb259XG4gICAgICAgICk7XG4gICAgICBgfVxuICB9XG4gIEBjb250YWluZXIgZ3JpZCAobWluLXdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGUueHhsQnJlYWtwb2ludH0pIHtcbiAgICAkeyhwcm9wcykgPT5cbiAgICAgIHByb3BzLnN0eWxlLnh4bCA9PT0gXCJhdXRvXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBgfVxuICAgICR7KHByb3BzKSA9PlxuICAgICAgdHlwZW9mIHByb3BzLnN0eWxlLnh4bCA9PT0gXCJudW1iZXJcIiAmJlxuICAgICAgY3NzYFxuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICgxMDAlICogJHtwcm9wcy5zdHlsZS54eGx9IC8gMTIpIC0gJHtwcm9wcy5zdHlsZS54eGxXaWR0aENvcnJlY3Rpb259XG4gICAgICAgICk7XG4gICAgICBgfVxuICB9XG5gO1xuIiwiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVN0YXR1cywgSVN0YXR1c0NvbXBhY3QgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vc3RhdHVzLmVudW1zXCI7XG5pbXBvcnQgeyBTdGF0dXNDb21wYWN0IGFzIEJhc2VTdGF0dXNDb21wYWN0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL2NvbXBvbmVudHMvc3RhdHVzX2NvbXBhY3RcIjtcbmltcG9ydCB7IFN0YXR1cyBhcyBCYXNlU3RhdHVzIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL2NvbXBvbmVudHMvc3RhdHVzXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNFTkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFN0YXR1c0NvbXBhY3QgPSAoeyBjb250ZXh0IH06IElTdGF0dXNDb21wYWN0KSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlU3RhdHVzQ29tcGFjdCAvPlxuICAgIDwvQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFN0YXR1cyA9ICh7IGNvbnRleHQsIGxhYmVsIH06IElTdGF0dXMpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxDdHguUHJvdmlkZXIgdmFsdWU9e0NvbXBvbmVudENvbnRleHR9PlxuICAgICAgPEJhc2VTdGF0dXMgbGFiZWw9e2xhYmVsfSAvPlxuICAgIDwvQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFNrZWxldG9uU3RhdHVzLFxuICBTdHlsZWRTdGF0dXMsXG59IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMuc3R5bGVcIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlclwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuLi9zdGF0dXMuZW51bXNcIjtcbmltcG9ydCB7IElTdGF0dXNDb21wYWN0QmFzZSB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMudHlwZXNcIjtcbmltcG9ydCB7IEN0eCB9IGZyb20gXCJAL2F0b21zL3N0YXR1c1wiO1xuaW1wb3J0IHsgdXNlU3RhdHVzQ29tcGFjdCB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9ob29rcy91c2Utc3RhdHVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdGF0dXNDb21wYWN0ID0gKHsgY2hpbGRyZW4gfTogSVN0YXR1c0NvbXBhY3RCYXNlKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KEN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlU3RhdHVzQ29tcGFjdChDb21wb25lbnRDb250ZXh0KTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uU3RhdHVzIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxQbGFjZWhvbGRlcj57Y2hpbGRyZW59PC9QbGFjZWhvbGRlcj5cbiAgICAgIDwvU3R5bGVkU2tlbGV0b25TdGF0dXM+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiA8U3R5bGVkU3RhdHVzIHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkU3RhdHVzPjtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHtcbiAgSVN0YXR1c0xhYmVsVGV4dFRoZW1lLFxuICBJU3RhdHVzTGFiZWxUaGVtZSxcbiAgSVN0YXR1c1RoZW1lLFxufSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXMgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElTdGF0dXNUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25TdGF0dXMgPSBzdHlsZWQoU3R5bGVkU3RhdHVzKTx7XG4gIHRoZW1lOiBJU3RhdHVzVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFN0YXR1c0xhYmVsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJU3RhdHVzTGFiZWxUaGVtZSB9PmBcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXNMYWJlbEljb24gPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElTdGF0dXNMYWJlbFRoZW1lIH0+YFxuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXNMYWJlbFRleHQgPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElTdGF0dXNMYWJlbFRleHRUaGVtZTtcbn0+YFxuICBwYWRkaW5nOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucGFkZGluZ307XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25TdGF0dXNMYWJlbCA9IHN0eWxlZChTdHlsZWRTdGF0dXNMYWJlbCk8e1xuICB0aGVtZTogSVN0YXR1c0xhYmVsVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vc3RhdHVzLmVudW1zXCI7XG5pbXBvcnQgeyBJU3RhdHVzQ29tcGFjdFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VTdGF0dXNDb21wYWN0ID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCxcbik6IElTdGF0dXNDb21wYWN0VGhlbWUgPT4ge1xuICBjb25zdCBSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFNlbmRTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3NlbmRfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFByb2Nlc3NpbmdTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3Byb2Nlc3NpbmdfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMud2FybmluZy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgUHJvcG9zYWxTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3Byb3Bvc2FsX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLmluZm8udGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEFjY2VwdGVkU3RhdHVzID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInN0YXR1c19hY2NlcHRlZF9jb2xvclwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdWNjZXNzLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBSZWZ1c2VkU3RhdHVzID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInN0YXR1c19yZWZ1c2VkX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNFTkQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgICAgIGJhY2tncm91bmQ6IFNlbmRTdGF0dXMsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5QUk9DRVNTSU5HLFxuICAgICAge1xuICAgICAgICByYWRpdXM6IFJhZGl1cy5mdWxsLFxuICAgICAgICBiYWNrZ3JvdW5kOiBQcm9jZXNzaW5nU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuUFJPUE9TQUwsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgICAgIGJhY2tncm91bmQ6IFByb3Bvc2FsU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuQUNDRVBURUQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgICAgIGJhY2tncm91bmQ6IEFjY2VwdGVkU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuUkVGVVNFRCxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMuZnVsbCxcbiAgICAgICAgYmFja2dyb3VuZDogUmVmdXNlZFN0YXR1cyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICByYWRpdXM6IFJhZGl1cy5mdWxsLFxuICAgICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRTa2VsZXRvblN0YXR1c0xhYmVsLFxuICBTdHlsZWRTdGF0dXNMYWJlbCxcbiAgU3R5bGVkU3RhdHVzTGFiZWxJY29uLFxuICBTdHlsZWRTdGF0dXNMYWJlbFRleHQsXG59IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMuc3R5bGVcIjtcbmltcG9ydCB7IElTdGF0dXNCYXNlIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuaW1wb3J0IHsgQ3R4IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IHVzZVN0YXR1cyB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9ob29rcy91c2Utc3RhdHVzLWxhYmVsXCI7XG5pbXBvcnQgeyB1c2VTdGF0dXNJY29uIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL2hvb2tzL3VzZS1zdGF0dXMtaWNvblwiO1xuaW1wb3J0IHsgdXNlU3RhdHVzVGV4dCB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9ob29rcy91c2Utc3RhdHVzLXRleHRcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEljb25Db250ZXh0LCBUeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3N0YXR1cy5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuXG5leHBvcnQgY29uc3QgU3RhdHVzID0gKHsgbGFiZWwgfTogSVN0YXR1c0Jhc2UpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VTdGF0dXMoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IEljb25UaGVtZSA9IHVzZVN0YXR1c0ljb24oQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IFRleHRUaGVtZSA9IHVzZVN0YXR1c1RleHQoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBDb21wb25lbnRDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuXG4gIGNvbnN0IGljb24gPSBtYXRjaChDb21wb25lbnRDb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TRU5ELFxuICAgICAgPEljb24gdHlwZT17VHlwZS5SRURPfSBzY3JlZW5SZWFkZXJUZXh0PVwiXCIgY29udGV4dD17SWNvbkNvbnRleHQuREFSS30gLz4sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlBST0NFU1NJTkcsXG4gICAgICA8SWNvblxuICAgICAgICB0eXBlPXtUeXBlLklOX1BST0NFU1N9XG4gICAgICAgIHNjcmVlblJlYWRlclRleHQ9XCJcIlxuICAgICAgICBjb250ZXh0PXtJY29uQ29udGV4dC5EQVJLfVxuICAgICAgLz4sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlBST1BPU0FMLFxuICAgICAgPEljb25cbiAgICAgICAgdHlwZT17VHlwZS5DT01NRU5UfVxuICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PVwiXCJcbiAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuREFSS31cbiAgICAgIC8+LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5BQ0NFUFRFRCxcbiAgICAgIDxJY29uIHR5cGU9e1R5cGUuUkVET30gc2NyZWVuUmVhZGVyVGV4dD1cIlwiIGNvbnRleHQ9e0ljb25Db250ZXh0LkRBUkt9IC8+LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5SRUZVU0VELFxuICAgICAgPEljb24gdHlwZT17VHlwZS5SRURPfSBzY3JlZW5SZWFkZXJUZXh0PVwiXCIgY29udGV4dD17SWNvbkNvbnRleHQuREFSS30gLz4sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAgPEljb25cbiAgICAgICAgdHlwZT17VHlwZS5SRURPfVxuICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PVwiXCJcbiAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuRElTQUJMRUR9XG4gICAgICAvPixcbiAgICBdLFxuICBdKTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkU2tlbGV0b25TdGF0dXNMYWJlbCB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkU3RhdHVzTGFiZWxJY29uIHRoZW1lPXtJY29uVGhlbWV9PlxuICAgICAgICAgIDxQbGFjZWhvbGRlcj57aWNvbn08L1BsYWNlaG9sZGVyPlxuICAgICAgICA8L1N0eWxlZFN0YXR1c0xhYmVsSWNvbj5cbiAgICAgICAgPFN0eWxlZFN0YXR1c0xhYmVsVGV4dCB0aGVtZT17VGV4dFRoZW1lfT5cbiAgICAgICAgICA8UGxhY2Vob2xkZXI+e2xhYmVsfTwvUGxhY2Vob2xkZXI+XG4gICAgICAgIDwvU3R5bGVkU3RhdHVzTGFiZWxUZXh0PlxuICAgICAgPC9TdHlsZWRTa2VsZXRvblN0YXR1c0xhYmVsPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRTdGF0dXNMYWJlbCB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZFN0YXR1c0xhYmVsSWNvbiB0aGVtZT17SWNvblRoZW1lfT57aWNvbn08L1N0eWxlZFN0YXR1c0xhYmVsSWNvbj5cbiAgICAgIDxTdHlsZWRTdGF0dXNMYWJlbFRleHQgdGhlbWU9e1RleHRUaGVtZX0+e2xhYmVsfTwvU3R5bGVkU3RhdHVzTGFiZWxUZXh0PlxuICAgIDwvU3R5bGVkU3RhdHVzTGFiZWw+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuLi9zdGF0dXMuZW51bXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJU3RhdHVzVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLnR5cGVzXCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlU3RhdHVzID0gKGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0KTogSVN0YXR1c1RoZW1lID0+IHtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBJc1NrZWxldG9uID0gY29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICByZXR1cm4ge1xuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGJhY2tncm91bmQ6IElzU2tlbGV0b24gPyBTa2VsZXRvbkJnIDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgfTtcbn07XG4iLCJpbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3N0YXR1cy5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5pbXBvcnQgeyBJU3RhdHVzSWNvblRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlU3RhdHVzSWNvbiA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIENvbnRleHQsXG4pOiBJU3RhdHVzSWNvblRoZW1lID0+IHtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFNlbmRTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3NlbmRfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFByb2Nlc3NpbmdTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3Byb2Nlc3NpbmdfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMud2FybmluZy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgUHJvcG9zYWxTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3Byb3Bvc2FsX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLmluZm8udGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEFjY2VwdGVkU3RhdHVzID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInN0YXR1c19hY2NlcHRlZF9jb2xvclwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdWNjZXNzLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBSZWZ1c2VkU3RhdHVzID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInN0YXR1c19yZWZ1c2VkX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNFTkQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBTZW5kU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuUFJPQ0VTU0lORyxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMubWQgKyBcIiAwIDAgXCIgKyBSYWRpdXMubWQsXG4gICAgICAgIGJhY2tncm91bmQ6IFByb2Nlc3NpbmdTdGF0dXMsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5QUk9QT1NBTCxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMubWQgKyBcIiAwIDAgXCIgKyBSYWRpdXMubWQsXG4gICAgICAgIGJhY2tncm91bmQ6IFByb3Bvc2FsU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuQUNDRVBURUQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBBY2NlcHRlZFN0YXR1cyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlJFRlVTRUQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBSZWZ1c2VkU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuU0tFTEVUT04sXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3N0YXR1cy5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJU3RhdHVzVGV4dFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlU3RhdHVzVGV4dCA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIENvbnRleHQsXG4pOiBJU3RhdHVzVGV4dFRoZW1lID0+IHtcbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuXG4gIHJldHVybiB7XG4gICAgcGFkZGluZzogXCIwIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiNFwiXSxcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJVGVybSB9IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS5lbnVtc1wiO1xuaW1wb3J0IHsgVGVybSBhcyBCYXNlVGVybSB9IGZyb20gXCJAL2F0b21zL3Rlcm0vY29tcG9uZW50cy90ZXJtXCI7XG5pbXBvcnQgeyBDb2xvclZhcmlhbnQgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgRnJhbWVDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvZnJhbWUuZW51bXNcIjtcblxuY29uc3QgRGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFRlcm0gPSAoeyBjb250ZXh0LCBsYWJlbCwgZGVzY3JpcHRpb24sIGZyYW1lIH06IElUZXJtKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlVGVybSBsYWJlbD17bGFiZWx9IGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gZnJhbWU9e2ZyYW1lfSAvPlxuICAgIDwvQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJVGVybUJhc2UgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0udHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFNrZWxldG9uVGVybSxcbiAgU3R5bGVkU2tlbGV0b25UZXJtRGVzY3JpcHRpb24sXG4gIFN0eWxlZFRlcm0sXG4gIFN0eWxlZFRlcm1Db250ZW50LFxuICBTdHlsZWRUZXJtRGVzY3JpcHRpb24sXG4gIFN0eWxlZFRlcm1GcmFtZSxcbiAgU3R5bGVkVGVybUxhYmVsLFxufSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0uc3R5bGVcIjtcbmltcG9ydCB7IHVzZVRlcm0gfSBmcm9tIFwiQC9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtXCI7XG5pbXBvcnQgeyB1c2VUZXJtRnJhbWUgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtLWZyYW1lXCI7XG5pbXBvcnQgeyB1c2VUZXJtTGFiZWwgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtLWxhYmVsXCI7XG5pbXBvcnQgeyB1c2VUZXJtRGVzY3JpcHRpb24gfSBmcm9tIFwiQC9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtLWRlc2NyaXB0aW9uXCI7XG5cbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0uZW51bXNcIjtcbmltcG9ydCB7IEN0eCB9IGZyb20gXCJAL2F0b21zL3Rlcm1cIjtcbmltcG9ydCB7IENvbnRleHQgYXMgRnJhbWVDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvZnJhbWUuZW51bXNcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgUGxhaW5Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCBUZXJtID0gKHsgbGFiZWwsIGRlc2NyaXB0aW9uLCBmcmFtZSB9OiBJVGVybUJhc2UpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VUZXJtKENvbXBvbmVudENvbnRleHQpO1xuICBjb25zdCBUaGVtZUZyYW1lID0gdXNlVGVybUZyYW1lKENvbXBvbmVudENvbnRleHQpO1xuICBjb25zdCBUaGVtZUxhYmVsID0gdXNlVGVybUxhYmVsKENvbXBvbmVudENvbnRleHQpO1xuICBjb25zdCBUaGVtZURlc2NyaXB0aW9uID0gdXNlVGVybURlc2NyaXB0aW9uKENvbXBvbmVudENvbnRleHQpO1xuXG4gIGNvbnN0IElzU2tlbGV0b24gPSBDb21wb25lbnRDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uVGVybSB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkVGVybUZyYW1lIHRoZW1lPXtUaGVtZUZyYW1lfT5cbiAgICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGZyYW1lLCB7XG4gICAgICAgICAgICBjb250ZXh0OiBGcmFtZUNvbnRleHQuU0tFTEVUT04sXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvU3R5bGVkVGVybUZyYW1lPlxuICAgICAgICA8U3R5bGVkVGVybUNvbnRlbnQ+XG4gICAgICAgICAgPFN0eWxlZFRlcm1MYWJlbCB0aGVtZT17VGhlbWVMYWJlbH0+XG4gICAgICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGxhYmVsLCB7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IFBsYWluQ29udGV4dC5TS0VMRVRPTixcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvU3R5bGVkVGVybUxhYmVsPlxuICAgICAgICAgIDxTdHlsZWRTa2VsZXRvblRlcm1EZXNjcmlwdGlvbiB0aGVtZT17VGhlbWVEZXNjcmlwdGlvbn0+XG4gICAgICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGRlc2NyaXB0aW9uLCB7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IFBsYWluQ29udGV4dC5TS0VMRVRPTixcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvU3R5bGVkU2tlbGV0b25UZXJtRGVzY3JpcHRpb24+XG4gICAgICAgIDwvU3R5bGVkVGVybUNvbnRlbnQ+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uVGVybT5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkVGVybSB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZFRlcm1GcmFtZSB0aGVtZT17VGhlbWVGcmFtZX0+e2ZyYW1lfTwvU3R5bGVkVGVybUZyYW1lPlxuICAgICAgPFN0eWxlZFRlcm1Db250ZW50PlxuICAgICAgICA8U3R5bGVkVGVybUxhYmVsIHRoZW1lPXtUaGVtZUxhYmVsfT57bGFiZWx9PC9TdHlsZWRUZXJtTGFiZWw+XG4gICAgICAgIDxTdHlsZWRUZXJtRGVzY3JpcHRpb24gdGhlbWU9e1RoZW1lRGVzY3JpcHRpb259PlxuICAgICAgICAgIHtkZXNjcmlwdGlvbn1cbiAgICAgICAgPC9TdHlsZWRUZXJtRGVzY3JpcHRpb24+XG4gICAgICA8L1N0eWxlZFRlcm1Db250ZW50PlxuICAgIDwvU3R5bGVkVGVybT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHtcbiAgSVRlcm1EZXNjcmlwdGlvblRoZW1lLFxuICBJVGVybUZyYW1lVGhlbWUsXG4gIElUZXJtTGFiZWxUaGVtZSxcbiAgSVRlcm1UaGVtZSxcbn0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLnR5cGVzXCI7XG5pbXBvcnQgeyBTcGFjaW5nSSB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybSA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVRlcm1UaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1GcmFtZSA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7IHRoZW1lOiBJVGVybUZyYW1lVGhlbWUgfT5gXG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXJnaW59O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1Db250ZW50ID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJVGVybVRoZW1lIH0+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtTGFiZWwgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyB0aGVtZTogSVRlcm1MYWJlbFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIG1hcmdpbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1hcmdpbn07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybURlc2NyaXB0aW9uID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJVGVybURlc2NyaXB0aW9uVGhlbWU7XG59PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIG1hcmdpbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1hcmdpbn07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25UZXJtRGVzY3JpcHRpb24gPSBzdHlsZWQoU3R5bGVkVGVybURlc2NyaXB0aW9uKTx7XG4gIHRoZW1lOiBJVGVybVRoZW1lO1xufT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uVGVybSA9IHN0eWxlZChTdHlsZWRUZXJtKTx7XG4gIHRoZW1lOiBJVGVybVRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLmVudW1zXCI7XG5pbXBvcnQgeyBJVGVybVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlVGVybSA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCk6IElUZXJtVGhlbWUgPT4ge1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkubWQubm9ybWFsLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuU0tFTEVUT04sXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0uZW51bXNcIjtcbmltcG9ydCB7IElUZXJtRnJhbWVUaGVtZSB9IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlVGVybUZyYW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCxcbik6IElUZXJtRnJhbWVUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuICBjb25zdCBNYXJnaW4gPSBcIjAgXCIgKyBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdICsgXCIgMCAwXCI7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBtYXJnaW46IE1hcmdpbixcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICBtYXJnaW46IE1hcmdpbixcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS5lbnVtc1wiO1xuaW1wb3J0IHsgSVRlcm1MYWJlbFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VUZXJtTGFiZWwgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0LFxuKTogSVRlcm1MYWJlbFRoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgY29uc3QgTWFyZ2luID1cbiAgICBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdICtcbiAgICBcIiBcIiArXG4gICAgVXRpbGl0eS5zcGFjaW5nW1wiMlwiXSArXG4gICAgXCIgXCIgK1xuICAgIFV0aWxpdHkuc3BhY2luZ1tcIjJcIl0gK1xuICAgIFwiIFwiICtcbiAgICBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgbWFyZ2luOiBNYXJnaW4sXG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TS0VMRVRPTixcbiAgICAgIHtcbiAgICAgICAgbWFyZ2luOiBNYXJnaW4sXG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0uZW51bXNcIjtcbmltcG9ydCB7IElUZXJtRGVzY3JpcHRpb25UaGVtZSwgSVRlcm1UaGVtZSB9IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlVGVybURlc2NyaXB0aW9uID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCxcbik6IElUZXJtRGVzY3JpcHRpb25UaGVtZSA9PiB7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuICBjb25zdCBNYXJnaW4gPSBcIjAgMCAwIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiMlwiXTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtcbiAgICAgIENvbnRleHQuU1RBTkRBUkQsXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICAgIG1hcmdpbjogTWFyZ2luLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuU0tFTEVUT04sXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICAgIG1hcmdpbjogTWFyZ2luLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgVGVybWluYWwgYXMgQmFzZVRlcm1pbmFsIH0gZnJvbSBcIi4vY29tcG9uZW50cy90ZXJtaW5hbFwiO1xuaW1wb3J0IHsgSVRlcm1pbmFsIH0gZnJvbSBcIkAvYXRvbXMvdGVybWluYWwvdGVybWluYWwudHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi90ZXJtaW5hbC5lbnVtc1wiO1xuXG5jb25zdCBUZXJtaW5hbEN0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgVGVybWluYWxDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChUZXJtaW5hbEN0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgVGVybWluYWwgPSAoeyBjb250ZXh0IH06IElUZXJtaW5hbCkgPT4ge1xuICBjb25zdCBUZXJtaW5hbENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IFRlcm1pbmFsQ3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxUZXJtaW5hbEN0eC5Qcm92aWRlciB2YWx1ZT17VGVybWluYWxDb250ZXh0fT5cbiAgICAgIDxCYXNlVGVybWluYWwgLz5cbiAgICA8L1Rlcm1pbmFsQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtaW5hbCA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDEwcHggOHB4IHJnYigwIDAgMCAvIDAuMDQpKVxuICAgIGRyb3Atc2hhZG93KDAgNHB4IDNweCByZ2IoMCAwIDAgLyAwLjEpKTtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybWluYWxJbm5lciA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBiYWNrZ3JvdW5kOiAjZWI3MzIyO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybWluYWxPdXRlciA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzNSwgMTE1LCAzNCwgMC4yMik7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB6LWluZGV4OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGFuaW1hdGlvbjogcGluZyAxcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtaW5hbFdyYXBwZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1pbmFsTGFiZWwgPSBzdHlsZWQuc3Bhbjx7XG4gIGZvbnQ6IHN0cmluZztcbn0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogY2FsYygxMDAlICsgNXB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNlYjczMjI7XG4gIG1pbi13aWR0aDogNzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuMSksXG4gICAgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLmZvbnR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1pbmFsTGFiZWxDb250ZW50ID0gc3R5bGVkLnNwYW48e30+YFxuICBwYWRkaW5nOiA1cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtaW5hbExhYmVsQXJyb3cgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjZWI3MzIyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTVweDtcbiAgbGVmdDogY2FsYyg1MCUgLSA4cHgpO1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgI2ViNzMyMjtcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybWluYWxTaGFkb3cgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAzcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjODY4Njg2O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwcHg7XG4gIHotaW5kZXg6IC0xO1xuICBmaWx0ZXI6IGJsdXIoNHB4KTtcbmA7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJVGVybWluYWxCYXNlIH0gZnJvbSBcIkAvYXRvbXMvdGVybWluYWwvdGVybWluYWwudHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFRlcm1pbmFsLFxuICBTdHlsZWRUZXJtaW5hbElubmVyLFxuICBTdHlsZWRUZXJtaW5hbExhYmVsLFxuICBTdHlsZWRUZXJtaW5hbExhYmVsQXJyb3csXG4gIFN0eWxlZFRlcm1pbmFsTGFiZWxDb250ZW50LFxuICBTdHlsZWRUZXJtaW5hbE91dGVyLFxuICBTdHlsZWRUZXJtaW5hbFNoYWRvdyxcbiAgU3R5bGVkVGVybWluYWxXcmFwcGVyLFxufSBmcm9tIFwiQC9hdG9tcy90ZXJtaW5hbC90ZXJtaW5hbC5zdHlsZVwiO1xuaW1wb3J0IHsgdXNlVGhlbWVGb250cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgU3R5bGVkUGluU2hhZG93IH0gZnJvbSBcIkAvYXRvbXMvcGluL3Bpbi5zdHlsZVwiO1xuXG5leHBvcnQgY29uc3QgVGVybWluYWwgPSAoe306IElUZXJtaW5hbEJhc2UpID0+IHtcbiAgY29uc3Qgd2lkdGggPSAzMDtcbiAgY29uc3Qgd2lkdGhQeCA9IHdpZHRoICsgXCJweFwiO1xuICBjb25zdCBoZWlnaHQgPSAzMDtcbiAgY29uc3QgaGVpZ2h0UHggPSBoZWlnaHQgKyBcInB4XCI7XG5cbiAgY29uc3Qgdmlld0JveCA9IFwiMCAwIFwiICsgd2lkdGggKyBcIiBcIiArIGhlaWdodDtcblxuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFRlcm1pbmFsV3JhcHBlcj5cbiAgICAgIDxTdHlsZWRUZXJtaW5hbD5cbiAgICAgICAgPFN0eWxlZFRlcm1pbmFsSW5uZXIgLz5cbiAgICAgICAgPFN0eWxlZFRlcm1pbmFsT3V0ZXIgLz5cbiAgICAgIDwvU3R5bGVkVGVybWluYWw+XG4gICAgICA8U3R5bGVkVGVybWluYWxTaGFkb3c+PC9TdHlsZWRUZXJtaW5hbFNoYWRvdz5cbiAgICA8L1N0eWxlZFRlcm1pbmFsV3JhcHBlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBZZXNOb1Byb3BzIH0gZnJvbSBcIi4veWVzX25vLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4veWVzX25vLmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBZZXNObyBhcyBZZXNOb0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMveWVzX25vXCI7XG5cbmNvbnN0IFllc05vQ3R4RGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBZZXNOb0N0eDogUmVhY3QuQ29udGV4dDxDb250ZXh0PiA9IGNyZWF0ZUNvbnRleHQoWWVzTm9DdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFllc05vID0gKHtcbiAgY29udGV4dCxcbiAgb25DaGFuZ2UsXG4gIGFyaWFZZXNMYWJlbCxcbiAgYXJpYU5vTGFiZWwsXG4gIHllc0xhYmVsLFxuICBub0xhYmVsLFxuICBuYW1lLFxuICBkZWZhdWx0Q2hlY2tlZCxcbn06IFllc05vUHJvcHMpID0+IHtcbiAgY29uc3QgWWVzTm9Db250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBZZXNOb0N0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8WWVzTm9DdHguUHJvdmlkZXIgdmFsdWU9e1llc05vQ29udGV4dH0+XG4gICAgICA8WWVzTm9Db21wb25lbnRcbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgeWVzTGFiZWw9e3llc0xhYmVsfVxuICAgICAgICBub0xhYmVsPXtub0xhYmVsfVxuICAgICAgICBhcmlhWWVzTGFiZWw9e2FyaWFZZXNMYWJlbH1cbiAgICAgICAgYXJpYU5vTGFiZWw9e2FyaWFOb0xhYmVsfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZH1cbiAgICAgIC8+XG4gICAgPC9ZZXNOb0N0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBZZXNOb1RoZW1lYWJsZVByb3BzLCBJWWVzTm9UaGVtZSB9IGZyb20gXCIuLi95ZXNfbm8udHlwZXNcIjtcbmltcG9ydCB7IFllc05vQ3R4IH0gZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIFllc05vY29udGV4dCB9IGZyb20gXCIuLi95ZXNfbm8uZW51bXNcIjtcbmltcG9ydCB7IENvbnRleHQsIFNpemUsIFR5cGUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IHVzZVllc05vVGhlbWUgfSBmcm9tIFwiLi4vaG9va3MvdXNlLXllcy1ub1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkWWVzTm8sXG4gIFN0eWxlZFllc05vQ29udGFpbmVyLFxuICBTdHlsZWRZZXNOb0NvbnRhaW5lclNrZWxldG9uLFxuICBTdHlsZWRZZXNOb0xhYmVsLFxuICBTdHlsZWRZZXNOb0xhYmVsU2tlbGV0b24sXG4gIFN0eWxlZFllc05vVmlzdWFsU2tlbGV0b24sXG4gIFN0eWxlZFZpc3VhbCxcbiAgU3R5bGVkVmlzdWFsQ29udGFpbmVyLFxuICBTdHlsZWRZZXNOb1dyYXBwZXIsXG59IGZyb20gXCIuLi95ZXNfbm8uc3R5bGVcIjtcbmltcG9ydCB7IEZyYW1lIH0gZnJvbSBcIi4uLy4uL2ZyYW1lXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgQ29sb3JWYXJpYW50IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7XG4gIFR5cGUgYXMgRmlndXJlVHlwZSxcbiAgU2l6ZSBhcyBGaWd1cmVTaXplLFxufSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBZZXNObyA9ICh7XG4gIG9uQ2hhbmdlLFxuICBhcmlhWWVzTGFiZWwsXG4gIGFyaWFOb0xhYmVsLFxuICB5ZXNMYWJlbCxcbiAgbm9MYWJlbCxcbiAgbmFtZSxcbiAgZGVmYXVsdENoZWNrZWQsXG59OiBZZXNOb1RoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IFllc05vQ29udGV4dCA9IHVzZUNvbnRleHQoWWVzTm9DdHgpO1xuICBjb25zdCBUaGVtZTogSVllc05vVGhlbWUgPSB1c2VZZXNOb1RoZW1lKFllc05vQ29udGV4dCk7XG4gIGNvbnN0IGlzRGlzYWJsZWQgPSBZZXNOb0NvbnRleHQgPT09IFllc05vY29udGV4dC5ESVNBQkxFRDtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IFllc05vQ29udGV4dCA9PT0gWWVzTm9jb250ZXh0LlNLRUxFVE9OO1xuICBjb25zdCBbeWVzT3JObywgc2V0WWVzT3JOb10gPSB1c2VTdGF0ZTxib29sZWFuIHwgdW5kZWZpbmVkPihkZWZhdWx0Q2hlY2tlZCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgIG9uQ2hhbmdlKHllc09yTm8gYXMgYm9vbGVhbik7XG4gICAgfVxuICB9LCBbeWVzT3JOb10pO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRZZXNOb1dyYXBwZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZFllc05vQ29udGFpbmVyU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICA8U3R5bGVkWWVzTm9WaXN1YWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9IC8+XG4gICAgICAgICAgPFN0eWxlZFllc05vTGFiZWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgICAge3llc0xhYmVsfVxuICAgICAgICAgIDwvU3R5bGVkWWVzTm9MYWJlbFNrZWxldG9uPlxuICAgICAgICA8L1N0eWxlZFllc05vQ29udGFpbmVyU2tlbGV0b24+XG4gICAgICAgIDxTdHlsZWRZZXNOb0NvbnRhaW5lclNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgPFN0eWxlZFllc05vVmlzdWFsU2tlbGV0b24gdGhlbWU9e1RoZW1lfSAvPlxuICAgICAgICAgIDxTdHlsZWRZZXNOb0xhYmVsU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICAgIHtub0xhYmVsfVxuICAgICAgICAgIDwvU3R5bGVkWWVzTm9MYWJlbFNrZWxldG9uPlxuICAgICAgICA8L1N0eWxlZFllc05vQ29udGFpbmVyU2tlbGV0b24+XG4gICAgICA8L1N0eWxlZFllc05vV3JhcHBlcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkWWVzTm9XcmFwcGVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkWWVzTm9Db250YWluZXIgJGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9IHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRZZXNOb1xuICAgICAgICAgIGRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhWWVzTGFiZWx9XG4gICAgICAgICAgdmFsdWU9ezF9XG4gICAgICAgICAgY2hlY2tlZD17eWVzT3JObyA9PT0gdHJ1ZX1cbiAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gc2V0WWVzT3JObyh0cnVlKX1cbiAgICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICAgIC8+XG4gICAgICAgIDxTdHlsZWRWaXN1YWxDb250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICA8RnJhbWVcbiAgICAgICAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH1cbiAgICAgICAgICAgIGFyb3VuZD17XG4gICAgICAgICAgICAgIDxGaWd1cmVcbiAgICAgICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXt5ZXNMYWJlbH1cbiAgICAgICAgICAgICAgICBzaXplPXtGaWd1cmVTaXplLlNNQUxMfVxuICAgICAgICAgICAgICAgIHR5cGU9e0ZpZ3VyZVR5cGUuWUVTfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZFZpc3VhbCB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgICAgPEljb25cbiAgICAgICAgICAgICAgdHlwZT17VHlwZS5DSEVDS31cbiAgICAgICAgICAgICAgc2l6ZT17U2l6ZS5NRURJVU19XG4gICAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3llc0xhYmVsfVxuICAgICAgICAgICAgICBjb250ZXh0PXtDb250ZXh0LkxJR0hUfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1N0eWxlZFZpc3VhbD5cbiAgICAgICAgPC9TdHlsZWRWaXN1YWxDb250YWluZXI+XG4gICAgICAgIDxTdHlsZWRZZXNOb0xhYmVsIHRoZW1lPXtUaGVtZX0+e3llc0xhYmVsfTwvU3R5bGVkWWVzTm9MYWJlbD5cbiAgICAgIDwvU3R5bGVkWWVzTm9Db250YWluZXI+XG4gICAgICA8U3R5bGVkWWVzTm9Db250YWluZXIgJGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9IHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRZZXNOb1xuICAgICAgICAgIGRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTm9MYWJlbH1cbiAgICAgICAgICB2YWx1ZT17MH1cbiAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gc2V0WWVzT3JObyhmYWxzZSl9XG4gICAgICAgICAgY2hlY2tlZD17eWVzT3JObyA9PT0gZmFsc2V9XG4gICAgICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkVmlzdWFsQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgPEZyYW1lXG4gICAgICAgICAgICB0aW50PXtDb2xvclZhcmlhbnQuVElOVF8yMDB9XG4gICAgICAgICAgICBhcm91bmQ9e1xuICAgICAgICAgICAgICA8RmlndXJlXG4gICAgICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17bm9MYWJlbH1cbiAgICAgICAgICAgICAgICBzaXplPXtGaWd1cmVTaXplLlNNQUxMfVxuICAgICAgICAgICAgICAgIHR5cGU9e0ZpZ3VyZVR5cGUuTk99XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8U3R5bGVkVmlzdWFsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgICB0eXBlPXtUeXBlLkNIRUNLfVxuICAgICAgICAgICAgICBzaXplPXtTaXplLk1FRElVTX1cbiAgICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17eWVzTGFiZWx9XG4gICAgICAgICAgICAgIGNvbnRleHQ9e0NvbnRleHQuTElHSFR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvU3R5bGVkVmlzdWFsPlxuICAgICAgICA8L1N0eWxlZFZpc3VhbENvbnRhaW5lcj5cbiAgICAgICAgPFN0eWxlZFllc05vTGFiZWwgdGhlbWU9e1RoZW1lfT57bm9MYWJlbH08L1N0eWxlZFllc05vTGFiZWw+XG4gICAgICA8L1N0eWxlZFllc05vQ29udGFpbmVyPlxuICAgIDwvU3R5bGVkWWVzTm9XcmFwcGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7XG4gIHVzZVRoZW1lQ29sb3IsXG4gIHVzZVRoZW1lRm9udHMsXG4gIHVzZVRoZW1lUmFkaXVzLFxuICB1c2VUaGVtZVV0aWxpdHksXG59IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgWWVzTm9Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvY2hvaWNlL2Nob2ljZS5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSVllc05vVGhlbWUgfSBmcm9tIFwiLi4veWVzX25vLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VZZXNOb1RoZW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgWWVzTm9Db250ZXh0LFxuKTogSVllc05vVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCByYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCB1dGlsID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBlcnJvckJvcmRlckNvbG9yID0gQ29sb3JzLmRhbmdlci50aW50XzUwMDtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBnYXA6IHV0aWwuc3BhY2luZ1syXSxcbiAgfTtcblxuICBjb25zdCBFcnJvciA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICAgIGdhcDogdXRpbC5zcGFjaW5nWzJdLFxuICB9O1xuXG4gIGNvbnN0IERpc2FibGVkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBnYXA6IHV0aWwuc3BhY2luZ1syXSxcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMubGcsXG4gICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gICAgZ2FwOiB1dGlsLnNwYWNpbmdbMl0sXG4gIH07XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbWWVzTm9Db250ZXh0LlNUQU5EQVJELCBTdGFuZGFyZF0sXG4gICAgW1llc05vQ29udGV4dC5FUlJPUiwgRXJyb3JdLFxuICAgIFtZZXNOb0NvbnRleHQuRElTQUJMRUQsIERpc2FibGVkXSxcbiAgICBbWWVzTm9Db250ZXh0LlNLRUxFVE9OLCBTa2VsZXRvbl0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJWWVzTm9UaGVtZSB9IGZyb20gXCIuL3llc19uby50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWWVzTm8gPSBzdHlsZWQuaW5wdXQuYXR0cnMoeyB0eXBlOiBcIlJhZGlvXCIgfSk8e1xuICB0aGVtZTogSVllc05vVGhlbWU7XG59PmBcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICY6Y2hlY2tlZCB+IHNwYW4ge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5jb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gICY6Y2hlY2tlZCB+IGRpdiA+IDpsYXN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWWVzTm9Db250YWluZXIgPSBzdHlsZWQubGFiZWw8e1xuICAkaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgdGhlbWU6IElZZXNOb1RoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuJGlzRGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICAmOmhvdmVyID4gc3BhbiB7XG4gICAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICBgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFllc05vTGFiZWwgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJWWVzTm9UaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgcGFkZGluZy1sZWZ0OiA2OHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIG1pbi1oZWlnaHQ6IDU4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJWWVzTm9UaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA4cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJWWVzTm9UaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudmlzdWFsUmFkaXVzfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYmFja2dyb3VuZH07XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRZZXNOb0NvbnRhaW5lclNrZWxldG9uID0gc3R5bGVkLmxhYmVsPHtcbiAgdGhlbWU6IElZZXNOb1RoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNThweDtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRZZXNOb1dyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElZZXNOb1RoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmdhcH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWWVzTm9WaXN1YWxTa2VsZXRvbiA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVllc05vVGhlbWUgfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnZpc3VhbFJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFllc05vTGFiZWxTa2VsZXRvbiA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElZZXNOb1RoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW4tbGVmdDogNjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyBEZXRhaWxzUHJvcHMgfSBmcm9tIFwiLi9kZXRhaWxzLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vZGV0YWlscy5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRGV0YWlscyBhcyBEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9kZXRhaWxzXCI7XG5pbXBvcnQgeyBIZWFkZXIgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9jb21wb25lbnRzL2RldGFpbHMuaGVhZGVyXCI7XG5pbXBvcnQgeyBDb250ZW50IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvY29tcG9uZW50cy9kZXRhaWxzLmNvbnRlbnRcIjtcblxuY29uc3QgRGV0YWlsc0N0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgRGV0YWlsc0N0eDogUmVhY3QuQ29udGV4dDxDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoRGV0YWlsc0N0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgRGV0YWlscyA9ICh7IGNoaWxkcmVuLCBjb250ZXh0IH06IERldGFpbHNQcm9wcykgPT4ge1xuICBjb25zdCBEZXRhaWxzQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGV0YWlsc0N0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RGV0YWlsc0N0eC5Qcm92aWRlciB2YWx1ZT17RGV0YWlsc0NvbnRleHR9PlxuICAgICAgPERldGFpbHNDb21wb25lbnQ+e2NoaWxkcmVufTwvRGV0YWlsc0NvbXBvbmVudD5cbiAgICA8L0RldGFpbHNDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5EZXRhaWxzLkhlYWRlciA9IEhlYWRlcjtcbkRldGFpbHMuQ29udGVudCA9IENvbnRlbnQ7XG4iLCJpbXBvcnQgeyBJRGV0YWlsc1RoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy50eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERldGFpbHNDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElEZXRhaWxzVGhlbWUgfT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERldGFpbHNIZWFkZXIgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJRGV0YWlsc1RoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG4gIGhlaWdodDogNDBweDtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRpdGxlfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJiBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRGV0YWlsc0hlYWRlckljb24gPSBzdHlsZWQuc3Bhbjx7XG4gIHRoZW1lOiBJRGV0YWlsc1RoZW1lO1xuICAkaXNPcGVuOiBib29sZWFuO1xufT5gXG4gIHJvdGF0ZTogJHsocHJvcHMpID0+IChwcm9wcy4kaXNPcGVuID8gXCIwZGVnXCIgOiBcIi05MGRlZ1wiKX07XG4gIHRyYW5zaXRpb246IHJvdGF0ZSAwLjNzO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERldGFpbHNBY3Rpb25zID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJRGV0YWlsc1RoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREZXRhaWxzQ29udGVudCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSURldGFpbHNUaGVtZSB9PmBcbiAgcGFkZGluZy10b3A6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblRpdGxlID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSURldGFpbHNUaGVtZSB9PmBcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgRGV0YWlsc0NvbnRleHQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9kZXRhaWxzLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJRGV0YWlsc1RoZW1lIH0gZnJvbSBcIi4uL2RldGFpbHMudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZURldGFpbHNUaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIERldGFpbHNDb250ZXh0LFxuKTogSURldGFpbHNUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICAgIHRpdGxlOiBGb250cy5wcmltYXJ5Lm1kLmJvbGQsXG4gICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gIH07XG5cbiAgY29uc3QgU2tlbGV0b24gPSB7XG4gICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgICB0aXRsZTogRm9udHMuYWNjZW50LmxnLmJvbGQsXG4gICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gIH07XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbRGV0YWlsc0NvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbRGV0YWlsc0NvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgRGV0YWlsc0N0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzXCI7XG5pbXBvcnQgeyBTdHlsZWREZXRhaWxzQ29udGFpbmVyIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy5zdHlsZVwiO1xuaW1wb3J0IHtcbiAgRGV0YWlsc1RoZW1lYWJsZVByb3BzLFxuICBJRGV0YWlsc1RoZW1lLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9kZXRhaWxzLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VEZXRhaWxzVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9ob29rcy91c2UtZGV0YWlsc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgRGV0YWlscyA9ICh7IGNoaWxkcmVuIH06IERldGFpbHNUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBEZXRhaWxzQ29udGV4dCA9IHVzZUNvbnRleHQoRGV0YWlsc0N0eCk7XG4gIGNvbnN0IFRoZW1lOiBJRGV0YWlsc1RoZW1lID0gdXNlRGV0YWlsc1RoZW1lKERldGFpbHNDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWREZXRhaWxzQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkRGV0YWlsc0NvbnRhaW5lcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBBY2NvcmRlb25Qcm9wcyB9IGZyb20gXCIuL2FjY29yZGVvbi50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL2FjY29yZGVvbi5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEFjY29yZGVvbiBhcyBBY2NvcmRlb25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2FjY29yZGVvblwiO1xuaW1wb3J0IHsgSGVhZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vY29tcG9uZW50cy9hY2NvcmRlb24uaGVhZGVyXCI7XG5pbXBvcnQgeyBDb250ZW50IH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vY29tcG9uZW50cy9hY2NvcmRlb24uY29udGVudFwiO1xuXG5jb25zdCBBY2NvcmRlb25DdHhEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5DTE9TRUQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBBY2NvcmRlb25DdHggPSBjcmVhdGVDb250ZXh0KCk7XG5cbmV4cG9ydCBjb25zdCBBY2NvcmRlb24gPSAoeyBjaGlsZHJlbiwgY29udGV4dCB9OiBBY2NvcmRlb25Qcm9wcykgPT4ge1xuICBjb25zdCBEZWZhdWx0QWNjb3JkZW9uQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogQWNjb3JkZW9uQ3R4RGVmYXVsdDtcbiAgY29uc3QgW0FjY29yZGVvbkNvbnRleHQsIHNldEFjY29yZGVvbkNvbnRleHRdID0gdXNlU3RhdGUoXG4gICAgRGVmYXVsdEFjY29yZGVvbkNvbnRleHQsXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8QWNjb3JkZW9uQ3R4LlByb3ZpZGVyIHZhbHVlPXt7IEFjY29yZGVvbkNvbnRleHQsIHNldEFjY29yZGVvbkNvbnRleHQgfX0+XG4gICAgICA8QWNjb3JkZW9uQ29tcG9uZW50PntjaGlsZHJlbn08L0FjY29yZGVvbkNvbXBvbmVudD5cbiAgICA8L0FjY29yZGVvbkN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbkFjY29yZGVvbi5IZWFkZXIgPSBIZWFkZXI7XG5BY2NvcmRlb24uQ29udGVudCA9IENvbnRlbnQ7XG4iLCJpbXBvcnQgeyBJQWNjb3JkZW9uVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24udHlwZXNcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRBY2NvcmRlb25Db250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElBY2NvcmRlb25UaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRBY2NvcmRlb25IZWFkZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElBY2NvcmRlb25UaGVtZSB9PmBcbiAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQWNjb3JkZW9uQm9keSA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUFjY29yZGVvblRoZW1lIH0+YFxuICBkaXNwbGF5OiBibG9jaztcbmA7XG5leHBvcnQgY29uc3QgU3R5bGVkQWNjb3JkZW9uQ29udGVudCA9IHN0eWxlZC5kaXY8eyAkaXNPcGVuOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LWhlaWdodDogJHsoeyAkaXNPcGVuIH0pID0+ICgkaXNPcGVuID8gXCIxMDAwcHhcIiA6IFwiMFwiKX07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIG9wYWNpdHk6ICR7KHsgJGlzT3BlbiB9KSA9PiAoJGlzT3BlbiA/IFwiMVwiIDogXCIwXCIpfTtcbmA7XG4iLCJpbXBvcnQgeyBBY2NvcmRlb25DdHggfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvblwiO1xuaW1wb3J0IHsgU3R5bGVkQWNjb3JkZW9uQ29udGFpbmVyIH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLnN0eWxlXCI7XG5pbXBvcnQgeyBBY2NvcmRlb25UaGVtZWFibGVQcm9wcyB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgQWNjb3JkZW9uID0gKHsgY2hpbGRyZW4gfTogQWNjb3JkZW9uVGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgQ2hvaWNlQ29udGV4dCA9IHVzZUNvbnRleHQoQWNjb3JkZW9uQ3R4KTtcblxuICByZXR1cm4gPFN0eWxlZEFjY29yZGVvbkNvbnRhaW5lcj57Y2hpbGRyZW59PC9TdHlsZWRBY2NvcmRlb25Db250YWluZXI+O1xufTtcbiIsImltcG9ydCB7IEFjY29yZGVvbkN0eCB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLmVudW1zXCI7XG5pbXBvcnQgeyBTdHlsZWRBY2NvcmRlb25IZWFkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uc3R5bGVcIjtcbmltcG9ydCB7IEFjY29yZGVvblRoZW1lYWJsZVByb3BzIH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBIZWFkZXIgPSAoeyBjaGlsZHJlbiB9OiBBY2NvcmRlb25UaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCB7IEFjY29yZGVvbkNvbnRleHQsIHNldEFjY29yZGVvbkNvbnRleHQgfTogYW55ID1cbiAgICB1c2VDb250ZXh0KEFjY29yZGVvbkN0eCk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQWNjb3JkZW9uSGVhZGVyXG4gICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgIHNldEFjY29yZGVvbkNvbnRleHQoXG4gICAgICAgICAgQWNjb3JkZW9uQ29udGV4dCA9PT0gQ29udGV4dC5PUEVOID8gQ29udGV4dC5DTE9TRUQgOiBDb250ZXh0Lk9QRU4sXG4gICAgICAgICk7XG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1N0eWxlZEFjY29yZGVvbkhlYWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBBY2NvcmRlb25DdHggfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvblwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi5lbnVtc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkQWNjb3JkZW9uQm9keSxcbiAgU3R5bGVkQWNjb3JkZW9uQ29udGVudCxcbn0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLnN0eWxlXCI7XG5pbXBvcnQgeyBBY2NvcmRlb25UaGVtZWFibGVQcm9wcyB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgQ29udGVudCA9ICh7IGNoaWxkcmVuIH06IEFjY29yZGVvblRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgQWNjb3JkZW9uQ29udGV4dCB9OiBhbnkgPSB1c2VDb250ZXh0KEFjY29yZGVvbkN0eCk7XG4gIGNvbnN0IGlzT3BlbiA9IEFjY29yZGVvbkNvbnRleHQgPT09IENvbnRleHQuT1BFTjtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRBY2NvcmRlb25Cb2R5PlxuICAgICAgPFN0eWxlZEFjY29yZGVvbkNvbnRlbnQgJGlzT3Blbj17aXNPcGVufT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRBY2NvcmRlb25Db250ZW50PlxuICAgIDwvU3R5bGVkQWNjb3JkZW9uQm9keT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBBY2NvcmRlb25DdHggfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvblwiO1xuaW1wb3J0IHsgRGV0YWlsc0N0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIERldGFpbHNjb250ZXh0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy5lbnVtc1wiO1xuaW1wb3J0IHsgQ29udGV4dCBhcyBBY2NDb250ZXh0IH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLmVudW1zXCI7XG5pbXBvcnQge1xuICBTdHlsZWREZXRhaWxzQWN0aW9ucyxcbiAgU3R5bGVkRGV0YWlsc0hlYWRlcixcbiAgU3R5bGVkRGV0YWlsc0hlYWRlckljb24sXG4gIFN0eWxlZFNrZWxldG9uVGl0bGUsXG59IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMuc3R5bGVcIjtcbmltcG9ydCB7XG4gIERldGFpbHNIZWFkZXJUaGVtZWFibGVQcm9wcyxcbiAgSURldGFpbHNUaGVtZSxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy50eXBlc1wiO1xuaW1wb3J0IHsgdXNlRGV0YWlsc1RoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvaG9va3MvdXNlLWRldGFpbHNcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBTaXplLCBUeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBIZWFkZXIgPSAoeyB0aXRsZSwgY2hpbGRyZW4gfTogRGV0YWlsc0hlYWRlclRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IERldGFpbHNDb250ZXh0ID0gdXNlQ29udGV4dChEZXRhaWxzQ3R4KTtcbiAgY29uc3QgVGhlbWU6IElEZXRhaWxzVGhlbWUgPSB1c2VEZXRhaWxzVGhlbWUoRGV0YWlsc0NvbnRleHQpO1xuICBjb25zdCB7IEFjY29yZGVvbkNvbnRleHQgfTogYW55ID0gdXNlQ29udGV4dChBY2NvcmRlb25DdHgpO1xuICBjb25zdCBpc09wZW4gPSBBY2NvcmRlb25Db250ZXh0ID09PSBBY2NDb250ZXh0Lk9QRU47XG4gIGNvbnN0IGlzU2tlbGV0b24gPSBEZXRhaWxzQ29udGV4dCA9PT0gRGV0YWlsc2NvbnRleHQuU0tFTEVUT047XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZERldGFpbHNIZWFkZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZERldGFpbHNIZWFkZXJJY29uIHRoZW1lPXtUaGVtZX0gJGlzT3Blbj17ZmFsc2V9PlxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBzaXplPXtTaXplLlNNQUxMfVxuICAgICAgICAgICAgdHlwZT17VHlwZS5DSEVWUk9OX0RPV059XG4gICAgICAgICAgICBjb250ZXh0PXtDb250ZXh0LkRJU0FCTEVEfVxuICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17dGl0bGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWREZXRhaWxzSGVhZGVySWNvbj5cbiAgICAgICAgPFN0eWxlZFNrZWxldG9uVGl0bGUgdGhlbWU9e1RoZW1lfT57dGl0bGV9PC9TdHlsZWRTa2VsZXRvblRpdGxlPlxuICAgICAgICA8U3R5bGVkRGV0YWlsc0FjdGlvbnM+e2NoaWxkcmVufTwvU3R5bGVkRGV0YWlsc0FjdGlvbnM+XG4gICAgICA8L1N0eWxlZERldGFpbHNIZWFkZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZERldGFpbHNIZWFkZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWREZXRhaWxzSGVhZGVySWNvbiB0aGVtZT17VGhlbWV9ICRpc09wZW49e2lzT3Blbn0+XG4gICAgICAgIDxJY29uXG4gICAgICAgICAgc2l6ZT17U2l6ZS5TTUFMTH1cbiAgICAgICAgICB0eXBlPXtUeXBlLkNIRVZST05fRE9XTn1cbiAgICAgICAgICBjb250ZXh0PXtDb250ZXh0LkRBUkt9XG4gICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17dGl0bGV9XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZERldGFpbHNIZWFkZXJJY29uPlxuICAgICAgPHNwYW4+e3RpdGxlfTwvc3Bhbj5cbiAgICAgIDxTdHlsZWREZXRhaWxzQWN0aW9ucz57Y2hpbGRyZW59PC9TdHlsZWREZXRhaWxzQWN0aW9ucz5cbiAgICA8L1N0eWxlZERldGFpbHNIZWFkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgRGV0YWlsc0N0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzXCI7XG5pbXBvcnQgeyBTdHlsZWREZXRhaWxzQ29udGVudCB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMuc3R5bGVcIjtcbmltcG9ydCB7XG4gIERldGFpbHNDb250ZW50VGhlbWVhYmxlUHJvcHMsXG4gIElEZXRhaWxzVGhlbWUsXG59IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMudHlwZXNcIjtcbmltcG9ydCB7IHVzZURldGFpbHNUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2hvb2tzL3VzZS1kZXRhaWxzXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBDb250ZW50ID0gKHsgY2hpbGRyZW4gfTogRGV0YWlsc0NvbnRlbnRUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBEZXRhaWxzQ29udGV4dCA9IHVzZUNvbnRleHQoRGV0YWlsc0N0eCk7XG4gIGNvbnN0IFRoZW1lOiBJRGV0YWlsc1RoZW1lID0gdXNlRGV0YWlsc1RoZW1lKERldGFpbHNDb250ZXh0KTtcblxuICByZXR1cm4gPFN0eWxlZERldGFpbHNDb250ZW50IHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkRGV0YWlsc0NvbnRlbnQ+O1xufTtcbiIsImltcG9ydCB7IEZhcVByb3BzIH0gZnJvbSBcIi4vZmFxLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vZmFxLmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGYXEgYXMgRmFxQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9mYXFcIjtcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvY29tcG9uZW50cy9mYXEuaGVhZGVyXCI7XG5pbXBvcnQgeyBDb250ZW50IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9jb21wb25lbnRzL2ZhcS5jb250ZW50XCI7XG5cbmNvbnN0IEZhcUN0eERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgRmFxQ3R4OiBSZWFjdC5Db250ZXh0PENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChGYXFDdHhEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IEZhcSA9ICh7IGNoaWxkcmVuLCBjb250ZXh0IH06IEZhcVByb3BzKSA9PiB7XG4gIGNvbnN0IEZhcUNvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IEZhcUN0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8RmFxQ3R4LlByb3ZpZGVyIHZhbHVlPXtGYXFDb250ZXh0fT5cbiAgICAgIDxGYXFDb21wb25lbnQ+e2NoaWxkcmVufTwvRmFxQ29tcG9uZW50PlxuICAgIDwvRmFxQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcblxuRmFxLkhlYWRlciA9IEhlYWRlcjtcbkZhcS5Db250ZW50ID0gQ29udGVudDtcbiIsImltcG9ydCB7IElGYXFUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvZmFxLnR5cGVzXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmFxQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJRmFxVGhlbWUgfT5gXG4gIGJvcmRlci10b3A6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ib3JkZXJ9O1xuICBib3JkZXItYm90dG9tOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYm9yZGVyfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGYXFIZWFkZXIgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJRmFxVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxNnB4O1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudGl0bGV9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGYXFIZWFkZXJJY29uID0gc3R5bGVkLnNwYW48e1xuICB0aGVtZTogSUZhcVRoZW1lO1xuICAkaXNPcGVuOiBib29sZWFuO1xufT5gXG4gIHJvdGF0ZTogJHsocHJvcHMpID0+IChwcm9wcy4kaXNPcGVuID8gXCIwZGVnXCIgOiBcIi05MGRlZ1wiKX07XG4gIHRyYW5zaXRpb246IHJvdGF0ZSAwLjNzO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZhcUNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElGYXFUaGVtZSB9PmBcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25UaXRsZSA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElGYXFUaGVtZSB9PmBcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L3Rvb2xcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgRmFxQ29udGV4dCB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvZmFxLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJRmFxVGhlbWUgfSBmcm9tIFwiLi4vZmFxLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VGYXFUaGVtZSA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgRmFxQ29udGV4dCk6IElGYXFUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICAgIHRpdGxlOiBGb250cy5hY2NlbnQubGcuYm9sZCxcbiAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICAgIHJhZGl1czogcmFkaXVzLm1kLFxuICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICAgIHRpdGxlOiBGb250cy5hY2NlbnQubGcuYm9sZCxcbiAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgIHJhZGl1czogcmFkaXVzLm1kLFxuICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgfTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtGYXFDb250ZXh0LlNUQU5EQVJELCBTdGFuZGFyZF0sXG4gICAgW0ZhcUNvbnRleHQuU0tFTEVUT04sIFNrZWxldG9uXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgRmFxQ3R4IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcVwiO1xuaW1wb3J0IHsgU3R5bGVkRmFxQ29udGFpbmVyIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9mYXEuc3R5bGVcIjtcbmltcG9ydCB7IEZhcVRoZW1lYWJsZVByb3BzLCBJRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2ZhcS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2hvb2tzL3VzZS1mYXFcIjtcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IEZhcSA9ICh7IGNoaWxkcmVuIH06IEZhcVRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IEZhcUNvbnRleHQgPSB1c2VDb250ZXh0KEZhcUN0eCk7XG4gIGNvbnN0IFRoZW1lOiBJRmFxVGhlbWUgPSB1c2VGYXFUaGVtZShGYXFDb250ZXh0KTtcblxuICByZXR1cm4gPFN0eWxlZEZhcUNvbnRhaW5lciB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZEZhcUNvbnRhaW5lcj47XG59O1xuIiwiaW1wb3J0IHsgQWNjb3JkZW9uQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb25cIjtcbmltcG9ydCB7IEZhcUN0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXFcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgRmFxY29udGV4dCB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvZmFxLmVudW1zXCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIEFjY0NvbnRleHQgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uZW51bXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZEZhcUhlYWRlcixcbiAgU3R5bGVkRmFxSGVhZGVySWNvbixcbiAgU3R5bGVkU2tlbGV0b25UaXRsZSxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9mYXEuc3R5bGVcIjtcbmltcG9ydCB7IEZhcUhlYWRlclRoZW1lYWJsZVByb3BzLCBJRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2ZhcS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2hvb2tzL3VzZS1mYXFcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBTaXplLCBUeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBIZWFkZXIgPSAoeyB0aXRsZSB9OiBGYXFIZWFkZXJUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBGYXFDb250ZXh0ID0gdXNlQ29udGV4dChGYXFDdHgpO1xuICBjb25zdCBUaGVtZTogSUZhcVRoZW1lID0gdXNlRmFxVGhlbWUoRmFxQ29udGV4dCk7XG4gIGNvbnN0IHsgQWNjb3JkZW9uQ29udGV4dCB9OiBhbnkgPSB1c2VDb250ZXh0KEFjY29yZGVvbkN0eCk7XG4gIGNvbnN0IGlzT3BlbiA9IEFjY29yZGVvbkNvbnRleHQgPT09IEFjY0NvbnRleHQuT1BFTjtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IEZhcUNvbnRleHQgPT09IEZhcWNvbnRleHQuU0tFTEVUT047XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEZhcUhlYWRlciB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkU2tlbGV0b25UaXRsZSB0aGVtZT17VGhlbWV9Pnt0aXRsZX08L1N0eWxlZFNrZWxldG9uVGl0bGU+XG4gICAgICAgIDxTdHlsZWRGYXFIZWFkZXJJY29uIHRoZW1lPXtUaGVtZX0gJGlzT3Blbj17ZmFsc2V9PlxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBzaXplPXtTaXplLk1FRElVTX1cbiAgICAgICAgICAgIHR5cGU9e1R5cGUuQ0hFVlJPTl9ET1dOfVxuICAgICAgICAgICAgY29udGV4dD17Q29udGV4dC5ESVNBQkxFRH1cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3RpdGxlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3R5bGVkRmFxSGVhZGVySWNvbj5cbiAgICAgIDwvU3R5bGVkRmFxSGVhZGVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRGYXFIZWFkZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxzcGFuPnt0aXRsZX08L3NwYW4+XG4gICAgICA8U3R5bGVkRmFxSGVhZGVySWNvbiB0aGVtZT17VGhlbWV9ICRpc09wZW49e2lzT3Blbn0+XG4gICAgICAgIDxJY29uXG4gICAgICAgICAgc2l6ZT17U2l6ZS5NRURJVU19XG4gICAgICAgICAgdHlwZT17VHlwZS5DSEVWUk9OX0RPV059XG4gICAgICAgICAgY29udGV4dD17Q29udGV4dC5EQVJLfVxuICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3RpdGxlfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRGYXFIZWFkZXJJY29uPlxuICAgIDwvU3R5bGVkRmFxSGVhZGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IEZhcUN0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXFcIjtcbmltcG9ydCB7IFN0eWxlZEZhcUNvbnRlbnQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2ZhcS5zdHlsZVwiO1xuaW1wb3J0IHsgRmFxQ29udGVudFRoZW1lYWJsZVByb3BzLCBJRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2ZhcS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2hvb2tzL3VzZS1mYXFcIjtcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IENvbnRlbnQgPSAoeyBjaGlsZHJlbiB9OiBGYXFDb250ZW50VGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgRmFxQ29udGV4dCA9IHVzZUNvbnRleHQoRmFxQ3R4KTtcbiAgY29uc3QgVGhlbWU6IElGYXFUaGVtZSA9IHVzZUZhcVRoZW1lKEZhcUNvbnRleHQpO1xuXG4gIHJldHVybiA8U3R5bGVkRmFxQ29udGVudCB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZEZhcUNvbnRlbnQ+O1xufTtcbiIsImltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi9mZWF0dXJlcy5lbnVtc1wiO1xuaW1wb3J0IHsgSUZlYXR1cmVzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzL2ZlYXR1cmVzLnR5cGVzXCI7XG5pbXBvcnQgeyBGZWF0dXJlcyBhcyBCYXNlRmVhdHVyZXMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXMvY29tcG9uZW50cy9mZWF0dXJlc1wiO1xuXG5jb25zdCBEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPSBjcmVhdGVDb250ZXh0KERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZXMgPSAoeyBjb250ZXh0LCBjaGlsZHJlbiB9OiBJRmVhdHVyZXMpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxDdHguUHJvdmlkZXIgdmFsdWU9e0NvbXBvbmVudENvbnRleHR9PlxuICAgICAgPEJhc2VGZWF0dXJlcz57Y2hpbGRyZW59PC9CYXNlRmVhdHVyZXM+XG4gICAgPC9DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUZlYXR1cmVzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzL2hvb2tzL3VzZS1mZWF0dXJlXCI7XG5pbXBvcnQgeyBDdHggfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vZmVhdHVyZXMuZW51bXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZEZlYXR1cmVzLFxuICBTdHlsZWRGZWF0dXJlc0l0ZW0sXG4gIFN0eWxlZEZlYXR1cmVzSXRlbVNlcGVyYXRvcixcbiAgU3R5bGVkU2tlbGV0b25GZWF0dXJlcyxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzL2ZlYXR1cmVzLnN0eWxlXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IElGZWF0dXJlc0Jhc2UgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXMvZmVhdHVyZXMudHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgRmVhdHVyZUNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IEZlYXR1cmVzID0gKHsgY2hpbGRyZW4gfTogSUZlYXR1cmVzQmFzZSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZlYXR1cmVzKENvbXBvbmVudENvbnRleHQpO1xuICBjb25zdCBJc1NrZWxldG9uID0gQ29tcG9uZW50Q29udGV4dCA9PT0gQ29udGV4dC5TS0VMRVRPTjtcblxuICBjb25zdCBjb3VudCA9IFJlYWN0LkNoaWxkcmVuLmNvdW50KGNoaWxkcmVuKTtcbiAgY29uc3QgZmVhdHVyZXMgPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIChjaGlsZCwgaW5kZXgpID0+IHtcbiAgICBpZiAoIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSkgcmV0dXJuIGNoaWxkO1xuXG4gICAgY29uc3QgZGl2aWRlciA9IChcbiAgICAgIDxTdHlsZWRGZWF0dXJlc0l0ZW1TZXBlcmF0b3I+IHwgPC9TdHlsZWRGZWF0dXJlc0l0ZW1TZXBlcmF0b3I+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRmVhdHVyZXNJdGVtPlxuICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KFxuICAgICAgICAgIGNoaWxkLFxuICAgICAgICAgIElzU2tlbGV0b24gPyB7IGNvbnRleHQ6IEZlYXR1cmVDb250ZXh0LlNLRUxFVE9OIH0gOiB7fSxcbiAgICAgICAgKX1cbiAgICAgICAge2luZGV4ICE9IGNvdW50IC0gMSAmJiBkaXZpZGVyfVxuICAgICAgPC9TdHlsZWRGZWF0dXJlc0l0ZW0+XG4gICAgKTtcbiAgfSk7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uRmVhdHVyZXMgdGhlbWU9e1RoZW1lfT57ZmVhdHVyZXN9PC9TdHlsZWRTa2VsZXRvbkZlYXR1cmVzPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gPFN0eWxlZEZlYXR1cmVzIHRoZW1lPXtUaGVtZX0+e2ZlYXR1cmVzfTwvU3R5bGVkRmVhdHVyZXM+O1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vZmVhdHVyZXMuZW51bXNcIjtcbmltcG9ydCB7IElGZWF0dXJlc1RoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzL2ZlYXR1cmVzLnR5cGVzXCI7XG5pbXBvcnQge1xuICB1c2VUaGVtZUNvbG9yLFxuICB1c2VUaGVtZUZvbnRzLFxuICB1c2VUaGVtZVJhZGl1cyxcbiAgdXNlVGhlbWVVdGlsaXR5LFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VGZWF0dXJlcyA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCk6IElGZWF0dXJlc1RoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG4gIGNvbnN0IFJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cmZhY2VzLnRpbnRfNTAwLFxuICAgICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbXCIzXCJdLFxuICAgICAgICByYWRpdXM6IFJhZGl1cy5zbSxcbiAgICAgICAgY29sb3I6IENvbG9ycy5zdXJmYWNlcy50aW50XzUwMCxcbiAgICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuU0tFTEVUT04sXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ub3JtYWwsXG4gICAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBTa2VsZXRvbkJnLFxuICAgICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbXCIzXCJdLFxuICAgICAgICByYWRpdXM6IFJhZGl1cy5zbSxcbiAgICAgICAgY29sb3I6IENvbG9ycy5zdXJmYWNlcy50aW50XzUwMCxcbiAgICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUZlYXR1cmVzVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXMvZmVhdHVyZXMudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZlYXR1cmVzID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJRmVhdHVyZXNUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDEwcHg7XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJvcmRlcn07XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5wYWRkaW5nfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGZWF0dXJlc0l0ZW0gPSBzdHlsZWQuc3Bhbjx7XG4gIHRoZW1lOiBJRmVhdHVyZXNUaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmVhdHVyZXNJdGVtU2VwZXJhdG9yID0gc3R5bGVkLnNwYW48e1xuICB0aGVtZTogSUZlYXR1cmVzVGhlbWU7XG59PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25GZWF0dXJlcyA9IHN0eWxlZChTdHlsZWRGZWF0dXJlcyk8e1xuICB0aGVtZTogSUZlYXR1cmVzVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi5lbnVtc1wiO1xuaW1wb3J0IHsgUHJvZmlsZU5hdmlnYXRpb25Qcm9wcyB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBQcm9maWxlTmF2aWdhdGlvbiBhcyBQcm9maWxlTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvcHJvZmlsZV9uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9jb21wb25lbnRzL3Byb2ZpbGVfbmF2aWdhdGlvbi5pdGVtXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9IGNyZWF0ZUNvbnRleHQoRGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlTmF2aWdhdGlvbiA9ICh7XG4gIGNvbnRleHQsXG4gIGNoaWxkcmVuLFxufTogUHJvZmlsZU5hdmlnYXRpb25Qcm9wcykgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPEN0eC5Qcm92aWRlciB2YWx1ZT17Q29tcG9uZW50Q29udGV4dH0+XG4gICAgICA8UHJvZmlsZU5hdmlnYXRpb25Db21wb25lbnQ+e2NoaWxkcmVufTwvUHJvZmlsZU5hdmlnYXRpb25Db21wb25lbnQ+XG4gICAgPC9DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5Qcm9maWxlTmF2aWdhdGlvbi5JdGVtID0gSXRlbTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vcHJvZmlsZV9uYXZpZ2F0aW9uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvdG9vbFwiO1xuXG5leHBvcnQgY29uc3QgdXNlUHJvZmlsZU5hdmlnYXRpb25UaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIENvbnRleHQsXG4pOiBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZSA9PiB7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLmJvbGQsXG4gICAgICAgIGNvdW50ZXJGb250OiBGb250LnByaW1hcnkueHMuYm9sZCxcbiAgICAgICAgaW5pdGlhbDoge1xuICAgICAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXJmYWNlcy50aW50XzIwMCxcbiAgICAgICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgICB9LFxuICAgICAgICBhY3RpdmU6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VyZmFjZXMudGludF81MDAsXG4gICAgICAgICAgY29sb3I6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuU0tFTEVUT04sXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ib2xkLFxuICAgICAgICBjb3VudGVyRm9udDogRm9udC5wcmltYXJ5LnhzLmJvbGQsXG4gICAgICAgIGluaXRpYWw6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZlOiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICAgIGNvbG9yOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElQcm9maWxlTmF2aWdhdGlvblRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZTtcbn0+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgcGFkZGluZzogNHB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiA4cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25Ta2VsZXRvbiA9IHN0eWxlZC5kaXY8e1xuICB0aGVtZTogSVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWU7XG59PmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIHBhZGRpbmc6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogOHB4O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICB3aWR0aDogMjEycHg7XG4gIH1cblxuICA+ICoge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkljb24gPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElQcm9maWxlTmF2aWdhdGlvblRoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtTGluayA9IHN0eWxlZC5hPHtcbiAgdGhlbWU6IElQcm9maWxlTmF2aWdhdGlvblRoZW1lO1xuICAkaXNBY3RpdmU6IGJvb2xlYW47XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIG1pbi1oZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLiRpc0FjdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5hY3RpdmUuYmFja2dyb3VuZFxuICAgICAgOiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+XG4gICAgcHJvcHMuJGlzQWN0aXZlID8gcHJvcHMudGhlbWUuYWN0aXZlLmNvbG9yIDogcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmFjdGl2ZS5iYWNrZ3JvdW5kfTtcbiAgfVxuXG4gICYgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7XG4gIHRoZW1lOiBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZTtcbiAgJGlzQWN0aXZlOiBib29sZWFuO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBtaW4taGVpZ2h0OiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy4kaXNBY3RpdmVcbiAgICAgID8gcHJvcHMudGhlbWUuYWN0aXZlLmJhY2tncm91bmRcbiAgICAgIDogcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLiRpc0FjdGl2ZSA/IHByb3BzLnRoZW1lLmFjdGl2ZS5jb2xvciA6IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5hY3RpdmUuYmFja2dyb3VuZH07XG4gIH1cblxuICAmID4gc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUNvdW50ZXIgPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElQcm9maWxlTmF2aWdhdGlvblRoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5hY3RpdmUuY29sb3J9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvdW50ZXJGb250fTtcbiAgcmlnaHQ6IC0ycHg7XG4gIHRvcDogLTJweDtcbmA7XG4iLCJpbXBvcnQgeyBDdHggfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyB1c2VQcm9maWxlTmF2aWdhdGlvblRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9ob29rcy91c2UtcHJvZmlsZS1uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24uZW51bXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uLFxuICBTdHlsZWRQcm9maWxlTmF2aWdhdGlvblNrZWxldG9uLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi5zdHlsZVwiO1xuaW1wb3J0IHsgUHJvZmlsZU5hdmlnYXRpb25UaGVtZWFibGVQcm9wcyB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlTmF2aWdhdGlvbiA9ICh7XG4gIGNoaWxkcmVuLFxufTogUHJvZmlsZU5hdmlnYXRpb25UaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChDdHgpO1xuICBjb25zdCB0aGVtZSA9IHVzZVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUoQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSBDb21wb25lbnRDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRQcm9maWxlTmF2aWdhdGlvblNrZWxldG9uXG4gICAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgID48L1N0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uU2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uIHRoZW1lPXt0aGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkUHJvZmlsZU5hdmlnYXRpb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgQ3R4IH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgdXNlUHJvZmlsZU5hdmlnYXRpb25UaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vaG9va3MvdXNlLXByb2ZpbGUtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtQ291bnRlciB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnN0eWxlXCI7XG5pbXBvcnQgeyBQcm9maWxlTmF2aWdhdGlvbkl0ZW1Db3VudGVyVGhlbWVhYmxlUHJvcHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgQ291bnRlciA9ICh7XG4gIGNvdW50LFxufTogUHJvZmlsZU5hdmlnYXRpb25JdGVtQ291bnRlclRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KEN0eCk7XG4gIGNvbnN0IHRoZW1lID0gdXNlUHJvZmlsZU5hdmlnYXRpb25UaGVtZShDb21wb25lbnRDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1Db3VudGVyIHRoZW1lPXt0aGVtZX0+XG4gICAgICB7Y291bnQgPiA5ID8gXCI5K1wiIDogY291bnR9XG4gICAgPC9TdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1Db3VudGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IEN0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb25cIjtcbmltcG9ydCB7IENvdW50ZXIgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvcHJvZmlsZV9uYXZpZ2F0aW9uLmNvdW50ZXJcIjtcbmltcG9ydCB7IHVzZVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2hvb2tzL3VzZS1wcm9maWxlLW5hdmlnYXRpb25cIjtcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24uZW51bXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSWNvbixcbiAgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtQnV0dG9uLFxuICBTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1MaW5rLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi5zdHlsZVwiO1xuaW1wb3J0IHsgUHJvZmlsZU5hdmlnYXRpb25JdGVtVGhlbWVhYmxlUHJvcHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IENvbnRleHQgYXMgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgSXRlbSA9ICh7XG4gIGljb24sXG4gIGxhYmVsLFxuICBvbkNsaWNrLFxuICBjb3VudCxcbiAgdHlwZSA9IEl0ZW1UeXBlLkxJTkssXG4gIGlzSGlnaGxpZ2h0ZWQsXG59OiBQcm9maWxlTmF2aWdhdGlvbkl0ZW1UaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChDdHgpO1xuICBjb25zdCB0aGVtZSA9IHVzZVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUoQ29tcG9uZW50Q29udGV4dCk7XG5cbiAgaWYgKHR5cGUgPT09IEl0ZW1UeXBlLkJVVFRPTikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtQnV0dG9uXG4gICAgICAgIHRpdGxlPXtsYWJlbH1cbiAgICAgICAgYXJpYS1sYWJlbD17bGFiZWx9XG4gICAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgICAgJGlzQWN0aXZlPXshIWlzSGlnaGxpZ2h0ZWR9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkljb24+XG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIHR5cGU9e2ljb259XG4gICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PVwiQWFubWVsZGVuXCJcbiAgICAgICAgICAgIGNvbnRleHQ9e2lzSGlnaGxpZ2h0ZWQgPyBJY29uQ3R4LlNVUFBPUlRJTkcgOiBJY29uQ3R4LkRBUkt9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRQcm9maWxlTmF2aWdhdGlvbkljb24+XG4gICAgICAgIHtpc0hpZ2hsaWdodGVkICYmIDxzcGFuPntsYWJlbH08L3NwYW4+fVxuICAgICAgICB7Y291bnQgJiYgPENvdW50ZXIgY291bnQ9e2NvdW50fSAvPn1cbiAgICAgIDwvU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtQnV0dG9uPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1MaW5rXG4gICAgICB0aXRsZT17bGFiZWx9XG4gICAgICBhcmlhLWxhYmVsPXtsYWJlbH1cbiAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgICRpc0FjdGl2ZT17ISFpc0hpZ2hsaWdodGVkfVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICA+XG4gICAgICA8U3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uPlxuICAgICAgICA8SWNvblxuICAgICAgICAgIHR5cGU9e2ljb259XG4gICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD1cIkFhbm1lbGRlblwiXG4gICAgICAgICAgY29udGV4dD17aXNIaWdobGlnaHRlZCA/IEljb25DdHguU1VQUE9SVElORyA6IEljb25DdHguREFSS31cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uPlxuICAgICAge2lzSGlnaGxpZ2h0ZWQgJiYgPHNwYW4+e2xhYmVsfTwvc3Bhbj59XG4gICAgICB7Y291bnQgJiYgPENvdW50ZXIgY291bnQ9e2NvdW50fSAvPn1cbiAgICA8L1N0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUxpbms+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL3JlY29yZHMuZW51bXNcIjtcbmltcG9ydCB7IElSZWNvcmRzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3JlY29yZHMvcmVjb3Jkcy50eXBlc1wiO1xuaW1wb3J0IHsgUmVjb3JkcyBhcyBCYXNlUmVjb3JkcyB9IGZyb20gXCJAL21vbGVjdWxlcy9yZWNvcmRzL2NvbXBvbmVudHMvcmVjb3Jkc1wiO1xuXG5jb25zdCBEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPSBjcmVhdGVDb250ZXh0KERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgUmVjb3JkcyA9ICh7IGNvbnRleHQsIGNoaWxkcmVuIH06IElSZWNvcmRzKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlUmVjb3Jkcz57Y2hpbGRyZW59PC9CYXNlUmVjb3Jkcz5cbiAgICA8L0N0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuLi9yZWNvcmRzLmVudW1zXCI7XG5pbXBvcnQgeyBJUmVjb3Jkc0Jhc2UgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcmVjb3Jkcy9yZWNvcmRzLnR5cGVzXCI7XG5pbXBvcnQgeyBDdHggfSBmcm9tIFwiQC9tb2xlY3VsZXMvcmVjb3Jkc1wiO1xuaW1wb3J0IHsgdXNlUmVjb3JkcyB9IGZyb20gXCJAL21vbGVjdWxlcy9yZWNvcmRzL2hvb2tzL3VzZS1yZWNvcmRzXCI7XG5pbXBvcnQgeyBHcmlkIH0gZnJvbSBcIkAvbGF5b3V0cy9ncmlkXCI7XG5pbXBvcnQgeyBTcGFjaW5nIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5pbXBvcnQgeyBDb250ZXh0IGFzIFJlY29yZENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvcmVjb3JkLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBSZWNvcmRzID0gKHsgY2hpbGRyZW4gfTogSVJlY29yZHNCYXNlKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KEN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlUmVjb3JkcyhDb21wb25lbnRDb250ZXh0KTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgY29uc3QgcmVjb3JkcyA9IFJlYWN0LkNoaWxkcmVuLm1hcChjaGlsZHJlbiwgKGNoaWxkKSA9PiB7XG4gICAgaWYgKCFSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZCkpIHJldHVybiBjaGlsZDtcbiAgICByZXR1cm4gKFxuICAgICAgPEdyaWQuSXRlbT5cbiAgICAgICAge1JlYWN0LmNsb25lRWxlbWVudChcbiAgICAgICAgICBjaGlsZCxcbiAgICAgICAgICBJc1NrZWxldG9uID8geyBjb250ZXh0OiBSZWNvcmRDb250ZXh0LlNLRUxFVE9OIH0gOiB7fSxcbiAgICAgICAgKX1cbiAgICAgIDwvR3JpZC5JdGVtPlxuICAgICk7XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEdyaWQgZ2FwPXtTcGFjaW5nLlMzMH0gZGlyZWN0aW9uPXtcImNvbHVtblwifT5cbiAgICAgIHtyZWNvcmRzfVxuICAgIDwvR3JpZD5cbiAgKTtcbn07XG4iLCJpbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3JlY29yZHMuZW51bXNcIjtcbmltcG9ydCB7IElSZWNvcmRzVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcmVjb3Jkcy9yZWNvcmRzLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VSZWNvcmRzID0gKGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0KTogSVJlY29yZHNUaGVtZSA9PiB7XG4gIHJldHVybiB7fTtcbn07XG4iLCJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTdGF0dXNMaXN0IGFzIEJhc2VTdGF0dXNMaXN0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L2NvbXBvbmVudHMvc3RhdHVzX2xpc3RcIjtcbmltcG9ydCB7IElTdGF0dXNMaXN0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4vc3RhdHVzX2xpc3QuZW51bXNcIjtcblxuY29uc3QgRGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFN0YXR1c0xpc3QgPSAoeyBjaGlsZHJlbiwgY29udGV4dCwgd2l0aENvdW50IH06IElTdGF0dXNMaXN0KSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlU3RhdHVzTGlzdCB3aXRoQ291bnQ9e3dpdGhDb3VudH0+e2NoaWxkcmVufTwvQmFzZVN0YXR1c0xpc3Q+XG4gICAgPC9DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgQ2hpbGRyZW4sIHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVN0YXR1c0xpc3RUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9zdGF0dXNfbGlzdC9ob29rcy91c2Utc3RhdHVzLWxpc3RcIjtcbmltcG9ydCB7IEN0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9zdGF0dXNfbGlzdFwiO1xuaW1wb3J0IHsgSVN0YXR1c0xpc3RCYXNlIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIi4uL3N0YXR1c19saXN0LmVudW1zXCI7XG5pbXBvcnQge1xuICBTdHlsZWRTa2VsZXRvblN0YXR1c0xpc3QsXG4gIFN0eWxlZFN0YXR1c0xpc3QsXG4gIFN0eWxlZFN0YXR1c0xpc3RDb3VudCxcbiAgU3R5bGVkU3RhdHVzTGlzdEl0ZW1zLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvc3RhdHVzX2xpc3Qvc3RhdHVzX2xpc3Quc3R5bGVcIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkBzdG9yeWJvb2svY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXJcIjtcbmltcG9ydCB7IENvbnRleHQgYXMgQ29udGFpbmVyQ29udGV4dCB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci5lbnVtc1wiO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci5lbnVtc1wiO1xuaW1wb3J0IHsgQ29sb3JWYXJpYW50LCBSYWRpdXMsIFNwYWNpbmcgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcblxuZXhwb3J0IGNvbnN0IFN0YXR1c0xpc3QgPSAoeyBjaGlsZHJlbiwgd2l0aENvdW50IH06IElTdGF0dXNMaXN0QmFzZSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZVN0YXR1c0xpc3RUaGVtZShDb21wb25lbnRDb250ZXh0KTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IENvbXBvbmVudENvbnRleHQgPT09IENvbnRleHQuU0tFTEVUT047XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uU3RhdHVzTGlzdCB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8UGxhY2Vob2xkZXI+e2NoaWxkcmVufTwvUGxhY2Vob2xkZXI+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uU3RhdHVzTGlzdD5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgQ291bnQgPSB3aXRoQ291bnQgPyAoXG4gICAgPENvbnRhaW5lclxuICAgICAgbGlmdGVkPXtmYWxzZX1cbiAgICAgIHBhZGRpbmc9e1NwYWNpbmcuUzIwfVxuICAgICAgcmFkaXVzPXtSYWRpdXMuU019XG4gICAgICB0eXBlPXtUeXBlLk5PUk1BTH1cbiAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzUwfVxuICAgICAgZnVsbFdpZHRoPXtmYWxzZX1cbiAgICAgIGNvbnRleHQ9e0NvbnRhaW5lckNvbnRleHQuTkVVVFJBTH1cbiAgICA+XG4gICAgICA8U3R5bGVkU3RhdHVzTGlzdENvdW50IHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIHtDaGlsZHJlbi5jb3VudChjaGlsZHJlbil9XG4gICAgICA8L1N0eWxlZFN0YXR1c0xpc3RDb3VudD5cbiAgICA8L0NvbnRhaW5lcj5cbiAgKSA6IG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU3RhdHVzTGlzdCB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZFN0YXR1c0xpc3RJdGVtcz57Y2hpbGRyZW59PC9TdHlsZWRTdGF0dXNMaXN0SXRlbXM+XG4gICAgICB7Q291bnR9XG4gICAgPC9TdHlsZWRTdGF0dXNMaXN0PlxuICApO1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi4vc3RhdHVzX2xpc3QuZW51bXNcIjtcbmltcG9ydCB7IElTdGF0dXNMaXN0VGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvc3RhdHVzX2xpc3Qvc3RhdHVzX2xpc3QudHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVN0YXR1c0xpc3RUaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIENvbnRleHQsXG4pOiBJU3RhdHVzTGlzdFRoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5LnNtLFxuICAgICAgICBjb2xvcjogQ29sb3JzLnByaW1hcnkudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5TS0VMRVRPTixcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5LnNtLFxuICAgICAgICBjb2xvcjogQ29sb3JzLnByaW1hcnkudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJU3RhdHVzTGlzdFRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXNMaXN0ID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJU3RhdHVzTGlzdFRoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNhbGMoNHB4ICogNCk7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFN0YXR1c0xpc3RJdGVtcyA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVN0YXR1c0xpc3RUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogNHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFN0YXR1c0xpc3RDb3VudCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVN0YXR1c0xpc3RUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25TdGF0dXNMaXN0ID0gc3R5bGVkKFN0eWxlZFN0YXR1c0xpc3QpPHtcbiAgdGhlbWU6IElTdGF0dXNMaXN0VGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQ29udGFpbmVyVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7IHRoZW1lOiBJQ29udGFpbmVyVGhlbWUgfT5gXG4gIGRpc3BsYXk6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5kaXNwbGF5fTtcbiAgbWluLXdpZHRoOiAxcHg7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJveC1zaGFkb3c6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5zaGFkb3d9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJvcmRlcn07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29udGFpbmVyUGFkZGluZyA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIHRoZW1lOiBJQ29udGFpbmVyVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW46ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5wYWRkaW5nfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvbkNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRDb250YWluZXIpLndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSUNvbnRhaW5lclRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgeyBJQ29udGFpbmVyVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIudHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQsIFR5cGUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIuZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lUmFkaXVzLCB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5pbXBvcnQge1xuICBDb2xvclZhcmlhbnRLZXksXG4gIFJhZGl1c0tleSxcbiAgU3BhY2luZ0tleSxcbn0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VDb250YWluZXIgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0LFxuICB0eXBlOiBUeXBlLFxuICBsaWZ0ZWQ6IGJvb2xlYW4sXG4gIHRpbnQ6IENvbG9yVmFyaWFudEtleSxcbiAgcmFkaXVzOiBSYWRpdXNLZXksXG4gIHBhZGRpbmc6IFNwYWNpbmdLZXksXG4gIGZ1bGxXaWR0aDogYm9vbGVhbixcbik6IElDb250YWluZXJUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVGhlbWVSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgUmFkaXVzQmFzZSA9IG1hdGNoKHJhZGl1cywgW1xuICAgIFtcInhzXCIsIHsgYmFzZTogVGhlbWVSYWRpdXMueHMsIHF1aXJreTogVGhlbWVSYWRpdXMuc20gfV0sXG4gICAgW1wic21cIiwgeyBiYXNlOiBUaGVtZVJhZGl1cy5zbSwgcXVpcmt5OiBUaGVtZVJhZGl1cy5tZCB9XSxcbiAgICBbXCJtZFwiLCB7IGJhc2U6IFRoZW1lUmFkaXVzLm1kLCBxdWlya3k6IFRoZW1lUmFkaXVzLmxnIH1dLFxuICAgIFtcImxnXCIsIHsgYmFzZTogVGhlbWVSYWRpdXMubGcsIHF1aXJreTogVGhlbWVSYWRpdXMueGwgfV0sXG4gICAgW1wieGxcIiwgeyBiYXNlOiBUaGVtZVJhZGl1cy54bCwgcXVpcmt5OiBUaGVtZVJhZGl1c1tcIjJ4bFwiXSB9XSxcbiAgICBbXCIyeGxcIiwgeyBiYXNlOiBUaGVtZVJhZGl1c1tcIjJ4bFwiXSwgcXVpcmt5OiBUaGVtZVJhZGl1c1tcIjN4bFwiXSB9XSxcbiAgICBbXG4gICAgICBcIjN4bFwiLFxuICAgICAge1xuICAgICAgICBiYXNlOiBUaGVtZVJhZGl1c1tcIjN4bFwiXSxcbiAgICAgICAgcXVpcmt5OiBcImNhbGMoXCIgKyBUaGVtZVJhZGl1c1tcIjN4bFwiXSArIFwiKiAxLjIpXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xuXG4gIGNvbnN0IGJvcmRlclJhZGl1cyA9IG1hdGNoKHR5cGUsIFtcbiAgICBbVHlwZS5OT1JNQUwsIFJhZGl1c0Jhc2UuYmFzZV0sXG4gICAgW1xuICAgICAgVHlwZS5RVUlSS1ksXG4gICAgICBSYWRpdXNCYXNlLmJhc2UgK1xuICAgICAgICBcIiBcIiArXG4gICAgICAgIFJhZGl1c0Jhc2UuYmFzZSArXG4gICAgICAgIFwiIFwiICtcbiAgICAgICAgUmFkaXVzQmFzZS5xdWlya3kgK1xuICAgICAgICBcIiBcIiArXG4gICAgICAgIFwiMFwiLFxuICAgIF0sXG4gIF0pO1xuXG4gIGNvbnN0IFNoYWRvdyA9IGxpZnRlZCA/IFwiMHB4IDRweCAyMHB4IDBweCAjQzlDOUM5NDBcIiA6IFwibm9uZVwiO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgQ29udGV4dC5ORVVUUkFMLFxuICAgICAge1xuICAgICAgICByYWRpdXM6IGJvcmRlclJhZGl1cyxcbiAgICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzW3RpbnRdLFxuICAgICAgICBzaGFkb3c6IFNoYWRvdyxcbiAgICAgICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICAgICAgZGlzcGxheTogZnVsbFdpZHRoID8gXCJmbGV4XCIgOiBcImlubGluZS1mbGV4XCIsXG4gICAgICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1twYWRkaW5nXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNVUkZBQ0UsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VyZmFjZXNbdGludF0sXG4gICAgICAgIHNoYWRvdzogU2hhZG93LFxuICAgICAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgICAgICBkaXNwbGF5OiBmdWxsV2lkdGggPyBcImZsZXhcIiA6IFwiaW5saW5lLWZsZXhcIixcbiAgICAgICAgcGFkZGluZzogVXRpbGl0eS5zcGFjaW5nW3BhZGRpbmddLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIENvbnRleHQuUFJJTUFSWSxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBib3JkZXJSYWRpdXMsXG4gICAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5wcmltYXJ5W3RpbnRdLFxuICAgICAgICBzaGFkb3c6IFNoYWRvdyxcbiAgICAgICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICAgICAgZGlzcGxheTogZnVsbFdpZHRoID8gXCJmbGV4XCIgOiBcImlubGluZS1mbGV4XCIsXG4gICAgICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1twYWRkaW5nXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNVUFBPUlRJTkcsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZ1t0aW50XSxcbiAgICAgICAgc2hhZG93OiBTaGFkb3csXG4gICAgICAgIGJvcmRlcjogXCJub25lXCIsXG4gICAgICAgIGRpc3BsYXk6IGZ1bGxXaWR0aCA/IFwiZmxleFwiIDogXCJpbmxpbmUtZmxleFwiLFxuICAgICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbcGFkZGluZ10sXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgQ29udGV4dC5BQ0NFTlQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuYWNjZW50W3RpbnRdLFxuICAgICAgICBzaGFkb3c6IFNoYWRvdyxcbiAgICAgICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICAgICAgZGlzcGxheTogZnVsbFdpZHRoID8gXCJmbGV4XCIgOiBcImlubGluZS1mbGV4XCIsXG4gICAgICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1twYWRkaW5nXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBDb250ZXh0LlNLRUxFVE9OLFxuICAgICAge1xuICAgICAgICByYWRpdXM6IGJvcmRlclJhZGl1cyxcbiAgICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmFudFwiLFxuICAgICAgICBzaGFkb3c6IFNoYWRvdyxcbiAgICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIFNrZWxldG9uQmcsXG4gICAgICAgIGRpc3BsYXk6IGZ1bGxXaWR0aCA/IFwiZmxleFwiIDogXCJpbmxpbmUtZmxleFwiLFxuICAgICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbcGFkZGluZ10sXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCB7XG4gIFN0eWxlZENvbnRhaW5lcixcbiAgU3R5bGVkQ29udGFpbmVyUGFkZGluZyxcbiAgU3R5bGVkU2tlbGV0b25Db250YWluZXIsXG59IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci5zdHlsZVwiO1xuaW1wb3J0IHsgSUNvbnRhaW5lckJhc2UgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIudHlwZXNcIjtcbmltcG9ydCB7IHVzZUNvbnRhaW5lciB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2hvb2tzL3VzZS1jb250YWluZXJcIjtcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbnRhaW5lckN0eCB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXIvY29udGFpbmVyLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSAoe1xuICBjaGlsZHJlbixcbiAgdHlwZSxcbiAgbGlmdGVkLFxuICByYWRpdXMsXG4gIHBhZGRpbmcsXG4gIHRpbnQsXG4gIGZ1bGxXaWR0aCxcbn06IElDb250YWluZXJCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRhaW5lckNvbnRleHQgPSB1c2VDb250ZXh0KENvbnRhaW5lckN0eCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBDb250YWluZXJDb250ZXh0ID09PSBDb250ZXh0LlNLRUxFVE9OO1xuICBjb25zdCBUaGVtZSA9IHVzZUNvbnRhaW5lcihcbiAgICBDb250YWluZXJDb250ZXh0LFxuICAgIHR5cGUsXG4gICAgbGlmdGVkLFxuICAgIHRpbnQsXG4gICAgcmFkaXVzLFxuICAgIHBhZGRpbmcsXG4gICAgZnVsbFdpZHRoLFxuICApO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvbkNvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkQ29udGFpbmVyUGFkZGluZyB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRDb250YWluZXJQYWRkaW5nPlxuICAgICAgPC9TdHlsZWRTa2VsZXRvbkNvbnRhaW5lcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkQ29udGFpbmVyUGFkZGluZyB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZENvbnRhaW5lclBhZGRpbmc+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSUNvbnRhaW5lciB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIGFzIEJhc2VDb250YWluZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb21wb25lbnRzL2NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQ29udGV4dCwgVHlwZSB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci5lbnVtc1wiO1xuXG5pbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29sb3JWYXJpYW50LCBSYWRpdXMsIFNwYWNpbmcgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcblxuY29uc3QgQ29udGFpbmVyQ3R4RGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuTkVVVFJBTDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IENvbnRhaW5lckN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KENvbnRhaW5lckN0eERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIHR5cGUgPSBUeXBlLk5PUk1BTCxcbiAgcmFkaXVzID0gUmFkaXVzLk1ELFxuICB0aW50ID0gQ29sb3JWYXJpYW50LlRJTlRfNTAwLFxuICBsaWZ0ZWQgPSB0cnVlLFxuICBwYWRkaW5nID0gU3BhY2luZy5TMjAsXG4gIGZ1bGxXaWR0aCA9IHRydWUsXG4gIGNvbnRleHQsXG59OiBJQ29udGFpbmVyKSA9PiB7XG4gIGNvbnN0IENvbnRhaW5lckNvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IENvbnRhaW5lckN0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyQ3R4LlByb3ZpZGVyIHZhbHVlPXtDb250YWluZXJDb250ZXh0fT5cbiAgICAgIDxCYXNlQ29udGFpbmVyXG4gICAgICAgIHR5cGU9e3R5cGV9XG4gICAgICAgIHRpbnQ9e3RpbnR9XG4gICAgICAgIGxpZnRlZD17bGlmdGVkfVxuICAgICAgICByYWRpdXM9e3JhZGl1c31cbiAgICAgICAgcGFkZGluZz17cGFkZGluZ31cbiAgICAgICAgZnVsbFdpZHRoPXtmdWxsV2lkdGh9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQmFzZUNvbnRhaW5lcj5cbiAgICA8L0NvbnRhaW5lckN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCIuL21hcC5lbnVtc1wiO1xuaW1wb3J0IHsgSU1hcCB9IGZyb20gXCJAL29yZ2FuaXNtcy9tYXAvbWFwLnR5cGVzXCI7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gXCJAL29yZ2FuaXNtcy9tYXAvY29tcG9uZW50cy9tYXAubG9jYXRpb25cIjtcbmltcG9ydCB7IFJvdXRlIH0gZnJvbSBcIkAvb3JnYW5pc21zL21hcC9jb21wb25lbnRzL21hcC5yb3V0ZVwiO1xuaW1wb3J0IHsgR29vZ2xlQVBJQ29tcG9uZW50IH0gZnJvbSBcIkAvdXRpbHMvZ29vZ2xlX2FwaV9jb21wb25lbnRcIjtcbmltcG9ydCB7IHVzZU1hcHNMaWJyYXJ5IH0gZnJvbSBcIkB2aXMuZ2wvcmVhY3QtZ29vZ2xlLW1hcHNcIjtcblxuY29uc3QgRGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IE1hcCA9ICh7IGNvbnRleHQsIGNoaWxkcmVuIH06IElNYXApID0+IHtcbiAgY29uc3QgTWFwQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcbiAgcmV0dXJuIDxDdHguUHJvdmlkZXIgdmFsdWU9e01hcENvbnRleHR9PntjaGlsZHJlbn08L0N0eC5Qcm92aWRlcj47XG59O1xuXG5NYXAuTG9jYXRpb24gPSBMb2NhdGlvbjtcbk1hcC5Sb3V0ZSA9IFJvdXRlO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUxvY2F0aW9uQmFzZWRNYXBCYXNlLCBJUG9pbnRPbk1hcCB9IGZyb20gXCJAL29yZ2FuaXNtcy9tYXAvbWFwLnR5cGVzXCI7XG5pbXBvcnQge1xuICBBZHZhbmNlZE1hcmtlcixcbiAgQ29udHJvbFBvc2l0aW9uLFxuICBNYXAsXG59IGZyb20gXCJAdmlzLmdsL3JlYWN0LWdvb2dsZS1tYXBzXCI7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tIFwidXVpZFwiO1xuaW1wb3J0IHsgWm9vbSB9IGZyb20gXCJAL2F0b21zL21hcC96b29tXCI7XG5cbmV4cG9ydCBjb25zdCBMb2NhdGlvbiA9ICh7IHBvaW50cywgbWFwSWQsIG9yaWdpbiB9OiBJTG9jYXRpb25CYXNlZE1hcEJhc2UpID0+IHtcbiAgY29uc3QgZGVmYXVsdFpvb20gPSAxMTtcbiAgY29uc3QgbWF4Wm9vbSA9IDE1O1xuICBjb25zdCBtaW5ab29tID0gMTA7XG5cbiAgY29uc3QgbWFwUG9pbnRzID0gcG9pbnRzID8/IFtdO1xuXG4gIGNvbnN0IFN0eWxlID0ge1xuICAgIGZsZXg6IFwiYXV0b1wiLFxuICB9O1xuXG4gIGNvbnN0IG9uTWFya2VyQ2xpY2tlZCA9IGZ1bmN0aW9uIChcbiAgICBldmVudDogZ29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudCxcbiAgICBwb2ludDogSVBvaW50T25NYXAsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGNsaWNrZWQgPSB7XG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICBwb2ludDogcG9pbnQsXG4gICAgfTtcblxuICAgIGNvbnNvbGUubG9nKGNsaWNrZWQpO1xuICB9O1xuXG4gIGNvbnN0IE9yaWdpbk1hcmtlciA9IChcbiAgICA8QWR2YW5jZWRNYXJrZXJcbiAgICAgIHBvc2l0aW9uPXtvcmlnaW4ubGF0TG5nfVxuICAgICAga2V5PXtvcmlnaW4ua2V5fVxuICAgICAgY2xpY2thYmxlPXt0cnVlfVxuICAgICAgb25DbGljaz17KGV2ZW50OiBnb29nbGUubWFwcy5NYXBNb3VzZUV2ZW50KSA9PlxuICAgICAgICBvbk1hcmtlckNsaWNrZWQoZXZlbnQsIG9yaWdpbilcbiAgICAgIH1cbiAgICA+XG4gICAgICB7b3JpZ2luLm1hcmtlcn1cbiAgICA8L0FkdmFuY2VkTWFya2VyPlxuICApO1xuXG4gIGNvbnN0IFBvaW50TWFya2VycyA9IG1hcFBvaW50cy5tYXAoKHBvaW50LCBpKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxBZHZhbmNlZE1hcmtlclxuICAgICAgICBwb3NpdGlvbj17cG9pbnQubGF0TG5nfVxuICAgICAgICBrZXk9e3BvaW50LmtleX1cbiAgICAgICAgY2xpY2thYmxlPXt0cnVlfVxuICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IGdvb2dsZS5tYXBzLk1hcE1vdXNlRXZlbnQpID0+XG4gICAgICAgICAgb25NYXJrZXJDbGlja2VkKGV2ZW50LCBtYXBQb2ludHNbaV0pXG4gICAgICAgIH1cbiAgICAgID5cbiAgICAgICAge3BvaW50Lm1hcmtlcn1cbiAgICAgIDwvQWR2YW5jZWRNYXJrZXI+XG4gICAgKTtcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8TWFwXG4gICAgICBpZD17dXVpZHY0KCl9XG4gICAgICBkZWZhdWx0Q2VudGVyPXtvcmlnaW4ubGF0TG5nfVxuICAgICAgZGVmYXVsdFpvb209ezExfVxuICAgICAgbWFwSWQ9e21hcElkfVxuICAgICAgZ2VzdHVyZUhhbmRsaW5nPXtcImNvb3BlcmF0aXZlXCJ9XG4gICAgICBkaXNhYmxlRGVmYXVsdFVJPXt0cnVlfVxuICAgICAgc3R5bGU9e1N0eWxlfVxuICAgID5cbiAgICAgIHtPcmlnaW5NYXJrZXJ9XG4gICAgICB7UG9pbnRNYXJrZXJzfVxuICAgICAgPFpvb21cbiAgICAgICAgcG9zaXRpb249e0NvbnRyb2xQb3NpdGlvbi5SSUdIVF9UT1B9XG4gICAgICAgIHBvc2l0aW9uT2Zmc2V0PXsxMH1cbiAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgbWluWm9vbT17bWluWm9vbX1cbiAgICAgIC8+XG4gICAgPC9NYXA+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFpvb20gYXMgQmFzZVpvb20gfSBmcm9tIFwiQC9hdG9tcy9tYXAvem9vbS9jb21wb25lbnRzL3pvb21cIjtcbmltcG9ydCB7IElab29tIH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb20vem9vbS50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL21hcC96b29tL3pvb20uZW51bXNcIjtcbmltcG9ydCB7IE1hcENvbnRyb2wsIHVzZU1hcCB9IGZyb20gXCJAdmlzLmdsL3JlYWN0LWdvb2dsZS1tYXBzXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9IGNyZWF0ZUNvbnRleHQoRGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBab29tID0gKHtcbiAgY29udGV4dCxcbiAgcG9zaXRpb25PZmZzZXQsXG4gIHBvc2l0aW9uLFxuICBtYXhab29tLFxuICBtaW5ab29tLFxufTogSVpvb20pID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcbiAgY29uc3QgbWFwID0gdXNlTWFwKCk7XG4gIGNvbnN0IG9mZnNldCA9IHBvc2l0aW9uT2Zmc2V0ID8/IDA7XG5cbiAgaWYgKCFtYXApIHtcbiAgICBjb25zb2xlLmxvZyhcIlRoaXMgY29tcG9uZW50IG5lZWRzIHRvIGJlIHVzZWQgaW5zaWRlIG9mIGEgTWFwXCIpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3Qgc3R5bGUgPSB7XG4gICAgcGFkZGluZzogb2Zmc2V0ICsgXCJweFwiLFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPE1hcENvbnRyb2wgcG9zaXRpb249e3Bvc2l0aW9ufT5cbiAgICAgIDxkaXYgc3R5bGU9e3N0eWxlfT5cbiAgICAgICAgPEN0eC5Qcm92aWRlciB2YWx1ZT17Q29tcG9uZW50Q29udGV4dH0+XG4gICAgICAgICAgPEJhc2Vab29tIG1hcD17bWFwfSBtYXhab29tPXttYXhab29tfSBtaW5ab29tPXttaW5ab29tfSAvPlxuICAgICAgICA8L0N0eC5Qcm92aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvTWFwQ29udHJvbD5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFpvb20sXG4gIFN0eWxlZFpvb21NaW51cyxcbiAgU3R5bGVkWm9vbVBsdXMsXG4gIFN0eWxlZFpvb21TZXBlcmF0b3IsXG59IGZyb20gXCJAL2F0b21zL21hcC96b29tL3pvb20uc3R5bGVcIjtcbmltcG9ydCB7IElab29tQmFzZSB9IGZyb20gXCJAL2F0b21zL21hcC96b29tL3pvb20udHlwZXNcIjtcbmltcG9ydCB7IHVzZVpvb20gfSBmcm9tIFwiQC9hdG9tcy9tYXAvem9vbS9ob29rcy91c2Utem9vbVwiO1xuaW1wb3J0IHsgQ3R4IH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb21cIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBUeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBab29tID0gKHsgbWFwLCBtYXhab29tLCBtaW5ab29tIH06IElab29tQmFzZSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZVpvb20oQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IGRlZmF1bHRab29tID0gbWFwLmdldFpvb20oKSA/PyAxMjtcblxuICBjb25zdCBbY3VycmVudFpvb20sIHNldEN1cnJlbnRab29tXSA9IHVzZVN0YXRlPG51bWJlcj4oZGVmYXVsdFpvb20pO1xuICBjb25zdCBbcGx1c0F2YWlsYWJsZSwgc2V0UGx1c0F2YWlsYWJsZV0gPSB1c2VTdGF0ZTxib29sZWFuPihcbiAgICBkZWZhdWx0Wm9vbSA8PSBtYXhab29tLFxuICApO1xuICBjb25zdCBbbWludXNBdmFpbGFibGUsIHNldE1pbnVzQXZhaWxhYmxlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KFxuICAgIGRlZmF1bHRab29tID49IG1pblpvb20sXG4gICk7XG5cbiAgY29uc3Qgc2V0QXZhaWxhYmxlID0gKHVwZGF0ZTogbnVtYmVyKSA9PiB7XG4gICAgaWYgKHVwZGF0ZSA+PSBtYXhab29tKSB7XG4gICAgICBzZXRQbHVzQXZhaWxhYmxlKGZhbHNlKTtcbiAgICAgIHNldE1pbnVzQXZhaWxhYmxlKHRydWUpO1xuICAgIH0gZWxzZSBpZiAodXBkYXRlIDw9IG1pblpvb20pIHtcbiAgICAgIHNldFBsdXNBdmFpbGFibGUodHJ1ZSk7XG4gICAgICBzZXRNaW51c0F2YWlsYWJsZShmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFBsdXNBdmFpbGFibGUodHJ1ZSk7XG4gICAgICBzZXRNaW51c0F2YWlsYWJsZSh0cnVlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25DbGlja1BsdXMgPSAoKSA9PiB7XG4gICAgaWYgKHBsdXNBdmFpbGFibGUpIHtcbiAgICAgIGNvbnN0IHVwZGF0ZSA9IGN1cnJlbnRab29tID49IG1heFpvb20gPyBtYXhab29tIDogY3VycmVudFpvb20gKyAxO1xuICAgICAgc2V0Q3VycmVudFpvb20odXBkYXRlKTtcbiAgICAgIHNldEF2YWlsYWJsZSh1cGRhdGUpO1xuICAgICAgbWFwLnNldFpvb20odXBkYXRlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25DbGlja01pbnVzID0gKCkgPT4ge1xuICAgIGlmIChtaW51c0F2YWlsYWJsZSkge1xuICAgICAgY29uc3QgdXBkYXRlID0gY3VycmVudFpvb20gPD0gbWluWm9vbSA/IG1pblpvb20gOiBjdXJyZW50Wm9vbSAtIDE7XG4gICAgICBzZXRDdXJyZW50Wm9vbSh1cGRhdGUpO1xuICAgICAgc2V0QXZhaWxhYmxlKHVwZGF0ZSk7XG4gICAgICBtYXAuc2V0Wm9vbSh1cGRhdGUpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRab29tIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkWm9vbVBsdXMgb25DbGljaz17b25DbGlja1BsdXN9PlxuICAgICAgICA8SWNvblxuICAgICAgICAgIHR5cGU9e1R5cGUuQUREfVxuICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e1wiXCJ9XG4gICAgICAgICAgY29udGV4dD17cGx1c0F2YWlsYWJsZSA/IENvbnRleHQuREFSSyA6IENvbnRleHQuRElTQUJMRUR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZFpvb21QbHVzPlxuICAgICAgPFN0eWxlZFpvb21TZXBlcmF0b3IgLz5cbiAgICAgIDxTdHlsZWRab29tTWludXMgb25DbGljaz17b25DbGlja01pbnVzfT5cbiAgICAgICAgPEljb25cbiAgICAgICAgICB0eXBlPXtUeXBlLk1JTlVTfVxuICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e1wiXCJ9XG4gICAgICAgICAgY29udGV4dD17bWludXNBdmFpbGFibGUgPyBDb250ZXh0LkRBUksgOiBDb250ZXh0LkRJU0FCTEVEfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRab29tTWludXM+XG4gICAgPC9TdHlsZWRab29tPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJWm9vbVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb20vem9vbS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWm9vbSA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVpvb21UaGVtZSB9PmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwO1xuICBib3gtc2hhZG93OlxuICAgIDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSxcbiAgICAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjEpO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFpvb21TZXBlcmF0b3IgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElab29tVGhlbWUgfT5gXG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZTRlNGU0O1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRab29tUGx1cyA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVpvb21UaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWm9vbU1pbnVzID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJWm9vbVRoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblpvb20gPSBzdHlsZWQoU3R5bGVkWm9vbSk8e1xuICB0aGVtZTogSVpvb21UaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuIiwiaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL21hcC96b29tL3pvb20uZW51bXNcIjtcbmltcG9ydCB7IElab29tVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9tYXAvem9vbS96b29tLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2Vab29tID0gKGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0KTogSVpvb21UaGVtZSA9PiB7XG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0NvbnRleHQuU1RBTkRBUkQsIHt9XSxcbiAgICBbQ29udGV4dC5TS0VMRVRPTiwge31dLFxuICBdKTtcbn07XG4iLCJleHBvcnQgZW51bSBDb250ZXh0IHtcbiAgU1RBTkRBUkQgPSBcIlNUQU5EQVJEXCIsXG59XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJUG9pbnRPbk1hcCwgSVJvdXRlQmFzZWRNYXBCYXNlIH0gZnJvbSBcIkAvb3JnYW5pc21zL21hcC9tYXAudHlwZXNcIjtcbmltcG9ydCB7XG4gIEFkdmFuY2VkTWFya2VyLFxuICBDb250cm9sUG9zaXRpb24sXG4gIE1hcCxcbiAgdXNlTWFwLFxuICB1c2VNYXBzTGlicmFyeSxcbn0gZnJvbSBcIkB2aXMuZ2wvcmVhY3QtZ29vZ2xlLW1hcHNcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gXCJ1dWlkXCI7XG5pbXBvcnQgeyBab29tIH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb21cIjtcblxuZXhwb3J0IGNvbnN0IFJvdXRlID0gKHtcbiAgZGVzdGluYXRpb24sXG4gIG1hcElkLFxuICBvcmlnaW4sXG4gIGRpcmVjdGlvbnMsXG59OiBJUm91dGVCYXNlZE1hcEJhc2UpID0+IHtcbiAgY29uc3QgZGVmYXVsdFpvb20gPSAxMTtcbiAgY29uc3QgbWF4Wm9vbSA9IDE1O1xuICBjb25zdCBtaW5ab29tID0gMTA7XG5cbiAgY29uc3QgU3R5bGUgPSB7XG4gICAgZmxleDogXCJhdXRvXCIsXG4gIH07XG5cbiAgY29uc3QgUm91dGVzID0gKCkgPT4ge1xuICAgIGNvbnN0IG1hcCA9IHVzZU1hcCgpO1xuICAgIGNvbnN0IHJvdXRlc0xpYnJhcnkgPSB1c2VNYXBzTGlicmFyeShcInJvdXRlc1wiKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIXJvdXRlc0xpYnJhcnkgfHwgIW1hcCkgcmV0dXJuO1xuICAgICAgY29uc3QgZGlyZWN0aW9uc1JlbmRlcmVyID0gbmV3IHJvdXRlc0xpYnJhcnkuRGlyZWN0aW9uc1JlbmRlcmVyKHtcbiAgICAgICAgbWFwOiBtYXAsXG4gICAgICAgIGRyYWdnYWJsZTogdHJ1ZSxcbiAgICAgICAgaGlkZVJvdXRlTGlzdDogdHJ1ZSxcbiAgICAgICAgcG9seWxpbmVPcHRpb25zOiB7XG4gICAgICAgICAgc3Ryb2tlQ29sb3I6IFwiI0VCNzMyMlwiLFxuICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDAuMixcbiAgICAgICAgICBzdHJva2VXZWlnaHQ6IDgsXG4gICAgICAgICAgZ2VvZGVzaWM6IHRydWUsXG4gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLFxuICAgICAgICAgIGRyYWdnYWJsZTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIG1hcmtlck9wdGlvbnM6IHtcbiAgICAgICAgICBpY29uOiB7XG4gICAgICAgICAgICBwYXRoOiBcIk0xNiA4QzE2IDEyLjQxODMgMTIuNDE4MyAxNiA4IDE2QzMuNTgxNzIgMTYgMCAxMi40MTgzIDAgOEMwIDMuNTgxNzIgMy41ODE3MiAwIDggMEMxMi40MTgzIDAgMTYgMy41ODE3MiAxNiA4WlwiLFxuICAgICAgICAgICAgZmlsbENvbG9yOiBcIiNFQjczMjJcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3Ryb2tlV2VpZ2h0OiAwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGRpcmVjdGlvbnNSZW5kZXJlci5zZXREaXJlY3Rpb25zKGRpcmVjdGlvbnMpO1xuICAgIH0sIFtyb3V0ZXNMaWJyYXJ5LCBtYXBdKTtcblxuICAgIHJldHVybiA8PjwvPjtcbiAgfTtcblxuICBjb25zdCBvbk1hcmtlckNsaWNrZWQgPSBmdW5jdGlvbiAoXG4gICAgZXZlbnQ6IGdvb2dsZS5tYXBzLk1hcE1vdXNlRXZlbnQsXG4gICAgcG9pbnQ6IElQb2ludE9uTWFwLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjbGlja2VkID0ge1xuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgcG9pbnQ6IHBvaW50LFxuICAgIH07XG5cbiAgICBjb25zb2xlLmxvZyhjbGlja2VkKTtcbiAgfTtcblxuICBjb25zdCBPcmlnaW5NYXJrZXIgPSAoXG4gICAgPEFkdmFuY2VkTWFya2VyXG4gICAgICBwb3NpdGlvbj17b3JpZ2luLmxhdExuZ31cbiAgICAgIGtleT17b3JpZ2luLmtleX1cbiAgICAgIGNsaWNrYWJsZT17dHJ1ZX1cbiAgICAgIG9uQ2xpY2s9eyhldmVudDogZ29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudCkgPT5cbiAgICAgICAgb25NYXJrZXJDbGlja2VkKGV2ZW50LCBvcmlnaW4pXG4gICAgICB9XG4gICAgPlxuICAgICAge29yaWdpbi5tYXJrZXJ9XG4gICAgPC9BZHZhbmNlZE1hcmtlcj5cbiAgKTtcblxuICBjb25zdCBEZXN0aW5hdGlvbk1hcmtlciA9IChcbiAgICA8QWR2YW5jZWRNYXJrZXJcbiAgICAgIHBvc2l0aW9uPXtkZXN0aW5hdGlvbi5sYXRMbmd9XG4gICAgICBrZXk9e2Rlc3RpbmF0aW9uLmtleX1cbiAgICAgIGNsaWNrYWJsZT17dHJ1ZX1cbiAgICAgIG9uQ2xpY2s9eyhldmVudDogZ29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudCkgPT5cbiAgICAgICAgb25NYXJrZXJDbGlja2VkKGV2ZW50LCBkZXN0aW5hdGlvbilcbiAgICAgIH1cbiAgICA+XG4gICAgICB7ZGVzdGluYXRpb24ubWFya2VyfVxuICAgIDwvQWR2YW5jZWRNYXJrZXI+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TWFwXG4gICAgICBpZD17dXVpZHY0KCl9XG4gICAgICBkZWZhdWx0Q2VudGVyPXtvcmlnaW4ubGF0TG5nfVxuICAgICAgZGVmYXVsdFpvb209e2RlZmF1bHRab29tfVxuICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgIG1pblpvb209e21pblpvb219XG4gICAgICBtYXBJZD17bWFwSWR9XG4gICAgICBnZXN0dXJlSGFuZGxpbmc9e1wiY29vcGVyYXRpdmVcIn1cbiAgICAgIGRpc2FibGVEZWZhdWx0VUk9e3RydWV9XG4gICAgICBzdHlsZT17U3R5bGV9XG4gICAgPlxuICAgICAgPFJvdXRlcyAvPlxuICAgICAgPFpvb21cbiAgICAgICAgcG9zaXRpb249e0NvbnRyb2xQb3NpdGlvbi5SSUdIVF9UT1B9XG4gICAgICAgIHBvc2l0aW9uT2Zmc2V0PXsxMH1cbiAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgbWluWm9vbT17bWluWm9vbX1cbiAgICAgIC8+XG4gICAgPC9NYXA+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIFByb3BzV2l0aENoaWxkcmVuLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQmFja2Ryb3AgYXMgQmFzZUJhY2tkcm9wIH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcC9jb21wb25lbnRzL2JhY2tkcm9wXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBJQmFja2Ryb3AsIElCYWNrZHJvcE1hbmFnZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wL2JhY2tkcm9wLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBCYWNrZHJvcCA9ICh7IG9uQ2xpY2sgfTogSUJhY2tkcm9wKSA9PiB7XG4gIHJldHVybiBjcmVhdGVQb3J0YWwoPEJhc2VCYWNrZHJvcCBvbkNsaWNrPXtvbkNsaWNrfSAvPiwgZG9jdW1lbnQuYm9keSk7XG59O1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQmFja2Ryb3BNYW5hZ2VyQ3R4OiBSZWFjdC5Db250ZXh0PHtcbiAgYmFja2Ryb3BwZWQ6IGJvb2xlYW47XG4gIHNldEJhY2tkcm9wcGVkOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxib29sZWFuPj47XG59PiA9IGNyZWF0ZUNvbnRleHQoe1xuICBiYWNrZHJvcHBlZDogZmFsc2UsXG4gIHNldEJhY2tkcm9wcGVkOiAoKSA9PiB7fSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQmFja2Ryb3BNYW5hZ2VyID0gKHsgY2hpbGRyZW4sIG9uQ2xpY2sgfTogSUJhY2tkcm9wTWFuYWdlcikgPT4ge1xuICBjb25zdCBbYmFja2Ryb3BwZWQsIHNldEJhY2tkcm9wcGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCB2YWx1ZSA9IHsgYmFja2Ryb3BwZWQsIHNldEJhY2tkcm9wcGVkIH07XG5cbiAgcmV0dXJuIChcbiAgICA8QmFja2Ryb3BNYW5hZ2VyQ3R4LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8QmFja2Ryb3Agb25DbGljaz17b25DbGlja30gLz5cbiAgICA8L0JhY2tkcm9wTWFuYWdlckN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUJhY2tkcm9wVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wL2JhY2tkcm9wLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCYWNrZHJvcCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUJhY2tkcm9wVGhlbWUgfT5gXG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBwb2ludGVyLWV2ZW50czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnBvaW50ZXJFdmVudHN9O1xuICB6LWluZGV4OiA4O1xuYDtcbiIsImltcG9ydCB7IFN0eWxlZEJhY2tkcm9wIH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcC9iYWNrZHJvcC5zdHlsZVwiO1xuaW1wb3J0IHsgQmFja2Ryb3BNYW5hZ2VyQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcFwiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUJhY2tkcm9wQmFzZSB9IGZyb20gXCJAL2xheW91dHMvYmFja2Ryb3AvYmFja2Ryb3AudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IEJhY2tkcm9wID0gKHsgb25DbGljayB9OiBJQmFja2Ryb3BCYXNlKSA9PiB7XG4gIGNvbnN0IHsgYmFja2Ryb3BwZWQsIHNldEJhY2tkcm9wcGVkIH0gPSB1c2VDb250ZXh0KEJhY2tkcm9wTWFuYWdlckN0eCk7XG5cbiAgY29uc3QgVGhlbWVWaXNpYmxlID0ge1xuICAgIGJhY2tncm91bmQ6IFwiIzc4N0I3ODREXCIsXG4gICAgcG9pbnRlckV2ZW50czogXCJhdXRvXCIsXG4gIH07XG5cbiAgY29uc3QgVGhlbWVIaWRkZW4gPSB7XG4gICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEJhY2tkcm9wXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgdGhlbWU9e2JhY2tkcm9wcGVkID8gVGhlbWVWaXNpYmxlIDogVGhlbWVIaWRkZW59XG4gICAgLz5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBCbHVyIGFzIEJhc2VCbHVyIH0gZnJvbSBcIkAvbGF5b3V0cy9ibHVyL2NvbXBvbmVudHMvYmx1clwiO1xuXG5leHBvcnQgY29uc3QgQmx1ciA9ICh7IGNoaWxkcmVuIH06IFByb3BzV2l0aENoaWxkcmVuKSA9PiB7XG4gIHJldHVybiA8QmFzZUJsdXIgY2hpbGRyZW49e2NoaWxkcmVufSAvPjtcbn07XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBCbHVyQ3R4OiBSZWFjdC5Db250ZXh0PHtcbiAgYmx1cnJlZDogYm9vbGVhbjtcbiAgc2V0Qmx1cnJlZDogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248Ym9vbGVhbj4+O1xufT4gPSBjcmVhdGVDb250ZXh0KHtcbiAgYmx1cnJlZDogZmFsc2UsXG4gIHNldEJsdXJyZWQ6ICgpID0+IHt9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBCbHVyTWFuYWdlciA9ICh7IGNoaWxkcmVuIH06IFByb3BzV2l0aENoaWxkcmVuKSA9PiB7XG4gIGNvbnN0IFtibHVycmVkLCBzZXRCbHVycmVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgdmFsdWUgPSB7IGJsdXJyZWQsIHNldEJsdXJyZWQgfTtcblxuICByZXR1cm4gKFxuICAgIDxCbHVyQ3R4LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICA8Qmx1cj57Y2hpbGRyZW59PC9CbHVyPlxuICAgIDwvQmx1ckN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQmx1ckN0eCB9IGZyb20gXCJAL2xheW91dHMvYmx1clwiO1xuaW1wb3J0IHsgU3R5bGVkQmx1ciB9IGZyb20gXCJAL2xheW91dHMvYmx1ci9ibHVyLnN0eWxlXCI7XG5cbmV4cG9ydCBjb25zdCBCbHVyID0gKHsgY2hpbGRyZW4gfTogUHJvcHNXaXRoQ2hpbGRyZW4pID0+IHtcbiAgY29uc3QgeyBibHVycmVkLCBzZXRCbHVycmVkIH0gPSB1c2VDb250ZXh0KEJsdXJDdHgpO1xuXG4gIGNvbnN0IFRoZW1lQmx1cnJlZCA9IHtcbiAgICBmaWx0ZXI6IFwiYmx1cigxcHgpO1wiLFxuICB9O1xuXG4gIGNvbnN0IFRoZW1lRGVmYXVsdCA9IHtcbiAgICBmaWx0ZXI6IFwibm9uZVwiLFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEJsdXIgdGhlbWU9e2JsdXJyZWQgPyBUaGVtZUJsdXJyZWQgOiBUaGVtZURlZmF1bHR9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvU3R5bGVkQmx1cj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUJhY2tkcm9wVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wL2JhY2tkcm9wLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCbHVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQmFja2Ryb3BUaGVtZSB9PmBcbiAgKiB7XG4gICAgZmlsdGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZmlsdGVyfTtcbiAgfVxuYDtcbiIsImltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi9jb2xsYXBzYWJsZS5lbnVtc1wiO1xuaW1wb3J0IHsgSUNvbGxhcHNhYmxlIH0gZnJvbSBcIkAvbGF5b3V0cy9jb2xsYXBzYWJsZS9jb2xsYXBzYWJsZS50eXBlc1wiO1xuaW1wb3J0IHsgQ29sbGFwc2FibGUgYXMgQmFzZUNvbGxhcHNhYmxlIH0gZnJvbSBcIkAvbGF5b3V0cy9jb2xsYXBzYWJsZS9jb21wb25lbnRzL2NvbGxhcHNhYmxlXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ29sbGFwc2FibGVDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IENvbGxhcHNhYmxlID0gKHtcbiAgY29udGV4dCxcbiAgY29udGVudCxcbiAgYWRkaXRpb25hbCxcbiAgd2l0aENvbnRlbnRFeHBhbmQsXG4gIHdpdGhDb250ZW50Q29sbGFwc2UsXG59OiBJQ29sbGFwc2FibGUpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxDb2xsYXBzYWJsZUN0eC5Qcm92aWRlciB2YWx1ZT17Q29tcG9uZW50Q29udGV4dH0+XG4gICAgICA8QmFzZUNvbGxhcHNhYmxlXG4gICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XG4gICAgICAgIGFkZGl0aW9uYWw9e2FkZGl0aW9uYWx9XG4gICAgICAgIHdpdGhDb250ZW50RXhwYW5kPXt3aXRoQ29udGVudEV4cGFuZH1cbiAgICAgICAgd2l0aENvbnRlbnRDb2xsYXBzZT17d2l0aENvbnRlbnRDb2xsYXBzZX1cbiAgICAgIC8+XG4gICAgPC9Db2xsYXBzYWJsZUN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUNvbGxhcHNhYmxlU2Vjb25kYXJ5VGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbGxhcHNhYmxlL2NvbGxhcHNhYmxlLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb2xsYXBzYWJsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb2xsYXBzYWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1zaHJpbms6IDE7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG4gIHotaW5kZXg6IDE7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29sbGFwc2FibGVBZGRpdGlvbmFsID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJQ29sbGFwc2FibGVTZWNvbmRhcnlUaGVtZTtcbn0+YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1zaHJpbms6IDE7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIHRyYW5zZm9ybTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRyYW5zZm9ybX07XG4gIG1heC13aWR0aDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1heFdpZHRofTtcbiAgei1pbmRleDogMjtcbiAgb3BhY2l0eTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm9wYWNpdHl9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbGxhcHNhYmxlRXhwYW5kQ29udGVudEFjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICBsZWZ0OiAxMHB4O1xuICB6LWluZGV4OiAzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29sbGFwc2FibGVDb2xsYXBzZUNvbnRlbnRBY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHotaW5kZXg6IDM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbmA7XG4iLCJpbXBvcnQgeyBJQ29sbGFwc2FibGVCYXNlIH0gZnJvbSBcIkAvbGF5b3V0cy9jb2xsYXBzYWJsZS9jb2xsYXBzYWJsZS50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkQ29sbGFwc2FibGUsXG4gIFN0eWxlZENvbGxhcHNhYmxlQWRkaXRpb25hbCxcbiAgU3R5bGVkQ29sbGFwc2FibGVDb2xsYXBzZUNvbnRlbnRBY3Rpb24sXG4gIFN0eWxlZENvbGxhcHNhYmxlQ29udGVudCxcbiAgU3R5bGVkQ29sbGFwc2FibGVFeHBhbmRDb250ZW50QWN0aW9uLFxufSBmcm9tIFwiQC9sYXlvdXRzL2NvbGxhcHNhYmxlL2NvbGxhcHNhYmxlLnN0eWxlXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBDb2xsYXBzYWJsZSA9ICh7XG4gIGNvbnRlbnQsXG4gIGFkZGl0aW9uYWwsXG4gIHdpdGhDb250ZW50RXhwYW5kLFxuICB3aXRoQ29udGVudENvbGxhcHNlLFxufTogSUNvbGxhcHNhYmxlQmFzZSkgPT4ge1xuICBjb25zdCBbaXNDb250ZW50RXhwYW5kZWQsIHNldENvbnRlbnRFeHBhbmRlZF0gPVxuICAgIFJlYWN0LnVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdCBkb0V4cGFuZENvbnRlbnQgPSAoKSA9PiB7XG4gICAgc2V0Q29udGVudEV4cGFuZGVkKHRydWUpO1xuICB9O1xuXG4gIGNvbnN0IGRvQ29sbGFwc2VDb250ZW50ID0gKCkgPT4ge1xuICAgIHNldENvbnRlbnRFeHBhbmRlZChmYWxzZSk7XG4gIH07XG5cbiAgY29uc3QgQ29udGVudEV4cGFuZGVkVGhlbWUgPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVgoMTAwJSk7XCIsXG4gICAgbWF4V2lkdGg6IFwiMFwiLFxuICAgIG9wYWNpdHk6IDAsXG4gIH07XG5cbiAgY29uc3QgQ29udGVudENvbGxhcHNlZFRoZW1lID0ge1xuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDAlKTtcIixcbiAgICBtYXhXaWR0aDogXCIxMDAlXCIsXG4gICAgb3BhY2l0eTogMSxcbiAgfTtcblxuICBjb25zdCBDb2xsYXBzZUNvbnRlbnQgPSB3aXRoQ29udGVudENvbGxhcHNlID8gKFxuICAgIDxTdHlsZWRDb2xsYXBzYWJsZUNvbGxhcHNlQ29udGVudEFjdGlvbiBvbkNsaWNrPXtkb0NvbGxhcHNlQ29udGVudH0+XG4gICAgICB7d2l0aENvbnRlbnRDb2xsYXBzZX1cbiAgICA8L1N0eWxlZENvbGxhcHNhYmxlQ29sbGFwc2VDb250ZW50QWN0aW9uPlxuICApIDogbnVsbDtcblxuICBjb25zdCBFeHBhbmRDb250ZW50ID0gKFxuICAgIDxTdHlsZWRDb2xsYXBzYWJsZUV4cGFuZENvbnRlbnRBY3Rpb24gb25DbGljaz17ZG9FeHBhbmRDb250ZW50fT5cbiAgICAgIHt3aXRoQ29udGVudEV4cGFuZH1cbiAgICA8L1N0eWxlZENvbGxhcHNhYmxlRXhwYW5kQ29udGVudEFjdGlvbj5cbiAgKTtcblxuICBjb25zdCBDb250ZW50ID0gKFxuICAgIDxTdHlsZWRDb2xsYXBzYWJsZUNvbnRlbnQ+e2NvbnRlbnR9PC9TdHlsZWRDb2xsYXBzYWJsZUNvbnRlbnQ+XG4gICk7XG5cbiAgY29uc3QgQWRkaXRpb25hbCA9IChcbiAgICA8U3R5bGVkQ29sbGFwc2FibGVBZGRpdGlvbmFsXG4gICAgICB0aGVtZT17aXNDb250ZW50RXhwYW5kZWQgPyBDb250ZW50RXhwYW5kZWRUaGVtZSA6IENvbnRlbnRDb2xsYXBzZWRUaGVtZX1cbiAgICA+XG4gICAgICB7aXNDb250ZW50RXhwYW5kZWQgPyBudWxsIDogRXhwYW5kQ29udGVudH1cbiAgICAgIHthZGRpdGlvbmFsfVxuICAgIDwvU3R5bGVkQ29sbGFwc2FibGVBZGRpdGlvbmFsPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbGxhcHNhYmxlPlxuICAgICAge0NvbnRlbnR9XG4gICAgICB7aXNDb250ZW50RXhwYW5kZWQgPyBDb2xsYXBzZUNvbnRlbnQgOiBudWxsfVxuICAgICAge0FkZGl0aW9uYWx9XG4gICAgPC9TdHlsZWRDb2xsYXBzYWJsZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IEJhY2tkcm9wTWFuYWdlciB9IGZyb20gXCJAL2xheW91dHMvYmFja2Ryb3BcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi9kcmF3ZXIuZW51bXNcIjtcbmltcG9ydCB7IElEcmF3ZXIsIElEcmF3ZXJNYW5hZ2VyIH0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXIvZHJhd2VyLnR5cGVzXCI7XG5pbXBvcnQgeyBEcmF3ZXIgYXMgQmFzZURyYXdlciB9IGZyb20gXCJAL2xheW91dHMvZHJhd2VyL2NvbXBvbmVudHMvZHJhd2VyXCI7XG5jb25zdCBEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPSBjcmVhdGVDb250ZXh0KERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgRHJhd2VyID0gKHsgY29udGV4dCwgY2hpbGRyZW4gfTogSURyYXdlcikgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBEZWZhdWx0O1xuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPEN0eC5Qcm92aWRlciB2YWx1ZT17Q29tcG9uZW50Q29udGV4dH0+XG4gICAgICA8QmFzZURyYXdlciBjaGlsZHJlbj17Y2hpbGRyZW59IC8+XG4gICAgPC9DdHguUHJvdmlkZXI+LFxuICAgIGRvY3VtZW50LmJvZHksXG4gICk7XG59O1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgRHJhd2VyTWFuYWdlckN0eDogUmVhY3QuQ29udGV4dDx7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHNldFZpc2libGU6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPGJvb2xlYW4+Pjtcbn0+ID0gY3JlYXRlQ29udGV4dCh7XG4gIHZpc2libGU6IGZhbHNlLFxuICBzZXRWaXNpYmxlOiAoKSA9PiB7fSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRHJhd2VyTWFuYWdlciA9ICh7IGNoaWxkcmVuLCBkcmF3ZXIgfTogSURyYXdlck1hbmFnZXIpID0+IHtcbiAgY29uc3QgW3Zpc2libGUsIHNldFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB2YWx1ZSA9IHsgdmlzaWJsZSwgc2V0VmlzaWJsZSB9O1xuXG4gIHJldHVybiAoXG4gICAgPERyYXdlck1hbmFnZXJDdHguUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIDxCYWNrZHJvcE1hbmFnZXIgb25DbGljaz17KCkgPT4gc2V0VmlzaWJsZShmYWxzZSl9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDxEcmF3ZXI+e2RyYXdlcn08L0RyYXdlcj5cbiAgICAgIDwvQmFja2Ryb3BNYW5hZ2VyPlxuICAgIDwvRHJhd2VyTWFuYWdlckN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBCYWNrZHJvcE1hbmFnZXJDdHggfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wXCI7XG5pbXBvcnQgeyBCbHVyQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9ibHVyXCI7XG5pbXBvcnQgeyBJRHJhd2VyQmFzZSB9IGZyb20gXCJAL2xheW91dHMvZHJhd2VyL2RyYXdlci50eXBlc1wiO1xuaW1wb3J0IHsgRHJhd2VyTWFuYWdlckN0eCB9IGZyb20gXCJAL2xheW91dHMvZHJhd2VyXCI7XG5pbXBvcnQge1xuICBTdHlsZWREcmF3ZXIsXG4gIFN0eWxlZERyYXdlckNvbnRlbnQsXG4gIFN0eWxlZERyYXdlckhlYWRlcixcbn0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXIvZHJhd2VyLnN0eWxlXCI7XG5cbmV4cG9ydCBjb25zdCBEcmF3ZXIgPSAoeyBjaGlsZHJlbiB9OiBJRHJhd2VyQmFzZSkgPT4ge1xuICBjb25zdCB7IHZpc2libGUsIHNldFZpc2libGUgfSA9IHVzZUNvbnRleHQoRHJhd2VyTWFuYWdlckN0eCk7XG4gIGNvbnN0IHsgc2V0QmFja2Ryb3BwZWQgfSA9IHVzZUNvbnRleHQoQmFja2Ryb3BNYW5hZ2VyQ3R4KTtcbiAgY29uc3QgeyBzZXRCbHVycmVkIH0gPSB1c2VDb250ZXh0KEJsdXJDdHgpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZpc2libGUpIHtcbiAgICAgIHNldEJsdXJyZWQodHJ1ZSk7XG4gICAgICBzZXRCYWNrZHJvcHBlZCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0Qmx1cnJlZChmYWxzZSk7XG4gICAgICBzZXRCYWNrZHJvcHBlZChmYWxzZSk7XG4gICAgfVxuICB9LCBbdmlzaWJsZV0pO1xuXG4gIGNvbnN0IFRoZW1lVmlzaWJsZSA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgwKTtcIixcbiAgICBtYXhXaWR0aDogXCIxMDAlXCIsXG4gIH07XG5cbiAgY29uc3QgVGhlbWVIaWRkZW4gPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVgoMTAwdmgpO1wiLFxuICAgIG1heFdpZHRoOiBcIjBcIixcbiAgfTtcblxuICBjb25zdCBjbG9zZURyYXdlciA9ICgpID0+IHtcbiAgICBzZXRWaXNpYmxlKGZhbHNlKTtcbiAgICBzZXRCYWNrZHJvcHBlZChmYWxzZSk7XG4gICAgc2V0Qmx1cnJlZChmYWxzZSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRHJhd2VyIHRoZW1lPXt2aXNpYmxlID8gVGhlbWVWaXNpYmxlIDogVGhlbWVIaWRkZW59PlxuICAgICAgPFN0eWxlZERyYXdlckhlYWRlcj5cbiAgICAgICAgPGRpdiBvbkNsaWNrPXtjbG9zZURyYXdlcn0+Q2xvc2U8L2Rpdj5cbiAgICAgIDwvU3R5bGVkRHJhd2VySGVhZGVyPlxuICAgICAgPFN0eWxlZERyYXdlckNvbnRlbnQ+e2NoaWxkcmVufTwvU3R5bGVkRHJhd2VyQ29udGVudD5cbiAgICA8L1N0eWxlZERyYXdlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSU92ZXJsYXlUaGVtZSB9IGZyb20gXCJAL2xheW91dHMvb3ZlcmxheS9vdmVybGF5LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREcmF3ZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElPdmVybGF5VGhlbWUgfT5gXG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiA4NXZ3O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6ICNmZmZkZjg7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHMgZWFzZTtcbiAgdHJhbnNmb3JtOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudHJhbnNmb3JtfTtcbiAgbWF4LXdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUubWF4V2lkdGh9O1xuICBib3gtc2hhZG93OlxuICAgIDAgMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksXG4gICAgMCAxcHggMnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgei1pbmRleDogOTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB3aGl0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREcmF3ZXJIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAjZmJmOWY1O1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREcmF3ZXJDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbWluLWhlaWdodDogMTAwJTtcbmA7XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IHsgQmFja2Ryb3BNYW5hZ2VyIH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcFwiO1xuaW1wb3J0IHsgSU1vZGFsLCBJTW9kYWxNYW5hZ2VyIH0gZnJvbSBcIkAvbGF5b3V0cy9tb2RhbC9tb2RhbC50eXBlc1wiO1xuaW1wb3J0IHsgTW9kYWwgYXMgQmFzZU1vZGFsIH0gZnJvbSBcIkAvbGF5b3V0cy9tb2RhbC9jb21wb25lbnRzL21vZGFsXCI7XG5cbmV4cG9ydCBjb25zdCBNb2RhbCA9ICh7IGNoaWxkcmVuIH06IElNb2RhbCkgPT4ge1xuICByZXR1cm4gY3JlYXRlUG9ydGFsKDxCYXNlTW9kYWwgY2hpbGRyZW49e2NoaWxkcmVufSAvPiwgZG9jdW1lbnQuYm9keSk7XG59O1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgTW9kYWxNYW5hZ2VyQ3R4OiBSZWFjdC5Db250ZXh0PHtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgc2V0VmlzaWJsZTogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248Ym9vbGVhbj4+O1xufT4gPSBjcmVhdGVDb250ZXh0KHtcbiAgdmlzaWJsZTogZmFsc2UsXG4gIHNldFZpc2libGU6ICgpID0+IHt9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBNb2RhbE1hbmFnZXIgPSAoeyBjaGlsZHJlbiwgbW9kYWwgfTogSU1vZGFsTWFuYWdlcikgPT4ge1xuICBjb25zdCBbdmlzaWJsZSwgc2V0VmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHZhbHVlID0geyB2aXNpYmxlLCBzZXRWaXNpYmxlIH07XG5cbiAgcmV0dXJuIChcbiAgICA8TW9kYWxNYW5hZ2VyQ3R4LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICA8QmFja2Ryb3BNYW5hZ2VyIG9uQ2xpY2s9eygpID0+IHNldFZpc2libGUoZmFsc2UpfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8TW9kYWw+e21vZGFsfTwvTW9kYWw+XG4gICAgICA8L0JhY2tkcm9wTWFuYWdlcj5cbiAgICA8L01vZGFsTWFuYWdlckN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRPdmVybGF5LFxuICBTdHlsZWRPdmVybGF5Q29udGVudCxcbiAgU3R5bGVkT3ZlcmxheUhlYWRlcixcbiAgU3R5bGVkT3ZlcmxheUhlYWRlckFyZWEsXG4gIFN0eWxlZE92ZXJsYXlIZWFkZXJDbG9zZSxcbn0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkuc3R5bGVcIjtcbmltcG9ydCB7IE92ZXJsYXlNYW5hZ2VyQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5XCI7XG5pbXBvcnQgeyBJT3ZlcmxheUJhc2UgfSBmcm9tIFwiQC9sYXlvdXRzL292ZXJsYXkvb3ZlcmxheS50eXBlc1wiO1xuaW1wb3J0IHsgQmFja2Ryb3BNYW5hZ2VyQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcFwiO1xuaW1wb3J0IHsgQmx1ckN0eCB9IGZyb20gXCJAL2xheW91dHMvYmx1clwiO1xuaW1wb3J0IHsgSU1vZGFsQmFzZSB9IGZyb20gXCJAL2xheW91dHMvbW9kYWwvbW9kYWwudHlwZXNcIjtcbmltcG9ydCB7IE1vZGFsTWFuYWdlckN0eCB9IGZyb20gXCJAL2xheW91dHMvbW9kYWxcIjtcbmltcG9ydCB7XG4gIFN0eWxlZE1vZGFsLFxuICBTdHlsZWRNb2RhbENvbnRlbnQsXG4gIFN0eWxlZE1vZGFsSGVhZGVyLFxuICBTdHlsZWRNb2RhbEhlYWRlckNsb3NlLFxufSBmcm9tIFwiQC9sYXlvdXRzL21vZGFsL21vZGFsLnN0eWxlXCI7XG5pbXBvcnQgeyBDbGlja0F3YXkgfSBmcm9tIFwiQC91dGlscy9jbGlja2F3YXlcIjtcblxuZXhwb3J0IGNvbnN0IE1vZGFsID0gKHsgY2hpbGRyZW4gfTogSU1vZGFsQmFzZSkgPT4ge1xuICBjb25zdCB7IHZpc2libGUsIHNldFZpc2libGUgfSA9IHVzZUNvbnRleHQoTW9kYWxNYW5hZ2VyQ3R4KTtcbiAgY29uc3QgeyBzZXRCYWNrZHJvcHBlZCB9ID0gdXNlQ29udGV4dChCYWNrZHJvcE1hbmFnZXJDdHgpO1xuICBjb25zdCB7IHNldEJsdXJyZWQgfSA9IHVzZUNvbnRleHQoQmx1ckN0eCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmlzaWJsZSkge1xuICAgICAgc2V0Qmx1cnJlZCh0cnVlKTtcbiAgICAgIHNldEJhY2tkcm9wcGVkKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRCbHVycmVkKGZhbHNlKTtcbiAgICAgIHNldEJhY2tkcm9wcGVkKGZhbHNlKTtcbiAgICB9XG4gIH0sIFt2aXNpYmxlXSk7XG5cbiAgY29uc3QgVGhlbWVWaXNpYmxlID0ge1xuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XCIsXG4gICAgbWF4SGVpZ2h0OiBcIjEwMCVcIixcbiAgfTtcblxuICBjb25zdCBUaGVtZUhpZGRlbiA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgxMDB2aCkgdHJhbnNsYXRlWCgtNTAlKTtcIixcbiAgICBtYXhIZWlnaHQ6IFwiMFwiLFxuICB9O1xuXG4gIGNvbnN0IGNsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgc2V0VmlzaWJsZShmYWxzZSk7XG4gICAgc2V0QmFja2Ryb3BwZWQoZmFsc2UpO1xuICAgIHNldEJsdXJyZWQoZmFsc2UpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZE1vZGFsIHRoZW1lPXt2aXNpYmxlID8gVGhlbWVWaXNpYmxlIDogVGhlbWVIaWRkZW59PlxuICAgICAgPFN0eWxlZE1vZGFsSGVhZGVyPlxuICAgICAgICA8U3R5bGVkTW9kYWxIZWFkZXJDbG9zZSBvbkNsaWNrPXtjbG9zZU1vZGFsfT5cbiAgICAgICAgICBDbG9zZVxuICAgICAgICA8L1N0eWxlZE1vZGFsSGVhZGVyQ2xvc2U+XG4gICAgICA8L1N0eWxlZE1vZGFsSGVhZGVyPlxuICAgICAgPFN0eWxlZE1vZGFsQ29udGVudD57Y2hpbGRyZW59PC9TdHlsZWRNb2RhbENvbnRlbnQ+XG4gICAgPC9TdHlsZWRNb2RhbD5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSU1vZGFsVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL21vZGFsL21vZGFsLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSU1vZGFsVGhlbWUgfT5gXG4gIGhlaWdodDogNTB2aDtcbiAgd2lkdGg6IDUwdnc7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudHJhbnNmb3JtfTtcbiAgbWF4LWhlaWdodDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1heEhlaWdodH07XG4gIGJhY2tncm91bmQ6ICNmZmZkZjg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuMSksXG4gICAgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgei1pbmRleDogOTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZDogI2Y2ZjJlOTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtaW4taGVpZ2h0OiA1MnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsSGVhZGVyQ2xvc2UgPSBzdHlsZWQuZGl2YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbENvbnRlbnQgPSBzdHlsZWQuZGl2YGA7XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IE92ZXJsYXkgYXMgQmFzZU92ZXJsYXkgfSBmcm9tIFwiQC9sYXlvdXRzL292ZXJsYXkvY29tcG9uZW50cy9vdmVybGF5XCI7XG5pbXBvcnQgeyBJT3ZlcmxheSwgSU92ZXJsYXlNYW5hZ2VyIH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkudHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiLi9vdmVybGF5LmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBCYWNrZHJvcE1hbmFnZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wXCI7XG5cbmNvbnN0IERlZmF1bHQ6IENvbnRleHQgPSBDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBDb250ZXh0PiA9IGNyZWF0ZUNvbnRleHQoRGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBPdmVybGF5ID0gKHsgY29udGV4dCwgY2hpbGRyZW4sIGhlYWRlciwgY2xvc2UgfTogSU92ZXJsYXkpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogRGVmYXVsdDtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxDdHguUHJvdmlkZXIgdmFsdWU9e0NvbXBvbmVudENvbnRleHR9PlxuICAgICAgPEJhc2VPdmVybGF5IGNoaWxkcmVuPXtjaGlsZHJlbn0gaGVhZGVyPXtoZWFkZXJ9IGNsb3NlPXtjbG9zZX0gLz5cbiAgICA8L0N0eC5Qcm92aWRlcj4sXG4gICAgZG9jdW1lbnQuYm9keSxcbiAgKTtcbn07XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBPdmVybGF5TWFuYWdlckN0eDogUmVhY3QuQ29udGV4dDx7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHNldFZpc2libGU6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPGJvb2xlYW4+Pjtcbn0+ID0gY3JlYXRlQ29udGV4dCh7XG4gIHZpc2libGU6IGZhbHNlLFxuICBzZXRWaXNpYmxlOiAoKSA9PiB7fSxcbn0pO1xuXG5leHBvcnQgY29uc3QgT3ZlcmxheU1hbmFnZXIgPSAoe1xuICBjaGlsZHJlbixcbiAgb3ZlcmxheSxcbiAgaGVhZGVyLFxuICBjbG9zZSxcbn06IElPdmVybGF5TWFuYWdlcikgPT4ge1xuICBjb25zdCBbdmlzaWJsZSwgc2V0VmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgdmFsdWUgPSB7IHZpc2libGUsIHNldFZpc2libGUgfTtcblxuICByZXR1cm4gKFxuICAgIDxPdmVybGF5TWFuYWdlckN0eC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PlxuICAgICAgPEJhY2tkcm9wTWFuYWdlcj5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8T3ZlcmxheSBoZWFkZXI9e2hlYWRlcn0gY2xvc2U9e2Nsb3NlfT5cbiAgICAgICAgICB7b3ZlcmxheX1cbiAgICAgICAgPC9PdmVybGF5PlxuICAgICAgPC9CYWNrZHJvcE1hbmFnZXI+XG4gICAgPC9PdmVybGF5TWFuYWdlckN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRPdmVybGF5LFxuICBTdHlsZWRPdmVybGF5Q29udGVudCxcbiAgU3R5bGVkT3ZlcmxheUhlYWRlcixcbiAgU3R5bGVkT3ZlcmxheUhlYWRlckFyZWEsXG4gIFN0eWxlZE92ZXJsYXlIZWFkZXJDbG9zZSxcbn0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkuc3R5bGVcIjtcbmltcG9ydCB7IE92ZXJsYXlNYW5hZ2VyQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5XCI7XG5pbXBvcnQgeyBJT3ZlcmxheUJhc2UgfSBmcm9tIFwiQC9sYXlvdXRzL292ZXJsYXkvb3ZlcmxheS50eXBlc1wiO1xuaW1wb3J0IHsgQmFja2Ryb3BNYW5hZ2VyQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcFwiO1xuaW1wb3J0IHsgQmx1ckN0eCB9IGZyb20gXCJAL2xheW91dHMvYmx1clwiO1xuXG5leHBvcnQgY29uc3QgT3ZlcmxheSA9ICh7IGNoaWxkcmVuLCBoZWFkZXIsIGNsb3NlIH06IElPdmVybGF5QmFzZSkgPT4ge1xuICBjb25zdCB7IHZpc2libGUsIHNldFZpc2libGUgfSA9IHVzZUNvbnRleHQoT3ZlcmxheU1hbmFnZXJDdHgpO1xuICBjb25zdCB7IHNldEJhY2tkcm9wcGVkIH0gPSB1c2VDb250ZXh0KEJhY2tkcm9wTWFuYWdlckN0eCk7XG4gIGNvbnN0IHsgc2V0Qmx1cnJlZCB9ID0gdXNlQ29udGV4dChCbHVyQ3R4KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICBzZXRCbHVycmVkKHRydWUpO1xuICAgICAgc2V0QmFja2Ryb3BwZWQodHJ1ZSk7XG4gICAgfVxuICB9LCBbdmlzaWJsZV0pO1xuXG4gIGNvbnN0IFRoZW1lVmlzaWJsZSA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgzcHgpO1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG4gIH07XG5cbiAgY29uc3QgVGhlbWVIaWRkZW4gPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoMTAwdmgpO1wiLFxuICAgIG1heEhlaWdodDogXCIwXCIsXG4gIH07XG5cbiAgY29uc3QgY2xvc2VPdmVybGF5ID0gKCkgPT4ge1xuICAgIHNldFZpc2libGUoZmFsc2UpO1xuICAgIHNldEJhY2tkcm9wcGVkKGZhbHNlKTtcbiAgICBzZXRCbHVycmVkKGZhbHNlKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRPdmVybGF5IHRoZW1lPXt2aXNpYmxlID8gVGhlbWVWaXNpYmxlIDogVGhlbWVIaWRkZW59PlxuICAgICAgPFN0eWxlZE92ZXJsYXlIZWFkZXI+XG4gICAgICAgIDxTdHlsZWRPdmVybGF5SGVhZGVyQXJlYT57aGVhZGVyfTwvU3R5bGVkT3ZlcmxheUhlYWRlckFyZWE+XG4gICAgICAgIDxTdHlsZWRPdmVybGF5SGVhZGVyQ2xvc2Ugb25DbGljaz17Y2xvc2VPdmVybGF5fT5cbiAgICAgICAgICB7Y2xvc2V9XG4gICAgICAgIDwvU3R5bGVkT3ZlcmxheUhlYWRlckNsb3NlPlxuICAgICAgPC9TdHlsZWRPdmVybGF5SGVhZGVyPlxuICAgICAgPFN0eWxlZE92ZXJsYXlDb250ZW50Pnt2aXNpYmxlID8gY2hpbGRyZW4gOiA8PjwvPn08L1N0eWxlZE92ZXJsYXlDb250ZW50PlxuICAgIDwvU3R5bGVkT3ZlcmxheT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSU92ZXJsYXlUaGVtZSB9IGZyb20gXCJAL2xheW91dHMvb3ZlcmxheS9vdmVybGF5LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRPdmVybGF5ID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJT3ZlcmxheVRoZW1lIH0+YFxuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogI2ZmZmRmODtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIHRyYW5zZm9ybTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRyYW5zZm9ybX07XG4gIG1heC1oZWlnaHQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXhIZWlnaHR9O1xuICBib3gtc2hhZG93OlxuICAgIDAgLTFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLFxuICAgIDAgLTFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xuICB6LWluZGV4OiA5O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgd2hpdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkT3ZlcmxheUhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICNmNmYyZTk7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBwYWRkaW5nOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkT3ZlcmxheUhlYWRlckFyZWEgPSBzdHlsZWQuZGl2YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRPdmVybGF5SGVhZGVyQ2xvc2UgPSBzdHlsZWQuZGl2YFxuICBjdXJzb3I6IHBvaW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkT3ZlcmxheUNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAjZmZmZGY4O1xuYDtcbiIsImltcG9ydCBSZWFjdCwgeyBSZWFjdEVsZW1lbnQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEFQSVByb3ZpZGVyIH0gZnJvbSBcIkB2aXMuZ2wvcmVhY3QtZ29vZ2xlLW1hcHNcIjtcbmltcG9ydCB7IElHb29nbGVBcGlDb21wb25lbnQgfSBmcm9tIFwiQC91dGlscy9nb29nbGVfYXBpX2NvbXBvbmVudC9nb29nbGVfYXBpX2NvbXBvbmVudC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgR29vZ2xlQVBJQ29tcG9uZW50ID0gKHtcbiAgY2hpbGRyZW4sXG4gIGFwaUtleSxcbiAgb25Mb2FkLFxufTogSUdvb2dsZUFwaUNvbXBvbmVudCk6IFJlYWN0RWxlbWVudCA9PiB7XG4gIHJldHVybiAoXG4gICAgPEFQSVByb3ZpZGVyIGFwaUtleT17YXBpS2V5fSBvbkxvYWQ9e29uTG9hZH0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9BUElQcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgUHJvcHNXaXRoQ2hpbGRyZW4sXG4gIHVzZUVmZmVjdCxcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlTWFwc0xpYnJhcnkgfSBmcm9tIFwiQHZpcy5nbC9yZWFjdC1nb29nbGUtbWFwc1wiO1xuXG5jb25zdCBEZWZhdWx0ID0gbnVsbDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEdvb2dsZUFwaVNlcnZpY2VDdHg6IFJlYWN0LkNvbnRleHQ8Z29vZ2xlLm1hcHMuRGlyZWN0aW9uc1NlcnZpY2UgfCBudWxsPiA9XG4gIGNyZWF0ZUNvbnRleHQoRGVmYXVsdCk7XG5cbmV4cG9ydCBjb25zdCBHb29nbGVBcGlTZXJ2aWNlRGlyZWN0aW9ucyA9ICh7IGNoaWxkcmVuIH06IFByb3BzV2l0aENoaWxkcmVuKSA9PiB7XG4gIGNvbnN0IFtzZXJ2aWNlLCBzZXRTZXJ2aWNlXSA9IHVzZVN0YXRlPGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNTZXJ2aWNlIHwgbnVsbD4oXG4gICAgbnVsbCxcbiAgKTtcbiAgY29uc3Qgcm91dGVzTGlicmFyeSA9IHVzZU1hcHNMaWJyYXJ5KFwicm91dGVzXCIpO1xuXG4gIC8vIEluaXRpYWxpemUgZGlyZWN0aW9uIHNlcnZpY2UgYW5kIHJlbmRlcmVyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFyb3V0ZXNMaWJyYXJ5KSByZXR1cm47XG4gICAgc2V0U2VydmljZShuZXcgcm91dGVzTGlicmFyeS5EaXJlY3Rpb25zU2VydmljZSgpKTtcbiAgfSwgW3JvdXRlc0xpYnJhcnldKTtcblxuICByZXR1cm4gKFxuICAgIDxHb29nbGVBcGlTZXJ2aWNlQ3R4LlByb3ZpZGVyIHZhbHVlPXtzZXJ2aWNlfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0dvb2dsZUFwaVNlcnZpY2VDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiLyoqIEFkZCBhbGwgY29tcG9uZW50cyB5b3Ugd2FudCB0byBleHBvcnQgaGVyZSAqKi9cblxuLy8gQmFkZ2VcbmV4cG9ydCB7IEJhZGdlLCBCYWRnZUNvbnRleHQsIEJhZGdlVHlwZSB9IGZyb20gXCIuL2F0b21zL2JhZGdlXCI7XG5leHBvcnQgdHlwZSB7IElCYWRnZSB9IGZyb20gXCIuL2F0b21zL2JhZGdlXCI7XG5cbmV4cG9ydCB7IEJyYW5kIH0gZnJvbSBcIi4vYXRvbXMvYnJhbmRcIjtcbmV4cG9ydCB7IEJ1dHRvbiB9IGZyb20gXCIuL2F0b21zL2J1dHRvblwiO1xuZXhwb3J0IHsgQ2hlY2tib3ggfSBmcm9tIFwiLi9hdG9tcy9jaGVja2JveFwiO1xuZXhwb3J0IHsgQ2hvaWNlIH0gZnJvbSBcIi4vYXRvbXMvY2hvaWNlXCI7XG5leHBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIi4vYXRvbXMvZmVhdHVyZVwiO1xuZXhwb3J0IHsgRnJhbWUgfSBmcm9tIFwiLi9hdG9tcy9mcmFtZVwiO1xuZXhwb3J0IHsgSGVhZGluZyB9IGZyb20gXCIuL2F0b21zL2hlYWRpbmdcIjtcbmV4cG9ydCB7IEluZm9ybWF0aW9uIH0gZnJvbSBcIi4vYXRvbXMvaW5mb3JtYXRpb25cIjtcbmV4cG9ydCB7IElucHV0IH0gZnJvbSBcIi4vYXRvbXMvaW5wdXRcIjtcbmV4cG9ydCB7IExpbmsgfSBmcm9tIFwiLi9hdG9tcy9saW5rXCI7XG5leHBvcnQgeyBMaXN0IH0gZnJvbSBcIi4vYXRvbXMvbGlzdFwiO1xuZXhwb3J0IHsgTG9nbyB9IGZyb20gXCIuL2F0b21zL2xvZ29cIjtcbmV4cG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gXCIuL2F0b21zL25vdGlmaWNhdGlvblwiO1xuZXhwb3J0IHsgUGljayB9IGZyb20gXCIuL2F0b21zL3BpY2tcIjtcbmV4cG9ydCB7IFBpbGwgfSBmcm9tIFwiLi9hdG9tcy9waWxsXCI7XG5leHBvcnQgeyBQaW4gfSBmcm9tIFwiLi9hdG9tcy9waW5cIjtcbmV4cG9ydCB7IFBsYWluVGV4dCB9IGZyb20gXCIuL2F0b21zL3BsYWludGV4dFwiO1xuZXhwb3J0IHsgUmFkaW8gfSBmcm9tIFwiLi9hdG9tcy9yYWRpb1wiO1xuZXhwb3J0IHsgUmVjb3JkIH0gZnJvbSBcIi4vYXRvbXMvcmVjb3JkXCI7XG5leHBvcnQgeyBTdGF0dXMsIFN0YXR1c0NvbXBhY3QgfSBmcm9tIFwiLi9hdG9tcy9zdGF0dXNcIjtcbmV4cG9ydCB7IFRlcm0gfSBmcm9tIFwiLi9hdG9tcy90ZXJtXCI7XG5leHBvcnQgeyBUZXJtaW5hbCB9IGZyb20gXCIuL2F0b21zL3Rlcm1pbmFsXCI7XG5leHBvcnQgeyBZZXNObyB9IGZyb20gXCIuL2F0b21zL3llc19ub1wiO1xuXG5leHBvcnQgeyBEZXRhaWxzIH0gZnJvbSBcIi4vbW9sZWN1bGVzL2RldGFpbHNcIjtcbmV4cG9ydCB7IEZhcSB9IGZyb20gXCIuL21vbGVjdWxlcy9mYXFcIjtcbmV4cG9ydCB7IEZlYXR1cmVzIH0gZnJvbSBcIi4vbW9sZWN1bGVzL2ZlYXR1cmVzXCI7XG5leHBvcnQgeyBQcm9maWxlTmF2aWdhdGlvbiB9IGZyb20gXCIuL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb25cIjtcbmV4cG9ydCB7IFJlY29yZHMgfSBmcm9tIFwiLi9tb2xlY3VsZXMvcmVjb3Jkc1wiO1xuZXhwb3J0IHsgU3RhdHVzTGlzdCB9IGZyb20gXCIuL21vbGVjdWxlcy9zdGF0dXNfbGlzdFwiO1xuXG5leHBvcnQgeyBNYXAgfSBmcm9tIFwiLi9vcmdhbmlzbXMvbWFwXCI7XG5cbmV4cG9ydCB7XG4gIEJhY2tkcm9wLFxuICBCYWNrZHJvcE1hbmFnZXIsXG4gIEJhY2tkcm9wTWFuYWdlckN0eCxcbn0gZnJvbSBcIi4vbGF5b3V0cy9iYWNrZHJvcFwiO1xuZXhwb3J0IHsgQmx1ciwgQmx1ck1hbmFnZXIsIEJsdXJDdHggfSBmcm9tIFwiLi9sYXlvdXRzL2JsdXJcIjtcbmV4cG9ydCB7IENvbGxhcHNhYmxlIH0gZnJvbSBcIi4vbGF5b3V0cy9jb2xsYXBzYWJsZVwiO1xuZXhwb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4vbGF5b3V0cy9jb250YWluZXJcIjtcbmV4cG9ydCB7IERyYXdlciwgRHJhd2VyTWFuYWdlciwgRHJhd2VyTWFuYWdlckN0eCB9IGZyb20gXCIuL2xheW91dHMvZHJhd2VyXCI7XG5leHBvcnQgeyBHcmlkIH0gZnJvbSBcIi4vbGF5b3V0cy9ncmlkXCI7XG5leHBvcnQgeyBNb2RhbCwgTW9kYWxNYW5hZ2VyLCBNb2RhbE1hbmFnZXJDdHggfSBmcm9tIFwiLi9sYXlvdXRzL21vZGFsXCI7XG5leHBvcnQgeyBPdmVybGF5LCBPdmVybGF5TWFuYWdlciwgT3ZlcmxheU1hbmFnZXJDdHggfSBmcm9tIFwiLi9sYXlvdXRzL292ZXJsYXlcIjtcblxuZXhwb3J0IHsgSWNvbiB9IGZyb20gXCIuL3VpL2ljb25cIjtcbmV4cG9ydCB7IEZpZ3VyZSB9IGZyb20gXCIuL3VpL2ZpZ3VyZVwiO1xuXG5leHBvcnQgeyBHb29nbGVBUElDb21wb25lbnQgfSBmcm9tIFwiLi91dGlscy9nb29nbGVfYXBpX2NvbXBvbmVudFwiO1xuZXhwb3J0IHsgR29vZ2xlQXBpU2VydmljZURpcmVjdGlvbnMgfSBmcm9tIFwiLi91dGlscy9nb29nbGVfbWFwcy9kaXJlY3Rpb25zXCI7XG5cbi8qKiBSZS1leHBvcnQgaXRlbXMgZnJvbSBUYWNreSBzbyB1c2VyIG9mIHRoZSBjb21wb25lbnQgbGlicmFyeSBhcmUgbm90IGRpcmVjdGx5IHRpZWQgdG8gVGFja3kgKiovXG5leHBvcnQgdHlwZSB7IFRoZW1lSSB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuZXhwb3J0IHsgVGhlbWVCdWlsZGVyIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCB7IEJ1aWxkUHJvdmlkZXJzVHJlZSB9IGZyb20gXCJAdGFjdGljcy90YWNreS90b29sXCI7XG5cbmV4cG9ydCB7XG4gIFRoZW1lQ3R4LFxuICBUaGVtZU1vZGUsXG4gIFN0eWxlUHJvdmlkZXJBbmltYXRpb24sXG4gIFN0eWxlUHJvdmlkZXJGb250RmFjZSxcbiAgU3R5bGVQcm92aWRlclByZUZsaWdodCxcbiAgU3R5bGVQcm92aWRlclJvdXRlcixcbn0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG4iXX0=