@1money/react-ui 1.14.0-alpha.6 → 1.14.0-alpha.7
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.
|
@@ -308,10 +308,12 @@ var InputAmount = exports.InputAmount = function InputAmount(props) {
|
|
|
308
308
|
'--input-width': "".concat(_width, "px")
|
|
309
309
|
},
|
|
310
310
|
onChange: handleChange,
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
311
|
+
onSelect: function onSelect() {
|
|
312
|
+
var _a, _b;
|
|
313
|
+
var pos = (_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.selectionStart) !== null && _b !== void 0 ? _b : 0;
|
|
314
|
+
console.info('onSelect', pos);
|
|
315
|
+
inputCaretPositionRef.current = pos;
|
|
316
|
+
},
|
|
315
317
|
onFocus: function onFocus(e) {
|
|
316
318
|
setIsFocus(true);
|
|
317
319
|
_onFocus === null || _onFocus === void 0 ? void 0 : _onFocus(e);
|
|
@@ -356,4 +358,4 @@ var InputAmount = exports.InputAmount = function InputAmount(props) {
|
|
|
356
358
|
});
|
|
357
359
|
};
|
|
358
360
|
var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(InputAmount);
|
|
359
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXRBbW91bnQvSW5wdXRBbW91bnQuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0lucHV0QW1vdW50L0lucHV0QW1vdW50LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfYmlnbnVtYmVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdE51bWJlckZvcm1hdCIsIl9za2VsZXRvbiIsIl9TcGlubmVyIiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9fcmVzdCIsInMiLCJwIiwicHJvdG90eXBlIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiTUlOX0lOUFVUX1dJRFRIIiwibm9ybWFsaXplTnVtYmVySW5wdXQiLCJ2YWwiLCJyZXBsYWNlIiwiY2FsY1ZhbHVlSW5SYW5nZSIsIm1pbiIsIm1heCIsImlzTmFOIiwiY2FsY1ZhbCIsImJuVmFsIiwiQmlnTnVtYmVyIiwibWluQm4iLCJsdCIsIm1heEJuIiwiZ3QiLCJJbnB1dEFtb3VudCIsImV4cG9ydHMiLCJwcm9wcyIsInZhbHVlIiwiX3Byb3BzJHR5cGUiLCJ0eXBlIiwibWF4RnJhY3Rpb25EaWdpdHMiLCJjaGlsZHJlbiIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiZm9vdG5vdGUiLCJmb290bm90ZUNscyIsImNsYXNzTmFtZSIsIndyYXBwZXJDbHMiLCJsYWJlbENscyIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJtZXNzYWdlQ2xzIiwiaW52YWxpZCIsIm5lZ2F0aXZlIiwicmVxdWlyZWQiLCJsb2FkaW5nIiwic3VjY2VzcyIsImRpc2FibGVkIiwicmVhZE9ubHkiLCJsYWJlbCIsInByZWZpeCIsInN1ZmZpeCIsImN1cnJlbmN5IiwibWVzc2FnZSIsIm9uQ2hhbmdlIiwib25CbHVyIiwib25Gb2N1cyIsInJlc3QiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsImNvbmNhdCIsImlucHV0UmVmIiwidXNlUmVmIiwiZmFrZUVsZVJlZiIsInByZWZpeFJlZiIsInN1ZmZpeFJlZiIsImN1cnJlbmN5UmVmIiwiY29udGFpbmVyUmVmIiwiaW5wdXRDYXJldFBvc2l0aW9uUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiX3ZhbHVlIiwic2V0VmFsdWUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIl93aWR0aCIsInNldFdpZHRoIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc01heFdpZHRoIiwic2V0SXNNYXhXaWR0aCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNGb2N1cyIsInNldElzRm9jdXMiLCJmb3JtYXR0ZWRWYWx1ZSIsInVzZU1lbW8iLCJudW1lcmljRm9ybWF0dGVyIiwidGhvdXNhbmRTZXBhcmF0b3IiLCJhbGxvd05lZ2F0aXZlIiwic2Nyb2xsVG9FbmQiLCJ1c2VDYWxsYmFjayIsInN0aWNreSIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsIl9hIiwiaW5wdXQiLCJjdXJyZW50IiwibGVuIiwicG9zaXRpb24iLCJzY3JvbGxMZWZ0Iiwic2hvdWxkVG9FbmQiLCJzdGFydCIsInNldFNlbGVjdGlvblJhbmdlIiwic2Nyb2xsV2lkdGgiLCJmb2N1cyIsImhhbmRsZUNoYW5nZSIsIl9iIiwiX2MiLCJfZCIsIl9lIiwiX2YiLCJ0YXJnZXQiLCJzcGxpdCIsImpvaW4iLCJoYXNEZWNpbWFsUG9pbnQiLCJlbmRzV2l0aCIsInNsaWNlIiwiaW5jbHVkZXMiLCJpc1N0YW5kYWxvbmVNaW51cyIsIl92YWwkc3BsaXQiLCJfdmFsJHNwbGl0MiIsImludCIsImRlY2ltYWwiLCJOdW1iZXIiLCJfZm9ybWF0dGVkVmFsdWUkc3BsaXQiLCJfZm9ybWF0dGVkVmFsdWUkc3BsaXQyIiwib2xkRGVjaW1hbCIsImZvcm1hdHRlZE5ld1ZhbCIsImlzQWRkIiwiaWdub3JlT2xkUG9zIiwic2VsZWN0aW9uU3RhcnQiLCJjb25zb2xlIiwiaW5mbyIsIm9sZFBvc1ZhbCIsInBvc1ZhbCIsInJlZHVjZSIsImFjYyIsImNoYXIiLCJpbmQiLCJwdXNoIiwiZGVjaW1hbHMiLCJtYXRjaCIsImJuIiwibm9ybWFsaXplZCIsInRvRml4ZWQiLCJ0cmltIiwic3RhcnRzV2l0aCIsImlzWmVybyIsInVzZUVmZmVjdCIsIl9nIiwiX2giLCJfaiIsIl9rIiwiY29udGFpbmVyV2lkdGgiLCJvZmZzZXRXaWR0aCIsInByZWZpeFdpZHRoIiwic3VmZml4V2lkdGgiLCJjdXJyZW5jeVdpZHRoIiwiZmFrZVdpZHRoIiwiZ2FwV2lkdGgiLCJtYXhXaWR0aCIsImlzTWF4IiwiTWF0aCIsImFicyIsInplcm8iLCJCaWdJbnQiLCJfc3BsaXQiLCJfc3BsaXQyIiwic3RyVmFsIiwiX2pzeHMiLCJqb2luQ2xzIiwiX2pzeCIsIlNrZWxldG9uIiwid2lkdGgiLCJoZWlnaHQiLCJyZWYiLCJvbkNsaWNrIiwiSFRNTElucHV0RWxlbWVudCIsImFzc2lnbiIsInN0eWxlIiwiU3Bpbm5lciIsInN0cm9rZVdpZHRoIiwic3RvcFByb3BhZ2F0aW9uIiwiX2RlZmF1bHQiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFDLHNCQUFBLENBQUFILE9B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T0FBT0EsQ0FBRXZNLENBQUM7VUFBQSxPQUFJQSxDQUFDLENBQUM2TSxlQUFlLENBQUEsQ0FBRTtRQUFBO1FBQUE1SixRQUFBLEVBRy9CLElBQUE0RCxtQ0FBZ0IsRUFBQyxFQUFFLElBQUloQixNQUFNLElBQUksSUFBSSxHQUFHLEVBQUUsR0FBR0EsTUFBTSxDQUFDLEVBQUU7VUFDcERpQixpQkFBaUIsRUFBRSxJQUFJO1VBQ3ZCQyxhQUFhLEVBQUVoRDtRRDVESCxDQzZEYjtNQUFDLENBQUEsQ0FFQztJQUFBLENBQUEsQ0FDSCxFQUVKLENBQUNVLE9BQU8sSUFBSW5CLFFBQVEsS0FBSyxJQUFBMEksZ0JBQUEsRUFBQSxLQUFBLEVBQUE7TUFBS3hJLFNBQVMsRUFBRXNCLE9BQU8sQ0FBQyxPQUFPLENBQUM7TUFBQTdCLFFBQUEsRUFBQSxDQUN0RHdCLE9BQU8sSUFBSSxJQUFBeUgsZUFBQSxFQUFBLEtBQUEsRUFBQTtRQUFLMUksU0FBUyxFQUFFc0IsT0FBTyxDQUFDLFNBQVMsRUFBRWpCLFVBQVUsQ0FBQztRQUFBWixRQUFBLEVBQUd3QjtNQUFPLENBQUEsQ0FBTyxFQUMxRW5CLFFBQVEsSUFBSSxJQUFBNEksZUFBQSxFQUFBLEtBQUEsRUFBQTtRQUFLMUksU0FBUyxFQUFFc0IsT0FBTyxDQUFDLFVBQVUsRUFBRXZCLFdBQVcsQ0FBQztRQUFBTixRQUFBLEVBQUdLO01BQVEsQ0FBQSxDQUFPO0lBQUEsQ0FBQSxDQUMzRTtFQUFBLENBQUEsQ0FFSjtBQUNSLENBQUM7QUFBQyxJQUFBd0osUUFBQSxHQUFBbkssT0FBQSwyQkFFYSxJQUFBb0ssV0FBSSxFQUFDckssV0FBVyxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvSW5wdXRBbW91bnQvSW5wdXRBbW91bnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbywgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VSZWYsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IG51bWVyaWNGb3JtYXR0ZXIgfSBmcm9tICdyZWFjdC1udW1iZXItZm9ybWF0JztcbmltcG9ydCB7IFNrZWxldG9uIH0gZnJvbSAncHJpbWVyZWFjdC9za2VsZXRvbic7XG5pbXBvcnQgU3Bpbm5lciBmcm9tICcuLi9TcGlubmVyJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuY29uc3QgTUlOX0lOUFVUX1dJRFRIID0gMzM7XG5jb25zdCBub3JtYWxpemVOdW1iZXJJbnB1dCA9ICh2YWwpID0+IHZhbFxuICAgIC5yZXBsYWNlKC9bXFx1MzAwMlxcdWZmMGVcXHVmZjYxXS9nLCAnLicpXG4gICAgLnJlcGxhY2UoL1tcXHVGRjBDXS9nLCAnLCcpO1xuY29uc3QgY2FsY1ZhbHVlSW5SYW5nZSA9ICh2YWwsIG1pbiwgbWF4KSA9PiB7XG4gICAgaWYgKHZhbCA9PT0gJycgfHwgdmFsID09PSAnLScgfHwgaXNOYU4oK3ZhbCkpXG4gICAgICAgIHJldHVybiB2YWw7XG4gICAgbGV0IGNhbGNWYWwgPSB2YWw7XG4gICAgY29uc3QgYm5WYWwgPSBCaWdOdW1iZXIodmFsKTtcbiAgICBpZiAodHlwZW9mIG1pbiA9PT0gJ251bWJlcicgfHwgdHlwZW9mIG1pbiA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgY29uc3QgbWluQm4gPSBCaWdOdW1iZXIobWluKTtcbiAgICAgICAgaWYgKGJuVmFsLmx0KG1pbkJuKSkge1xuICAgICAgICAgICAgY2FsY1ZhbCA9ICcnICsgbWluO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICh0eXBlb2YgbWF4ID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgbWF4ID09PSAnYmlnaW50Jykge1xuICAgICAgICBjb25zdCBtYXhCbiA9IEJpZ051bWJlcihtYXgpO1xuICAgICAgICBpZiAoYm5WYWwuZ3QobWF4Qm4pKSB7XG4gICAgICAgICAgICBjYWxjVmFsID0gJycgKyBtYXg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNhbGNWYWw7XG59O1xuZXhwb3J0IGNvbnN0IElucHV0QW1vdW50ID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgdmFsdWUsIHR5cGUgPSAncHJpbWFyeScsIG1heEZyYWN0aW9uRGlnaXRzLCBjaGlsZHJlbiwgcGxhY2Vob2xkZXIgPSAnMCcsIG1pbiwgbWF4LCBcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgc2l6ZSA9ICdsYXJnZScsIGZvb3Rub3RlLCBmb290bm90ZUNscywgY2xhc3NOYW1lLCB3cmFwcGVyQ2xzLCBsYWJlbENscywgcHJlZml4Q2xzID0gJ2lucHV0LWFtb3VudCcsIG1lc3NhZ2VDbHMsIGludmFsaWQsIG5lZ2F0aXZlLCByZXF1aXJlZCwgbG9hZGluZywgc3VjY2VzcywgZGlzYWJsZWQsIHJlYWRPbmx5LCBsYWJlbCwgcHJlZml4LCBzdWZmaXgsIGN1cnJlbmN5LCBtZXNzYWdlLCBvbkNoYW5nZSwgb25CbHVyLCBvbkZvY3VzIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1widmFsdWVcIiwgXCJ0eXBlXCIsIFwibWF4RnJhY3Rpb25EaWdpdHNcIiwgXCJjaGlsZHJlblwiLCBcInBsYWNlaG9sZGVyXCIsIFwibWluXCIsIFwibWF4XCIsIFwic2l6ZVwiLCBcImZvb3Rub3RlXCIsIFwiZm9vdG5vdGVDbHNcIiwgXCJjbGFzc05hbWVcIiwgXCJ3cmFwcGVyQ2xzXCIsIFwibGFiZWxDbHNcIiwgXCJwcmVmaXhDbHNcIiwgXCJtZXNzYWdlQ2xzXCIsIFwiaW52YWxpZFwiLCBcIm5lZ2F0aXZlXCIsIFwicmVxdWlyZWRcIiwgXCJsb2FkaW5nXCIsIFwic3VjY2Vzc1wiLCBcImRpc2FibGVkXCIsIFwicmVhZE9ubHlcIiwgXCJsYWJlbFwiLCBcInByZWZpeFwiLCBcInN1ZmZpeFwiLCBcImN1cnJlbmN5XCIsIFwibWVzc2FnZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25CbHVyXCIsIFwib25Gb2N1c1wiXSk7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMoYCR7cHJlZml4Q2xzfS0ke3R5cGV9YCk7XG4gICAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgZmFrZUVsZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBwcmVmaXhSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc3VmZml4UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGN1cnJlbmN5UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBpbnB1dENhcmV0UG9zaXRpb25SZWYgPSB1c2VSZWYoMCk7XG4gICAgY29uc3QgW192YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW193aWR0aCwgc2V0V2lkdGhdID0gdXNlU3RhdGUoTUlOX0lOUFVUX1dJRFRIKTtcbiAgICBjb25zdCBbaXNNYXhXaWR0aCwgc2V0SXNNYXhXaWR0aF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2lzRm9jdXMsIHNldElzRm9jdXNdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IGZvcm1hdHRlZFZhbHVlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiBudW1lcmljRm9ybWF0dGVyKCcnICsgKF92YWx1ZSA9PSBudWxsID8gJycgOiBfdmFsdWUpLCB7XG4gICAgICAgICAgICB0aG91c2FuZFNlcGFyYXRvcjogdHJ1ZSxcbiAgICAgICAgICAgIGFsbG93TmVnYXRpdmU6IG5lZ2F0aXZlLFxuICAgICAgICB9KTtcbiAgICB9LCBbX3ZhbHVlLCBuZWdhdGl2ZV0pO1xuICAgIGNvbnN0IHNjcm9sbFRvRW5kID0gdXNlQ2FsbGJhY2soKHN0aWNreSA9IGZhbHNlKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBpbnB1dFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIWlucHV0KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBsZW4gPSAoX2EgPSBpbnB1dC52YWx1ZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmxlbmd0aDtcbiAgICAgICAgY29uc3QgcG9zaXRpb24gPSBpbnB1dC5zY3JvbGxMZWZ0O1xuICAgICAgICBjb25zdCBzaG91bGRUb0VuZCA9ICFzdGlja3k7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gc2hvdWxkVG9FbmQgPyBsZW4gOiBpbnB1dENhcmV0UG9zaXRpb25SZWYuY3VycmVudDtcbiAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2Uoc3RhcnQsIHN0YXJ0KTtcbiAgICAgICAgaW5wdXQuc2Nyb2xsTGVmdCA9IHNob3VsZFRvRW5kID8gaW5wdXQuc2Nyb2xsV2lkdGggOiBwb3NpdGlvbjtcbiAgICAgICAgaW5wdXQuZm9jdXMoKTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soKGUpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kLCBfZSwgX2Y7XG4gICAgICAgIGlmIChkaXNhYmxlZCB8fCByZWFkT25seSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgbGV0IHZhbCA9IGUudGFyZ2V0LnZhbHVlO1xuICAgICAgICBpZiAodmFsICE9IG51bGwpXG4gICAgICAgICAgICB2YWwgPSBub3JtYWxpemVOdW1iZXJJbnB1dCh2YWwpLnNwbGl0KCcsJykuam9pbignJyk7XG4gICAgICAgIGNvbnN0IGhhc0RlY2ltYWxQb2ludCA9ICEhdmFsICYmIHZhbC5lbmRzV2l0aCgnLicpO1xuICAgICAgICBpZiAoaGFzRGVjaW1hbFBvaW50KVxuICAgICAgICAgICAgdmFsID0gdmFsLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgaWYgKCFuZWdhdGl2ZSAmJiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdm9pZCAwID8gdm9pZCAwIDogdmFsLmluY2x1ZGVzKCctJykpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBpc1N0YW5kYWxvbmVNaW51cyA9IG5lZ2F0aXZlICYmIHZhbCA9PT0gJy0nO1xuICAgICAgICBpZiAoIWlzU3RhbmRhbG9uZU1pbnVzICYmIGlzTmFOKCt2YWwpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAodmFsID09PSBfdmFsdWUgJiYgIWhhc0RlY2ltYWxQb2ludClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKHR5cGVvZiBtYXhGcmFjdGlvbkRpZ2l0cyA9PT0gJ251bWJlcicgfHwgdHlwZW9mIG1heEZyYWN0aW9uRGlnaXRzID09PSAnYmlnaW50Jykge1xuICAgICAgICAgICAgY29uc3QgW2ludCwgZGVjaW1hbF0gPSB2YWwuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGlmIChkZWNpbWFsICE9IG51bGwgJiYgZGVjaW1hbC5sZW5ndGggPiBOdW1iZXIobWF4RnJhY3Rpb25EaWdpdHMpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgWywgb2xkRGVjaW1hbF0gPSBmb3JtYXR0ZWRWYWx1ZS5zcGxpdCgnLicpO1xuICAgICAgICAgICAgICAgIHZhbCA9IGAke2ludH0uJHtvbGREZWNpbWFsfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCh0eXBlb2YgbWluID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgbWluID09PSAnYmlnaW50JykgfHwgKHR5cGVvZiBtYXggPT09ICdudW1iZXInIHx8IHR5cGVvZiBtYXggPT09ICdiaWdpbnQnKSkge1xuICAgICAgICAgICAgdmFsID0gY2FsY1ZhbHVlSW5SYW5nZSh2YWwsIG1pbiwgbWF4KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkTmV3VmFsID0gbnVtZXJpY0Zvcm1hdHRlcih2YWwsIHtcbiAgICAgICAgICAgICAgICB0aG91c2FuZFNlcGFyYXRvcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBhbGxvd05lZ2F0aXZlOiBuZWdhdGl2ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgaXNBZGQgPSB2YWwubGVuZ3RoID4gKChfYSA9IF92YWx1ZSA9PT0gbnVsbCB8fCBfdmFsdWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF92YWx1ZS5sZW5ndGgpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDApO1xuICAgICAgICAgICAgY29uc3QgaWdub3JlT2xkUG9zID0gaXNBZGQgPyB2YWwubGVuZ3RoIC0gKChfYiA9IF92YWx1ZSA9PT0gbnVsbCB8fCBfdmFsdWUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF92YWx1ZS5sZW5ndGgpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDApID4gMSA6IGZhbHNlO1xuICAgICAgICAgICAgbGV0IHBvc2l0aW9uID0gKF9jID0gaW5wdXRSZWYuY3VycmVudC5zZWxlY3Rpb25TdGFydCkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogMDtcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbygncG9zaXRpb24gLSAxJywgcG9zaXRpb24pO1xuICAgICAgICAgICAgaWYgKCFpZ25vcmVPbGRQb3MpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvbGRQb3NWYWwgPSBmb3JtYXR0ZWRWYWx1ZS5zbGljZSgwLCAocG9zaXRpb24gLSAoaXNBZGQgPyAxIDogLTEpKSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb24gPSBvbGRQb3NWYWwuc3BsaXQoJywnKS5qb2luKCcnKS5sZW5ndGggKyAoaXNBZGQgPyAxIDogLTEpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygncG9zaXRpb24gLSAyJywgcG9zaXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcG9zVmFsID0gdmFsLnNsaWNlKDAsIHBvc2l0aW9uKTtcbiAgICAgICAgICAgIGZvcm1hdHRlZE5ld1ZhbC5zcGxpdCgnJykucmVkdWNlKChhY2MsIGNoYXIsIGluZCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjaGFyID09PSAnLCcpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBhY2MucHVzaChjaGFyKTtcbiAgICAgICAgICAgICAgICBpZiAoYWNjLmpvaW4oJycpID09PSBwb3NWYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gPSBpbmQgKyAxO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICAgICAgY29uc29sZS5pbmZvKCdwb3NpdGlvbiAtIDMnLCBwb3NpdGlvbik7XG4gICAgICAgICAgICBpbnB1dENhcmV0UG9zaXRpb25SZWYuY3VycmVudCA9IHBvc2l0aW9uICsgKGhhc0RlY2ltYWxQb2ludCA/IDIgOiAwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKHZhbCA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICBzZXRWYWx1ZShudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGlzU3RhbmRhbG9uZU1pbnVzKSB7XG4gICAgICAgICAgICAgICAgc2V0VmFsdWUoJy0nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlY2ltYWxzID0gKF9mID0gKF9lID0gKF9kID0gdmFsLm1hdGNoKC9cXC4oXFxkKykkLykpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZFsxXSkgPT09IG51bGwgfHwgX2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9lLmxlbmd0aCkgIT09IG51bGwgJiYgX2YgIT09IHZvaWQgMCA/IF9mIDogMDtcbiAgICAgICAgICAgICAgICBjb25zdCBibiA9IEJpZ051bWJlcih2YWwpO1xuICAgICAgICAgICAgICAgIGxldCBub3JtYWxpemVkID0gYm4udG9GaXhlZChkZWNpbWFscyk7XG4gICAgICAgICAgICAgICAgaWYgKG5lZ2F0aXZlICYmIHZhbC50cmltKCkuc3RhcnRzV2l0aCgnLScpICYmIGJuLmlzWmVybygpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWQgPSBub3JtYWxpemVkLnN0YXJ0c1dpdGgoJy0nKSA/IG5vcm1hbGl6ZWQgOiBgLSR7bm9ybWFsaXplZH1gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZXRWYWx1ZShgJHtub3JtYWxpemVkfSR7aGFzRGVjaW1hbFBvaW50ID8gJy4nIDogJyd9YC50cmltKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShlKTtcbiAgICB9LCBbb25DaGFuZ2UsIF92YWx1ZSwgdmFsdWUsIGZvcm1hdHRlZFZhbHVlLCBtYXhGcmFjdGlvbkRpZ2l0cywgbWluLCBtYXgsIG5lZ2F0aXZlLCBkaXNhYmxlZCwgcmVhZE9ubHldKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lLCBfZiwgX2csIF9oLCBfaiwgX2s7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gKF9iID0gKF9hID0gY29udGFpbmVyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogTUlOX0lOUFVUX1dJRFRIO1xuICAgICAgICBjb25zdCBwcmVmaXhXaWR0aCA9IChfZCA9IChfYyA9IHByZWZpeFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Mub2Zmc2V0V2lkdGgpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDA7XG4gICAgICAgIGNvbnN0IHN1ZmZpeFdpZHRoID0gKF9mID0gKF9lID0gc3VmZml4UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9lID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZS5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2YgIT09IHZvaWQgMCA/IF9mIDogMDtcbiAgICAgICAgY29uc3QgY3VycmVuY3lXaWR0aCA9IChfaCA9IChfZyA9IGN1cnJlbmN5UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9nID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZy5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2ggIT09IHZvaWQgMCA/IF9oIDogMDtcbiAgICAgICAgY29uc3QgZmFrZVdpZHRoID0gKF9rID0gKF9qID0gZmFrZUVsZVJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfaiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2oub2Zmc2V0V2lkdGgpICE9PSBudWxsICYmIF9rICE9PSB2b2lkIDAgPyBfayA6IDA7XG4gICAgICAgIGNvbnN0IGdhcFdpZHRoID0gcHJlZml4V2lkdGggJiYgc3VmZml4V2lkdGggJiYgY3VycmVuY3lXaWR0aFxuICAgICAgICAgICAgPyAyNFxuICAgICAgICAgICAgOiAocHJlZml4V2lkdGggJiYgc3VmZml4V2lkdGgpIHx8IChwcmVmaXhXaWR0aCAmJiBjdXJyZW5jeVdpZHRoKSB8fCAoc3VmZml4V2lkdGggJiYgY3VycmVuY3lXaWR0aClcbiAgICAgICAgICAgICAgICA/IDE2XG4gICAgICAgICAgICAgICAgOiBwcmVmaXhXaWR0aCB8fCBzdWZmaXhXaWR0aCB8fCBjdXJyZW5jeVdpZHRoXG4gICAgICAgICAgICAgICAgICAgID8gOFxuICAgICAgICAgICAgICAgICAgICA6IDA7XG4gICAgICAgIGNvbnN0IG1heFdpZHRoID0gY29udGFpbmVyV2lkdGggLSBwcmVmaXhXaWR0aCAtIHN1ZmZpeFdpZHRoIC0gY3VycmVuY3lXaWR0aCAtIGdhcFdpZHRoO1xuICAgICAgICBjb25zdCBpc01heCA9IGZha2VXaWR0aCA+PSBtYXhXaWR0aDtcbiAgICAgICAgc2V0V2lkdGgoTWF0aC5taW4obWF4V2lkdGgsIE1hdGgubWF4KGZha2VXaWR0aCwgTUlOX0lOUFVUX1dJRFRIKSkpO1xuICAgICAgICBzZXRJc01heFdpZHRoKGlzTWF4KTtcbiAgICAgICAgaWYgKGlzRm9jdXMpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnaW5wdXRDYXJldFBvc2l0aW9uUmVmOiAnLCBpbnB1dENhcmV0UG9zaXRpb25SZWYuY3VycmVudCk7XG4gICAgICAgICAgICBzY3JvbGxUb0VuZCh0cnVlKTtcbiAgICAgICAgfVxuICAgIH0sIFtfdmFsdWUsIHByZWZpeCwgc3VmZml4LCBjdXJyZW5jeSwgaXNGb2N1c10pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vIGNsZWFyIG5lZ2F0aXZlIHNpZ24gaWYgbm90IGFsbG93ZWRcbiAgICAgICAgaWYgKG5lZ2F0aXZlKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJylcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKF92YWx1ZSA9PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoX3ZhbHVlID09PSAnLScpIHtcbiAgICAgICAgICAgIHNldFZhbHVlKG51bGwpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChfdmFsdWUuc3RhcnRzV2l0aCgnLScpKVxuICAgICAgICAgICAgc2V0VmFsdWUoX3ZhbHVlLnNsaWNlKDEpKTtcbiAgICB9LCBbbmVnYXRpdmUsIHZhbHVlLCBfdmFsdWVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgbGV0IHZhbCA9IHZhbHVlO1xuICAgICAgICBsZXQgaGFzRGVjaW1hbFBvaW50ID0gZmFsc2U7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgaWYgKHZhbCA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFsID0gbm9ybWFsaXplTnVtYmVySW5wdXQodmFsKS5zcGxpdCgnLCcpLmpvaW4oJycpO1xuICAgICAgICAgICAgICAgIGhhc0RlY2ltYWxQb2ludCA9ICEhdmFsICYmIHZhbC5lbmRzV2l0aCgnLicpO1xuICAgICAgICAgICAgICAgIGlmIChoYXNEZWNpbWFsUG9pbnQpXG4gICAgICAgICAgICAgICAgICAgIHZhbCA9IHZhbC5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICAgICAgaWYgKCFuZWdhdGl2ZSlcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gdmFsLnJlcGxhY2UoLy0vZywgJycpO1xuICAgICAgICAgICAgICAgIGlmIChuZWdhdGl2ZSAmJiB2YWwgPT09ICctJykge1xuICAgICAgICAgICAgICAgICAgICBzZXRWYWx1ZSgnLScpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc05hTigrdmFsKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHZhbCAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsICE9PSAnbnVtYmVyJyAmJiB0eXBlb2YgdmFsICE9PSAnYmlnaW50JylcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKCFuZWdhdGl2ZSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgdmFsID0gTWF0aC5hYnModmFsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdiaWdpbnQnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgemVybyA9IEJpZ0ludCgwKTtcbiAgICAgICAgICAgICAgICB2YWwgPSB2YWwgPCB6ZXJvID8gLXZhbCA6IHZhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSAmJiAodHlwZW9mIG1heEZyYWN0aW9uRGlnaXRzID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgbWF4RnJhY3Rpb25EaWdpdHMgPT09ICdiaWdpbnQnKSkge1xuICAgICAgICAgICAgY29uc3QgW2ludCwgZGVjaW1hbF0gPSAoJycgKyB2YWwpLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICBpZiAoZGVjaW1hbCAhPSBudWxsICYmIGRlY2ltYWwubGVuZ3RoID4gTnVtYmVyKG1heEZyYWN0aW9uRGlnaXRzKSkge1xuICAgICAgICAgICAgICAgIHZhbCA9IGludCArICcuJyArIGRlY2ltYWwuc2xpY2UoMCwgTnVtYmVyKG1heEZyYWN0aW9uRGlnaXRzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWwgPT09ICdudW1iZXInIHx8IHR5cGVvZiB2YWwgPT09ICdiaWdpbnQnKSB7XG4gICAgICAgICAgICB2YWwgPSBjYWxjVmFsdWVJblJhbmdlKCcnICsgdmFsLCBtaW4sIG1heCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbCA9PT0gJycgfHwgdmFsID09IG51bGwpIHtcbiAgICAgICAgICAgIHNldFZhbHVlKG51bGwpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgc3RyVmFsID0gJycgKyB2YWw7XG4gICAgICAgICAgICBjb25zdCBkZWNpbWFscyA9IChfYyA9IChfYiA9IChfYSA9IHN0clZhbC5tYXRjaCgvXFwuKFxcZCspJC8pKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2FbMV0pID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5sZW5ndGgpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IDA7XG4gICAgICAgICAgICBjb25zdCBibiA9IEJpZ051bWJlcihzdHJWYWwpO1xuICAgICAgICAgICAgbGV0IG5vcm1hbGl6ZWQgPSBibi50b0ZpeGVkKGRlY2ltYWxzKTtcbiAgICAgICAgICAgIGlmIChuZWdhdGl2ZSAmJiBzdHJWYWwudHJpbSgpLnN0YXJ0c1dpdGgoJy0nKSAmJiBibi5pc1plcm8oKSkge1xuICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWQgPSBub3JtYWxpemVkLnN0YXJ0c1dpdGgoJy0nKSA/IG5vcm1hbGl6ZWQgOiBgLSR7bm9ybWFsaXplZH1gO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0VmFsdWUoYCR7bm9ybWFsaXplZH0ke2hhc0RlY2ltYWxQb2ludCA/ICcuJyA6ICcnfWAudHJpbSgpKTtcbiAgICAgICAgfVxuICAgIH0sIFt2YWx1ZSwgbWF4RnJhY3Rpb25EaWdpdHMsIG1pbiwgbWF4LCBuZWdhdGl2ZV0pO1xuICAgIHJldHVybiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnd3JhcHBlcicsIGpvaW5DbHMod3JhcHBlckNscywgaW52YWxpZCAmJiBjbGFzc2VzKCdpbnZhbGlkJyksIHN1Y2Nlc3MgJiYgY2xhc3Nlcygnc3VjY2VzcycpLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCdkaXNhYmxlZCcpLCByZWFkT25seSAmJiBjbGFzc2VzKCdyZWFkb25seScpLCBfdmFsdWUgJiYgY2xhc3NlcygnZmlsbGVkJykpKSwgY2hpbGRyZW46IFtsYWJlbFxuICAgICAgICAgICAgICAgID8gbG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICA/IF9qc3goU2tlbGV0b24sIHsgd2lkdGg6ICc3MnB4JywgaGVpZ2h0OiAnMThweCcsIGNsYXNzTmFtZTogY2xhc3NlcygnbGFiZWwtbG9hZGluZycpIH0pXG4gICAgICAgICAgICAgICAgICAgIDogX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2xhYmVsJywgam9pbkNscyhyZXF1aXJlZCAmJiBjbGFzc2VzKCdsYWJlbC1yZXF1aXJlZCcpLCBsYWJlbENscykpLCBjaGlsZHJlbjogbGFiZWwgfSlcbiAgICAgICAgICAgICAgICA6IG51bGwsIF9qc3hzKFwiZGl2XCIsIHsgcmVmOiBjb250YWluZXJSZWYsIGNsYXNzTmFtZTogY2xhc3Nlcyh2b2lkIDAsIGpvaW5DbHMoY2xhc3NOYW1lLCBpc0ZvY3VzICYmIGNsYXNzZXMoJ2ZvY3VzJykpKSwgb25DbGljazogKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAoX2EgPSBpbnB1dFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzTWF4V2lkdGgpXG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb0VuZCgpO1xuICAgICAgICAgICAgICAgIH0sIGNoaWxkcmVuOiBbcHJlZml4ICYmIF9qc3goXCJzcGFuXCIsIHsgcmVmOiBwcmVmaXhSZWYsIGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2VsZW1lbnQnLCAoIWlzRm9jdXMgJiYgaXNNYXhXaWR0aCkgPyBjbGFzc2VzKCdlbGVtZW50LW1heCcpIDogJycpLCBjaGlsZHJlbjogX2pzeChcImlucHV0XCIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcmVmOiBpbnB1dFJlZiwgdmFsdWU6IGZvcm1hdHRlZFZhbHVlLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIHJlYWRPbmx5OiByZWFkT25seSwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzdHlsZTogeyAnLS1pbnB1dC13aWR0aCc6IGAke193aWR0aH1weGAgfSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb25TZWxlY3Q9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgIGNvbnN0IHBvcyA9IGlucHV0UmVmLmN1cnJlbnQ/LnNlbGVjdGlvblN0YXJ0ID8/IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBpbnB1dENhcmV0UG9zaXRpb25SZWYuY3VycmVudCA9IHBvcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRm9jdXM6IGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRJc0ZvY3VzKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZvY3VzID09PSBudWxsIHx8IG9uRm9jdXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uRm9jdXMoZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgb25CbHVyOiBlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNGb2N1cyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cihlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IH0pKSB9KSwgY3VycmVuY3kgJiYgX2pzeChcInNwYW5cIiwgeyByZWY6IGN1cnJlbmN5UmVmLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2N1cnJlbmN5JyksIGNoaWxkcmVuOiBjdXJyZW5jeSB9KSwgbG9hZGluZyA/IF9qc3goU3Bpbm5lciwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3N1ZmZpeC1sb2FkaW5nJyksIHN0cm9rZVdpZHRoOiAnNCcgfSkgOiBzdWZmaXggPyBfanN4KFwic3BhblwiLCB7IHJlZjogc3VmZml4UmVmLCBjbGFzc05hbWU6IGNsYXNzZXMoJ3N1ZmZpeCcpLCBjaGlsZHJlbjogc3VmZml4IH0pIDogbnVsbCwgX2pzeChcInNwYW5cIiwgeyByZWY6IGZha2VFbGVSZWYsIGNsYXNzTmFtZTogY2xhc3NlcygnZmFrZScpLCBvbkNsaWNrOiBlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCksIGNoaWxkcmVuOiBudW1lcmljRm9ybWF0dGVyKCcnICsgKF92YWx1ZSA9PSBudWxsID8gJycgOiBfdmFsdWUpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRTZXBhcmF0b3I6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZTogbmVnYXRpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSB9KV0gfSksIChtZXNzYWdlIHx8IGZvb3Rub3RlKSAmJiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZXh0cmEnKSwgY2hpbGRyZW46IFttZXNzYWdlICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ21lc3NhZ2UnLCBtZXNzYWdlQ2xzKSwgY2hpbGRyZW46IG1lc3NhZ2UgfSksIGZvb3Rub3RlICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2Zvb3Rub3RlJywgZm9vdG5vdGVDbHMpLCBjaGlsZHJlbjogZm9vdG5vdGUgfSldIH0pXSB9KTtcbn07XG5leHBvcnQgZGVmYXVsdCBtZW1vKElucHV0QW1vdW50KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
361
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXRBbW91bnQvSW5wdXRBbW91bnQuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0lucHV0QW1vdW50L0lucHV0QW1vdW50LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfYmlnbnVtYmVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdE51bWJlckZvcm1hdCIsIl9za2VsZXRvbiIsIl9TcGlubmVyIiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9fcmVzdCIsInMiLCJwIiwicHJvdG90eXBlIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiTUlOX0lOUFVUX1dJRFRIIiwibm9ybWFsaXplTnVtYmVySW5wdXQiLCJ2YWwiLCJyZXBsYWNlIiwiY2FsY1ZhbHVlSW5SYW5nZSIsIm1pbiIsIm1heCIsImlzTmFOIiwiY2FsY1ZhbCIsImJuVmFsIiwiQmlnTnVtYmVyIiwibWluQm4iLCJsdCIsIm1heEJuIiwiZ3QiLCJJbnB1dEFtb3VudCIsImV4cG9ydHMiLCJwcm9wcyIsInZhbHVlIiwiX3Byb3BzJHR5cGUiLCJ0eXBlIiwibWF4RnJhY3Rpb25EaWdpdHMiLCJjaGlsZHJlbiIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiZm9vdG5vdGUiLCJmb290bm90ZUNscyIsImNsYXNzTmFtZSIsIndyYXBwZXJDbHMiLCJsYWJlbENscyIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJtZXNzYWdlQ2xzIiwiaW52YWxpZCIsIm5lZ2F0aXZlIiwicmVxdWlyZWQiLCJsb2FkaW5nIiwic3VjY2VzcyIsImRpc2FibGVkIiwicmVhZE9ubHkiLCJsYWJlbCIsInByZWZpeCIsInN1ZmZpeCIsImN1cnJlbmN5IiwibWVzc2FnZSIsIm9uQ2hhbmdlIiwib25CbHVyIiwib25Gb2N1cyIsInJlc3QiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsImNvbmNhdCIsImlucHV0UmVmIiwidXNlUmVmIiwiZmFrZUVsZVJlZiIsInByZWZpeFJlZiIsInN1ZmZpeFJlZiIsImN1cnJlbmN5UmVmIiwiY29udGFpbmVyUmVmIiwiaW5wdXRDYXJldFBvc2l0aW9uUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiX3ZhbHVlIiwic2V0VmFsdWUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIl93aWR0aCIsInNldFdpZHRoIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc01heFdpZHRoIiwic2V0SXNNYXhXaWR0aCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNGb2N1cyIsInNldElzRm9jdXMiLCJmb3JtYXR0ZWRWYWx1ZSIsInVzZU1lbW8iLCJudW1lcmljRm9ybWF0dGVyIiwidGhvdXNhbmRTZXBhcmF0b3IiLCJhbGxvd05lZ2F0aXZlIiwic2Nyb2xsVG9FbmQiLCJ1c2VDYWxsYmFjayIsInN0aWNreSIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsIl9hIiwiaW5wdXQiLCJjdXJyZW50IiwibGVuIiwicG9zaXRpb24iLCJzY3JvbGxMZWZ0Iiwic2hvdWxkVG9FbmQiLCJzdGFydCIsInNldFNlbGVjdGlvblJhbmdlIiwic2Nyb2xsV2lkdGgiLCJmb2N1cyIsImhhbmRsZUNoYW5nZSIsIl9iIiwiX2MiLCJfZCIsIl9lIiwiX2YiLCJ0YXJnZXQiLCJzcGxpdCIsImpvaW4iLCJoYXNEZWNpbWFsUG9pbnQiLCJlbmRzV2l0aCIsInNsaWNlIiwiaW5jbHVkZXMiLCJpc1N0YW5kYWxvbmVNaW51cyIsIl92YWwkc3BsaXQiLCJfdmFsJHNwbGl0MiIsImludCIsImRlY2ltYWwiLCJOdW1iZXIiLCJfZm9ybWF0dGVkVmFsdWUkc3BsaXQiLCJfZm9ybWF0dGVkVmFsdWUkc3BsaXQyIiwib2xkRGVjaW1hbCIsImZvcm1hdHRlZE5ld1ZhbCIsImlzQWRkIiwiaWdub3JlT2xkUG9zIiwic2VsZWN0aW9uU3RhcnQiLCJjb25zb2xlIiwiaW5mbyIsIm9sZFBvc1ZhbCIsInBvc1ZhbCIsInJlZHVjZSIsImFjYyIsImNoYXIiLCJpbmQiLCJwdXNoIiwiZGVjaW1hbHMiLCJtYXRjaCIsImJuIiwibm9ybWFsaXplZCIsInRvRml4ZWQiLCJ0cmltIiwic3RhcnRzV2l0aCIsImlzWmVybyIsInVzZUVmZmVjdCIsIl9nIiwiX2giLCJfaiIsIl9rIiwiY29udGFpbmVyV2lkdGgiLCJvZmZzZXRXaWR0aCIsInByZWZpeFdpZHRoIiwic3VmZml4V2lkdGgiLCJjdXJyZW5jeVdpZHRoIiwiZmFrZVdpZHRoIiwiZ2FwV2lkdGgiLCJtYXhXaWR0aCIsImlzTWF4IiwiTWF0aCIsImFicyIsInplcm8iLCJCaWdJbnQiLCJfc3BsaXQiLCJfc3BsaXQyIiwic3RyVmFsIiwiX2pzeHMiLCJqb2luQ2xzIiwiX2pzeCIsIlNrZWxldG9uIiwid2lkdGgiLCJoZWlnaHQiLCJyZWYiLCJvbkNsaWNrIiwiSFRNTElucHV0RWxlbWVudCIsImFzc2lnbiIsInN0eWxlIiwib25TZWxlY3QiLCJwb3MiLCJTcGlubmVyIiwic3Ryb2tlV2lkdGgiLCJzdG9wUHJvcGFnYXRpb24iLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLGtCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxTQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxRQUFBLEdBQUFILHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFDLHVCQUFBLENBQUFSLE9BQUE7QUFBd0UsU0FBQVMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFGLHdCQUFBRSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLGNBQUFSLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FETHhFLElBQUlXLE1BQU0sR0FBSSxVQUFRLFNBQUtBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVwQixDQUFDLEVBQUU7RUFDbEQsSUFBSUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSWtCLENBQUMsSUFBSUQsQ0FBQyxFQUFFLElBQUlULE1BQU0sQ0FBQ1csU0FBUyxDQUFDUCxjQUFjLENBQUNDLElBQUksQ0FBQ0ksQ0FBQyxFQUFFQyxDQUFDLENBQUMsSUFBSXJCLENBQUMsQ0FBQ3VCLE9BQU8sQ0FBQ0YsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRWxCLENBQUMsQ0FBQ2tCLENBQUMsQ0FBQyxHQUFHRCxDQUFDLENBQUNDLENBQUMsQ0FBQztFQUNmLElBQUlELENBQUMsSUFBSSxJQUFJLElBQUksT0FBT1QsTUFBTSxDQUFDYSxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSVAsQ0FBQyxHQUFHLENBQUMsRUFBRUksQ0FBQyxHQUFHVixNQUFNLENBQUNhLHFCQUFxQixDQUFDSixDQUFDLENBQUMsRUFBRUgsQ0FBQyxHQUFHSSxDQUFDLENBQUNJLE1BQU0sRUFBRVIsQ0FBQyxFQUFFLEVBQUU7SUFDcEUsSUFBSWpCLENBQUMsQ0FBQ3VCLE9BQU8sQ0FBQ0YsQ0FBQyxDQUFDSixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSU4sTUFBTSxDQUFDVyxTQUFTLENBQUNJLG9CQUFvQixDQUFDVixJQUFJLENBQUNJLENBQUMsRUFBRUMsQ0FBQyxDQUFDSixDQUFDLENBQUMsQ0FBQyxFQUMxRWQsQ0FBQyxDQUFDa0IsQ0FBQyxDQUFDSixDQUFDLENBQUMsQ0FBQyxHQUFHRyxDQUFDLENBQUNDLENBQUMsQ0FBQ0osQ0FBQyxDQUFDLENBQUM7RUFDekI7RUFDSixPQUFPZCxDQUFDO0FBQ1osQ0FBQztBQ0FELElBQU13QixlQUFlLEdBQUcsRUFBRTtBQUUxQixJQUFNQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFJQyxHQUFXO0VBQUEsT0FDdkNBLEdBQUcsQ0FDQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEdBQUcsQ0FBQyxDQUNyQ0EsT0FBTyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUM7QUFBQTtBQUU5QixJQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUNwQkYsR0FBVyxFQUNYRyxHQUErQixFQUMvQkMsR0FBK0IsRUFDN0I7RUFDRixJQUFJSixHQUFHLEtBQUssRUFBRSxJQUFJQSxHQUFHLEtBQUssR0FBRyxJQUFJSyxLQUFLLENBQUMsQ0FBQ0wsR0FBRyxDQUFDLEVBQUUsT0FBT0EsR0FBRztFQUV4RCxJQUFJTSxPQUFPLEdBQUdOLEdBQUc7RUFDakIsSUFBTU8sS0FBSyxHQUFHLElBQUFDLHFCQUFTLEVBQUNSLEdBQUcsQ0FBQztFQUU1QixJQUFJLE9BQU9HLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBT0EsR0FBRyxLQUFLLFFBQVEsRUFBRTtJQUN0RCxJQUFNTSxLQUFLLEdBQUcsSUFBQUQscUJBQVMsRUFBQ0wsR0FBRyxDQUFDO0lBQzVCLElBQUlJLEtBQUssQ0FBQ0csRUFBRSxDQUFDRCxLQUFLLENBQUMsRUFBRTtNQUNuQkgsT0FBTyxHQUFHLEVBQUUsR0FBR0gsR0FBRztJQUNwQjtFQUNGO0VBRUEsSUFBSSxPQUFPQyxHQUFHLEtBQUssUUFBUSxJQUFJLE9BQU9BLEdBQUcsS0FBSyxRQUFRLEVBQUU7SUFDdEQsSUFBTU8sS0FBSyxHQUFHLElBQUFILHFCQUFTLEVBQUNKLEdBQUcsQ0FBQztJQUM1QixJQUFJRyxLQUFLLENBQUNLLEVBQUUsQ0FBQ0QsS0FBSyxDQUFDLEVBQUU7TUFDbkJMLE9BQU8sR0FBRyxFQUFFLEdBQUdGLEdBQUc7SUFDcEI7RUFDRjtFQUVBLE9BQU9FLE9BQU87QUFDaEIsQ0FBQztBQUVNLElBQU1PLFdBQVcsR0FBQUMsT0FBQSxDQUFBRCxXQUFBLEdBQTRDLFNBQXZEQSxXQUFXQSxDQUE0Q0UsS0FBSyxFQUFHO0VBQzFFLElBQ0VDLEtBQUssR0FhSEQsS0FBSyxDQWJQQyxLQUFLO0lBQUFDLFdBQUEsR0FhSEYsS0FBSyxDQVpQRyxJQUFJO0lBQUpBLElBQUksR0FBQUQsV0FBQSxjQUFHLFNBQVMsR0FBQUEsV0FBQTtJQUNoQkUsaUJBQWlCLEdBV2ZKLEtBQUssQ0FYUEksaUJBQWlCO0lBQ2pCQyxRQUFRLEdBVU5MLEtBQUssQ0FWUEssUUFBUTtJQUFBQyxrQkFBQSxHQVVOTixLQUFLLENBVFBPLFdBQVc7SUFBWEEsV0FBVyxHQUFBRCxrQkFBQSxjQUFHLEdBQUcsR0FBQUEsa0JBQUE7SUFDakJsQixHQUFHLEdBUURZLEtBQUssQ0FSUFosR0FBRztJQUFFQyxHQUFHLEdBUU5XLEtBQUssQ0FSRlgsR0FBRztJQUFBbUIsV0FBQSxHQVFOUixLQUFLLENBTlBTLElBQUk7SUFBSkEsSUFBSSxHQUFBRCxXQUFBLGNBQUcsT0FBTyxHQUFBQSxXQUFBO0lBQUVFLFFBQVEsR0FNdEJWLEtBQUssQ0FOU1UsUUFBUTtJQUFFQyxXQUFXLEdBTW5DWCxLQUFLLENBTm1CVyxXQUFXO0lBQ3JDQyxTQUFTLEdBS1BaLEtBQUssQ0FMUFksU0FBUztJQUFFQyxVQUFVLEdBS25CYixLQUFLLENBTElhLFVBQVU7SUFBRUMsUUFBUSxHQUs3QmQsS0FBSyxDQUxnQmMsUUFBUTtJQUFBQyxnQkFBQSxHQUs3QmYsS0FBSyxDQUwwQmdCLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLGNBQWMsR0FBQUEsZ0JBQUE7SUFBRUUsVUFBVSxHQUtyRWpCLEtBQUssQ0FMc0RpQixVQUFVO0lBQ3ZFQyxPQUFPLEdBSUxsQixLQUFLLENBSlBrQixPQUFPO0lBQUVDLFFBQVEsR0FJZm5CLEtBQUssQ0FKRW1CLFFBQVE7SUFBRUMsUUFBUSxHQUl6QnBCLEtBQUssQ0FKWW9CLFFBQVE7SUFBRUMsT0FBTyxHQUlsQ3JCLEtBQUssQ0FKc0JxQixPQUFPO0lBQUVDLE9BQU8sR0FJM0N0QixLQUFLLENBSitCc0IsT0FBTztJQUFFQyxRQUFRLEdBSXJEdkIsS0FBSyxDQUp3Q3VCLFFBQVE7SUFBRUMsUUFBUSxHQUkvRHhCLEtBQUssQ0FKa0R3QixRQUFRO0lBQ2pFQyxLQUFLLEdBR0h6QixLQUFLLENBSFB5QixLQUFLO0lBQUVDLE1BQU0sR0FHWDFCLEtBQUssQ0FIQTBCLE1BQU07SUFBRUMsTUFBTSxHQUduQjNCLEtBQUssQ0FIUTJCLE1BQU07SUFBRUMsUUFBUSxHQUc3QjVCLEtBQUssQ0FIZ0I0QixRQUFRO0lBQUVDLE9BQU8sR0FHdEM3QixLQUFLLENBSDBCNkIsT0FBTztJQUN4Q0MsUUFBUSxHQUVOOUIsS0FBSyxDQUZQOEIsUUFBUTtJQUFFQyxPQUFNLEdBRWQvQixLQUFLLENBRkcrQixNQUFNO0lBQUVDLFFBQU8sR0FFdkJoQyxLQUFLLENBRldnQyxPQUFPO0lBQ3RCQyxJQUFJLEdBQUExRCxNQUFBLENBQ0x5QixLQUFLLEVBZEgsQ0FBQSxPQUFBLEVBQUEsTUFBQSxFQUFBLG1CQUFBLEVBQUEsVUFBQSxFQUFBLGFBQUEsRUFBQSxLQUFBLEVBQUEsS0FBQSxFQUFBLE1BQUEsRUFBQSxVQUFBLEVBQUEsYUFBQSxFQUFBLFdBQUEsRUFBQSxZQUFBLEVBQUEsVUFBQSxFQUFBLFdBQUEsRUFBQSxZQUFBLEVBQUEsU0FBQSxFQUFBLFVBQUEsRUFBQSxVQUFBLEVBQUEsU0FBQSxFQUFBLFNBQUEsRUFBQSxVQUFBLEVBQUEsVUFBQSxFQUFBLE9BQUEsRUFBQSxRQUFBLEVBQUEsUUFBQSxFQUFBLFVBQUEsRUFBQSxTQUFBLEVBQUEsVUFBQSxFQUFBLFFBQUEsRUFBQSxTQUFBLENBY0wsQ0FBUTtFQUNULElBQU1rQyxPQUFPLEdBQUcsSUFBQUMsc0JBQVUsS0FBQUMsTUFBQSxDQUFJcEIsU0FBUyxPQUFBb0IsTUFBQSxDQUFJakMsSUFBSSxDQUFFLENBQUM7RUFFbEQsSUFBTWtDLFFBQVEsR0FBRyxJQUFBQyxhQUFNLEVBQW1CLElBQUksQ0FBQztFQUMvQyxJQUFNQyxVQUFVLEdBQUcsSUFBQUQsYUFBTSxFQUFrQixJQUFJLENBQUM7RUFDaEQsSUFBTUUsU0FBUyxHQUFHLElBQUFGLGFBQU0sRUFBa0IsSUFBSSxDQUFDO0VBQy9DLElBQU1HLFNBQVMsR0FBRyxJQUFBSCxhQUFNLEVBQWtCLElBQUksQ0FBQztFQUMvQyxJQUFNSSxXQUFXLEdBQUcsSUFBQUosYUFBTSxFQUFrQixJQUFJLENBQUM7RUFDakQsSUFBTUssWUFBWSxHQUFHLElBQUFMLGFBQU0sRUFBaUIsSUFBSSxDQUFDO0VBQ2pELElBQU1NLHFCQUFxQixHQUFHLElBQUFOLGFBQU0sRUFBUyxDQUFDLENBQUM7RUFFL0MsSUFBQU8sU0FBQSxHQUEyQixJQUFBQyxlQUFRLEVBQWdCLElBQUksQ0FBQztJQUFBQyxVQUFBLE9BQUFDLGVBQUEsYUFBQUgsU0FBQTtJQUFqREksTUFBTSxHQUFBRixVQUFBO0lBQUVHLFFBQVEsR0FBQUgsVUFBQTtFQUN2QixJQUFBSSxVQUFBLEdBQTJCLElBQUFMLGVBQVEsRUFBUy9ELGVBQWUsQ0FBQztJQUFBcUUsVUFBQSxPQUFBSixlQUFBLGFBQUFHLFVBQUE7SUFBckRFLE1BQU0sR0FBQUQsVUFBQTtJQUFFRSxRQUFRLEdBQUFGLFVBQUE7RUFDdkIsSUFBQUcsVUFBQSxHQUFvQyxJQUFBVCxlQUFRLEVBQVUsS0FBSyxDQUFDO0lBQUFVLFVBQUEsT0FBQVIsZUFBQSxhQUFBTyxVQUFBO0lBQXJERSxVQUFVLEdBQUFELFVBQUE7SUFBRUUsYUFBYSxHQUFBRixVQUFBO0VBQ2hDLElBQUFHLFVBQUEsR0FBOEIsSUFBQWIsZUFBUSxFQUFVLEtBQUssQ0FBQztJQUFBYyxVQUFBLE9BQUFaLGVBQUEsYUFBQVcsVUFBQTtJQUEvQ0UsT0FBTyxHQUFBRCxVQUFBO0lBQUVFLFVBQVUsR0FBQUYsVUFBQTtFQUUxQixJQUFNRyxjQUFjLEdBQUcsSUFBQUMsY0FBTyxFQUFDLFlBQUs7SUFDbEMsT0FBTyxJQUFBQyxtQ0FBZ0IsRUFBQyxFQUFFLElBQUloQixNQUFNLElBQUksSUFBSSxHQUFHLEVBQUUsR0FBR0EsTUFBTSxDQUFDLEVBQUU7TUFDM0RpQixpQkFBaUIsRUFBRSxJQUFJO01BQ3ZCQyxhQUFhLEVBQUVoRDtJRGpCYixDQ2tCSCxDQUFDO0VBQ0osQ0FBQyxFQUFFLENBQUM4QixNQUFNLEVBQUU5QixRQUFRLENBQUMsQ0FBQztFQUV0QixJQUFNaUQsV0FBVyxHQUFHLElBQUFDLGtCQUFXLEVBQUMsWUFBNEI7SUFBQSxJQUEzQkMsTUFBQSxHQUFBQyxTQUFBLENBQUExRixNQUFBLFFBQUEwRixTQUFBLFFBQUFDLFNBQUEsR0FBQUQsU0FBQSxNQUFrQixLQUFLO0lEbEJsRCxJQUFJRSxFQUFFO0lDbUJWLElBQU1DLEtBQUssR0FBR3JDLFFBQVEsQ0FBQ3NDLE9BQU87SUFDOUIsSUFBSSxDQUFDRCxLQUFLLEVBQUU7SUFDWixJQUFNRSxHQUFHLEdBQUcsQ0FBQUgsRUFBQSxHQUFBQyxLQUFLLENBQUN6RSxLQUFLLE1BQUEsSUFBQSxJQUFBd0UsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUU1RixNQUFNO0lBQy9CLElBQU1nRyxRQUFRLEdBQUdILEtBQUssQ0FBQ0ksVUFBVTtJQUNqQyxJQUFNQyxXQUFXLEdBQUcsQ0FBQ1QsTUFBTTtJQUMzQixJQUFNVSxLQUFLLEdBQUdELFdBQVcsR0FBR0gsR0FBRyxHQUFHaEMscUJBQXFCLENBQUMrQixPQUFPO0lBQy9ERCxLQUFLLENBQUNPLGlCQUFpQixDQUFDRCxLQUFLLEVBQUVBLEtBQUssQ0FBQztJQUNyQ04sS0FBSyxDQUFDSSxVQUFVLEdBQUdDLFdBQVcsR0FBR0wsS0FBSyxDQUFDUSxXQUFXLEdBQUdMLFFBQVE7SUFDN0RILEtBQUssQ0FBQ1MsS0FBSyxDQUFBLENBQUU7RUFDZixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sSUFBTUMsWUFBWSxHQUFHLElBQUFmLGtCQUFXLEVBQUMsVUFBQ2pILENBQWdDLEVBQUk7SURqQmhFLElBQUlxSCxFQUFFLEVBQUVZLEVBQUUsRUFBRUMsRUFBRSxFQUFFQyxFQUFFLEVBQUVDLEVBQUUsRUFBRUMsRUFBRTtJQ2tCOUIsSUFBSWxFLFFBQVEsSUFBSUMsUUFBUSxFQUFFO0lBQzFCLElBQUl2QyxHQUFHLEdBQUc3QixDQUFDLENBQUNzSSxNQUFNLENBQUN6RixLQUFLO0lBQ3hCLElBQUloQixHQUFHLElBQUksSUFBSSxFQUFFQSxHQUFHLEdBQUdELG9CQUFvQixDQUFDQyxHQUFHLENBQUMsQ0FBQzBHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNwRSxJQUFNQyxlQUFlLEdBQUcsQ0FBQyxDQUFDNUcsR0FBRyxJQUFJQSxHQUFHLENBQUM2RyxRQUFRLENBQUMsR0FBRyxDQUFDO0lBQ2xELElBQUlELGVBQWUsRUFBRTVHLEdBQUcsR0FBR0EsR0FBRyxDQUFDOEcsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzQyxJQUFJLENBQUM1RSxRQUFRLEtBQUlsQyxHQUFHLEtBQUEsSUFBQSxJQUFIQSxHQUFHLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUhBLEdBQUcsQ0FBRStHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQSxFQUFFO0lBQ3JDLElBQU1DLGlCQUFpQixHQUFHOUUsUUFBUSxJQUFJbEMsR0FBRyxLQUFLLEdBQUc7SUFDakQsSUFBSSxDQUFDZ0gsaUJBQWlCLElBQUkzRyxLQUFLLENBQUMsQ0FBQ0wsR0FBRyxDQUFDLEVBQUU7SUFDdkMsSUFBSUEsR0FBRyxLQUFLZ0UsTUFBTSxJQUFJLENBQUM0QyxlQUFlLEVBQUU7SUFFeEMsSUFBSSxPQUFPekYsaUJBQWlCLEtBQUssUUFBUSxJQUFJLE9BQU9BLGlCQUFpQixLQUFLLFFBQVEsRUFBRTtNQUNsRixJQUFBOEYsVUFBQSxHQUF1QmpILEdBQUcsQ0FBQzBHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFBQVEsV0FBQSxPQUFBbkQsZUFBQSxhQUFBa0QsVUFBQTtRQUE5QkUsSUFBRyxHQUFBRCxXQUFBO1FBQUVFLE9BQU8sR0FBQUYsV0FBQTtNQUNuQixJQUFJRSxPQUFPLElBQUksSUFBSSxJQUFJQSxPQUFPLENBQUN4SCxNQUFNLEdBQUd5SCxNQUFNLENBQUNsRyxpQkFBaUIsQ0FBQyxFQUFFO1FBQ2pFLElBQUFtRyxxQkFBQSxHQUF1QnhDLGNBQWMsQ0FBQzRCLEtBQUssQ0FBQyxHQUFHLENBQUM7VUFBQWEsc0JBQUEsT0FBQXhELGVBQUEsYUFBQXVELHFCQUFBO1VBQXZDRSxVQUFVLEdBQUFELHNCQUFBO1FBQ25CdkgsR0FBRyxNQUFBbUQsTUFBQSxDQUFNZ0UsSUFBRyxPQUFBaEUsTUFBQSxDQUFJcUUsVUFBVSxDQUFFO01BQzlCO0lBQ0Y7SUFFQSxJQUFLLE9BQU9ySCxHQUFHLEtBQUssUUFBUSxJQUFJLE9BQU9BLEdBQUcsS0FBSyxRQUFRLElBQU0sT0FBT0MsR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPQSxHQUFHLEtBQUssUUFBUyxFQUFFO01BQ2hISixHQUFHLEdBQUdFLGdCQUFnQixDQUFDRixHQUFHLEVBQUVHLEdBQUcsRUFBRUMsR0FBRyxDQUFDO0lBQ3ZDO0lBRUEsSUFBSWdELFFBQVEsQ0FBQ3NDLE9BQU8sRUFBRTtNQUNwQixJQUFNK0IsZUFBZSxHQUFHLElBQUF6QyxtQ0FBZ0IsRUFBQ2hGLEdBQUcsRUFBRTtRQUM1Q2lGLGlCQUFpQixFQUFFLElBQUk7UUFDdkJDLGFBQWEsRUFBRWhEO01EYlgsQ0NjTCxDQUFDO01BRUYsSUFBTXdGLEtBQUssR0FBRzFILEdBQUcsQ0FBQ0osTUFBTSxJQUFJLENBQUE0RixFQUFBLEdBQUF4QixNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sQ0FBRXBFLE1BQU0sTUFBQSxJQUFBLElBQUE0RixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxDQUFDLENBQUM7TUFDaEQsSUFBTW1DLFlBQVksR0FBR0QsS0FBSyxHQUFHMUgsR0FBRyxDQUFDSixNQUFNLElBQUksQ0FBQXdHLEVBQUEsR0FBQXBDLE1BQU0sS0FBQSxJQUFBLElBQU5BLE1BQU0sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTkEsTUFBTSxDQUFFcEUsTUFBTSxNQUFBLElBQUEsSUFBQXdHLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLO01BQzNFLElBQUlSLFFBQVEsR0FBRyxDQUFBUyxFQUFBLEdBQUFqRCxRQUFRLENBQUNzQyxPQUFPLENBQUNrQyxjQUFjLE1BQUEsSUFBQSxJQUFBdkIsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUksQ0FBQztNQUNuRHdCLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLGNBQWMsRUFBRWxDLFFBQVEsQ0FBQztNQUN0QyxJQUFJLENBQUMrQixZQUFZLEVBQUU7UUFDakIsSUFBTUksU0FBUyxHQUFHakQsY0FBYyxDQUFDZ0MsS0FBSyxDQUFDLENBQUMsRUFBR2xCLFFBQVEsSUFBSThCLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUUsQ0FBQztRQUN4RTlCLFFBQVEsR0FBR21DLFNBQVMsQ0FBQ3JCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDL0csTUFBTSxJQUFJOEgsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsRUcsT0FBTyxDQUFDQyxJQUFJLENBQUMsY0FBYyxFQUFFbEMsUUFBUSxDQUFDO01BQ3hDO01BQ0EsSUFBTW9DLE1BQU0sR0FBR2hJLEdBQUcsQ0FBQzhHLEtBQUssQ0FBQyxDQUFDLEVBQUVsQixRQUFRLENBQUM7TUFDckM2QixlQUFlLENBQUNmLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQ3VCLE1BQU0sQ0FBVyxVQUFDQyxHQUFHLEVBQUVDLEtBQUksRUFBRUMsR0FBRyxFQUFJO1FBQzVELElBQUlELEtBQUksS0FBSyxHQUFHLEVBQUUsT0FBT0QsR0FBRyxDQUFDLEtBQ3hCQSxHQUFHLENBQUNHLElBQUksQ0FBQ0YsS0FBSSxDQUFDO1FBQ25CLElBQUlELEdBQUcsQ0FBQ3ZCLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBS3FCLE1BQU0sRUFBRTtVQUMzQnBDLFFBQVEsR0FBR3dDLEdBQUcsR0FBRyxDQUFDO1VBQ2xCLE9BQU9GLEdBQUc7UUFDWjtRQUNBLE9BQU9BLEdBQUc7TUFDWixDQUFDLEVBQUUsRUFBRSxDQUFDO01BQ05MLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLGNBQWMsRUFBRWxDLFFBQVEsQ0FBQztNQUN0Q2pDLHFCQUFxQixDQUFDK0IsT0FBTyxHQUFHRSxRQUFRLElBQUlnQixlQUFlLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0RTtJQUVBLElBQUksT0FBTzVGLEtBQUssS0FBSyxXQUFXLEVBQUU7TUFDaEMsSUFBSWhCLEdBQUcsS0FBSyxFQUFFLEVBQUU7UUFDZGlFLFFBQVEsQ0FBQyxJQUFJLENBQUM7TUFDaEIsQ0FBQyxNQUFNLElBQUkrQyxpQkFBaUIsRUFBRTtRQUM1Qi9DLFFBQVEsQ0FBQyxHQUFHLENBQUM7TUFDZixDQUFDLE1BQU07UUFDTCxJQUFNcUUsUUFBUSxHQUFHLENBQUE5QixFQUFBLEdBQUEsQ0FBQUQsRUFBQSxHQUFBLENBQUFELEVBQUEsR0FBQXRHLEdBQUcsQ0FBQ3VJLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBQSxJQUFBLElBQUFqQyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRyxDQUFDLENBQUMsTUFBQSxJQUFBLElBQUFDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFM0csTUFBTSxNQUFBLElBQUEsSUFBQTRHLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLENBQUM7UUFDeEQsSUFBTWdDLEVBQUUsR0FBRyxJQUFBaEkscUJBQVMsRUFBQ1IsR0FBRyxDQUFDO1FBQ3pCLElBQUl5SSxVQUFVLEdBQUdELEVBQUUsQ0FBQ0UsT0FBTyxDQUFDSixRQUFRLENBQUM7UUFDckMsSUFBSXBHLFFBQVEsSUFBSWxDLEdBQUcsQ0FBQzJJLElBQUksQ0FBQSxDQUFFLENBQUNDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSUosRUFBRSxDQUFDSyxNQUFNLENBQUEsQ0FBRSxFQUFFO1VBQ3pESixVQUFVLEdBQUdBLFVBQVUsQ0FBQ0csVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHSCxVQUFVLE9BQUF0RixNQUFBLENBQU9zRixVQUFVLENBQUU7UUFDekU7UUFDQXhFLFFBQVEsQ0FBQyxHQUFBZCxNQUFBLENBQUdzRixVQUFVLEVBQUF0RixNQUFBLENBQUd5RCxlQUFlLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRytCLElBQUksQ0FBQSxDQUFFLENBQUM7TUFDL0Q7SUFDRjtJQUVBOUYsUUFBUSxLQUFBLElBQUEsSUFBUkEsUUFBUSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFSQSxRQUFRLENBQUcxRSxDQUFDLENBQUM7RUFDZixDQUFDLEVBQUUsQ0FBQzBFLFFBQVEsRUFBRW1CLE1BQU0sRUFBRWhELEtBQUssRUFBRThELGNBQWMsRUFBRTNELGlCQUFpQixFQUFFaEIsR0FBRyxFQUFFQyxHQUFHLEVBQUU4QixRQUFRLEVBQUVJLFFBQVEsRUFBRUMsUUFBUSxDQUFDLENBQUM7RUFFeEcsSUFBQXVHLGdCQUFTLEVBQUMsWUFBSztJRGJULElBQUl0RCxFQUFFLEVBQUVZLEVBQUUsRUFBRUMsRUFBRSxFQUFFQyxFQUFFLEVBQUVDLEVBQUUsRUFBRUMsRUFBRSxFQUFFdUMsRUFBRSxFQUFFQyxFQUFFLEVBQUVDLEVBQUUsRUFBRUMsRUFBRTtJQ2M5QyxJQUFNQyxjQUFjLEdBQUcsQ0FBQS9DLEVBQUEsR0FBQSxDQUFBWixFQUFBLEdBQUE5QixZQUFZLENBQUNnQyxPQUFPLE1BQUEsSUFBQSxJQUFBRixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRTRELFdBQVcsTUFBQSxJQUFBLElBQUFoRCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSXRHLGVBQWU7SUFDM0UsSUFBTXVKLFdBQVcsR0FBRyxDQUFBL0MsRUFBQSxHQUFBLENBQUFELEVBQUEsR0FBQTlDLFNBQVMsQ0FBQ21DLE9BQU8sTUFBQSxJQUFBLElBQUFXLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFK0MsV0FBVyxNQUFBLElBQUEsSUFBQTlDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLENBQUM7SUFDdkQsSUFBTWdELFdBQVcsR0FBRyxDQUFBOUMsRUFBQSxHQUFBLENBQUFELEVBQUEsR0FBQS9DLFNBQVMsQ0FBQ2tDLE9BQU8sTUFBQSxJQUFBLElBQUFhLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFNkMsV0FBVyxNQUFBLElBQUEsSUFBQTVDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLENBQUM7SUFDdkQsSUFBTStDLGFBQWEsR0FBRyxDQUFBUCxFQUFBLEdBQUEsQ0FBQUQsRUFBQSxHQUFBdEYsV0FBVyxDQUFDaUMsT0FBTyxNQUFBLElBQUEsSUFBQXFELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFSyxXQUFXLE1BQUEsSUFBQSxJQUFBSixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxDQUFDO0lBQzNELElBQU1RLFNBQVMsR0FBRyxDQUFBTixFQUFBLEdBQUEsQ0FBQUQsRUFBQSxHQUFBM0YsVUFBVSxDQUFDb0MsT0FBTyxNQUFBLElBQUEsSUFBQXVELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRyxXQUFXLE1BQUEsSUFBQSxJQUFBRixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxDQUFDO0lBQ3RELElBQU1PLFFBQVEsR0FBR0osV0FBVyxJQUFJQyxXQUFXLElBQUlDLGFBQWEsR0FDeEQsRUFBRSxHQUNERixXQUFXLElBQUlDLFdBQVcsSUFBTUQsV0FBVyxJQUFJRSxhQUFjLElBQUtELFdBQVcsSUFBSUMsYUFBYyxHQUM5RixFQUFFLEdBQ0ZGLFdBQVcsSUFBSUMsV0FBVyxJQUFJQyxhQUFhLEdBQ3pDLENBQUMsR0FDRCxDQUFDO0lBRVQsSUFBTUcsUUFBUSxHQUFHUCxjQUFjLEdBQUdFLFdBQVcsR0FBR0MsV0FBVyxHQUFHQyxhQUFhLEdBQUdFLFFBQVE7SUFDdEYsSUFBTUUsS0FBSyxHQUFHSCxTQUFTLElBQUlFLFFBQVE7SUFDbkNyRixRQUFRLENBQUN1RixJQUFJLENBQUN6SixHQUFHLENBQUN1SixRQUFRLEVBQUVFLElBQUksQ0FBQ3hKLEdBQUcsQ0FBQ29KLFNBQVMsRUFBRTFKLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDbEUyRSxhQUFhLENBQUNrRixLQUFLLENBQUM7SUFDcEIsSUFBSS9FLE9BQU8sRUFBRTtNQUNYaUQsT0FBTyxDQUFDQyxJQUFJLENBQUMseUJBQXlCLEVBQUVuRSxxQkFBcUIsQ0FBQytCLE9BQU8sQ0FBQztNQUN0RVAsV0FBVyxDQUFDLElBQUksQ0FBQztJQUNuQjtFQUNGLENBQUMsRUFBRSxDQUFDbkIsTUFBTSxFQUFFdkIsTUFBTSxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRWlDLE9BQU8sQ0FBQyxDQUFDO0VBRS9DLElBQUFrRSxnQkFBUyxFQUFDLFlBQUs7SUFDYjtJQUNBLElBQUk1RyxRQUFRLEVBQUU7SUFDZCxJQUFJLE9BQU9sQixLQUFLLEtBQUssV0FBVyxFQUFFO0lBQ2xDLElBQUlnRCxNQUFNLElBQUksSUFBSSxFQUFFO0lBQ3BCLElBQUlBLE1BQU0sS0FBSyxHQUFHLEVBQUU7TUFDbEJDLFFBQVEsQ0FBQyxJQUFJLENBQUM7TUFDZDtJQUNGO0lBQ0EsSUFBSUQsTUFBTSxDQUFDNEUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFM0UsUUFBUSxDQUFDRCxNQUFNLENBQUM4QyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDdkQsQ0FBQyxFQUFFLENBQUM1RSxRQUFRLEVBQUVsQixLQUFLLEVBQUVnRCxNQUFNLENBQUMsQ0FBQztFQUU3QixJQUFBOEUsZ0JBQVMsRUFBQyxZQUFLO0lEWFQsSUFBSXRELEVBQUUsRUFBRVksRUFBRSxFQUFFQyxFQUFFO0lDWWxCLElBQUlyRyxHQUFHLEdBQUdnQixLQUFLO0lBQ2YsSUFBSTRGLGVBQWUsR0FBRyxLQUFLO0lBQzNCLElBQUksT0FBTzVHLEdBQUcsS0FBSyxRQUFRLEVBQUU7TUFDM0IsSUFBSUEsR0FBRyxLQUFLLEVBQUUsRUFBRTtRQUNkQSxHQUFHLEdBQUcsSUFBSTtNQUNaLENBQUMsTUFBTTtRQUNMQSxHQUFHLEdBQUdELG9CQUFvQixDQUFDQyxHQUFHLENBQUMsQ0FBQzBHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuREMsZUFBZSxHQUFHLENBQUMsQ0FBQzVHLEdBQUcsSUFBSUEsR0FBRyxDQUFDNkcsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUM1QyxJQUFJRCxlQUFlLEVBQUU1RyxHQUFHLEdBQUdBLEdBQUcsQ0FBQzhHLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDNUUsUUFBUSxFQUFFbEMsR0FBRyxHQUFHQSxHQUFHLENBQUNDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQzFDLElBQUlpQyxRQUFRLElBQUlsQyxHQUFHLEtBQUssR0FBRyxFQUFFO1VBQzNCaUUsUUFBUSxDQUFDLEdBQUcsQ0FBQztVQUNiO1FBQ0Y7UUFDQSxJQUFJNUQsS0FBSyxDQUFDLENBQUNMLEdBQUcsQ0FBQyxFQUFFO01BQ25CO0lBQ0YsQ0FBQyxNQUFNLElBQUlBLEdBQUcsS0FBSyxJQUFJLElBQUksT0FBT0EsR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPQSxHQUFHLEtBQUssUUFBUSxFQUFFO0lBRS9FLElBQUksQ0FBQ2tDLFFBQVEsRUFBRTtNQUNiLElBQUksT0FBT2xDLEdBQUcsS0FBSyxRQUFRLEVBQUU7UUFDM0JBLEdBQUcsR0FBRzRKLElBQUksQ0FBQ0MsR0FBRyxDQUFDN0osR0FBRyxDQUFDO01BQ3JCLENBQUMsTUFBTSxJQUFJLE9BQU9BLEdBQUcsS0FBSyxRQUFRLEVBQUU7UUFDbEMsSUFBTThKLElBQUksR0FBR0MsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0Qi9KLEdBQUcsR0FBR0EsR0FBRyxHQUFHOEosSUFBSSxHQUFHLENBQUM5SixHQUFHLEdBQUdBLEdBQUc7TUFDL0I7SUFDRjtJQUVBLElBQUksQ0FBQyxPQUFPQSxHQUFHLEtBQUssUUFBUSxJQUFJLE9BQU9BLEdBQUcsS0FBSyxRQUFRLE1BQU0sT0FBT21CLGlCQUFpQixLQUFLLFFBQVEsSUFBSSxPQUFPQSxpQkFBaUIsS0FBSyxRQUFRLENBQUMsRUFBRTtNQUM1SSxJQUFBNkksTUFBQSxHQUF1QixDQUFDLEVBQUUsR0FBR2hLLEdBQUcsRUFBRTBHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFBQXVELE9BQUEsT0FBQWxHLGVBQUEsYUFBQWlHLE1BQUE7UUFBckM3QyxLQUFHLEdBQUE4QyxPQUFBO1FBQUU3QyxPQUFPLEdBQUE2QyxPQUFBO01BQ25CLElBQUk3QyxPQUFPLElBQUksSUFBSSxJQUFJQSxPQUFPLENBQUN4SCxNQUFNLEdBQUd5SCxNQUFNLENBQUNsRyxpQkFBaUIsQ0FBQyxFQUFFO1FBQ2pFbkIsR0FBRyxHQUFHbUgsS0FBRyxHQUFHLEdBQUcsR0FBR0MsT0FBTyxDQUFDTixLQUFLLENBQUMsQ0FBQyxFQUFFTyxNQUFNLENBQUNsRyxpQkFBaUIsQ0FBQyxDQUFDO01BQy9EO0lBQ0Y7SUFFQSxJQUFJLE9BQU9uQixHQUFHLEtBQUssUUFBUSxJQUFJLE9BQU9BLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBT0EsR0FBRyxLQUFLLFFBQVEsRUFBRTtNQUNqRkEsR0FBRyxHQUFHRSxnQkFBZ0IsQ0FBQyxFQUFFLEdBQUdGLEdBQUcsRUFBRUcsR0FBRyxFQUFFQyxHQUFHLENBQUM7SUFDNUM7SUFFQSxJQUFJSixHQUFHLEtBQUssRUFBRSxJQUFJQSxHQUFHLElBQUksSUFBSSxFQUFFO01BQzdCaUUsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNoQixDQUFDLE1BQU07TUFDTCxJQUFNaUcsTUFBTSxHQUFHLEVBQUUsR0FBR2xLLEdBQUc7TUFDdkIsSUFBTXNJLFFBQVEsR0FBRyxDQUFBakMsRUFBQSxHQUFBLENBQUFELEVBQUEsR0FBQSxDQUFBWixFQUFBLEdBQUEwRSxNQUFNLENBQUMzQixLQUFLLENBQUMsVUFBVSxDQUFDLE1BQUEsSUFBQSxJQUFBL0MsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUcsQ0FBQyxDQUFDLE1BQUEsSUFBQSxJQUFBWSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRXhHLE1BQU0sTUFBQSxJQUFBLElBQUF5RyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxDQUFDO01BQzNELElBQU1tQyxFQUFFLEdBQUcsSUFBQWhJLHFCQUFTLEVBQUMwSixNQUFNLENBQUM7TUFDNUIsSUFBSXpCLFVBQVUsR0FBR0QsRUFBRSxDQUFDRSxPQUFPLENBQUNKLFFBQVEsQ0FBQztNQUNyQyxJQUFJcEcsUUFBUSxJQUFJZ0ksTUFBTSxDQUFDdkIsSUFBSSxDQUFBLENBQUUsQ0FBQ0MsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJSixFQUFFLENBQUNLLE1BQU0sQ0FBQSxDQUFFLEVBQUU7UUFDNURKLFVBQVUsR0FBR0EsVUFBVSxDQUFDRyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUdILFVBQVUsT0FBQXRGLE1BQUEsQ0FBT3NGLFVBQVUsQ0FBRTtNQUN6RTtNQUNBeEUsUUFBUSxDQUFDLEdBQUFkLE1BQUEsQ0FBR3NGLFVBQVUsRUFBQXRGLE1BQUEsQ0FBR3lELGVBQWUsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFHK0IsSUFBSSxDQUFBLENBQUUsQ0FBQztJQUMvRDtFQUNGLENBQUMsRUFBRSxDQUFDM0gsS0FBSyxFQUFFRyxpQkFBaUIsRUFBRWhCLEdBQUcsRUFBRUMsR0FBRyxFQUFFOEIsUUFBUSxDQUFDLENBQUM7RUFFbEQsT0FBTyxJQUFBaUksZ0JBQUEsRUFBQSxLQUFBLEVBQUE7SUFDTHhJLFNBQVMsRUFBRXNCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBQW1ILG1CQUFPLEVBQ25DeEksVUFBVSxFQUNWSyxPQUFPLElBQUlnQixPQUFPLENBQUMsU0FBUyxDQUFDLEVBQzdCWixPQUFPLElBQUlZLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFDN0JYLFFBQVEsSUFBSVcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUMvQlYsUUFBUSxJQUFJVSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQy9CZSxNQUFNLElBQUlmLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FDNUIsQ0FBQztJQUFBN0IsUUFBQSxFQUFBLENBR0FvQixLQUFLLEdBQ0RKLE9BQU8sR0FDTCxJQUFBaUksZUFBQSxFQUFDQyxrQkFBUSxFQUFBO01BQUNDLEtBQUssRUFBQyxNQUFNO01BQUNDLE1BQU0sRUFBQyxNQUFNO01BQUM3SSxTQUFTLEVBQUVzQixPQUFPLENBQUMsZUFBZTtJQUFDLENBQUEsQ0FBSSxHQUM1RSxJQUFBb0gsZUFBQSxFQUFBLE1BQUEsRUFBQTtNQUFNMUksU0FBUyxFQUFFc0IsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFBbUgsbUJBQU8sRUFBQ2pJLFFBQVEsSUFBSWMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUVwQixRQUFRLENBQUMsQ0FBQztNQUFBVCxRQUFBLEVBQUdvQjtJQUFLLENBQUEsQ0FBUSxHQUM3RyxJQUFJLEVBRVYsSUFBQTJILGdCQUFBLEVBQUEsS0FBQSxFQUFBO01BQ0VNLEdBQUcsRUFBRS9HLFlBQVk7TUFDakIvQixTQUFTLEVBQUVzQixPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBQW1ILG1CQUFPLEVBQUN6SSxTQUFTLEVBQUVpRCxPQUFPLElBQUkzQixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztNQUMzRXlILE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFHdk0sQ0FBQyxFQUFJO1FEdkJELElBQUlxSCxFQUFFO1FDd0JsQixJQUFJckgsQ0FBQyxDQUFDc0ksTUFBTSxZQUFZa0UsZ0JBQWdCLEVBQUU7UUFDMUMsQ0FBQW5GLEVBQUEsR0FBQXBDLFFBQVEsQ0FBQ3NDLE9BQU8sTUFBQSxJQUFBLElBQUFGLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFVSxLQUFLLENBQUEsQ0FBRTtRQUN6QixJQUFJMUIsVUFBVSxFQUFFVyxXQUFXLENBQUEsQ0FBRTtNQUMvQixDQUFDO01BQUEvRCxRQUFBLEVBQUEsQ0FHQ3FCLE1BQU0sSUFBSSxJQUFBNEgsZUFBQSxFQUFBLE1BQUEsRUFBQTtRQUNSSSxHQUFHLEVBQUVsSCxTQUFTO1FBQ2Q1QixTQUFTLEVBQUVzQixPQUFPLENBQUMsUUFBUSxDQUFDO1FBQUE3QixRQUFBLEVBRTNCcUI7TUFBTSxDQUFBLENBQ0YsRUFFVCxJQUFBNEgsZUFBQSxFQUFBLEtBQUEsRUFBQTtRQUNFMUksU0FBUyxFQUFFc0IsT0FBTyxDQUFDLFNBQVMsRUFBRyxDQUFDMkIsT0FBTyxJQUFJSixVQUFVLEdBQUl2QixPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQUE3QixRQUFBLEVBRXJGLElBQUFpSixlQUFBLEVBQUEsT0FBQSxFQUFBdkwsTUFBQSxDQUFBOEwsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNNNUgsSUFBSSxFQUFBO1VBQ1J5SCxHQUFHLEVBQUVySCxRQUFRO1VBQ2JwQyxLQUFLLEVBQUU4RCxjQUFjO1VBQ3JCeEQsV0FBVyxFQUFFQSxXQUFXO1VBQ3hCaUIsUUFBUSxFQUFFQSxRQUFRO1VBQ2xCRCxRQUFRLEVBQUVBLFFBQVE7VUFDbEJ1SSxLQUFLLEVBQUU7WUFBRSxlQUFlLEtBQUExSCxNQUFBLENBQUtpQixNQUFNO1VBQUksQ0FBbUI7VUFDMUR2QixRQUFRLEVBQUVzRCxZQUFZO1VBQ3RCMkUsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUEsRUFBTztZRDFDTyxJQUFJdEYsRUFBRSxFQUFFWSxFQUFFO1lDMkM5QixJQUFNMkUsR0FBRyxHQUFHLENBQUEzRSxFQUFBLEdBQUEsQ0FBQVosRUFBQSxHQUFBcEMsUUFBUSxDQUFDc0MsT0FBTyxNQUFBLElBQUEsSUFBQUYsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVvQyxjQUFjLE1BQUEsSUFBQSxJQUFBeEIsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUksQ0FBQztZQUNqRHlCLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLFVBQVUsRUFBRWlELEdBQUcsQ0FBQztZQUM3QnBILHFCQUFxQixDQUFDK0IsT0FBTyxHQUFHcUYsR0FBRztVQUNyQyxDQUFDO1VBQ0RoSSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBRTVFLENBQUMsRUFBRztZQUNYMEcsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNoQjlCLFFBQU8sS0FBQSxJQUFBLElBQVBBLFFBQU8sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBUEEsUUFBTyxDQUFHNUUsQ0FBQyxDQUFDO1VBQ2QsQ0FBQztVQUNEMkUsTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUUzRSxDQUFDLEVBQUc7WUFDVjBHLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDakIvQixPQUFNLEtBQUEsSUFBQSxJQUFOQSxPQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE9BQU0sQ0FBRzNFLENBQUMsQ0FBQztVQUNiO1FBQUMsQ0FBQSxDQUFBO01BQ0QsQ0FBQSxDQUNFLEVBRUp3RSxRQUFRLElBQUksSUFBQTBILGVBQUEsRUFBQSxNQUFBLEVBQUE7UUFDVkksR0FBRyxFQUFFaEgsV0FBVztRQUNoQjlCLFNBQVMsRUFBRXNCLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFBQTdCLFFBQUEsRUFFN0J1QjtNQUFRLENBQUEsQ0FDSixFQUVSUCxPQUFPLEdBQUcsSUFBQWlJLGVBQUEsRUFBQ1csbUJBQU8sRUFBQTtRQUFDckosU0FBUyxFQUFFc0IsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1FBQUVnSSxXQUFXLEVBQUM7TUFBRyxDQUFBLENBQUcsR0FBR3ZJLE1BQU0sR0FBRyxJQUFBMkgsZUFBQSxFQUFBLE1BQUEsRUFBQTtRQUFNSSxHQUFHLEVBQUVqSCxTQUFTO1FBQUU3QixTQUFTLEVBQUVzQixPQUFPLENBQUMsUUFBUSxDQUFDO1FBQUE3QixRQUFBLEVBQUdzQjtNQUFNLENBQUEsQ0FBUSxHQUFHLElBQUksRUFDbEssSUFBQTJILGVBQUEsRUFBQSxNQUFBLEVBQUE7UUFDRUksR0FBRyxFQUFFbkgsVUFBVTtRQUNmM0IsU0FBUyxFQUFFc0IsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUMxQnlILE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFFdk0sQ0FBQztVQUFBLE9BQUlBLENBQUMsQ0FBQytNLGVBQWUsQ0FBQSxDQUFFO1FBQUE7UUFBQTlKLFFBQUEsRUFHL0IsSUFBQTRELG1DQUFnQixFQUFDLEVBQUUsSUFBSWhCLE1BQU0sSUFBSSxJQUFJLEdBQUcsRUFBRSxHQUFHQSxNQUFNLENBQUMsRUFBRTtVQUNwRGlCLGlCQUFpQixFQUFFLElBQUk7VUFDdkJDLGFBQWEsRUFBRWhEO1FEN0RILENDOERiO01BQUMsQ0FBQSxDQUVDO0lBQUEsQ0FBQSxDQUNILEVBRUosQ0FBQ1UsT0FBTyxJQUFJbkIsUUFBUSxLQUFLLElBQUEwSSxnQkFBQSxFQUFBLEtBQUEsRUFBQTtNQUFLeEksU0FBUyxFQUFFc0IsT0FBTyxDQUFDLE9BQU8sQ0FBQztNQUFBN0IsUUFBQSxFQUFBLENBQ3REd0IsT0FBTyxJQUFJLElBQUF5SCxlQUFBLEVBQUEsS0FBQSxFQUFBO1FBQUsxSSxTQUFTLEVBQUVzQixPQUFPLENBQUMsU0FBUyxFQUFFakIsVUFBVSxDQUFDO1FBQUFaLFFBQUEsRUFBR3dCO01BQU8sQ0FBQSxDQUFPLEVBQzFFbkIsUUFBUSxJQUFJLElBQUE0SSxlQUFBLEVBQUEsS0FBQSxFQUFBO1FBQUsxSSxTQUFTLEVBQUVzQixPQUFPLENBQUMsVUFBVSxFQUFFdkIsV0FBVyxDQUFDO1FBQUFOLFFBQUEsRUFBR0s7TUFBUSxDQUFBLENBQU87SUFBQSxDQUFBLENBQzNFO0VBQUEsQ0FBQSxDQUVKO0FBQ1IsQ0FBQztBQUFDLElBQUEwSixRQUFBLEdBQUFySyxPQUFBLDJCQUVhLElBQUFzSyxXQUFJLEVBQUN2SyxXQUFXLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9JbnB1dEFtb3VudC9JbnB1dEFtb3VudC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZVJlZiwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgbnVtZXJpY0Zvcm1hdHRlciB9IGZyb20gJ3JlYWN0LW51bWJlci1mb3JtYXQnO1xuaW1wb3J0IHsgU2tlbGV0b24gfSBmcm9tICdwcmltZXJlYWN0L3NrZWxldG9uJztcbmltcG9ydCBTcGlubmVyIGZyb20gJy4uL1NwaW5uZXInO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5jb25zdCBNSU5fSU5QVVRfV0lEVEggPSAzMztcbmNvbnN0IG5vcm1hbGl6ZU51bWJlcklucHV0ID0gKHZhbCkgPT4gdmFsXG4gICAgLnJlcGxhY2UoL1tcXHUzMDAyXFx1ZmYwZVxcdWZmNjFdL2csICcuJylcbiAgICAucmVwbGFjZSgvW1xcdUZGMENdL2csICcsJyk7XG5jb25zdCBjYWxjVmFsdWVJblJhbmdlID0gKHZhbCwgbWluLCBtYXgpID0+IHtcbiAgICBpZiAodmFsID09PSAnJyB8fCB2YWwgPT09ICctJyB8fCBpc05hTigrdmFsKSlcbiAgICAgICAgcmV0dXJuIHZhbDtcbiAgICBsZXQgY2FsY1ZhbCA9IHZhbDtcbiAgICBjb25zdCBiblZhbCA9IEJpZ051bWJlcih2YWwpO1xuICAgIGlmICh0eXBlb2YgbWluID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgbWluID09PSAnYmlnaW50Jykge1xuICAgICAgICBjb25zdCBtaW5CbiA9IEJpZ051bWJlcihtaW4pO1xuICAgICAgICBpZiAoYm5WYWwubHQobWluQm4pKSB7XG4gICAgICAgICAgICBjYWxjVmFsID0gJycgKyBtaW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHR5cGVvZiBtYXggPT09ICdudW1iZXInIHx8IHR5cGVvZiBtYXggPT09ICdiaWdpbnQnKSB7XG4gICAgICAgIGNvbnN0IG1heEJuID0gQmlnTnVtYmVyKG1heCk7XG4gICAgICAgIGlmIChiblZhbC5ndChtYXhCbikpIHtcbiAgICAgICAgICAgIGNhbGNWYWwgPSAnJyArIG1heDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2FsY1ZhbDtcbn07XG5leHBvcnQgY29uc3QgSW5wdXRBbW91bnQgPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyB2YWx1ZSwgdHlwZSA9ICdwcmltYXJ5JywgbWF4RnJhY3Rpb25EaWdpdHMsIGNoaWxkcmVuLCBwbGFjZWhvbGRlciA9ICcwJywgbWluLCBtYXgsIFxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBzaXplID0gJ2xhcmdlJywgZm9vdG5vdGUsIGZvb3Rub3RlQ2xzLCBjbGFzc05hbWUsIHdyYXBwZXJDbHMsIGxhYmVsQ2xzLCBwcmVmaXhDbHMgPSAnaW5wdXQtYW1vdW50JywgbWVzc2FnZUNscywgaW52YWxpZCwgbmVnYXRpdmUsIHJlcXVpcmVkLCBsb2FkaW5nLCBzdWNjZXNzLCBkaXNhYmxlZCwgcmVhZE9ubHksIGxhYmVsLCBwcmVmaXgsIHN1ZmZpeCwgY3VycmVuY3ksIG1lc3NhZ2UsIG9uQ2hhbmdlLCBvbkJsdXIsIG9uRm9jdXMgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJ2YWx1ZVwiLCBcInR5cGVcIiwgXCJtYXhGcmFjdGlvbkRpZ2l0c1wiLCBcImNoaWxkcmVuXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJtaW5cIiwgXCJtYXhcIiwgXCJzaXplXCIsIFwiZm9vdG5vdGVcIiwgXCJmb290bm90ZUNsc1wiLCBcImNsYXNzTmFtZVwiLCBcIndyYXBwZXJDbHNcIiwgXCJsYWJlbENsc1wiLCBcInByZWZpeENsc1wiLCBcIm1lc3NhZ2VDbHNcIiwgXCJpbnZhbGlkXCIsIFwibmVnYXRpdmVcIiwgXCJyZXF1aXJlZFwiLCBcImxvYWRpbmdcIiwgXCJzdWNjZXNzXCIsIFwiZGlzYWJsZWRcIiwgXCJyZWFkT25seVwiLCBcImxhYmVsXCIsIFwicHJlZml4XCIsIFwic3VmZml4XCIsIFwiY3VycmVuY3lcIiwgXCJtZXNzYWdlXCIsIFwib25DaGFuZ2VcIiwgXCJvbkJsdXJcIiwgXCJvbkZvY3VzXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhgJHtwcmVmaXhDbHN9LSR7dHlwZX1gKTtcbiAgICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBmYWtlRWxlUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHByZWZpeFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBzdWZmaXhSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgY3VycmVuY3lSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGlucHV0Q2FyZXRQb3NpdGlvblJlZiA9IHVzZVJlZigwKTtcbiAgICBjb25zdCBbX3ZhbHVlLCBzZXRWYWx1ZV0gPSB1c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbX3dpZHRoLCBzZXRXaWR0aF0gPSB1c2VTdGF0ZShNSU5fSU5QVVRfV0lEVEgpO1xuICAgIGNvbnN0IFtpc01heFdpZHRoLCBzZXRJc01heFdpZHRoXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbaXNGb2N1cywgc2V0SXNGb2N1c10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgZm9ybWF0dGVkVmFsdWUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIG51bWVyaWNGb3JtYXR0ZXIoJycgKyAoX3ZhbHVlID09IG51bGwgPyAnJyA6IF92YWx1ZSksIHtcbiAgICAgICAgICAgIHRob3VzYW5kU2VwYXJhdG9yOiB0cnVlLFxuICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZTogbmVnYXRpdmUsXG4gICAgICAgIH0pO1xuICAgIH0sIFtfdmFsdWUsIG5lZ2F0aXZlXSk7XG4gICAgY29uc3Qgc2Nyb2xsVG9FbmQgPSB1c2VDYWxsYmFjaygoc3RpY2t5ID0gZmFsc2UpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBjb25zdCBpbnB1dCA9IGlucHV0UmVmLmN1cnJlbnQ7XG4gICAgICAgIGlmICghaW5wdXQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGxlbiA9IChfYSA9IGlucHV0LnZhbHVlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubGVuZ3RoO1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IGlucHV0LnNjcm9sbExlZnQ7XG4gICAgICAgIGNvbnN0IHNob3VsZFRvRW5kID0gIXN0aWNreTtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBzaG91bGRUb0VuZCA/IGxlbiA6IGlucHV0Q2FyZXRQb3NpdGlvblJlZi5jdXJyZW50O1xuICAgICAgICBpbnB1dC5zZXRTZWxlY3Rpb25SYW5nZShzdGFydCwgc3RhcnQpO1xuICAgICAgICBpbnB1dC5zY3JvbGxMZWZ0ID0gc2hvdWxkVG9FbmQgPyBpbnB1dC5zY3JvbGxXaWR0aCA6IHBvc2l0aW9uO1xuICAgICAgICBpbnB1dC5mb2N1cygpO1xuICAgIH0sIFtdKTtcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VDYWxsYmFjaygoZSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lLCBfZjtcbiAgICAgICAgaWYgKGRpc2FibGVkIHx8IHJlYWRPbmx5KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBsZXQgdmFsID0gZS50YXJnZXQudmFsdWU7XG4gICAgICAgIGlmICh2YWwgIT0gbnVsbClcbiAgICAgICAgICAgIHZhbCA9IG5vcm1hbGl6ZU51bWJlcklucHV0KHZhbCkuc3BsaXQoJywnKS5qb2luKCcnKTtcbiAgICAgICAgY29uc3QgaGFzRGVjaW1hbFBvaW50ID0gISF2YWwgJiYgdmFsLmVuZHNXaXRoKCcuJyk7XG4gICAgICAgIGlmIChoYXNEZWNpbWFsUG9pbnQpXG4gICAgICAgICAgICB2YWwgPSB2YWwuc2xpY2UoMCwgLTEpO1xuICAgICAgICBpZiAoIW5lZ2F0aXZlICYmICh2YWwgPT09IG51bGwgfHwgdmFsID09PSB2b2lkIDAgPyB2b2lkIDAgOiB2YWwuaW5jbHVkZXMoJy0nKSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGlzU3RhbmRhbG9uZU1pbnVzID0gbmVnYXRpdmUgJiYgdmFsID09PSAnLSc7XG4gICAgICAgIGlmICghaXNTdGFuZGFsb25lTWludXMgJiYgaXNOYU4oK3ZhbCkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmICh2YWwgPT09IF92YWx1ZSAmJiAhaGFzRGVjaW1hbFBvaW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAodHlwZW9mIG1heEZyYWN0aW9uRGlnaXRzID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgbWF4RnJhY3Rpb25EaWdpdHMgPT09ICdiaWdpbnQnKSB7XG4gICAgICAgICAgICBjb25zdCBbaW50LCBkZWNpbWFsXSA9IHZhbC5zcGxpdCgnLicpO1xuICAgICAgICAgICAgaWYgKGRlY2ltYWwgIT0gbnVsbCAmJiBkZWNpbWFsLmxlbmd0aCA+IE51bWJlcihtYXhGcmFjdGlvbkRpZ2l0cykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBbLCBvbGREZWNpbWFsXSA9IGZvcm1hdHRlZFZhbHVlLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICAgICAgdmFsID0gYCR7aW50fS4ke29sZERlY2ltYWx9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoKHR5cGVvZiBtaW4gPT09ICdudW1iZXInIHx8IHR5cGVvZiBtaW4gPT09ICdiaWdpbnQnKSB8fCAodHlwZW9mIG1heCA9PT0gJ251bWJlcicgfHwgdHlwZW9mIG1heCA9PT0gJ2JpZ2ludCcpKSB7XG4gICAgICAgICAgICB2YWwgPSBjYWxjVmFsdWVJblJhbmdlKHZhbCwgbWluLCBtYXgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWROZXdWYWwgPSBudW1lcmljRm9ybWF0dGVyKHZhbCwge1xuICAgICAgICAgICAgICAgIHRob3VzYW5kU2VwYXJhdG9yOiB0cnVlLFxuICAgICAgICAgICAgICAgIGFsbG93TmVnYXRpdmU6IG5lZ2F0aXZlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBpc0FkZCA9IHZhbC5sZW5ndGggPiAoKF9hID0gX3ZhbHVlID09PSBudWxsIHx8IF92YWx1ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3ZhbHVlLmxlbmd0aCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogMCk7XG4gICAgICAgICAgICBjb25zdCBpZ25vcmVPbGRQb3MgPSBpc0FkZCA/IHZhbC5sZW5ndGggLSAoKF9iID0gX3ZhbHVlID09PSBudWxsIHx8IF92YWx1ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX3ZhbHVlLmxlbmd0aCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogMCkgPiAxIDogZmFsc2U7XG4gICAgICAgICAgICBsZXQgcG9zaXRpb24gPSAoX2MgPSBpbnB1dFJlZi5jdXJyZW50LnNlbGVjdGlvblN0YXJ0KSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiAwO1xuICAgICAgICAgICAgY29uc29sZS5pbmZvKCdwb3NpdGlvbiAtIDEnLCBwb3NpdGlvbik7XG4gICAgICAgICAgICBpZiAoIWlnbm9yZU9sZFBvcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9sZFBvc1ZhbCA9IGZvcm1hdHRlZFZhbHVlLnNsaWNlKDAsIChwb3NpdGlvbiAtIChpc0FkZCA/IDEgOiAtMSkpKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbiA9IG9sZFBvc1ZhbC5zcGxpdCgnLCcpLmpvaW4oJycpLmxlbmd0aCArIChpc0FkZCA/IDEgOiAtMSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKCdwb3NpdGlvbiAtIDInLCBwb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBwb3NWYWwgPSB2YWwuc2xpY2UoMCwgcG9zaXRpb24pO1xuICAgICAgICAgICAgZm9ybWF0dGVkTmV3VmFsLnNwbGl0KCcnKS5yZWR1Y2UoKGFjYywgY2hhciwgaW5kKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNoYXIgPT09ICcsJylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGFjYy5wdXNoKGNoYXIpO1xuICAgICAgICAgICAgICAgIGlmIChhY2Muam9pbignJykgPT09IHBvc1ZhbCkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiA9IGluZCArIDE7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgICAgICBjb25zb2xlLmluZm8oJ3Bvc2l0aW9uIC0gMycsIHBvc2l0aW9uKTtcbiAgICAgICAgICAgIGlucHV0Q2FyZXRQb3NpdGlvblJlZi5jdXJyZW50ID0gcG9zaXRpb24gKyAoaGFzRGVjaW1hbFBvaW50ID8gMiA6IDApO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBpZiAodmFsID09PSAnJykge1xuICAgICAgICAgICAgICAgIHNldFZhbHVlKG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoaXNTdGFuZGFsb25lTWludXMpIHtcbiAgICAgICAgICAgICAgICBzZXRWYWx1ZSgnLScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVjaW1hbHMgPSAoX2YgPSAoX2UgPSAoX2QgPSB2YWwubWF0Y2goL1xcLihcXGQrKSQvKSkgPT09IG51bGwgfHwgX2QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9kWzFdKSA9PT0gbnVsbCB8fCBfZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2UubGVuZ3RoKSAhPT0gbnVsbCAmJiBfZiAhPT0gdm9pZCAwID8gX2YgOiAwO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJuID0gQmlnTnVtYmVyKHZhbCk7XG4gICAgICAgICAgICAgICAgbGV0IG5vcm1hbGl6ZWQgPSBibi50b0ZpeGVkKGRlY2ltYWxzKTtcbiAgICAgICAgICAgICAgICBpZiAobmVnYXRpdmUgJiYgdmFsLnRyaW0oKS5zdGFydHNXaXRoKCctJykgJiYgYm4uaXNaZXJvKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZWQuc3RhcnRzV2l0aCgnLScpID8gbm9ybWFsaXplZCA6IGAtJHtub3JtYWxpemVkfWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNldFZhbHVlKGAke25vcm1hbGl6ZWR9JHtoYXNEZWNpbWFsUG9pbnQgPyAnLicgOiAnJ31gLnRyaW0oKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGUpO1xuICAgIH0sIFtvbkNoYW5nZSwgX3ZhbHVlLCB2YWx1ZSwgZm9ybWF0dGVkVmFsdWUsIG1heEZyYWN0aW9uRGlnaXRzLCBtaW4sIG1heCwgbmVnYXRpdmUsIGRpc2FibGVkLCByZWFkT25seV0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2UsIF9mLCBfZywgX2gsIF9qLCBfaztcbiAgICAgICAgY29uc3QgY29udGFpbmVyV2lkdGggPSAoX2IgPSAoX2EgPSBjb250YWluZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm9mZnNldFdpZHRoKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBNSU5fSU5QVVRfV0lEVEg7XG4gICAgICAgIGNvbnN0IHByZWZpeFdpZHRoID0gKF9kID0gKF9jID0gcHJlZml4UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2QgIT09IHZvaWQgMCA/IF9kIDogMDtcbiAgICAgICAgY29uc3Qgc3VmZml4V2lkdGggPSAoX2YgPSAoX2UgPSBzdWZmaXhSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9lLm9mZnNldFdpZHRoKSAhPT0gbnVsbCAmJiBfZiAhPT0gdm9pZCAwID8gX2YgOiAwO1xuICAgICAgICBjb25zdCBjdXJyZW5jeVdpZHRoID0gKF9oID0gKF9nID0gY3VycmVuY3lSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2cgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9nLm9mZnNldFdpZHRoKSAhPT0gbnVsbCAmJiBfaCAhPT0gdm9pZCAwID8gX2ggOiAwO1xuICAgICAgICBjb25zdCBmYWtlV2lkdGggPSAoX2sgPSAoX2ogPSBmYWtlRWxlUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9qID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfai5vZmZzZXRXaWR0aCkgIT09IG51bGwgJiYgX2sgIT09IHZvaWQgMCA/IF9rIDogMDtcbiAgICAgICAgY29uc3QgZ2FwV2lkdGggPSBwcmVmaXhXaWR0aCAmJiBzdWZmaXhXaWR0aCAmJiBjdXJyZW5jeVdpZHRoXG4gICAgICAgICAgICA/IDI0XG4gICAgICAgICAgICA6IChwcmVmaXhXaWR0aCAmJiBzdWZmaXhXaWR0aCkgfHwgKHByZWZpeFdpZHRoICYmIGN1cnJlbmN5V2lkdGgpIHx8IChzdWZmaXhXaWR0aCAmJiBjdXJyZW5jeVdpZHRoKVxuICAgICAgICAgICAgICAgID8gMTZcbiAgICAgICAgICAgICAgICA6IHByZWZpeFdpZHRoIHx8IHN1ZmZpeFdpZHRoIHx8IGN1cnJlbmN5V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgPyA4XG4gICAgICAgICAgICAgICAgICAgIDogMDtcbiAgICAgICAgY29uc3QgbWF4V2lkdGggPSBjb250YWluZXJXaWR0aCAtIHByZWZpeFdpZHRoIC0gc3VmZml4V2lkdGggLSBjdXJyZW5jeVdpZHRoIC0gZ2FwV2lkdGg7XG4gICAgICAgIGNvbnN0IGlzTWF4ID0gZmFrZVdpZHRoID49IG1heFdpZHRoO1xuICAgICAgICBzZXRXaWR0aChNYXRoLm1pbihtYXhXaWR0aCwgTWF0aC5tYXgoZmFrZVdpZHRoLCBNSU5fSU5QVVRfV0lEVEgpKSk7XG4gICAgICAgIHNldElzTWF4V2lkdGgoaXNNYXgpO1xuICAgICAgICBpZiAoaXNGb2N1cykge1xuICAgICAgICAgICAgY29uc29sZS5pbmZvKCdpbnB1dENhcmV0UG9zaXRpb25SZWY6ICcsIGlucHV0Q2FyZXRQb3NpdGlvblJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgIHNjcm9sbFRvRW5kKHRydWUpO1xuICAgICAgICB9XG4gICAgfSwgW192YWx1ZSwgcHJlZml4LCBzdWZmaXgsIGN1cnJlbmN5LCBpc0ZvY3VzXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgLy8gY2xlYXIgbmVnYXRpdmUgc2lnbiBpZiBub3QgYWxsb3dlZFxuICAgICAgICBpZiAobmVnYXRpdmUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoX3ZhbHVlID09IG51bGwpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmIChfdmFsdWUgPT09ICctJykge1xuICAgICAgICAgICAgc2V0VmFsdWUobnVsbCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKF92YWx1ZS5zdGFydHNXaXRoKCctJykpXG4gICAgICAgICAgICBzZXRWYWx1ZShfdmFsdWUuc2xpY2UoMSkpO1xuICAgIH0sIFtuZWdhdGl2ZSwgdmFsdWUsIF92YWx1ZV0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jO1xuICAgICAgICBsZXQgdmFsID0gdmFsdWU7XG4gICAgICAgIGxldCBoYXNEZWNpbWFsUG9pbnQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAodmFsID09PSAnJykge1xuICAgICAgICAgICAgICAgIHZhbCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBub3JtYWxpemVOdW1iZXJJbnB1dCh2YWwpLnNwbGl0KCcsJykuam9pbignJyk7XG4gICAgICAgICAgICAgICAgaGFzRGVjaW1hbFBvaW50ID0gISF2YWwgJiYgdmFsLmVuZHNXaXRoKCcuJyk7XG4gICAgICAgICAgICAgICAgaWYgKGhhc0RlY2ltYWxQb2ludClcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gdmFsLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgICAgICAgICBpZiAoIW5lZ2F0aXZlKVxuICAgICAgICAgICAgICAgICAgICB2YWwgPSB2YWwucmVwbGFjZSgvLS9nLCAnJyk7XG4gICAgICAgICAgICAgICAgaWYgKG5lZ2F0aXZlICYmIHZhbCA9PT0gJy0nKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFZhbHVlKCctJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzTmFOKCt2YWwpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodmFsICE9PSBudWxsICYmIHR5cGVvZiB2YWwgIT09ICdudW1iZXInICYmIHR5cGVvZiB2YWwgIT09ICdiaWdpbnQnKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoIW5lZ2F0aXZlKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICB2YWwgPSBNYXRoLmFicyh2YWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbCA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB6ZXJvID0gQmlnSW50KDApO1xuICAgICAgICAgICAgICAgIHZhbCA9IHZhbCA8IHplcm8gPyAtdmFsIDogdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICgodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpICYmICh0eXBlb2YgbWF4RnJhY3Rpb25EaWdpdHMgPT09ICdudW1iZXInIHx8IHR5cGVvZiBtYXhGcmFjdGlvbkRpZ2l0cyA9PT0gJ2JpZ2ludCcpKSB7XG4gICAgICAgICAgICBjb25zdCBbaW50LCBkZWNpbWFsXSA9ICgnJyArIHZhbCkuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGlmIChkZWNpbWFsICE9IG51bGwgJiYgZGVjaW1hbC5sZW5ndGggPiBOdW1iZXIobWF4RnJhY3Rpb25EaWdpdHMpKSB7XG4gICAgICAgICAgICAgICAgdmFsID0gaW50ICsgJy4nICsgZGVjaW1hbC5zbGljZSgwLCBOdW1iZXIobWF4RnJhY3Rpb25EaWdpdHMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHZhbCA9PT0gJ2JpZ2ludCcpIHtcbiAgICAgICAgICAgIHZhbCA9IGNhbGNWYWx1ZUluUmFuZ2UoJycgKyB2YWwsIG1pbiwgbWF4KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsID09PSAnJyB8fCB2YWwgPT0gbnVsbCkge1xuICAgICAgICAgICAgc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzdHJWYWwgPSAnJyArIHZhbDtcbiAgICAgICAgICAgIGNvbnN0IGRlY2ltYWxzID0gKF9jID0gKF9iID0gKF9hID0gc3RyVmFsLm1hdGNoKC9cXC4oXFxkKykkLykpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVsxXSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmxlbmd0aCkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogMDtcbiAgICAgICAgICAgIGNvbnN0IGJuID0gQmlnTnVtYmVyKHN0clZhbCk7XG4gICAgICAgICAgICBsZXQgbm9ybWFsaXplZCA9IGJuLnRvRml4ZWQoZGVjaW1hbHMpO1xuICAgICAgICAgICAgaWYgKG5lZ2F0aXZlICYmIHN0clZhbC50cmltKCkuc3RhcnRzV2l0aCgnLScpICYmIGJuLmlzWmVybygpKSB7XG4gICAgICAgICAgICAgICAgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZWQuc3RhcnRzV2l0aCgnLScpID8gbm9ybWFsaXplZCA6IGAtJHtub3JtYWxpemVkfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRWYWx1ZShgJHtub3JtYWxpemVkfSR7aGFzRGVjaW1hbFBvaW50ID8gJy4nIDogJyd9YC50cmltKCkpO1xuICAgICAgICB9XG4gICAgfSwgW3ZhbHVlLCBtYXhGcmFjdGlvbkRpZ2l0cywgbWluLCBtYXgsIG5lZ2F0aXZlXSk7XG4gICAgcmV0dXJuIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCd3cmFwcGVyJywgam9pbkNscyh3cmFwcGVyQ2xzLCBpbnZhbGlkICYmIGNsYXNzZXMoJ2ludmFsaWQnKSwgc3VjY2VzcyAmJiBjbGFzc2VzKCdzdWNjZXNzJyksIGRpc2FibGVkICYmIGNsYXNzZXMoJ2Rpc2FibGVkJyksIHJlYWRPbmx5ICYmIGNsYXNzZXMoJ3JlYWRvbmx5JyksIF92YWx1ZSAmJiBjbGFzc2VzKCdmaWxsZWQnKSkpLCBjaGlsZHJlbjogW2xhYmVsXG4gICAgICAgICAgICAgICAgPyBsb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgID8gX2pzeChTa2VsZXRvbiwgeyB3aWR0aDogJzcycHgnLCBoZWlnaHQ6ICcxOHB4JywgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbC1sb2FkaW5nJykgfSlcbiAgICAgICAgICAgICAgICAgICAgOiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbGFiZWwnLCBqb2luQ2xzKHJlcXVpcmVkICYmIGNsYXNzZXMoJ2xhYmVsLXJlcXVpcmVkJyksIGxhYmVsQ2xzKSksIGNoaWxkcmVuOiBsYWJlbCB9KVxuICAgICAgICAgICAgICAgIDogbnVsbCwgX2pzeHMoXCJkaXZcIiwgeyByZWY6IGNvbnRhaW5lclJlZiwgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgam9pbkNscyhjbGFzc05hbWUsIGlzRm9jdXMgJiYgY2xhc3NlcygnZm9jdXMnKSkpLCBvbkNsaWNrOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlLnRhcmdldCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIChfYSA9IGlucHV0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNNYXhXaWR0aClcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvRW5kKCk7XG4gICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyByZWY6IHByZWZpeFJlZiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdwcmVmaXgnKSwgY2hpbGRyZW46IHByZWZpeCB9KSwgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZWxlbWVudCcsICghaXNGb2N1cyAmJiBpc01heFdpZHRoKSA/IGNsYXNzZXMoJ2VsZW1lbnQtbWF4JykgOiAnJyksIGNoaWxkcmVuOiBfanN4KFwiaW5wdXRcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyByZWY6IGlucHV0UmVmLCB2YWx1ZTogZm9ybWF0dGVkVmFsdWUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgcmVhZE9ubHk6IHJlYWRPbmx5LCBkaXNhYmxlZDogZGlzYWJsZWQsIHN0eWxlOiB7ICctLWlucHV0LXdpZHRoJzogYCR7X3dpZHRofXB4YCB9LCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBvblNlbGVjdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3MgPSAoX2IgPSAoX2EgPSBpbnB1dFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VsZWN0aW9uU3RhcnQpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnb25TZWxlY3QnLCBwb3MpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dENhcmV0UG9zaXRpb25SZWYuY3VycmVudCA9IHBvcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBvbkZvY3VzOiBlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNGb2N1cyh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Gb2N1cyA9PT0gbnVsbCB8fCBvbkZvY3VzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZvY3VzKGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIG9uQmx1cjogZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldElzRm9jdXMoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB9KSkgfSksIGN1cnJlbmN5ICYmIF9qc3goXCJzcGFuXCIsIHsgcmVmOiBjdXJyZW5jeVJlZiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdjdXJyZW5jeScpLCBjaGlsZHJlbjogY3VycmVuY3kgfSksIGxvYWRpbmcgPyBfanN4KFNwaW5uZXIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzdWZmaXgtbG9hZGluZycpLCBzdHJva2VXaWR0aDogJzQnIH0pIDogc3VmZml4ID8gX2pzeChcInNwYW5cIiwgeyByZWY6IHN1ZmZpeFJlZiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdzdWZmaXgnKSwgY2hpbGRyZW46IHN1ZmZpeCB9KSA6IG51bGwsIF9qc3goXCJzcGFuXCIsIHsgcmVmOiBmYWtlRWxlUmVmLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2Zha2UnKSwgb25DbGljazogZSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpLCBjaGlsZHJlbjogbnVtZXJpY0Zvcm1hdHRlcignJyArIChfdmFsdWUgPT0gbnVsbCA/ICcnIDogX3ZhbHVlKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRob3VzYW5kU2VwYXJhdG9yOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93TmVnYXRpdmU6IG5lZ2F0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkgfSldIH0pLCAobWVzc2FnZSB8fCBmb290bm90ZSkgJiYgX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2V4dHJhJyksIGNoaWxkcmVuOiBbbWVzc2FnZSAmJiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdtZXNzYWdlJywgbWVzc2FnZUNscyksIGNoaWxkcmVuOiBtZXNzYWdlIH0pLCBmb290bm90ZSAmJiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdmb290bm90ZScsIGZvb3Rub3RlQ2xzKSwgY2hpbGRyZW46IGZvb3Rub3RlIH0pXSB9KV0gfSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhJbnB1dEFtb3VudCk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|