fantasy-ngzorro 2.2.32 → 2.2.34

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.
@@ -167,7 +167,7 @@ export function getTableScrollXViewportWidth(nzTable, hostClass) {
167
167
  return getTableViewportWidth(nzTable, hostClass);
168
168
  }
169
169
  /**
170
- * 无数据或列宽未超出容器时不启用横向 scroll
170
+ * 无数据或列宽未超出容器时不启用横向 scroll(fluid:表宽 100%,勾选/序号列由 CSS 锁宽)
171
171
  * @param {?} nzTable
172
172
  * @param {?} hasData
173
173
  * @param {?=} colWidth
@@ -276,4 +276,4 @@ export function bindNzTableHeaderBodyScrollSync(nzTable) {
276
276
  body.removeEventListener("scroll", onScroll);
277
277
  });
278
278
  }
279
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUtc2Nyb2xsLnV0aWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mYW50YXN5LW5nem9ycm8vIiwic291cmNlcyI6WyJ1dGlscy9oZC10YWJsZS1zY3JvbGwudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUEseUNBR0M7OztJQUZDLGdDQUFXOztJQUNYLGdDQUFXOzs7SUFHUCx1QkFBdUIsR0FBRyxHQUFHOzs7Ozs7QUFFbkMsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxPQUF5QixFQUN6QixTQUFnQztJQUFoQywwQkFBQSxFQUFBLGdDQUFnQztJQUVoQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFO1FBQ3pDLE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7O1FBQ0ssU0FBUyxHQUFHLG1CQUFBLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQWU7O1FBQ2pFLFVBQVUsR0FBRyxtQkFBQSxTQUFTLENBQUMsYUFBYSxDQUN4QyxpQkFBaUIsQ0FDbEIsRUFBZTtJQUNoQixJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRTtRQUM1QyxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUM7S0FDL0I7O1FBQ0ssT0FBTyxHQUFHLG1CQUFBLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsRUFBZTtJQUN0RSxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRTtRQUN0QyxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUM7S0FDNUI7O1FBQ0ssSUFBSSxHQUFHLG1CQUFBLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBSSxTQUFXLENBQUMsRUFBZTtJQUM5RCxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRTtRQUNoQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7S0FDekI7SUFDRCxPQUFPLENBQUMsQ0FBQztBQUNYLENB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SUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNqRCxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztLQUM3QztBQUNILENBQUM7Ozs7Ozs7QUFNRCxNQUFNLFVBQVUsK0JBQStCLENBQzdDLE9BQXlCOztRQUVuQixHQUFHLEdBQUcsd0JBQXdCLENBQUMsT0FBTyxDQUFDO0lBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiOztRQUNLLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTTs7UUFDbkIsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJOztRQUNmLFFBQVE7OztJQUFHO1FBQ2YsSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDekMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQyxDQUFBO0lBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQyxRQUFRLEVBQUUsQ0FBQztJQUNYOzs7SUFBTztRQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE56VGFibGVDb21wb25lbnQgfSBmcm9tIFwibmctem9ycm8tYW50ZC90YWJsZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhkVGFibGVTY3JvbGxDb25maWcge1xuICB4Pzogc3RyaW5nO1xuICB5Pzogc3RyaW5nO1xufVxuXG5jb25zdCBERUZBVUxUX0ZMVUlEX0NPTF9XSURUSCA9IDE1MDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRhYmxlVmlld3BvcnRXaWR0aChcbiAgbnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCxcbiAgaG9zdENsYXNzID0gXCJoZC10YWJsZS1jb250YWluZXJcIixcbik6IG51bWJlciB7XG4gIGlmICghbnpUYWJsZSB8fCAhbnpUYWJsZS50YWJsZU1haW5FbGVtZW50KSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgdGFibGVNYWluID0gbnpUYWJsZS50YWJsZU1haW5FbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IHNjcm9sbEJvZHkgPSB0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcbiAgICBcIi5hbnQtdGFibGUtYm9keVwiLFxuICApIGFzIEhUTUxFbGVtZW50O1xuICBpZiAoc2Nyb2xsQm9keSAmJiBzY3JvbGxCb2R5LmNsaWVudFdpZHRoID4gMCkge1xuICAgIHJldHVybiBzY3JvbGxCb2R5LmNsaWVudFdpZHRoO1xuICB9XG4gIGNvbnN0IHdyYXBwZXIgPSB0YWJsZU1haW4uY2xvc2VzdChcIi5hbnQtdGFibGUtd3JhcHBlclwiKSBhcyBIVE1MRWxlbWVudDtcbiAgaWYgKHdyYXBwZXIgJiYgd3JhcHBlci5jbGllbnRXaWR0aCA+IDApIHtcbiAgICByZXR1cm4gd3JhcHBlci5jbGllbnRXaWR0aDtcbiAgfVxuICBjb25zdCBob3N0ID0gdGFibGVNYWluLmNsb3Nlc3QoYC4ke2hvc3RDbGFzc31gKSBhcyBIVE1MRWxlbWVudDtcbiAgaWYgKGhvc3QgJiYgaG9zdC5jbGllbnRXaWR0aCA+IDApIHtcbiAgICByZXR1cm4gaG9zdC5jbGllbnRXaWR0aDtcbiAgfVxuICByZXR1cm4gMDtcbn1cblxuZnVuY3Rpb24gcGFyc2VQeCh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KFN0cmluZyh2YWx1ZSkucmVwbGFjZSgvcHgvaSwgXCJcIiksIDEwKTtcbiAgcmV0dXJuIE51bWJlci5pc05hTihwYXJzZWQpID8gMCA6IHBhcnNlZDtcbn1cblxuLyoqIOWFi+mahuihqOWktC/ooajkvZPmtYvph4/mnKrooqsgc2Nyb2xsIOWOi+e8qeWJjeeahOiHqueEtuWIl+WuvSAqL1xuZnVuY3Rpb24gbWVhc3VyZUVsZW1lbnROYXR1cmFsV2lkdGgoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICBjb25zdCBjbG9uZSA9IGVsZW1lbnQuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xuICBjbG9uZS5zdHlsZS5wb3NpdGlvbiA9IFwiYWJzb2x1dGVcIjtcbiAgY2xvbmUuc3R5bGUubGVmdCA9IFwiLTk5OTk5cHhcIjtcbiAgY2xvbmUuc3R5bGUudG9wID0gXCIwXCI7XG4gIGNsb25lLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuICBjbG9uZS5zdHlsZS53aWR0aCA9IFwibWF4LWNvbnRlbnRcIjtcbiAgY2xvbmUuc3R5bGUudGFibGVMYXlvdXQgPSBcImF1dG9cIjtcbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjbG9uZSk7XG4gIGNvbnN0IHdpZHRoID0gY2xvbmUuc2Nyb2xsV2lkdGg7XG4gIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoY2xvbmUpO1xuICByZXR1cm4gd2lkdGg7XG59XG5cbi8qKiDmsYfmgLvooajlpLQgdGgg5LiK5aOw5piO55qE5YiX5a6977yIc3R5bGUud2lkdGggLyBueldpZHRo77yJICovXG5mdW5jdGlvbiBtZWFzdXJlSGVhZGVyRGVjbGFyZWRDb2xXaWR0aCh0YWJsZU1haW46IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgY29uc3QgdGhzID0gQXJyYXkuZnJvbShcbiAgICB0YWJsZU1haW4ucXVlcnlTZWxlY3RvckFsbChcIi5hbnQtdGFibGUtdGhlYWQgPiB0ciA+IHRoXCIpLFxuICApIGFzIEhUTUxFbGVtZW50W107XG4gIGlmICghdGhzLmxlbmd0aCkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGxldCBzdW0gPSAwO1xuICBsZXQgaGFzRmx1aWRDb2wgPSBmYWxzZTtcbiAgdGhzLmZvckVhY2goKHRoKSA9PiB7XG4gICAgY29uc3QgZGVjbGFyZWQgPSBwYXJzZVB4KHRoLnN0eWxlLndpZHRoKTtcbiAgICBpZiAoZGVjbGFyZWQgPiAwKSB7XG4gICAgICBzdW0gKz0gZGVjbGFyZWQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGhhc0ZsdWlkQ29sID0gdHJ1ZTtcbiAgICBzdW0gKz0gdGguc2Nyb2xsV2lkdGggfHwgdGgub2Zmc2V0V2lkdGggfHwgREVGQVVMVF9GTFVJRF9DT0xfV0lEVEg7XG4gIH0pO1xuICByZXR1cm4gaGFzRmx1aWRDb2wgPyAwIDogc3VtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZVRhYmxlQ29sV2lkdGgobnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCk6IG51bWJlciB7XG4gIGlmICghbnpUYWJsZSB8fCAhbnpUYWJsZS50YWJsZU1haW5FbGVtZW50KSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgdGFibGVNYWluID0gbnpUYWJsZS50YWJsZU1haW5FbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IHRhYmxlcyA9IEFycmF5LmZyb20oXG4gICAgdGFibGVNYWluLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICBcIi5hbnQtdGFibGUtaGVhZGVyIHRhYmxlLCAuYW50LXRhYmxlLWJvZHkgdGFibGUsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyIHRhYmxlXCIsXG4gICAgKSxcbiAgKSBhcyBIVE1MRWxlbWVudFtdO1xuXG4gIGxldCBtYXggPSB0YWJsZXMucmVkdWNlKFxuICAgICh3aWR0aCwgdGFibGUpID0+IE1hdGgubWF4KHdpZHRoLCB0YWJsZS5zY3JvbGxXaWR0aCB8fCAwKSxcbiAgICAwLFxuICApO1xuXG4gIGNvbnN0IHZpZXdwb3J0V2lkdGggPSBnZXRUYWJsZVZpZXdwb3J0V2lkdGgobnpUYWJsZSk7XG4gIC8vIOacquW8gOWQryBzY3JvbGwueCDml7booajmoLzkvJrooqvljovov5vlrrnlmajvvIxzY3JvbGxXaWR0aCDkuI3lj6/pnaDvvIzpnIDmtYvoh6rnhLbliJflrr1cbiAgaWYgKHZpZXdwb3J0V2lkdGggPD0gMCB8fCBtYXggPD0gdmlld3BvcnRXaWR0aCkge1xuICAgIGNvbnN0IGhlYWRlclRhYmxlID0gdGFibGVNYWluLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcIi5hbnQtdGFibGUtaGVhZGVyIHRhYmxlXCIsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBib2R5VGFibGUgPSB0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiLmFudC10YWJsZS1ib2R5IHRhYmxlXCIsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoaGVhZGVyVGFibGUpIHtcbiAgICAgIG1heCA9IE1hdGgubWF4KG1heCwgbWVhc3VyZUVsZW1lbnROYXR1cmFsV2lkdGgoaGVhZGVyVGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGJvZHlUYWJsZSkge1xuICAgICAgbWF4ID0gTWF0aC5tYXgobWF4LCBtZWFzdXJlRWxlbWVudE5hdHVyYWxXaWR0aChib2R5VGFibGUpKTtcbiAgICB9XG4gICAgbWF4ID0gTWF0aC5tYXgobWF4LCBtZWFzdXJlSGVhZGVyRGVjbGFyZWRDb2xXaWR0aCh0YWJsZU1haW4pKTtcbiAgfVxuXG4gIHJldHVybiBtYXg7XG59XG5cbi8qKlxuICog55So5LqO5Yik5pat5piv5ZCm6ZyA6KaBIHNjcm9sbC54IOeahOinhuWPo+WuveOAglxuICog5pyJ57q15ZCR5rua5Yqo5p2h5pe2IGNsaWVudFdpZHRoIOS8muWwkeS4gOaIqu+8jOiLpeebtOaOpeaLv+WOu+avlOWIl+Wuve+8jOS8muOAjOerlua7muadoeWvvOiHtOivr+W8gOaoqua7muOAje+8m1xuICog6L+Z6YeM55SoIG9mZnNldFdpZHRo77yI5ZCr5rua5Yqo5p2h5qe977yJ5L2c5Li65bGP5bmV5Y+v5bGV56S65a695bqm44CCXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWJsZVNjcm9sbFhWaWV3cG9ydFdpZHRoKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuICBob3N0Q2xhc3MgPSBcImhkLXRhYmxlLWNvbnRhaW5lclwiLFxuKTogbnVtYmVyIHtcbiAgaWYgKCFuelRhYmxlIHx8ICFuelRhYmxlLnRhYmxlTWFpbkVsZW1lbnQpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBjb25zdCB0YWJsZU1haW4gPSBuelRhYmxlLnRhYmxlTWFpbkVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgY29uc3Qgc2Nyb2xsQm9keSA9XG4gICAgKHRhYmxlTWFpbi5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQuYW50LXRhYmxlLWJvZHlcIixcbiAgICApIGFzIEhUTUxFbGVtZW50KSB8fFxuICAgICh0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcIi5hbnQtdGFibGUtYm9keVwiKSBhcyBIVE1MRWxlbWVudCk7XG4gIGlmIChzY3JvbGxCb2R5ICYmIHNjcm9sbEJvZHkub2Zmc2V0V2lkdGggPiAwKSB7XG4gICAgcmV0dXJuIHNjcm9sbEJvZHkub2Zmc2V0V2lkdGg7XG4gIH1cbiAgcmV0dXJuIGdldFRhYmxlVmlld3BvcnRXaWR0aChuelRhYmxlLCBob3N0Q2xhc3MpO1xufVxuXG4vKiog5peg5pWw5o2u5oiW5YiX5a695pyq6LaF5Ye65a655Zmo5pe25LiN5ZCv55So5qiq5ZCRIHNjcm9sbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVBdXRvVGFibGVTY3JvbGwoXG4gIG56VGFibGU6IE56VGFibGVDb21wb25lbnQsXG4gIGhhc0RhdGE6IGJvb2xlYW4sXG4gIGNvbFdpZHRoPzogbnVtYmVyLFxuKTogSGRUYWJsZVNjcm9sbENvbmZpZyB8IG51bGwge1xuICBpZiAoIWhhc0RhdGEpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCB3aWR0aCA9XG4gICAgY29sV2lkdGggIT0gbnVsbCAmJiBjb2xXaWR0aCA+IDBcbiAgICAgID8gY29sV2lkdGhcbiAgICAgIDogbWVhc3VyZVRhYmxlQ29sV2lkdGgobnpUYWJsZSk7XG4gIGlmICh3aWR0aCA8PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgdmlld3BvcnRXaWR0aCA9IGdldFRhYmxlU2Nyb2xsWFZpZXdwb3J0V2lkdGgobnpUYWJsZSk7XG4gIGlmICh2aWV3cG9ydFdpZHRoID4gMCkge1xuICAgIC8vIOWFgeiuuCAxcHgg6K+v5beu77yM6YG/5YWN5Lqa5YOP57Sg5a+86Ie06K+v5byA5qiq5ruaXG4gICAgcmV0dXJuIHdpZHRoID4gdmlld3BvcnRXaWR0aCArIDEgPyB7IHg6IGAke01hdGguY2VpbCh3aWR0aCl9cHhgIH0gOiBudWxsO1xuICB9XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpZHRoID4gd2luZG93LmlubmVyV2lkdGggLSAzMikge1xuICAgIHJldHVybiB7IHg6IGAke01hdGguY2VpbCh3aWR0aCl9cHhgIH07XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKiDlj5Ygbmctem9ycm8g5YiG5L2T6KGo5aS0IC8g6KGo5L2T5rua5Yqo5a655Zmo77yI5ZCr6Jma5ouf5rua5Yqo77yJICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TnpUYWJsZVNjcm9sbEVsZW1lbnRzKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuKTogeyBoZWFkZXI6IEhUTUxFbGVtZW50IHwgbnVsbDsgYm9keTogSFRNTEVsZW1lbnQgfCBudWxsIH0ge1xuICBpZiAoIW56VGFibGUpIHtcbiAgICByZXR1cm4geyBoZWFkZXI6IG51bGwsIGJvZHk6IG51bGwgfTtcbiAgfVxuICBjb25zdCBueiA9IG56VGFibGUgYXMgYW55O1xuICBsZXQgaGVhZGVyID0gKG56LnRhYmxlSGVhZGVyTmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkgfHwgbnVsbDtcbiAgbGV0IGJvZHkgPVxuICAgIChuei5taXhUYWJsZUJvZHlOYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KSB8fFxuICAgIChuei50YWJsZUJvZHlOYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KSB8fFxuICAgIG51bGw7XG4gIGNvbnN0IG1haW4gPVxuICAgIG56LnRhYmxlTWFpbkVsZW1lbnQgJiZcbiAgICAobnoudGFibGVNYWluRWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgaWYgKG1haW4pIHtcbiAgICBpZiAoIWhlYWRlcikge1xuICAgICAgaGVhZGVyID0gbWFpbi5xdWVyeVNlbGVjdG9yKFwiLmFudC10YWJsZS1oZWFkZXJcIikgYXMgSFRNTEVsZW1lbnQ7XG4gICAgfVxuICAgIGlmICghYm9keSkge1xuICAgICAgYm9keSA9XG4gICAgICAgIChtYWluLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgXCJjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQuYW50LXRhYmxlLWJvZHlcIixcbiAgICAgICAgKSBhcyBIVE1MRWxlbWVudCkgfHxcbiAgICAgICAgKG1haW4ucXVlcnlTZWxlY3RvcihcIi5hbnQtdGFibGUtYm9keVwiKSBhcyBIVE1MRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIHJldHVybiB7IGhlYWRlciwgYm9keSB9O1xufVxuXG4vKiog5LiA5qyh5oCn5oqK6KGo5L2TIHNjcm9sbExlZnQg5ZCM5q2l5Yiw6KGo5aS0ICovXG5leHBvcnQgZnVuY3Rpb24gc3luY056VGFibGVIZWFkZXJCb2R5U2Nyb2xsTGVmdChcbiAgbnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCxcbik6IHZvaWQge1xuICBjb25zdCBlbHMgPSBnZXROelRhYmxlU2Nyb2xsRWxlbWVudHMobnpUYWJsZSk7XG4gIGlmICghZWxzLmhlYWRlciB8fCAhZWxzLmJvZHkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGVscy5oZWFkZXIuc2Nyb2xsTGVmdCAhPT0gZWxzLmJvZHkuc2Nyb2xsTGVmdCkge1xuICAgIGVscy5oZWFkZXIuc2Nyb2xsTGVmdCA9IGVscy5ib2R5LnNjcm9sbExlZnQ7XG4gIH1cbn1cblxuLyoqXG4gKiDnm5HlkKzooajkvZPmqKrlkJHmu5rliqjlubblkIzmraXooajlpLTjgIJcbiAqIOi/lOWbniB1bmJpbmTvvJtET00g5pyq5bCx57uq5pe26L+U5ZueIG51bGzvvIjosIPnlKjmlrnlj6/ph43or5XvvInjgIJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJpbmROelRhYmxlSGVhZGVyQm9keVNjcm9sbFN5bmMoXG4gIG56VGFibGU6IE56VGFibGVDb21wb25lbnQsXG4pOiAoKCkgPT4gdm9pZCkgfCBudWxsIHtcbiAgY29uc3QgZWxzID0gZ2V0TnpUYWJsZVNjcm9sbEVsZW1lbnRzKG56VGFibGUpO1xuICBpZiAoIWVscy5oZWFkZXIgfHwgIWVscy5ib2R5KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaGVhZGVyID0gZWxzLmhlYWRlcjtcbiAgY29uc3QgYm9keSA9IGVscy5ib2R5O1xuICBjb25zdCBvblNjcm9sbCA9ICgpID0+IHtcbiAgICBpZiAoaGVhZGVyLnNjcm9sbExlZnQgIT09IGJvZHkuc2Nyb2xsTGVmdCkge1xuICAgICAgaGVhZGVyLnNjcm9sbExlZnQgPSBib2R5LnNjcm9sbExlZnQ7XG4gICAgfVxuICB9O1xuICBib2R5LmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgb25TY3JvbGwpO1xuICBvblNjcm9sbCgpO1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBvblNjcm9sbCk7XG4gIH07XG59XG4iXX0=
279
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUtc2Nyb2xsLnV0aWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mYW50YXN5LW5nem9ycm8vIiwic291cmNlcyI6WyJ1dGlscy9oZC10YWJsZS1zY3JvbGwudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUEseUNBR0M7OztJQUZDLGdDQUFXOztJQUNYLGdDQUFXOzs7SUFHUCx1QkFBdUIsR0FBRyxHQUFHOzs7Ozs7QUFFbkMsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxPQUF5QixFQUN6QixTQUFnQztJQUFoQywwQkFBQSxFQUFBLGdDQUFnQztJQUVoQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFO1FBQ3pDLE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7O1FBQ0ssU0FBUyxHQUFHLG1CQUFBLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQWU7O1FBQ2pFLFVBQVUsR0FBRyxtQkFBQSxTQUFTLENBQUMsYUFBYSxDQUN4QyxpQkFBaUIsQ0FDbEIsRUFBZTtJQUNoQixJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRTtRQUM1QyxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUM7S0FDL0I7O1FBQ0ssT0FBTyxHQUFHLG1CQUFBLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsRUFBZTtJQUN0RSxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRTtRQUN0QyxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUM7S0FDNUI7O1FBQ0ssSUFBSSxHQUFHLG1CQUFBLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBSSxTQUFXLENBQUMsRUFBZTtJQUM5RCxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsRUFBRTtRQUNoQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7S0FDekI7SUFDRCxPQUFPLENBQUMsQ0FBQztBQUNYLENB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SUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNqRCxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztLQUM3QztBQUNILENBQUM7Ozs7Ozs7QUFNRCxNQUFNLFVBQVUsK0JBQStCLENBQzdDLE9BQXlCOztRQUVuQixHQUFHLEdBQUcsd0JBQXdCLENBQUMsT0FBTyxDQUFDO0lBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiOztRQUNLLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTTs7UUFDbkIsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJOztRQUNmLFFBQVE7OztJQUFHO1FBQ2YsSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDekMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQyxDQUFBO0lBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQyxRQUFRLEVBQUUsQ0FBQztJQUNYOzs7SUFBTztRQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE56VGFibGVDb21wb25lbnQgfSBmcm9tIFwibmctem9ycm8tYW50ZC90YWJsZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhkVGFibGVTY3JvbGxDb25maWcge1xuICB4Pzogc3RyaW5nO1xuICB5Pzogc3RyaW5nO1xufVxuXG5jb25zdCBERUZBVUxUX0ZMVUlEX0NPTF9XSURUSCA9IDE1MDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRhYmxlVmlld3BvcnRXaWR0aChcbiAgbnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCxcbiAgaG9zdENsYXNzID0gXCJoZC10YWJsZS1jb250YWluZXJcIixcbik6IG51bWJlciB7XG4gIGlmICghbnpUYWJsZSB8fCAhbnpUYWJsZS50YWJsZU1haW5FbGVtZW50KSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgdGFibGVNYWluID0gbnpUYWJsZS50YWJsZU1haW5FbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IHNjcm9sbEJvZHkgPSB0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcbiAgICBcIi5hbnQtdGFibGUtYm9keVwiLFxuICApIGFzIEhUTUxFbGVtZW50O1xuICBpZiAoc2Nyb2xsQm9keSAmJiBzY3JvbGxCb2R5LmNsaWVudFdpZHRoID4gMCkge1xuICAgIHJldHVybiBzY3JvbGxCb2R5LmNsaWVudFdpZHRoO1xuICB9XG4gIGNvbnN0IHdyYXBwZXIgPSB0YWJsZU1haW4uY2xvc2VzdChcIi5hbnQtdGFibGUtd3JhcHBlclwiKSBhcyBIVE1MRWxlbWVudDtcbiAgaWYgKHdyYXBwZXIgJiYgd3JhcHBlci5jbGllbnRXaWR0aCA+IDApIHtcbiAgICByZXR1cm4gd3JhcHBlci5jbGllbnRXaWR0aDtcbiAgfVxuICBjb25zdCBob3N0ID0gdGFibGVNYWluLmNsb3Nlc3QoYC4ke2hvc3RDbGFzc31gKSBhcyBIVE1MRWxlbWVudDtcbiAgaWYgKGhvc3QgJiYgaG9zdC5jbGllbnRXaWR0aCA+IDApIHtcbiAgICByZXR1cm4gaG9zdC5jbGllbnRXaWR0aDtcbiAgfVxuICByZXR1cm4gMDtcbn1cblxuZnVuY3Rpb24gcGFyc2VQeCh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KFN0cmluZyh2YWx1ZSkucmVwbGFjZSgvcHgvaSwgXCJcIiksIDEwKTtcbiAgcmV0dXJuIE51bWJlci5pc05hTihwYXJzZWQpID8gMCA6IHBhcnNlZDtcbn1cblxuLyoqIOWFi+mahuihqOWktC/ooajkvZPmtYvph4/mnKrooqsgc2Nyb2xsIOWOi+e8qeWJjeeahOiHqueEtuWIl+WuvSAqL1xuZnVuY3Rpb24gbWVhc3VyZUVsZW1lbnROYXR1cmFsV2lkdGgoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICBjb25zdCBjbG9uZSA9IGVsZW1lbnQuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xuICBjbG9uZS5zdHlsZS5wb3NpdGlvbiA9IFwiYWJzb2x1dGVcIjtcbiAgY2xvbmUuc3R5bGUubGVmdCA9IFwiLTk5OTk5cHhcIjtcbiAgY2xvbmUuc3R5bGUudG9wID0gXCIwXCI7XG4gIGNsb25lLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuICBjbG9uZS5zdHlsZS53aWR0aCA9IFwibWF4LWNvbnRlbnRcIjtcbiAgY2xvbmUuc3R5bGUudGFibGVMYXlvdXQgPSBcImF1dG9cIjtcbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjbG9uZSk7XG4gIGNvbnN0IHdpZHRoID0gY2xvbmUuc2Nyb2xsV2lkdGg7XG4gIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoY2xvbmUpO1xuICByZXR1cm4gd2lkdGg7XG59XG5cbi8qKiDmsYfmgLvooajlpLQgdGgg5LiK5aOw5piO55qE5YiX5a6977yIc3R5bGUud2lkdGggLyBueldpZHRo77yJICovXG5mdW5jdGlvbiBtZWFzdXJlSGVhZGVyRGVjbGFyZWRDb2xXaWR0aCh0YWJsZU1haW46IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgY29uc3QgdGhzID0gQXJyYXkuZnJvbShcbiAgICB0YWJsZU1haW4ucXVlcnlTZWxlY3RvckFsbChcIi5hbnQtdGFibGUtdGhlYWQgPiB0ciA+IHRoXCIpLFxuICApIGFzIEhUTUxFbGVtZW50W107XG4gIGlmICghdGhzLmxlbmd0aCkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGxldCBzdW0gPSAwO1xuICBsZXQgaGFzRmx1aWRDb2wgPSBmYWxzZTtcbiAgdGhzLmZvckVhY2goKHRoKSA9PiB7XG4gICAgY29uc3QgZGVjbGFyZWQgPSBwYXJzZVB4KHRoLnN0eWxlLndpZHRoKTtcbiAgICBpZiAoZGVjbGFyZWQgPiAwKSB7XG4gICAgICBzdW0gKz0gZGVjbGFyZWQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGhhc0ZsdWlkQ29sID0gdHJ1ZTtcbiAgICBzdW0gKz0gdGguc2Nyb2xsV2lkdGggfHwgdGgub2Zmc2V0V2lkdGggfHwgREVGQVVMVF9GTFVJRF9DT0xfV0lEVEg7XG4gIH0pO1xuICByZXR1cm4gaGFzRmx1aWRDb2wgPyAwIDogc3VtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZVRhYmxlQ29sV2lkdGgobnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCk6IG51bWJlciB7XG4gIGlmICghbnpUYWJsZSB8fCAhbnpUYWJsZS50YWJsZU1haW5FbGVtZW50KSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgdGFibGVNYWluID0gbnpUYWJsZS50YWJsZU1haW5FbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IHRhYmxlcyA9IEFycmF5LmZyb20oXG4gICAgdGFibGVNYWluLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICBcIi5hbnQtdGFibGUtaGVhZGVyIHRhYmxlLCAuYW50LXRhYmxlLWJvZHkgdGFibGUsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyIHRhYmxlXCIsXG4gICAgKSxcbiAgKSBhcyBIVE1MRWxlbWVudFtdO1xuXG4gIGxldCBtYXggPSB0YWJsZXMucmVkdWNlKFxuICAgICh3aWR0aCwgdGFibGUpID0+IE1hdGgubWF4KHdpZHRoLCB0YWJsZS5zY3JvbGxXaWR0aCB8fCAwKSxcbiAgICAwLFxuICApO1xuXG4gIGNvbnN0IHZpZXdwb3J0V2lkdGggPSBnZXRUYWJsZVZpZXdwb3J0V2lkdGgobnpUYWJsZSk7XG4gIC8vIOacquW8gOWQryBzY3JvbGwueCDml7booajmoLzkvJrooqvljovov5vlrrnlmajvvIxzY3JvbGxXaWR0aCDkuI3lj6/pnaDvvIzpnIDmtYvoh6rnhLbliJflrr1cbiAgaWYgKHZpZXdwb3J0V2lkdGggPD0gMCB8fCBtYXggPD0gdmlld3BvcnRXaWR0aCkge1xuICAgIGNvbnN0IGhlYWRlclRhYmxlID0gdGFibGVNYWluLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcIi5hbnQtdGFibGUtaGVhZGVyIHRhYmxlXCIsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBib2R5VGFibGUgPSB0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiLmFudC10YWJsZS1ib2R5IHRhYmxlXCIsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoaGVhZGVyVGFibGUpIHtcbiAgICAgIG1heCA9IE1hdGgubWF4KG1heCwgbWVhc3VyZUVsZW1lbnROYXR1cmFsV2lkdGgoaGVhZGVyVGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGJvZHlUYWJsZSkge1xuICAgICAgbWF4ID0gTWF0aC5tYXgobWF4LCBtZWFzdXJlRWxlbWVudE5hdHVyYWxXaWR0aChib2R5VGFibGUpKTtcbiAgICB9XG4gICAgbWF4ID0gTWF0aC5tYXgobWF4LCBtZWFzdXJlSGVhZGVyRGVjbGFyZWRDb2xXaWR0aCh0YWJsZU1haW4pKTtcbiAgfVxuXG4gIHJldHVybiBtYXg7XG59XG5cbi8qKlxuICog55So5LqO5Yik5pat5piv5ZCm6ZyA6KaBIHNjcm9sbC54IOeahOinhuWPo+WuveOAglxuICog5pyJ57q15ZCR5rua5Yqo5p2h5pe2IGNsaWVudFdpZHRoIOS8muWwkeS4gOaIqu+8jOiLpeebtOaOpeaLv+WOu+avlOWIl+Wuve+8jOS8muOAjOerlua7muadoeWvvOiHtOivr+W8gOaoqua7muOAje+8m1xuICog6L+Z6YeM55SoIG9mZnNldFdpZHRo77yI5ZCr5rua5Yqo5p2h5qe977yJ5L2c5Li65bGP5bmV5Y+v5bGV56S65a695bqm44CCXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWJsZVNjcm9sbFhWaWV3cG9ydFdpZHRoKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuICBob3N0Q2xhc3MgPSBcImhkLXRhYmxlLWNvbnRhaW5lclwiLFxuKTogbnVtYmVyIHtcbiAgaWYgKCFuelRhYmxlIHx8ICFuelRhYmxlLnRhYmxlTWFpbkVsZW1lbnQpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBjb25zdCB0YWJsZU1haW4gPSBuelRhYmxlLnRhYmxlTWFpbkVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgY29uc3Qgc2Nyb2xsQm9keSA9XG4gICAgKHRhYmxlTWFpbi5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQuYW50LXRhYmxlLWJvZHlcIixcbiAgICApIGFzIEhUTUxFbGVtZW50KSB8fFxuICAgICh0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcIi5hbnQtdGFibGUtYm9keVwiKSBhcyBIVE1MRWxlbWVudCk7XG4gIGlmIChzY3JvbGxCb2R5ICYmIHNjcm9sbEJvZHkub2Zmc2V0V2lkdGggPiAwKSB7XG4gICAgcmV0dXJuIHNjcm9sbEJvZHkub2Zmc2V0V2lkdGg7XG4gIH1cbiAgcmV0dXJuIGdldFRhYmxlVmlld3BvcnRXaWR0aChuelRhYmxlLCBob3N0Q2xhc3MpO1xufVxuXG4vKiog5peg5pWw5o2u5oiW5YiX5a695pyq6LaF5Ye65a655Zmo5pe25LiN5ZCv55So5qiq5ZCRIHNjcm9sbO+8iGZsdWlk77ya6KGo5a69IDEwMCXvvIzli77pgIkv5bqP5Y+35YiX55SxIENTUyDplIHlrr3vvIkgKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXV0b1RhYmxlU2Nyb2xsKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuICBoYXNEYXRhOiBib29sZWFuLFxuICBjb2xXaWR0aD86IG51bWJlcixcbik6IEhkVGFibGVTY3JvbGxDb25maWcgfCBudWxsIHtcbiAgaWYgKCFoYXNEYXRhKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgd2lkdGggPVxuICAgIGNvbFdpZHRoICE9IG51bGwgJiYgY29sV2lkdGggPiAwXG4gICAgICA/IGNvbFdpZHRoXG4gICAgICA6IG1lYXN1cmVUYWJsZUNvbFdpZHRoKG56VGFibGUpO1xuICBpZiAod2lkdGggPD0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHZpZXdwb3J0V2lkdGggPSBnZXRUYWJsZVNjcm9sbFhWaWV3cG9ydFdpZHRoKG56VGFibGUpO1xuICBpZiAodmlld3BvcnRXaWR0aCA+IDApIHtcbiAgICAvLyDlhYHorrggMXB4IOivr+W3ru+8jOmBv+WFjeS6muWDj+e0oOWvvOiHtOivr+W8gOaoqua7mlxuICAgIHJldHVybiB3aWR0aCA+IHZpZXdwb3J0V2lkdGggKyAxID8geyB4OiBgJHtNYXRoLmNlaWwod2lkdGgpfXB4YCB9IDogbnVsbDtcbiAgfVxuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB3aWR0aCA+IHdpbmRvdy5pbm5lcldpZHRoIC0gMzIpIHtcbiAgICByZXR1cm4geyB4OiBgJHtNYXRoLmNlaWwod2lkdGgpfXB4YCB9O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKiog5Y+WIG5nLXpvcnJvIOWIhuS9k+ihqOWktCAvIOihqOS9k+a7muWKqOWuueWZqO+8iOWQq+iZmuaLn+a7muWKqO+8iSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE56VGFibGVTY3JvbGxFbGVtZW50cyhcbiAgbnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCxcbik6IHsgaGVhZGVyOiBIVE1MRWxlbWVudCB8IG51bGw7IGJvZHk6IEhUTUxFbGVtZW50IHwgbnVsbCB9IHtcbiAgaWYgKCFuelRhYmxlKSB7XG4gICAgcmV0dXJuIHsgaGVhZGVyOiBudWxsLCBib2R5OiBudWxsIH07XG4gIH1cbiAgY29uc3QgbnogPSBuelRhYmxlIGFzIGFueTtcbiAgbGV0IGhlYWRlciA9IChuei50YWJsZUhlYWRlck5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpIHx8IG51bGw7XG4gIGxldCBib2R5ID1cbiAgICAobnoubWl4VGFibGVCb2R5TmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkgfHxcbiAgICAobnoudGFibGVCb2R5TmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkgfHxcbiAgICBudWxsO1xuICBjb25zdCBtYWluID1cbiAgICBuei50YWJsZU1haW5FbGVtZW50ICYmXG4gICAgKG56LnRhYmxlTWFpbkVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gIGlmIChtYWluKSB7XG4gICAgaWYgKCFoZWFkZXIpIHtcbiAgICAgIGhlYWRlciA9IG1haW4ucXVlcnlTZWxlY3RvcihcIi5hbnQtdGFibGUtaGVhZGVyXCIpIGFzIEhUTUxFbGVtZW50O1xuICAgIH1cbiAgICBpZiAoIWJvZHkpIHtcbiAgICAgIGJvZHkgPVxuICAgICAgICAobWFpbi5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgIFwiY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0LmFudC10YWJsZS1ib2R5XCIsXG4gICAgICAgICkgYXMgSFRNTEVsZW1lbnQpIHx8XG4gICAgICAgIChtYWluLnF1ZXJ5U2VsZWN0b3IoXCIuYW50LXRhYmxlLWJvZHlcIikgYXMgSFRNTEVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyBoZWFkZXIsIGJvZHkgfTtcbn1cblxuLyoqIOS4gOasoeaAp+aKiuihqOS9kyBzY3JvbGxMZWZ0IOWQjOatpeWIsOihqOWktCAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN5bmNOelRhYmxlSGVhZGVyQm9keVNjcm9sbExlZnQoXG4gIG56VGFibGU6IE56VGFibGVDb21wb25lbnQsXG4pOiB2b2lkIHtcbiAgY29uc3QgZWxzID0gZ2V0TnpUYWJsZVNjcm9sbEVsZW1lbnRzKG56VGFibGUpO1xuICBpZiAoIWVscy5oZWFkZXIgfHwgIWVscy5ib2R5KSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChlbHMuaGVhZGVyLnNjcm9sbExlZnQgIT09IGVscy5ib2R5LnNjcm9sbExlZnQpIHtcbiAgICBlbHMuaGVhZGVyLnNjcm9sbExlZnQgPSBlbHMuYm9keS5zY3JvbGxMZWZ0O1xuICB9XG59XG5cbi8qKlxuICog55uR5ZCs6KGo5L2T5qiq5ZCR5rua5Yqo5bm25ZCM5q2l6KGo5aS044CCXG4gKiDov5Tlm54gdW5iaW5k77ybRE9NIOacquWwsee7quaXtui/lOWbniBudWxs77yI6LCD55So5pa55Y+v6YeN6K+V77yJ44CCXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kTnpUYWJsZUhlYWRlckJvZHlTY3JvbGxTeW5jKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuKTogKCgpID0+IHZvaWQpIHwgbnVsbCB7XG4gIGNvbnN0IGVscyA9IGdldE56VGFibGVTY3JvbGxFbGVtZW50cyhuelRhYmxlKTtcbiAgaWYgKCFlbHMuaGVhZGVyIHx8ICFlbHMuYm9keSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGhlYWRlciA9IGVscy5oZWFkZXI7XG4gIGNvbnN0IGJvZHkgPSBlbHMuYm9keTtcbiAgY29uc3Qgb25TY3JvbGwgPSAoKSA9PiB7XG4gICAgaWYgKGhlYWRlci5zY3JvbGxMZWZ0ICE9PSBib2R5LnNjcm9sbExlZnQpIHtcbiAgICAgIGhlYWRlci5zY3JvbGxMZWZ0ID0gYm9keS5zY3JvbGxMZWZ0O1xuICAgIH1cbiAgfTtcbiAgYm9keS5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIG9uU2Nyb2xsKTtcbiAgb25TY3JvbGwoKTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgb25TY3JvbGwpO1xuICB9O1xufVxuIl19