@1money/react-ui 1.14.0-alpha.19 → 1.14.0-alpha.21

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.
@@ -211,7 +211,7 @@ export var InputAmount = function InputAmount(props) {
211
211
  calcCaretPos(val, hasDecimalPoint ? 2 : 0);
212
212
  ignoreSelectRef.current = true;
213
213
  }
214
- onChange === null || onChange === void 0 ? void 0 : onChange(e);
214
+ onChange === null || onChange === void 0 ? void 0 : onChange(e, val);
215
215
  }, [onChange, disabled, readOnly]);
216
216
  var handleSelect = useCallback(function () {
217
217
  var _a;
@@ -409,4 +409,4 @@ export var InputAmount = function InputAmount(props) {
409
409
  });
410
410
  };
411
411
  export default /*#__PURE__*/memo(InputAmount);
412
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXRBbW91bnQvSW5wdXRBbW91bnQuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0lucHV0QW1vdW50L0lucHV0QW1vdW50LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwidXNlTWVtbyIsInVzZVN0YXRlIiwidXNlQ2FsbGJhY2siLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJ1c2VMYXlvdXRFZmZlY3QiLCJCaWdOdW1iZXIiLCJudW1lcmljRm9ybWF0dGVyIiwiU2tlbGV0b24iLCJTcGlubmVyIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJqb2luQ2xzIiwiTUlOX0lOUFVUX1dJRFRIIiwibm9ybWFsaXplTnVtYmVySW5wdXQiLCJ2YWwiLCJyZXBsYWNlIiwiY2FsY1ZhbHVlSW5SYW5nZSIsIm1pbiIsIm1heCIsImlzTmFOIiwiY2FsY1ZhbCIsImJuVmFsIiwibWluQm4iLCJsdCIsIm1heEJuIiwiZ3QiLCJJbnB1dEFtb3VudCIsInByb3BzIiwidmFsdWUiLCJfcHJvcHMkdHlwZSIsInR5cGUiLCJtYXhGcmFjdGlvbkRpZ2l0cyIsImNoaWxkcmVuIiwiX3Byb3BzJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJmb290bm90ZSIsImZvb3Rub3RlQ2xzIiwiY2xhc3NOYW1lIiwid3JhcHBlckNscyIsImxhYmVsQ2xzIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIm1lc3NhZ2VDbHMiLCJwcmVmaXhFbGVDbHMiLCJzdWZmaXhFbGVDbHMiLCJpbnZhbGlkIiwibmVnYXRpdmUiLCJyZXF1aXJlZCIsImxvYWRpbmciLCJzdWNjZXNzIiwiZGlzYWJsZWQiLCJyZWFkT25seSIsImxhYmVsIiwicHJlZml4Iiwic3VmZml4IiwiY3VycmVuY3kiLCJtZXNzYWdlIiwib25DaGFuZ2UiLCJvbkJsdXIiLCJvbkZvY3VzIiwicmVzdCIsImNsYXNzZXMiLCJjb25jYXQiLCJpbnB1dFJlZiIsImZha2VFbGVSZWYiLCJwcmVmaXhSZWYiLCJzdWZmaXhSZWYiLCJjdXJyZW5jeVJlZiIsImNvbnRhaW5lclJlZiIsImlucHV0Q2FyZXRQb3NpdGlvblJlZiIsImlnbm9yZVNlbGVjdFJlZiIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsIl92YWx1ZSIsInNldFZhbHVlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJfd2lkdGgiLCJzZXRXaWR0aCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNNYXhXaWR0aCIsInNldElzTWF4V2lkdGgiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImlzRm9jdXMiLCJzZXRJc0ZvY3VzIiwiZm9ybWF0dGVkVmFsdWUiLCJ0aG91c2FuZFNlcGFyYXRvciIsImFsbG93TmVnYXRpdmUiLCJ2YWx1ZVJlZiIsInNjcm9sbFRvRW5kIiwic3RpY2t5IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiX2EiLCJpbnB1dCIsImN1cnJlbnQiLCJsZW4iLCJwb3NpdGlvbiIsInNjcm9sbExlZnQiLCJzaG91bGRUb0VuZCIsInN0YXJ0Iiwic2V0U2VsZWN0aW9uUmFuZ2UiLCJzY3JvbGxXaWR0aCIsImZvY3VzIiwiY2FsY0NhcmV0UG9zIiwib2Zmc2V0IiwiY3VyclBvcyIsIl9iIiwiX2MiLCJfdmFsdWVSZWYkY3VycmVudCIsImZvcm1hdHRlZE5ld1ZhbCIsImlzQWRkIiwiaWdub3JlT2xkUG9zIiwic2VsZWN0aW9uU3RhcnQiLCJvbGRQb3NWYWwiLCJzbGljZSIsIk1hdGgiLCJzcGxpdCIsImpvaW4iLCJwb3NWYWwiLCJyZWR1Y2UiLCJhY2MiLCJjaGFyIiwiaW5kIiwicHVzaCIsImhhbmRsZUNoYW5nZSIsIl92YWx1ZVJlZiRjdXJyZW50MiIsInRhcmdldCIsImhhc0RlY2ltYWxQb2ludCIsImVuZHNXaXRoIiwiaW5jbHVkZXMiLCJpc1N0YW5kYWxvbmVNaW51cyIsIl92YWwkc3BsaXQiLCJfdmFsJHNwbGl0MiIsImludCIsImRlY2ltYWwiLCJOdW1iZXIiLCJfZm9ybWF0dGVkVmFsdWUkc3BsaXQiLCJfZm9ybWF0dGVkVmFsdWUkc3BsaXQyIiwib2xkSW50Iiwib2xkRGVjaW1hbCIsImRlY2ltYWxzIiwibWF0Y2giLCJibiIsIm5vcm1hbGl6ZWQiLCJ0b0ZpeGVkIiwidHJpbSIsInN0YXJ0c1dpdGgiLCJpc1plcm8iLCJoYW5kbGVTZWxlY3QiLCJfZCIsIl9lIiwiX2YiLCJfZyIsIl9oIiwiX2oiLCJfayIsImNvbnRhaW5lcldpZHRoIiwib2Zmc2V0V2lkdGgiLCJwcmVmaXhXaWR0aCIsInN1ZmZpeFdpZHRoIiwiY3VycmVuY3lXaWR0aCIsImZha2VXaWR0aCIsImdhcFdpZHRoIiwibWF4V2lkdGgiLCJpc01heCIsIl92YWx1ZVJlZiRjdXJyZW50MyIsImFicyIsInplcm8iLCJCaWdJbnQiLCJfc3BsaXQiLCJfc3BsaXQyIiwiX2Zvcm1hdHRlZFZhbHVlJHNwbGl0MyIsIl9mb3JtYXR0ZWRWYWx1ZSRzcGxpdDQiLCJzdHJWYWwiLCJyZXMiLCJvcmlnaW5PZmZzZXQiLCJpc0xpa2VLZXlib2FyZElucHV0IiwiZm9ybWF0dGVkT2Zmc2V0IiwiY29uc29sZSIsImluZm8iLCJ3aWR0aCIsImhlaWdodCIsInJlZiIsIm9uQ2xpY2siLCJIVE1MSW5wdXRFbGVtZW50IiwiYXNzaWduIiwic3R5bGUiLCJvblNlbGVjdCIsInN0cm9rZVdpZHRoIiwic3RvcFByb3BhZ2F0aW9uIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNs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USxJQUFJMUMsSUFBQSxDQUFBLEtBQUEsRUFBQTtRQUFLNEMsU0FBUyxFQUFFd0IsT0FBTyxDQUFDLFVBQVUsRUFBRXpCLFdBQVcsQ0FBQztRQUFBTixRQUFBLEVBQUdLO01BQVEsQ0FBQSxDQUFPO0lBQUEsQ0FBQSxDQUMzRTtFQUFBLENBQUEsQ0FFSjtBQUNSLENBQUM7QUFFRCw0QkFBZXZDLElBQUksQ0FBQzRCLFdBQVcsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL0lucHV0QW1vdW50L0lucHV0QW1vdW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZU1lbW8sIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUxheW91dEVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IG51bWVyaWNGb3JtYXR0ZXIgfSBmcm9tICdyZWFjdC1udW1iZXItZm9ybWF0JztcbmltcG9ydCB7IFNrZWxldG9uIH0gZnJvbSAncHJpbWVyZWFjdC9za2VsZXRvbic7XG5pbXBvcnQgU3Bpbm5lciBmcm9tICcuLi9TcGlubmVyJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuY29uc3QgTUlOX0lOUFVUX1dJRFRIID0gMzM7XG5jb25zdCBub3JtYWxpemVOdW1iZXJJbnB1dCA9ICh2YWwpID0+IHZhbFxuICAgIC5yZXBsYWNlKC9bXFx1MzAwMlxcdWZmMGVcXHVmZjYxXS9nLCAnLicpXG4gICAgLnJlcGxhY2UoL1tcXHVGRjBDXS9nLCAnLCcpO1xuY29uc3QgY2FsY1ZhbHVlSW5SYW5nZSA9ICh2YWwsIG1pbiwgbWF4KSA9PiB7XG4gICAgaWYgKHZhbCA9PT0gJycgfHwgdmFsID09PSAnLScgfHwgaXNOYU4oK3ZhbCkpXG4gICAgICAgIHJldHVybiB2YWw7XG4gICAgbGV0IGNhbGNWYWwgPSB2YWw7XG4gICAgY29uc3QgYm5WYWwgPSBCaWdOdW1iZXIodmFsKTtcbiAgICBpZiAodHlwZW9mIG1pbiA9PT0gJ251bWJlcicgfHwgdHlwZW9mIG1pbiA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgY29uc3QgbWluQm4gPSBCaWdOdW1iZXIobWluKTtcbiAgICAgICAgaWYgKGJuVmFsLmx0KG1pbkJuKSkge1xuICAgICAgICAgICAgY2FsY1ZhbCA9ICcnICsgbWluO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICh0eXBlb2YgbWF4ID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgbWF4ID09PSAnYmlnaW50Jykge1xuICAgICAgICBjb25zdCBtYXhCbiA9IEJpZ051bWJlcihtYXgpO1xuICAgICAgICBpZiAoYm5WYWwuZ3QobWF4Qm4pKSB7XG4gICAgICAgICAgICBjYWxjVmFsID0gJycgKyBtYXg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNhbGNWYWw7XG59O1xuZXhwb3J0IGNvbnN0IElucHV0QW1vdW50ID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgdmFsdWUsIHR5cGUgPSAncHJpbWFyeScsIG1heEZyYWN0aW9uRGlnaXRzLCBjaGlsZHJlbiwgcGxhY2Vob2xkZXIgPSAnMCcsIG1pbiwgbWF4LCBcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgc2l6ZSA9ICdsYXJnZScsIGZvb3Rub3RlLCBmb290bm90ZUNscywgY2xhc3NOYW1lLCB3cmFwcGVyQ2xzLCBsYWJlbENscywgcHJlZml4Q2xzID0gJ2lucHV0LWFtb3VudCcsIG1lc3NhZ2VDbHMsIHByZWZpeEVsZUNscywgc3VmZml4RWxlQ2xzLCBpbnZhbGlkLCBuZWdhdGl2ZSwgcmVxdWlyZWQsIGxvYWRpbmcsIHN1Y2Nlc3MsIGRpc2FibGVkLCByZWFkT25seSwgbGFiZWwsIHByZWZpeCwgc3VmZml4LCBjdXJyZW5jeSwgbWVzc2FnZSwgb25DaGFuZ2UsIG9uQmx1ciwgb25Gb2N1cyB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcInZhbHVlXCIsIFwidHlwZVwiLCBcIm1heEZyYWN0aW9uRGlnaXRzXCIsIFwiY2hpbGRyZW5cIiwgXCJwbGFjZWhvbGRlclwiLCBcIm1pblwiLCBcIm1heFwiLCBcInNpemVcIiwgXCJmb290bm90ZVwiLCBcImZvb3Rub3RlQ2xzXCIsIFwiY2xhc3NOYW1lXCIsIFwid3JhcHBlckNsc1wiLCBcImxhYmVsQ2xzXCIsIFwicHJlZml4Q2xzXCIsIFwibWVzc2FnZUNsc1wiLCBcInByZWZpeEVsZUNsc1wiLCBcInN1ZmZpeEVsZUNsc1wiLCBcImludmFsaWRcIiwgXCJuZWdhdGl2ZVwiLCBcInJlcXVpcmVkXCIsIFwibG9hZGluZ1wiLCBcInN1Y2Nlc3NcIiwgXCJkaXNhYmxlZFwiLCBcInJlYWRPbmx5XCIsIFwibGFiZWxcIiwgXCJwcmVmaXhcIiwgXCJzdWZmaXhcIiwgXCJjdXJyZW5jeVwiLCBcIm1lc3NhZ2VcIiwgXCJvbkNoYW5nZVwiLCBcIm9uQmx1clwiLCBcIm9uRm9jdXNcIl0pO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKGAke3ByZWZpeENsc30tJHt0eXBlfWApO1xuICAgIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGZha2VFbGVSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgcHJlZml4UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHN1ZmZpeFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBjdXJyZW5jeVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaW5wdXRDYXJldFBvc2l0aW9uUmVmID0gdXNlUmVmKDApO1xuICAgIGNvbnN0IGlnbm9yZVNlbGVjdFJlZiA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgW192YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW193aWR0aCwgc2V0V2lkdGhdID0gdXNlU3RhdGUoTUlOX0lOUFVUX1dJRFRIKTtcbiAgICBjb25zdCBbaXNNYXhXaWR0aCwgc2V0SXNNYXhXaWR0aF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2lzRm9jdXMsIHNldElzRm9jdXNdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IGZvcm1hdHRlZFZhbHVlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiBudW1lcmljRm9ybWF0dGVyKCcnICsgKF92YWx1ZSA9PSBudWxsID8gJycgOiBfdmFsdWUpLCB7XG4gICAgICAgICAgICB0aG91c2FuZFNlcGFyYXRvcjogdHJ1ZSxcbiAgICAgICAgICAgIGFsbG93TmVnYXRpdmU6IG5lZ2F0aXZlLFxuICAgICAgICB9KTtcbiAgICB9LCBbX3ZhbHVlLCBuZWdhdGl2ZV0pO1xuICAgIGNvbnN0IHZhbHVlUmVmID0gdXNlUmVmKHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIF92YWx1ZSxcbiAgICAgICAgZm9ybWF0dGVkVmFsdWUsXG4gICAgICAgIG1pbixcbiAgICAgICAgbWF4LFxuICAgICAgICBuZWdhdGl2ZSxcbiAgICAgICAgbWF4RnJhY3Rpb25EaWdpdHMsXG4gICAgfSk7XG4gICAgY29uc3Qgc2Nyb2xsVG9FbmQgPSB1c2VDYWxsYmFjaygoc3RpY2t5ID0gZmFsc2UpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBjb25zdCBpbnB1dCA9IGlucHV0UmVmLmN1cnJlbnQ7XG4gICAgICAgIGlmICghaW5wdXQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGxlbiA9IChfYSA9IGlucHV0LnZhbHVlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubGVuZ3RoO1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IGlucHV0LnNjcm9sbExlZnQ7XG4gICAgICAgIGNvbnN0IHNob3VsZFRvRW5kID0gIXN0aWNreTtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBzaG91bGRUb0VuZCA/IGxlbiA6IGlucHV0Q2FyZXRQb3NpdGlvblJlZi5jdXJyZW50O1xuICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShzdGFydCwgc3RhcnQpO1xuICAgICAgICBpbnB1dC5zY3JvbGxMZWZ0ID0gc2hvdWxkVG9FbmQgPyBpbnB1dC5zY3JvbGxXaWR0aCA6IHBvc2l0aW9uO1xuICAgICAgICBpbnB1dC5mb2N1cygpO1xuICAgIH0sIFtdKTtcbiAgICBjb25zdCBjYWxjQ2FyZXRQb3MgPSB1c2VDYWxsYmFjaygodmFsLCBvZmZzZXQgPSAwLCBjdXJyUG9zKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICBpZiAoaW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgY29uc3QgeyBfdmFsdWUsIGZvcm1hdHRlZFZhbHVlIH0gPSB2YWx1ZVJlZi5jdXJyZW50O1xuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkTmV3VmFsID0gbnVtZXJpY0Zvcm1hdHRlcih2YWwsIHtcbiAgICAgICAgICAgICAgICB0aG91c2FuZFNlcGFyYXRvcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBhbGxvd05lZ2F0aXZlOiBuZWdhdGl2ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgaXNBZGQgPSB2YWwubGVuZ3RoID4gKChfYSA9IF92YWx1ZSA9PT0gbnVsbCB8fCBfdmFsdWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF92YWx1ZS5sZW5ndGgpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDApO1xuICAgICAgICAgICAgY29uc3QgaWdub3JlT2xkUG9zID0gaXNBZGQgPyB2YWwubGVuZ3RoIC0gKChfYiA9IF92YWx1ZSA9PT0gbnVsbCB8fCBfdmFsdWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF92YWx1ZS5sZW5ndGgpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDApID4gMSA6IGZhbHNlO1xuICAgICAgICAgICAgbGV0IHBvc2l0aW9uID0gKF9jID0gY3VyclBvcyAhPT0gbnVsbCAmJiBjdXJyUG9zICE9PSB2b2lkIDAgPyBjdXJyUG9zIDogaW5wdXRSZWYuY3VycmVudC5zZWxlY3Rpb25TdGFydCkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogMDtcbiAgICAgICAgICAgIGlmICghaWdub3JlT2xkUG9zKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2xkUG9zVmFsID0gZm9ybWF0dGVkVmFsdWUuc2xpY2UoMCwgTWF0aC5tYXgoKHBvc2l0aW9uIC0gKGlzQWRkID8gMSA6IC0xKSksIDApKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbiA9IG9sZFBvc1ZhbC5zcGxpdCgnLCcpLmpvaW4oJycpLmxlbmd0aCArIChpc0FkZCA/IDEgOiAtMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBwb3NWYWwgPSB2YWwuc2xpY2UoMCwgcG9zaXRpb24pO1xuICAgICAgICAgICAgZm9ybWF0dGVkTmV3VmFsLnNwbGl0KCcnKS5yZWR1Y2UoKGFjYywgY2hhciwgaW5kKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNoYXIgPT09ICcsJylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGFjYy5wdXNoKGNoYXIpO1xuICAgICAgICAgICAgICAgIGlmIChhY2Muam9pbignJykgPT09IHBvc1ZhbCkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiA9IGluZCArIDE7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgICAgICBpbnB1dENhcmV0UG9zaXRpb25SZWYuY3VycmVudCA9IHBvc2l0aW9uICsgb2Zmc2V0O1xuICAgICAgICB9XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKChlKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICBpZiAoZGlzYWJsZWQgfHwgcmVhZE9ubHkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IHsgdmFsdWUsIF92YWx1ZSwgZm9ybWF0dGVkVmFsdWUsIG1pbiwgbWF4LCBuZWdhdGl2ZSwgbWF4RnJhY3Rpb25EaWdpdHMgfSA9IHZhbHVlUmVmLmN1cnJlbnQ7XG4gICAgICAgIGxldCB2YWwgPSBlLnRhcmdldC52YWx1ZTtcbiAgICAgICAgaWYgKHZhbCAhPSBudWxsKVxuICAgICAgICAgICAgdmFsID0gbm9ybWFsaXplTnVtYmVySW5wdXQodmFsKS5zcGxpdCgnLCcpLmpvaW4oJycpO1xuICAgICAgICBjb25zdCBoYXNEZWNpbWFsUG9pbnQgPSAhIXZhbCAmJiB2YWwuZW5kc1dpdGgoJy4nKTtcbiAgICAgICAgaWYgKGhhc0RlY2ltYWxQb2ludClcbiAgICAgICAgICAgIHZhbCA9IHZhbC5zbGljZSgwLCAtMSk7XG4gICAgICAgIGlmICghbmVnYXRpdmUgJiYgKHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHZhbC5pbmNsdWRlcygnLScpKSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgaXNTdGFuZGFsb25lTWludXMgPSBuZWdhdGl2ZSAmJiB2YWwgPT09ICctJztcbiAgICAgICAgaWYgKCFpc1N0YW5kYWxvbmVNaW51cyAmJiBpc05hTigrdmFsKSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKHZhbCA9PT0gX3ZhbHVlICYmICFoYXNEZWNpbWFsUG9pbnQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmICh0eXBlb2YgbWF4RnJhY3Rpb25EaWdpdHMgPT09ICdudW1iZXInIHx8IHR5cGVvZiBtYXhGcmFjdGlvbkRpZ2l0cyA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgICAgIGNvbnN0IFtpbnQsIGRlY2ltYWxdID0gdmFsLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICBpZiAoZGVjaW1hbCAhPSBudWxsICYmIGRlY2ltYWwubGVuZ3RoID4gTnVtYmVyKG1heEZyYWN0aW9uRGlnaXRzKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFtvbGRJbnQsIG9sZERlY2ltYWxdID0gZm9ybWF0dGVkVmFsdWUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgICAgICBpZiAob2xkSW50LnNwbGl0KCcsJykuam9pbignJykgPT0gaW50KVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgdmFsID0gYCR7aW50fS4ke29sZERlY2ltYWx9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKCh0eXBlb2YgbWluID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgbWluID09PSAnYmlnaW50JykgfHwgKHR5cGVvZiBtYXggPT09ICdudW1iZXInIHx8IHR5cGVvZiBtYXggPT09ICdiaWdpbnQnKSkge1xuICAgICAgICAgICAgICAgIHZhbCA9IGNhbGNWYWx1ZUluUmFuZ2UodmFsLCBtaW4sIG1heCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodmFsID09PSAnJykge1xuICAgICAgICAgICAgICAgIHNldFZhbHVlKG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXNTdGFuZGFsb25lTWludXMpIHtcbiAgICAgICAgICAgICAgICBzZXRWYWx1ZSgnLScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVjaW1hbHMgPSAoX2MgPSAoX2IgPSAoX2EgPSB2YWwubWF0Y2goL1xcLihcXGQrKSQvKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hWzFdKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubGVuZ3RoKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAwO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJuID0gQmlnTnVtYmVyKHZhbCk7XG4gICAgICAgICAgICAgICAgbGV0IG5vcm1hbGl6ZWQgPSBibi50b0ZpeGVkKGRlY2ltYWxzKTtcbiAgICAgICAgICAgICAgICBpZiAobmVnYXRpdmUgJiYgdmFsLnRyaW0oKS5zdGFydHNXaXRoKCctJykgJiYgYm4uaXNaZXJvKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZWQuc3RhcnRzV2l0aCgnLScpID8gbm9ybWFsaXplZCA6IGAtJHtub3JtYWxpemVkfWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNldFZhbHVlKGAke25vcm1hbGl6ZWR9JHtoYXNEZWNpbWFsUG9pbnQgPyAnLicgOiAnJ31gLnRyaW0oKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYWxjQ2FyZXRQb3ModmFsLCBoYXNEZWNpbWFsUG9pbnQgPyAyIDogMCk7XG4gICAgICAgICAgICBpZ25vcmVTZWxlY3RSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGUpO1xuICAgIH0sIFtvbkNoYW5nZSwgZGlzYWJsZWQsIHJlYWRPbmx5XSk7XG4gICAgY29uc3QgaGFuZGxlU2VsZWN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChpZ25vcmVTZWxlY3RSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgaWdub3JlU2VsZWN0UmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyUG9zID0gKF9hID0gaW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNlbGVjdGlvblN0YXJ0O1xuICAgICAgICBpZiAodHlwZW9mIGN1cnJQb3MgPT09ICdudW1iZXInKVxuICAgICAgICAgICAgaW5wdXRDYXJldFBvc2l0aW9uUmVmLmN1cnJlbnQgPSBjdXJyUG9zO1xuICAgIH0sIFtdKTtcbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lLCBfZiwgX2csIF9oLCBfaiwgX2s7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gKF9iID0gKF9hID0gY29udGFpbmVyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogTUlOX0lOUFVUX1dJRFRIO1xuICAgICAgICBjb25zdCBwcmVmaXhXaWR0aCA9IChfZCA9IChfYyA9IHByZWZpeFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Mub2Zmc2V0V2lkdGgpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDA7XG4gICAgICAgIGNvbnN0IHN1ZmZpeFdpZHRoID0gKF9mID0gKF9lID0gc3VmZml4UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9lID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZS5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2YgIT09IHZvaWQgMCA/IF9mIDogMDtcbiAgICAgICAgY29uc3QgY3VycmVuY3lXaWR0aCA9IChfaCA9IChfZyA9IGN1cnJlbmN5UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9nID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZy5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2ggIT09IHZvaWQgMCA/IF9oIDogMDtcbiAgICAgICAgY29uc3QgZmFrZVdpZHRoID0gKF9rID0gKF9qID0gZmFrZUVsZVJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfaiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2oub2Zmc2V0V2lkdGgpICE9PSBudWxsICYmIF9rICE9PSB2b2lkIDAgPyBfayA6IDA7XG4gICAgICAgIGNvbnN0IGdhcFdpZHRoID0gcHJlZml4V2lkdGggJiYgc3VmZml4V2lkdGggJiYgY3VycmVuY3lXaWR0aFxuICAgICAgICAgICAgPyAyNFxuICAgICAgICAgICAgOiAocHJlZml4V2lkdGggJiYgc3VmZml4V2lkdGgpIHx8IChwcmVmaXhXaWR0aCAmJiBjdXJyZW5jeVdpZHRoKSB8fCAoc3VmZml4V2lkdGggJiYgY3VycmVuY3lXaWR0aClcbiAgICAgICAgICAgICAgICA/IDE2XG4gICAgICAgICAgICAgICAgOiBwcmVmaXhXaWR0aCB8fCBzdWZmaXhXaWR0aCB8fCBjdXJyZW5jeVdpZHRoXG4gICAgICAgICAgICAgICAgICAgID8gOFxuICAgICAgICAgICAgICAgICAgICA6IDA7XG4gICAgICAgIGNvbnN0IG1heFdpZHRoID0gY29udGFpbmVyV2lkdGggLSBwcmVmaXhXaWR0aCAtIHN1ZmZpeFdpZHRoIC0gY3VycmVuY3lXaWR0aCAtIGdhcFdpZHRoO1xuICAgICAgICBjb25zdCBpc01heCA9IGZha2VXaWR0aCA+PSBtYXhXaWR0aDtcbiAgICAgICAgc2V0V2lkdGgoTWF0aC5taW4obWF4V2lkdGgsIE1hdGgubWF4KGZha2VXaWR0aCwgTUlOX0lOUFVUX1dJRFRIKSkpO1xuICAgICAgICBzZXRJc01heFdpZHRoKGlzTWF4KTtcbiAgICAgICAgaWYgKGlzRm9jdXMpXG4gICAgICAgICAgICBzY3JvbGxUb0VuZCh0cnVlKTtcbiAgICB9LCBbX3ZhbHVlLCBwcmVmaXgsIHN1ZmZpeCwgY3VycmVuY3ksIGlzRm9jdXNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAvLyBjbGVhciBuZWdhdGl2ZSBzaWduIGlmIG5vdCBhbGxvd2VkXG4gICAgICAgIGlmIChuZWdhdGl2ZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmIChfdmFsdWUgPT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKF92YWx1ZSA9PT0gJy0nKSB7XG4gICAgICAgICAgICBzZXRWYWx1ZShudWxsKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoX3ZhbHVlLnN0YXJ0c1dpdGgoJy0nKSlcbiAgICAgICAgICAgIHNldFZhbHVlKF92YWx1ZS5zbGljZSgxKSk7XG4gICAgfSwgW25lZ2F0aXZlLCB2YWx1ZSwgX3ZhbHVlXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZTtcbiAgICAgICAgbGV0IHZhbCA9IHZhbHVlO1xuICAgICAgICBsZXQgaGFzRGVjaW1hbFBvaW50ID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IHsgX3ZhbHVlLCBmb3JtYXR0ZWRWYWx1ZSB9ID0gdmFsdWVSZWYuY3VycmVudDtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAodmFsID09PSAnJykge1xuICAgICAgICAgICAgICAgIHZhbCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBub3JtYWxpemVOdW1iZXJJbnB1dCh2YWwpLnNwbGl0KCcsJykuam9pbignJyk7XG4gICAgICAgICAgICAgICAgaGFzRGVjaW1hbFBvaW50ID0gISF2YWwgJiYgdmFsLmVuZHNXaXRoKCcuJyk7XG4gICAgICAgICAgICAgICAgaWYgKGhhc0RlY2ltYWxQb2ludClcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gdmFsLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgICAgICAgICBpZiAoIW5lZ2F0aXZlKVxuICAgICAgICAgICAgICAgICAgICB2YWwgPSB2YWwucmVwbGFjZSgvLS9nLCAnJyk7XG4gICAgICAgICAgICAgICAgaWYgKG5lZ2F0aXZlICYmIHZhbCA9PT0gJy0nKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFZhbHVlKCctJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzTmFOKCt2YWwpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodmFsICE9PSBudWxsICYmIHR5cGVvZiB2YWwgIT09ICdudW1iZXInICYmIHR5cGVvZiB2YWwgIT09ICdiaWdpbnQnKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoIW5lZ2F0aXZlKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBNYXRoLmFicyh2YWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB6ZXJvID0gQmlnSW50KDApO1xuICAgICAgICAgICAgICAgIHZhbCA9IHZhbCA8IHplcm8gPyAtdmFsIDogdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICgodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpICYmICh0eXBlb2YgbWF4RnJhY3Rpb25EaWdpdHMgPT09ICdudW1iZXInIHx8IHR5cGVvZiBtYXhGcmFjdGlvbkRpZ2l0cyA9PT0gJ2JpZ2ludCcpKSB7XG4gICAgICAgICAgICBjb25zdCBbaW50LCBkZWNpbWFsXSA9ICgnJyArIHZhbCkuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGlmIChkZWNpbWFsICE9IG51bGwgJiYgZGVjaW1hbC5sZW5ndGggPiBOdW1iZXIobWF4RnJhY3Rpb25EaWdpdHMpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgW29sZEludCwgb2xkRGVjaW1hbF0gPSBmb3JtYXR0ZWRWYWx1ZS5zcGxpdCgnLicpO1xuICAgICAgICAgICAgICAgIGlmIChvbGRJbnQuc3BsaXQoJywnKS5qb2luKCcnKSA9PSBpbnQpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB2YWwgPSBgJHtpbnR9LiR7b2xkRGVjaW1hbH1gO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdmFsID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsID09PSAnYmlnaW50Jykge1xuICAgICAgICAgICAgdmFsID0gY2FsY1ZhbHVlSW5SYW5nZSgnJyArIHZhbCwgbWluLCBtYXgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWwgPT09ICcnIHx8IHZhbCA9PSBudWxsKSB7XG4gICAgICAgICAgICBzZXRWYWx1ZShudWxsKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHN0clZhbCA9ICcnICsgdmFsO1xuICAgICAgICAgICAgY29uc3QgZGVjaW1hbHMgPSAoX2MgPSAoX2IgPSAoX2EgPSBzdHJWYWwubWF0Y2goL1xcLihcXGQrKSQvKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hWzFdKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubGVuZ3RoKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAwO1xuICAgICAgICAgICAgY29uc3QgYm4gPSBCaWdOdW1iZXIoc3RyVmFsKTtcbiAgICAgICAgICAgIGxldCBub3JtYWxpemVkID0gYm4udG9GaXhlZChkZWNpbWFscyk7XG4gICAgICAgICAgICBpZiAobmVnYXRpdmUgJiYgc3RyVmFsLnRyaW0oKS5zdGFydHNXaXRoKCctJykgJiYgYm4uaXNaZXJvKCkpIHtcbiAgICAgICAgICAgICAgICBub3JtYWxpemVkID0gbm9ybWFsaXplZC5zdGFydHNXaXRoKCctJykgPyBub3JtYWxpemVkIDogYC0ke25vcm1hbGl6ZWR9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IGAke25vcm1hbGl6ZWR9JHtoYXNEZWNpbWFsUG9pbnQgPyAnLicgOiAnJ31gLnRyaW0oKTtcbiAgICAgICAgICAgIHNldFZhbHVlKHJlcyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3JpZ2luT2Zmc2V0ID0gKChfZCA9IHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHZhbC5sZW5ndGgpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDApIC0gKChfZSA9IF92YWx1ZSA9PT0gbnVsbCB8fCBfdmFsdWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF92YWx1ZS5sZW5ndGgpICE9PSBudWxsICYmIF9lICE9PSB2b2lkIDAgPyBfZSA6IDApO1xuICAgICAgICBjb25zdCBpc0xpa2VLZXlib2FyZElucHV0ID0gb3JpZ2luT2Zmc2V0ID09PSAxIHx8IG9yaWdpbk9mZnNldCA9PT0gLTE7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZE9mZnNldCA9IG51bWVyaWNGb3JtYXR0ZXIodmFsICE9PSBudWxsICYmIHZhbCAhPT0gdm9pZCAwID8gdmFsIDogJycsIHtcbiAgICAgICAgICAgIHRob3VzYW5kU2VwYXJhdG9yOiB0cnVlLFxuICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZTogbmVnYXRpdmUsXG4gICAgICAgIH0pLmxlbmd0aCAtIGZvcm1hdHRlZFZhbHVlLmxlbmd0aDtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gTWF0aC5tYXgoIWlzTGlrZUtleWJvYXJkSW5wdXQgPyBmb3JtYXR0ZWRPZmZzZXQgOiBvcmlnaW5PZmZzZXQsIDApICsgKGhhc0RlY2ltYWxQb2ludCA/IG9yaWdpbk9mZnNldCA8IDAgPyAzIDogMiA6IDApO1xuICAgICAgICBjb25zb2xlLmluZm8oJ29mZnNldCcsIG9mZnNldCk7XG4gICAgICAgIGNvbnNvbGUuaW5mbygnb3JpZ2luT2Zmc2V0Jywgb3JpZ2luT2Zmc2V0KTtcbiAgICAgICAgY29uc29sZS5pbmZvKCdmb3JtYXR0ZWRPZmZzZXQnLCBmb3JtYXR0ZWRPZmZzZXQpO1xuICAgICAgICBjb25zb2xlLmluZm8oJ2lzTGlrZUtleWJvYXJkSW5wdXQnLCBpc0xpa2VLZXlib2FyZElucHV0KTtcbiAgICAgICAgY29uc29sZS5pbmZvKCdpbnB1dENhcmV0UG9zaXRpb25SZWYuY3VycmVudCcsIGlucHV0Q2FyZXRQb3NpdGlvblJlZi5jdXJyZW50KTtcbiAgICAgICAgY2FsY0NhcmV0UG9zKHZhbCAhPT0gbnVsbCAmJiB2YWwgIT09IHZvaWQgMCA/IHZhbCA6ICcnLCBvZmZzZXQsIE1hdGgubWF4KGlucHV0Q2FyZXRQb3NpdGlvblJlZi5jdXJyZW50LCAwKSk7XG4gICAgICAgIGlnbm9yZVNlbGVjdFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICB9LCBbdmFsdWUsIG1heEZyYWN0aW9uRGlnaXRzLCBtaW4sIG1heCwgbmVnYXRpdmVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YWx1ZVJlZi5jdXJyZW50ID0ge1xuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBfdmFsdWUsXG4gICAgICAgICAgICBmb3JtYXR0ZWRWYWx1ZSxcbiAgICAgICAgICAgIG1pbixcbiAgICAgICAgICAgIG1heCxcbiAgICAgICAgICAgIG5lZ2F0aXZlLFxuICAgICAgICAgICAgbWF4RnJhY3Rpb25EaWdpdHNcbiAgICAgICAgfTtcbiAgICB9LCBbX3ZhbHVlLCB2YWx1ZSwgZm9ybWF0dGVkVmFsdWUsIG1pbiwgbWF4LCBuZWdhdGl2ZSwgbWF4RnJhY3Rpb25EaWdpdHNdKTtcbiAgICByZXR1cm4gX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3dyYXBwZXInLCBqb2luQ2xzKHdyYXBwZXJDbHMsIGNsYXNzZXMoc2l6ZSksIGludmFsaWQgJiYgY2xhc3NlcygnaW52YWxpZCcpLCBzdWNjZXNzICYmIGNsYXNzZXMoJ3N1Y2Nlc3MnKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygnZGlzYWJsZWQnKSwgcmVhZE9ubHkgJiYgY2xhc3NlcygncmVhZG9ubHknKSwgX3ZhbHVlICYmIGNsYXNzZXMoJ2ZpbGxlZCcpKSksIGNoaWxkcmVuOiBbbGFiZWxcbiAgICAgICAgICAgICAgICA/IGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgPyBfanN4KFNrZWxldG9uLCB7IHdpZHRoOiAnNzJweCcsIGhlaWdodDogJzE4cHgnLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2xhYmVsLWxvYWRpbmcnKSB9KVxuICAgICAgICAgICAgICAgICAgICA6IF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbCcsIGpvaW5DbHMocmVxdWlyZWQgJiYgY2xhc3NlcygnbGFiZWwtcmVxdWlyZWQnKSwgbGFiZWxDbHMpKSwgY2hpbGRyZW46IGxhYmVsIH0pXG4gICAgICAgICAgICAgICAgOiBudWxsLCBfanN4cyhcImRpdlwiLCB7IHJlZjogY29udGFpbmVyUmVmLCBjbGFzc05hbWU6IGNsYXNzZXModm9pZCAwLCBqb2luQ2xzKGNsYXNzTmFtZSwgaXNGb2N1cyAmJiBjbGFzc2VzKCdmb2N1cycpKSksIG9uQ2xpY2s6IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgKF9hID0gaW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc01heFdpZHRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9FbmQoKTtcbiAgICAgICAgICAgICAgICB9LCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IHJlZjogcHJlZml4UmVmLCBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcsIHByZWZpeEVsZUNscyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2VsZW1lbnQnLCAoIWlzRm9jdXMgJiYgaXNNYXhXaWR0aCkgPyBjbGFzc2VzKCdlbGVtZW50LW1heCcpIDogJycpLCBjaGlsZHJlbjogX2pzeChcImlucHV0XCIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcmVmOiBpbnB1dFJlZiwgdmFsdWU6IGZvcm1hdHRlZFZhbHVlLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIHJlYWRPbmx5OiByZWFkT25seSwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzdHlsZTogeyAnLS1pbnB1dC13aWR0aCc6IGAke193aWR0aH1weGAgfSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgb25TZWxlY3Q6IGhhbmRsZVNlbGVjdCwgb25Gb2N1czogZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldElzRm9jdXModHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRm9jdXMgPT09IG51bGwgfHwgb25Gb2N1cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25Gb2N1cyhlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBvbkJsdXI6IGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRJc0ZvY3VzKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gfSkpIH0pLCBjdXJyZW5jeSAmJiBfanN4KFwic3BhblwiLCB7IHJlZjogY3VycmVuY3lSZWYsIGNsYXNzTmFtZTogY2xhc3NlcygnY3VycmVuY3knKSwgY2hpbGRyZW46IGN1cnJlbmN5IH0pLCBsb2FkaW5nID8gX2pzeChTcGlubmVyLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc3VmZml4LWxvYWRpbmcnKSwgc3Ryb2tlV2lkdGg6ICc0JyB9KSA6IHN1ZmZpeCA/IF9qc3goXCJzcGFuXCIsIHsgcmVmOiBzdWZmaXhSZWYsIGNsYXNzTmFtZTogY2xhc3Nlcygnc3VmZml4Jywgc3VmZml4RWxlQ2xzKSwgY2hpbGRyZW46IHN1ZmZpeCB9KSA6IG51bGwsIF9qc3goXCJzcGFuXCIsIHsgcmVmOiBmYWtlRWxlUmVmLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2Zha2UnKSwgb25DbGljazogZSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpLCBjaGlsZHJlbjogZm9ybWF0dGVkVmFsdWUgfSldIH0pLCAobWVzc2FnZSB8fCBmb290bm90ZSkgJiYgX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2V4dHJhJyksIGNoaWxkcmVuOiBbbWVzc2FnZSAmJiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdtZXNzYWdlJywgbWVzc2FnZUNscyksIGNoaWxkcmVuOiBtZXNzYWdlIH0pLCBmb290bm90ZSAmJiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdmb290bm90ZScsIGZvb3Rub3RlQ2xzKSwgY2hpbGRyZW46IGZvb3Rub3RlIH0pXSB9KV0gfSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhJbnB1dEFtb3VudCk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
412
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXRBbW91bnQvSW5wdXRBbW91bnQuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0lucHV0QW1vdW50L0lucHV0QW1vdW50LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwidXNlTWVtbyIsInVzZVN0YXRlIiwidXNlQ2FsbGJhY2siLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJ1c2VMYXlvdXRFZmZlY3QiLCJCaWdOdW1iZXIiLCJudW1lcmljRm9ybWF0dGVyIiwiU2tlbGV0b24iLCJTcGlubmVyIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJqb2luQ2xzIiwiTUlOX0lOUFVUX1dJRFRIIiwibm9ybWFsaXplTnVtYmVySW5wdXQiLCJ2YWwiLCJyZXBsYWNlIiwiY2FsY1ZhbHVlSW5SYW5nZSIsIm1pbiIsIm1heCIsImlzTmFOIiwiY2FsY1ZhbCIsImJuVmFsIiwibWluQm4iLCJsdCIsIm1heEJuIiwiZ3QiLCJJbnB1dEFtb3VudCIsInByb3BzIiwidmFsdWUiLCJfcHJvcHMkdHlwZSIsInR5cGUiLCJtYXhGcmFjdGlvbkRpZ2l0cyIsImNoaWxkcmVuIiwiX3Byb3BzJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfcHJvcHMkc2l6ZSIsInNpemUiLCJmb290bm90ZSIsImZvb3Rub3RlQ2xzIiwiY2xhc3NOYW1lIiwid3JhcHBlckNscyIsImxhYmVsQ2xzIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIm1lc3NhZ2VDbHMiLCJwcmVmaXhFbGVDbHMiLCJzdWZmaXhFbGVDbHMiLCJpbnZhbGlkIiwibmVnYXRpdmUiLCJyZXF1aXJlZCIsImxvYWRpbmciLCJzdWNjZXNzIiwiZGlzYWJsZWQiLCJyZWFkT25seSIsImxhYmVsIiwicHJlZml4Iiwic3VmZml4IiwiY3VycmVuY3kiLCJtZXNzYWdlIiwib25DaGFuZ2UiLCJvbkJsdXIiLCJvbkZvY3VzIiwicmVzdCIsImNsYXNzZXMiLCJjb25jYXQiLCJpbnB1dFJlZiIsImZha2VFbGVSZWYiLCJwcmVmaXhSZWYiLCJzdWZmaXhSZWYiLCJjdXJyZW5jeVJlZiIsImNvbnRhaW5lclJlZiIsImlucHV0Q2FyZXRQb3NpdGlvblJlZiIsImlnbm9yZVNlbGVjdFJlZiIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsIl92YWx1ZSIsInNldFZhbHVlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJfd2lkdGgiLCJzZXRXaWR0aCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNNYXhXaWR0aCIsInNldElzTWF4V2lkdGgiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImlzRm9jdXMiLCJzZXRJc0ZvY3VzIiwiZm9ybWF0dGVkVmFsdWUiLCJ0aG91c2FuZFNlcGFyYXRvciIsImFsbG93TmVnYXRpdmUiLCJ2YWx1ZVJlZiIsInNjcm9sbFRvRW5kIiwic3RpY2t5IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiX2EiLCJpbnB1dCIsImN1cnJlbnQiLCJsZW4iLCJwb3NpdGlvbiIsInNjcm9sbExlZnQiLCJzaG91bGRUb0VuZCIsInN0YXJ0Iiwic2V0U2VsZWN0aW9uUmFuZ2UiLCJzY3JvbGxXaWR0aCIsImZvY3VzIiwiY2FsY0NhcmV0UG9zIiwib2Zmc2V0IiwiY3VyclBvcyIsIl9iIiwiX2MiLCJfdmFsdWVSZWYkY3VycmVudCIsImZvcm1hdHRlZE5ld1ZhbCIsImlzQWRkIiwiaWdub3JlT2xkUG9zIiwic2VsZWN0aW9uU3RhcnQiLCJvbGRQb3NWYWwiLCJzbGljZSIsIk1hdGgiLCJzcGxpdCIsImpvaW4iLCJwb3NWYWwiLCJyZWR1Y2UiLCJhY2MiLCJjaGFyIiwiaW5kIiwicHVzaCIsImhhbmRsZUNoYW5nZSIsIl92YWx1ZVJlZiRjdXJyZW50MiIsInRhcmdldCIsImhhc0RlY2ltYWxQb2ludCIsImVuZHNXaXRoIiwiaW5jbHVkZXMiLCJpc1N0YW5kYWxvbmVNaW51cyIsIl92YWwkc3BsaXQiLCJfdmFsJHNwbGl0MiIsImludCIsImRlY2ltYWwiLCJOdW1iZXIiLCJfZm9ybWF0dGVkVmFsdWUkc3BsaXQiLCJfZm9ybWF0dGVkVmFsdWUkc3BsaXQyIiwib2xkSW50Iiwib2xkRGVjaW1hbCIsImRlY2ltYWxzIiwibWF0Y2giLCJibiIsIm5vcm1hbGl6ZWQiLCJ0b0ZpeGVkIiwidHJpbSIsInN0YXJ0c1dpdGgiLCJpc1plcm8iLCJoYW5kbGVTZWxlY3QiLCJfZCIsIl9lIiwiX2YiLCJfZyIsIl9oIiwiX2oiLCJfayIsImNvbnRhaW5lcldpZHRoIiwib2Zmc2V0V2lkdGgiLCJwcmVmaXhXaWR0aCIsInN1ZmZpeFdpZHRoIiwiY3VycmVuY3lXaWR0aCIsImZha2VXaWR0aCIsImdhcFdpZHRoIiwibWF4V2lkdGgiLCJpc01heCIsIl92YWx1ZVJlZiRjdXJyZW50MyIsImFicyIsInplcm8iLCJCaWdJbnQiLCJfc3BsaXQiLCJfc3BsaXQyIiwiX2Zvcm1hdHRlZFZhbHVlJHNwbGl0MyIsIl9mb3JtYXR0ZWRWYWx1ZSRzcGxpdDQiLCJzdHJWYWwiLCJyZXMiLCJvcmlnaW5PZmZzZXQiLCJpc0xpa2VLZXlib2FyZElucHV0IiwiZm9ybWF0dGVkT2Zmc2V0IiwiY29uc29sZSIsImluZm8iLCJ3aWR0aCIsImhlaWdodCIsInJlZiIsIm9uQ2xpY2siLCJIVE1MSW5wdXRFbGVtZW50IiwiYXNzaWduIiwic3R5bGUiLCJvblNlbGVjdCIsInN0cm9rZVdpZHRoIiwic3RvcFByb3BhZ2F0aW9uIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNs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TyxFQUMxRXJCLFFBQVEsSUFBSTFDLElBQUEsQ0FBQSxLQUFBLEVBQUE7UUFBSzRDLFNBQVMsRUFBRXdCLE9BQU8sQ0FBQyxVQUFVLEVBQUV6QixXQUFXLENBQUM7UUFBQU4sUUFBQSxFQUFHSztNQUFRLENBQUEsQ0FBTztJQUFBLENBQUEsQ0FDM0U7RUFBQSxDQUFBLENBRUo7QUFDUixDQUFDO0FBRUQsNEJBQWV2QyxJQUFJLENBQUM0QixXQUFXLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9JbnB1dEFtb3VudC9JbnB1dEFtb3VudC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZVJlZiwgdXNlRWZmZWN0LCB1c2VMYXlvdXRFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBudW1lcmljRm9ybWF0dGVyIH0gZnJvbSAncmVhY3QtbnVtYmVyLWZvcm1hdCc7XG5pbXBvcnQgeyBTa2VsZXRvbiB9IGZyb20gJ3ByaW1lcmVhY3Qvc2tlbGV0b24nO1xuaW1wb3J0IFNwaW5uZXIgZnJvbSAnLi4vU3Bpbm5lcic7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmNvbnN0IE1JTl9JTlBVVF9XSURUSCA9IDMzO1xuY29uc3Qgbm9ybWFsaXplTnVtYmVySW5wdXQgPSAodmFsKSA9PiB2YWxcbiAgICAucmVwbGFjZSgvW1xcdTMwMDJcXHVmZjBlXFx1ZmY2MV0vZywgJy4nKVxuICAgIC5yZXBsYWNlKC9bXFx1RkYwQ10vZywgJywnKTtcbmNvbnN0IGNhbGNWYWx1ZUluUmFuZ2UgPSAodmFsLCBtaW4sIG1heCkgPT4ge1xuICAgIGlmICh2YWwgPT09ICcnIHx8IHZhbCA9PT0gJy0nIHx8IGlzTmFOKCt2YWwpKVxuICAgICAgICByZXR1cm4gdmFsO1xuICAgIGxldCBjYWxjVmFsID0gdmFsO1xuICAgIGNvbnN0IGJuVmFsID0gQmlnTnVtYmVyKHZhbCk7XG4gICAgaWYgKHR5cGVvZiBtaW4gPT09ICdudW1iZXInIHx8IHR5cGVvZiBtaW4gPT09ICdiaWdpbnQnKSB7XG4gICAgICAgIGNvbnN0IG1pbkJuID0gQmlnTnVtYmVyKG1pbik7XG4gICAgICAgIGlmIChiblZhbC5sdChtaW5CbikpIHtcbiAgICAgICAgICAgIGNhbGNWYWwgPSAnJyArIG1pbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAodHlwZW9mIG1heCA9PT0gJ251bWJlcicgfHwgdHlwZW9mIG1heCA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgY29uc3QgbWF4Qm4gPSBCaWdOdW1iZXIobWF4KTtcbiAgICAgICAgaWYgKGJuVmFsLmd0KG1heEJuKSkge1xuICAgICAgICAgICAgY2FsY1ZhbCA9ICcnICsgbWF4O1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjYWxjVmFsO1xufTtcbmV4cG9ydCBjb25zdCBJbnB1dEFtb3VudCA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7IHZhbHVlLCB0eXBlID0gJ3ByaW1hcnknLCBtYXhGcmFjdGlvbkRpZ2l0cywgY2hpbGRyZW4sIHBsYWNlaG9sZGVyID0gJzAnLCBtaW4sIG1heCwgXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHNpemUgPSAnbGFyZ2UnLCBmb290bm90ZSwgZm9vdG5vdGVDbHMsIGNsYXNzTmFtZSwgd3JhcHBlckNscywgbGFiZWxDbHMsIHByZWZpeENscyA9ICdpbnB1dC1hbW91bnQnLCBtZXNzYWdlQ2xzLCBwcmVmaXhFbGVDbHMsIHN1ZmZpeEVsZUNscywgaW52YWxpZCwgbmVnYXRpdmUsIHJlcXVpcmVkLCBsb2FkaW5nLCBzdWNjZXNzLCBkaXNhYmxlZCwgcmVhZE9ubHksIGxhYmVsLCBwcmVmaXgsIHN1ZmZpeCwgY3VycmVuY3ksIG1lc3NhZ2UsIG9uQ2hhbmdlLCBvbkJsdXIsIG9uRm9jdXMgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJ2YWx1ZVwiLCBcInR5cGVcIiwgXCJtYXhGcmFjdGlvbkRpZ2l0c1wiLCBcImNoaWxkcmVuXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJtaW5cIiwgXCJtYXhcIiwgXCJzaXplXCIsIFwiZm9vdG5vdGVcIiwgXCJmb290bm90ZUNsc1wiLCBcImNsYXNzTmFtZVwiLCBcIndyYXBwZXJDbHNcIiwgXCJsYWJlbENsc1wiLCBcInByZWZpeENsc1wiLCBcIm1lc3NhZ2VDbHNcIiwgXCJwcmVmaXhFbGVDbHNcIiwgXCJzdWZmaXhFbGVDbHNcIiwgXCJpbnZhbGlkXCIsIFwibmVnYXRpdmVcIiwgXCJyZXF1aXJlZFwiLCBcImxvYWRpbmdcIiwgXCJzdWNjZXNzXCIsIFwiZGlzYWJsZWRcIiwgXCJyZWFkT25seVwiLCBcImxhYmVsXCIsIFwicHJlZml4XCIsIFwic3VmZml4XCIsIFwiY3VycmVuY3lcIiwgXCJtZXNzYWdlXCIsIFwib25DaGFuZ2VcIiwgXCJvbkJsdXJcIiwgXCJvbkZvY3VzXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhgJHtwcmVmaXhDbHN9LSR7dHlwZX1gKTtcbiAgICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBmYWtlRWxlUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHByZWZpeFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBzdWZmaXhSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgY3VycmVuY3lSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGlucHV0Q2FyZXRQb3NpdGlvblJlZiA9IHVzZVJlZigwKTtcbiAgICBjb25zdCBpZ25vcmVTZWxlY3RSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IFtfdmFsdWUsIHNldFZhbHVlXSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFtfd2lkdGgsIHNldFdpZHRoXSA9IHVzZVN0YXRlKE1JTl9JTlBVVF9XSURUSCk7XG4gICAgY29uc3QgW2lzTWF4V2lkdGgsIHNldElzTWF4V2lkdGhdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtpc0ZvY3VzLCBzZXRJc0ZvY3VzXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gbnVtZXJpY0Zvcm1hdHRlcignJyArIChfdmFsdWUgPT0gbnVsbCA/ICcnIDogX3ZhbHVlKSwge1xuICAgICAgICAgICAgdGhvdXNhbmRTZXBhcmF0b3I6IHRydWUsXG4gICAgICAgICAgICBhbGxvd05lZ2F0aXZlOiBuZWdhdGl2ZSxcbiAgICAgICAgfSk7XG4gICAgfSwgW192YWx1ZSwgbmVnYXRpdmVdKTtcbiAgICBjb25zdCB2YWx1ZVJlZiA9IHVzZVJlZih7XG4gICAgICAgIHZhbHVlLFxuICAgICAgICBfdmFsdWUsXG4gICAgICAgIGZvcm1hdHRlZFZhbHVlLFxuICAgICAgICBtaW4sXG4gICAgICAgIG1heCxcbiAgICAgICAgbmVnYXRpdmUsXG4gICAgICAgIG1heEZyYWN0aW9uRGlnaXRzLFxuICAgIH0pO1xuICAgIGNvbnN0IHNjcm9sbFRvRW5kID0gdXNlQ2FsbGJhY2soKHN0aWNreSA9IGZhbHNlKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBpbnB1dFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIWlucHV0KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBsZW4gPSAoX2EgPSBpbnB1dC52YWx1ZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxlbmd0aDtcbiAgICAgICAgY29uc3QgcG9zaXRpb24gPSBpbnB1dC5zY3JvbGxMZWZ0O1xuICAgICAgICBjb25zdCBzaG91bGRUb0VuZCA9ICFzdGlja3k7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gc2hvdWxkVG9FbmQgPyBsZW4gOiBpbnB1dENhcmV0UG9zaXRpb25SZWYuY3VycmVudDtcbiAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2Uoc3RhcnQsIHN0YXJ0KTtcbiAgICAgICAgaW5wdXQuc2Nyb2xsTGVmdCA9IHNob3VsZFRvRW5kID8gaW5wdXQuc2Nyb2xsV2lkdGggOiBwb3NpdGlvbjtcbiAgICAgICAgaW5wdXQuZm9jdXMoKTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgY2FsY0NhcmV0UG9zID0gdXNlQ2FsbGJhY2soKHZhbCwgb2Zmc2V0ID0gMCwgY3VyclBvcykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgaWYgKGlucHV0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgX3ZhbHVlLCBmb3JtYXR0ZWRWYWx1ZSB9ID0gdmFsdWVSZWYuY3VycmVudDtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZE5ld1ZhbCA9IG51bWVyaWNGb3JtYXR0ZXIodmFsLCB7XG4gICAgICAgICAgICAgICAgdGhvdXNhbmRTZXBhcmF0b3I6IHRydWUsXG4gICAgICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZTogbmVnYXRpdmUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGlzQWRkID0gdmFsLmxlbmd0aCA+ICgoX2EgPSBfdmFsdWUgPT09IG51bGwgfHwgX3ZhbHVlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdmFsdWUubGVuZ3RoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwKTtcbiAgICAgICAgICAgIGNvbnN0IGlnbm9yZU9sZFBvcyA9IGlzQWRkID8gdmFsLmxlbmd0aCAtICgoX2IgPSBfdmFsdWUgPT09IG51bGwgfHwgX3ZhbHVlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfdmFsdWUubGVuZ3RoKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwKSA+IDEgOiBmYWxzZTtcbiAgICAgICAgICAgIGxldCBwb3NpdGlvbiA9IChfYyA9IGN1cnJQb3MgIT09IG51bGwgJiYgY3VyclBvcyAhPT0gdm9pZCAwID8gY3VyclBvcyA6IGlucHV0UmVmLmN1cnJlbnQuc2VsZWN0aW9uU3RhcnQpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IDA7XG4gICAgICAgICAgICBpZiAoIWlnbm9yZU9sZFBvcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9sZFBvc1ZhbCA9IGZvcm1hdHRlZFZhbHVlLnNsaWNlKDAsIE1hdGgubWF4KChwb3NpdGlvbiAtIChpc0FkZCA/IDEgOiAtMSkpLCAwKSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb24gPSBvbGRQb3NWYWwuc3BsaXQoJywnKS5qb2luKCcnKS5sZW5ndGggKyAoaXNBZGQgPyAxIDogLTEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcG9zVmFsID0gdmFsLnNsaWNlKDAsIHBvc2l0aW9uKTtcbiAgICAgICAgICAgIGZvcm1hdHRlZE5ld1ZhbC5zcGxpdCgnJykucmVkdWNlKChhY2MsIGNoYXIsIGluZCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjaGFyID09PSAnLCcpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBhY2MucHVzaChjaGFyKTtcbiAgICAgICAgICAgICAgICBpZiAoYWNjLmpvaW4oJycpID09PSBwb3NWYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gPSBpbmQgKyAxO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICAgICAgaW5wdXRDYXJldFBvc2l0aW9uUmVmLmN1cnJlbnQgPSBwb3NpdGlvbiArIG9mZnNldDtcbiAgICAgICAgfVxuICAgIH0sIFtdKTtcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VDYWxsYmFjaygoZSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgaWYgKGRpc2FibGVkIHx8IHJlYWRPbmx5KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCB7IHZhbHVlLCBfdmFsdWUsIGZvcm1hdHRlZFZhbHVlLCBtaW4sIG1heCwgbmVnYXRpdmUsIG1heEZyYWN0aW9uRGlnaXRzIH0gPSB2YWx1ZVJlZi5jdXJyZW50O1xuICAgICAgICBsZXQgdmFsID0gZS50YXJnZXQudmFsdWU7XG4gICAgICAgIGlmICh2YWwgIT0gbnVsbClcbiAgICAgICAgICAgIHZhbCA9IG5vcm1hbGl6ZU51bWJlcklucHV0KHZhbCkuc3BsaXQoJywnKS5qb2luKCcnKTtcbiAgICAgICAgY29uc3QgaGFzRGVjaW1hbFBvaW50ID0gISF2YWwgJiYgdmFsLmVuZHNXaXRoKCcuJyk7XG4gICAgICAgIGlmIChoYXNEZWNpbWFsUG9pbnQpXG4gICAgICAgICAgICB2YWwgPSB2YWwuc2xpY2UoMCwgLTEpO1xuICAgICAgICBpZiAoIW5lZ2F0aXZlICYmICh2YWwgPT09IG51bGwgfHwgdmFsID09PSB2b2lkIDAgPyB2b2lkIDAgOiB2YWwuaW5jbHVkZXMoJy0nKSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGlzU3RhbmRhbG9uZU1pbnVzID0gbmVnYXRpdmUgJiYgdmFsID09PSAnLSc7XG4gICAgICAgIGlmICghaXNTdGFuZGFsb25lTWludXMgJiYgaXNOYU4oK3ZhbCkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmICh2YWwgPT09IF92YWx1ZSAmJiAhaGFzRGVjaW1hbFBvaW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAodHlwZW9mIG1heEZyYWN0aW9uRGlnaXRzID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgbWF4RnJhY3Rpb25EaWdpdHMgPT09ICdiaWdpbnQnKSB7XG4gICAgICAgICAgICBjb25zdCBbaW50LCBkZWNpbWFsXSA9IHZhbC5zcGxpdCgnLicpO1xuICAgICAgICAgICAgaWYgKGRlY2ltYWwgIT0gbnVsbCAmJiBkZWNpbWFsLmxlbmd0aCA+IE51bWJlcihtYXhGcmFjdGlvbkRpZ2l0cykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBbb2xkSW50LCBvbGREZWNpbWFsXSA9IGZvcm1hdHRlZFZhbHVlLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICAgICAgaWYgKG9sZEludC5zcGxpdCgnLCcpLmpvaW4oJycpID09IGludClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIHZhbCA9IGAke2ludH0uJHtvbGREZWNpbWFsfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGlmICgodHlwZW9mIG1pbiA9PT0gJ251bWJlcicgfHwgdHlwZW9mIG1pbiA9PT0gJ2JpZ2ludCcpIHx8ICh0eXBlb2YgbWF4ID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgbWF4ID09PSAnYmlnaW50JykpIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBjYWxjVmFsdWVJblJhbmdlKHZhbCwgbWluLCBtYXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHZhbCA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICBzZXRWYWx1ZShudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGlzU3RhbmRhbG9uZU1pbnVzKSB7XG4gICAgICAgICAgICAgICAgc2V0VmFsdWUoJy0nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlY2ltYWxzID0gKF9jID0gKF9iID0gKF9hID0gdmFsLm1hdGNoKC9cXC4oXFxkKykkLykpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVsxXSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmxlbmd0aCkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogMDtcbiAgICAgICAgICAgICAgICBjb25zdCBibiA9IEJpZ051bWJlcih2YWwpO1xuICAgICAgICAgICAgICAgIGxldCBub3JtYWxpemVkID0gYm4udG9GaXhlZChkZWNpbWFscyk7XG4gICAgICAgICAgICAgICAgaWYgKG5lZ2F0aXZlICYmIHZhbC50cmltKCkuc3RhcnRzV2l0aCgnLScpICYmIGJuLmlzWmVybygpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWQgPSBub3JtYWxpemVkLnN0YXJ0c1dpdGgoJy0nKSA/IG5vcm1hbGl6ZWQgOiBgLSR7bm9ybWFsaXplZH1gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZXRWYWx1ZShgJHtub3JtYWxpemVkfSR7aGFzRGVjaW1hbFBvaW50ID8gJy4nIDogJyd9YC50cmltKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FsY0NhcmV0UG9zKHZhbCwgaGFzRGVjaW1hbFBvaW50ID8gMiA6IDApO1xuICAgICAgICAgICAgaWdub3JlU2VsZWN0UmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShlLCB2YWwpO1xuICAgIH0sIFtvbkNoYW5nZSwgZGlzYWJsZWQsIHJlYWRPbmx5XSk7XG4gICAgY29uc3QgaGFuZGxlU2VsZWN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChpZ25vcmVTZWxlY3RSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgaWdub3JlU2VsZWN0UmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyUG9zID0gKF9hID0gaW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNlbGVjdGlvblN0YXJ0O1xuICAgICAgICBpZiAodHlwZW9mIGN1cnJQb3MgPT09ICdudW1iZXInKVxuICAgICAgICAgICAgaW5wdXRDYXJldFBvc2l0aW9uUmVmLmN1cnJlbnQgPSBjdXJyUG9zO1xuICAgIH0sIFtdKTtcbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lLCBfZiwgX2csIF9oLCBfaiwgX2s7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gKF9iID0gKF9hID0gY29udGFpbmVyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogTUlOX0lOUFVUX1dJRFRIO1xuICAgICAgICBjb25zdCBwcmVmaXhXaWR0aCA9IChfZCA9IChfYyA9IHByZWZpeFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Mub2Zmc2V0V2lkdGgpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDA7XG4gICAgICAgIGNvbnN0IHN1ZmZpeFdpZHRoID0gKF9mID0gKF9lID0gc3VmZml4UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9lID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZS5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2YgIT09IHZvaWQgMCA/IF9mIDogMDtcbiAgICAgICAgY29uc3QgY3VycmVuY3lXaWR0aCA9IChfaCA9IChfZyA9IGN1cnJlbmN5UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9nID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZy5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2ggIT09IHZvaWQgMCA/IF9oIDogMDtcbiAgICAgICAgY29uc3QgZmFrZVdpZHRoID0gKF9rID0gKF9qID0gZmFrZUVsZVJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfaiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2oub2Zmc2V0V2lkdGgpICE9PSBudWxsICYmIF9rICE9PSB2b2lkIDAgPyBfayA6IDA7XG4gICAgICAgIGNvbnN0IGdhcFdpZHRoID0gcHJlZml4V2lkdGggJiYgc3VmZml4V2lkdGggJiYgY3VycmVuY3lXaWR0aFxuICAgICAgICAgICAgPyAyNFxuICAgICAgICAgICAgOiAocHJlZml4V2lkdGggJiYgc3VmZml4V2lkdGgpIHx8IChwcmVmaXhXaWR0aCAmJiBjdXJyZW5jeVdpZHRoKSB8fCAoc3VmZml4V2lkdGggJiYgY3VycmVuY3lXaWR0aClcbiAgICAgICAgICAgICAgICA/IDE2XG4gICAgICAgICAgICAgICAgOiBwcmVmaXhXaWR0aCB8fCBzdWZmaXhXaWR0aCB8fCBjdXJyZW5jeVdpZHRoXG4gICAgICAgICAgICAgICAgICAgID8gOFxuICAgICAgICAgICAgICAgICAgICA6IDA7XG4gICAgICAgIGNvbnN0IG1heFdpZHRoID0gY29udGFpbmVyV2lkdGggLSBwcmVmaXhXaWR0aCAtIHN1ZmZpeFdpZHRoIC0gY3VycmVuY3lXaWR0aCAtIGdhcFdpZHRoO1xuICAgICAgICBjb25zdCBpc01heCA9IGZha2VXaWR0aCA+PSBtYXhXaWR0aDtcbiAgICAgICAgc2V0V2lkdGgoTWF0aC5taW4obWF4V2lkdGgsIE1hdGgubWF4KGZha2VXaWR0aCwgTUlOX0lOUFVUX1dJRFRIKSkpO1xuICAgICAgICBzZXRJc01heFdpZHRoKGlzTWF4KTtcbiAgICAgICAgaWYgKGlzRm9jdXMpXG4gICAgICAgICAgICBzY3JvbGxUb0VuZCh0cnVlKTtcbiAgICB9LCBbX3ZhbHVlLCBwcmVmaXgsIHN1ZmZpeCwgY3VycmVuY3ksIGlzRm9jdXNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAvLyBjbGVhciBuZWdhdGl2ZSBzaWduIGlmIG5vdCBhbGxvd2VkXG4gICAgICAgIGlmIChuZWdhdGl2ZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmIChfdmFsdWUgPT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKF92YWx1ZSA9PT0gJy0nKSB7XG4gICAgICAgICAgICBzZXRWYWx1ZShudWxsKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoX3ZhbHVlLnN0YXJ0c1dpdGgoJy0nKSlcbiAgICAgICAgICAgIHNldFZhbHVlKF92YWx1ZS5zbGljZSgxKSk7XG4gICAgfSwgW25lZ2F0aXZlLCB2YWx1ZSwgX3ZhbHVlXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZTtcbiAgICAgICAgbGV0IHZhbCA9IHZhbHVlO1xuICAgICAgICBsZXQgaGFzRGVjaW1hbFBvaW50ID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IHsgX3ZhbHVlLCBmb3JtYXR0ZWRWYWx1ZSB9ID0gdmFsdWVSZWYuY3VycmVudDtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAodmFsID09PSAnJykge1xuICAgICAgICAgICAgICAgIHZhbCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBub3JtYWxpemVOdW1iZXJJbnB1dCh2YWwpLnNwbGl0KCcsJykuam9pbignJyk7XG4gICAgICAgICAgICAgICAgaGFzRGVjaW1hbFBvaW50ID0gISF2YWwgJiYgdmFsLmVuZHNXaXRoKCcuJyk7XG4gICAgICAgICAgICAgICAgaWYgKGhhc0RlY2ltYWxQb2ludClcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gdmFsLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgICAgICAgICBpZiAoIW5lZ2F0aXZlKVxuICAgICAgICAgICAgICAgICAgICB2YWwgPSB2YWwucmVwbGFjZSgvLS9nLCAnJyk7XG4gICAgICAgICAgICAgICAgaWYgKG5lZ2F0aXZlICYmIHZhbCA9PT0gJy0nKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFZhbHVlKCctJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzTmFOKCt2YWwpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodmFsICE9PSBudWxsICYmIHR5cGVvZiB2YWwgIT09ICdudW1iZXInICYmIHR5cGVvZiB2YWwgIT09ICdiaWdpbnQnKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoIW5lZ2F0aXZlKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBNYXRoLmFicyh2YWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB6ZXJvID0gQmlnSW50KDApO1xuICAgICAgICAgICAgICAgIHZhbCA9IHZhbCA8IHplcm8gPyAtdmFsIDogdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICgodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpICYmICh0eXBlb2YgbWF4RnJhY3Rpb25EaWdpdHMgPT09ICdudW1iZXInIHx8IHR5cGVvZiBtYXhGcmFjdGlvbkRpZ2l0cyA9PT0gJ2JpZ2ludCcpKSB7XG4gICAgICAgICAgICBjb25zdCBbaW50LCBkZWNpbWFsXSA9ICgnJyArIHZhbCkuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGlmIChkZWNpbWFsICE9IG51bGwgJiYgZGVjaW1hbC5sZW5ndGggPiBOdW1iZXIobWF4RnJhY3Rpb25EaWdpdHMpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgW29sZEludCwgb2xkRGVjaW1hbF0gPSBmb3JtYXR0ZWRWYWx1ZS5zcGxpdCgnLicpO1xuICAgICAgICAgICAgICAgIGlmIChvbGRJbnQuc3BsaXQoJywnKS5qb2luKCcnKSA9PSBpbnQpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB2YWwgPSBgJHtpbnR9LiR7b2xkRGVjaW1hbH1gO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdmFsID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsID09PSAnYmlnaW50Jykge1xuICAgICAgICAgICAgdmFsID0gY2FsY1ZhbHVlSW5SYW5nZSgnJyArIHZhbCwgbWluLCBtYXgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWwgPT09ICcnIHx8IHZhbCA9PSBudWxsKSB7XG4gICAgICAgICAgICBzZXRWYWx1ZShudWxsKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHN0clZhbCA9ICcnICsgdmFsO1xuICAgICAgICAgICAgY29uc3QgZGVjaW1hbHMgPSAoX2MgPSAoX2IgPSAoX2EgPSBzdHJWYWwubWF0Y2goL1xcLihcXGQrKSQvKSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hWzFdKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubGVuZ3RoKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAwO1xuICAgICAgICAgICAgY29uc3QgYm4gPSBCaWdOdW1iZXIoc3RyVmFsKTtcbiAgICAgICAgICAgIGxldCBub3JtYWxpemVkID0gYm4udG9GaXhlZChkZWNpbWFscyk7XG4gICAgICAgICAgICBpZiAobmVnYXRpdmUgJiYgc3RyVmFsLnRyaW0oKS5zdGFydHNXaXRoKCctJykgJiYgYm4uaXNaZXJvKCkpIHtcbiAgICAgICAgICAgICAgICBub3JtYWxpemVkID0gbm9ybWFsaXplZC5zdGFydHNXaXRoKCctJykgPyBub3JtYWxpemVkIDogYC0ke25vcm1hbGl6ZWR9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IGAke25vcm1hbGl6ZWR9JHtoYXNEZWNpbWFsUG9pbnQgPyAnLicgOiAnJ31gLnRyaW0oKTtcbiAgICAgICAgICAgIHNldFZhbHVlKHJlcyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3JpZ2luT2Zmc2V0ID0gKChfZCA9IHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHZhbC5sZW5ndGgpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDApIC0gKChfZSA9IF92YWx1ZSA9PT0gbnVsbCB8fCBfdmFsdWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF92YWx1ZS5sZW5ndGgpICE9PSBudWxsICYmIF9lICE9PSB2b2lkIDAgPyBfZSA6IDApO1xuICAgICAgICBjb25zdCBpc0xpa2VLZXlib2FyZElucHV0ID0gb3JpZ2luT2Zmc2V0ID09PSAxIHx8IG9yaWdpbk9mZnNldCA9PT0gLTE7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZE9mZnNldCA9IG51bWVyaWNGb3JtYXR0ZXIodmFsICE9PSBudWxsICYmIHZhbCAhPT0gdm9pZCAwID8gdmFsIDogJycsIHtcbiAgICAgICAgICAgIHRob3VzYW5kU2VwYXJhdG9yOiB0cnVlLFxuICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZTogbmVnYXRpdmUsXG4gICAgICAgIH0pLmxlbmd0aCAtIGZvcm1hdHRlZFZhbHVlLmxlbmd0aDtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gTWF0aC5tYXgoIWlzTGlrZUtleWJvYXJkSW5wdXQgPyBmb3JtYXR0ZWRPZmZzZXQgOiBvcmlnaW5PZmZzZXQsIDApICsgKGhhc0RlY2ltYWxQb2ludCA/IG9yaWdpbk9mZnNldCA8IDAgPyAzIDogMiA6IDApO1xuICAgICAgICBjb25zb2xlLmluZm8oJ29mZnNldCcsIG9mZnNldCk7XG4gICAgICAgIGNvbnNvbGUuaW5mbygnb3JpZ2luT2Zmc2V0Jywgb3JpZ2luT2Zmc2V0KTtcbiAgICAgICAgY29uc29sZS5pbmZvKCdmb3JtYXR0ZWRPZmZzZXQnLCBmb3JtYXR0ZWRPZmZzZXQpO1xuICAgICAgICBjb25zb2xlLmluZm8oJ2lzTGlrZUtleWJvYXJkSW5wdXQnLCBpc0xpa2VLZXlib2FyZElucHV0KTtcbiAgICAgICAgY29uc29sZS5pbmZvKCdpbnB1dENhcmV0UG9zaXRpb25SZWYuY3VycmVudCcsIGlucHV0Q2FyZXRQb3NpdGlvblJlZi5jdXJyZW50KTtcbiAgICAgICAgY2FsY0NhcmV0UG9zKHZhbCAhPT0gbnVsbCAmJiB2YWwgIT09IHZvaWQgMCA/IHZhbCA6ICcnLCBvZmZzZXQsIE1hdGgubWF4KGlucHV0Q2FyZXRQb3NpdGlvblJlZi5jdXJyZW50LCAwKSk7XG4gICAgICAgIGlnbm9yZVNlbGVjdFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICB9LCBbdmFsdWUsIG1heEZyYWN0aW9uRGlnaXRzLCBtaW4sIG1heCwgbmVnYXRpdmVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YWx1ZVJlZi5jdXJyZW50ID0ge1xuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBfdmFsdWUsXG4gICAgICAgICAgICBmb3JtYXR0ZWRWYWx1ZSxcbiAgICAgICAgICAgIG1pbixcbiAgICAgICAgICAgIG1heCxcbiAgICAgICAgICAgIG5lZ2F0aXZlLFxuICAgICAgICAgICAgbWF4RnJhY3Rpb25EaWdpdHNcbiAgICAgICAgfTtcbiAgICB9LCBbX3ZhbHVlLCB2YWx1ZSwgZm9ybWF0dGVkVmFsdWUsIG1pbiwgbWF4LCBuZWdhdGl2ZSwgbWF4RnJhY3Rpb25EaWdpdHNdKTtcbiAgICByZXR1cm4gX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3dyYXBwZXInLCBqb2luQ2xzKHdyYXBwZXJDbHMsIGNsYXNzZXMoc2l6ZSksIGludmFsaWQgJiYgY2xhc3NlcygnaW52YWxpZCcpLCBzdWNjZXNzICYmIGNsYXNzZXMoJ3N1Y2Nlc3MnKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygnZGlzYWJsZWQnKSwgcmVhZE9ubHkgJiYgY2xhc3NlcygncmVhZG9ubHknKSwgX3ZhbHVlICYmIGNsYXNzZXMoJ2ZpbGxlZCcpKSksIGNoaWxkcmVuOiBbbGFiZWxcbiAgICAgICAgICAgICAgICA/IGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgPyBfanN4KFNrZWxldG9uLCB7IHdpZHRoOiAnNzJweCcsIGhlaWdodDogJzE4cHgnLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2xhYmVsLWxvYWRpbmcnKSB9KVxuICAgICAgICAgICAgICAgICAgICA6IF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbCcsIGpvaW5DbHMocmVxdWlyZWQgJiYgY2xhc3NlcygnbGFiZWwtcmVxdWlyZWQnKSwgbGFiZWxDbHMpKSwgY2hpbGRyZW46IGxhYmVsIH0pXG4gICAgICAgICAgICAgICAgOiBudWxsLCBfanN4cyhcImRpdlwiLCB7IHJlZjogY29udGFpbmVyUmVmLCBjbGFzc05hbWU6IGNsYXNzZXModm9pZCAwLCBqb2luQ2xzKGNsYXNzTmFtZSwgaXNGb2N1cyAmJiBjbGFzc2VzKCdmb2N1cycpKSksIG9uQ2xpY2s6IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgKF9hID0gaW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc01heFdpZHRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9FbmQoKTtcbiAgICAgICAgICAgICAgICB9LCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IHJlZjogcHJlZml4UmVmLCBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcsIHByZWZpeEVsZUNscyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2VsZW1lbnQnLCAoIWlzRm9jdXMgJiYgaXNNYXhXaWR0aCkgPyBjbGFzc2VzKCdlbGVtZW50LW1heCcpIDogJycpLCBjaGlsZHJlbjogX2pzeChcImlucHV0XCIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcmVmOiBpbnB1dFJlZiwgdmFsdWU6IGZvcm1hdHRlZFZhbHVlLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIHJlYWRPbmx5OiByZWFkT25seSwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzdHlsZTogeyAnLS1pbnB1dC13aWR0aCc6IGAke193aWR0aH1weGAgfSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgb25TZWxlY3Q6IGhhbmRsZVNlbGVjdCwgb25Gb2N1czogZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldElzRm9jdXModHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRm9jdXMgPT09IG51bGwgfHwgb25Gb2N1cyA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25Gb2N1cyhlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBvbkJsdXI6IGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRJc0ZvY3VzKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gfSkpIH0pLCBjdXJyZW5jeSAmJiBfanN4KFwic3BhblwiLCB7IHJlZjogY3VycmVuY3lSZWYsIGNsYXNzTmFtZTogY2xhc3NlcygnY3VycmVuY3knKSwgY2hpbGRyZW46IGN1cnJlbmN5IH0pLCBsb2FkaW5nID8gX2pzeChTcGlubmVyLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc3VmZml4LWxvYWRpbmcnKSwgc3Ryb2tlV2lkdGg6ICc0JyB9KSA6IHN1ZmZpeCA/IF9qc3goXCJzcGFuXCIsIHsgcmVmOiBzdWZmaXhSZWYsIGNsYXNzTmFtZTogY2xhc3Nlcygnc3VmZml4Jywgc3VmZml4RWxlQ2xzKSwgY2hpbGRyZW46IHN1ZmZpeCB9KSA6IG51bGwsIF9qc3goXCJzcGFuXCIsIHsgcmVmOiBmYWtlRWxlUmVmLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2Zha2UnKSwgb25DbGljazogZSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpLCBjaGlsZHJlbjogZm9ybWF0dGVkVmFsdWUgfSldIH0pLCAobWVzc2FnZSB8fCBmb290bm90ZSkgJiYgX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2V4dHJhJyksIGNoaWxkcmVuOiBbbWVzc2FnZSAmJiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdtZXNzYWdlJywgbWVzc2FnZUNscyksIGNoaWxkcmVuOiBtZXNzYWdlIH0pLCBmb290bm90ZSAmJiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdmb290bm90ZScsIGZvb3Rub3RlQ2xzKSwgY2hpbGRyZW46IGZvb3Rub3RlIH0pXSB9KV0gfSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhJbnB1dEFtb3VudCk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -27,7 +27,7 @@ export interface InputAmountBaseProps {
27
27
  suffix?: ReactNode;
28
28
  message?: ReactNode;
29
29
  onClick?: (e: MouseEvent<HTMLInputElement>) => void;
30
- onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
30
+ onChange?: (e: ChangeEvent<HTMLInputElement>, value: string) => void;
31
31
  onKeyDown?: (e: KeyboardEvent<HTMLInputElement>) => void;
32
32
  onKeyUp?: (e: KeyboardEvent<HTMLInputElement>) => void;
33
33
  onFocus?: (e: FocusEvent<HTMLInputElement>) => void;